/* Ранний фикс: логотип и кнопки сразу рисуются синим градиентом, без промежуточного зеленого состояния. */
  :root {
    --oai-picture-blue-dark: #2f7085;
    --oai-picture-blue-mid: #3f93ad;
    --oai-picture-blue-light: #92cbdb;
    --oai-picture-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --oai-picture-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --oai-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --oai-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
    --flow-gradient: var(--oai-picture-blue-gradient) !important;
    --flow-gradient-hover: var(--oai-picture-blue-gradient-hover) !important;
    --flow-button-shadow: var(--oai-picture-blue-shadow) !important;
    --flow-button-shadow-hover: var(--oai-picture-blue-shadow-hover) !important;
    --oai-fund-btn-bg: var(--oai-picture-blue-gradient) !important;
    --oai-fund-btn-bg-hover: var(--oai-picture-blue-gradient-hover) !important;
    --oai-financial-news-gradient: var(--oai-picture-blue-gradient) !important;
    --oai-financial-news-gradient-hover: var(--oai-picture-blue-gradient-hover) !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo .logo-separator {
    background-image: var(--oai-picture-blue-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
  }

  .site-header .header-actions .home-link,
  .site-header .header-actions .top-btn,
  .site-header .header-actions .top-news-btn,
  .site-header .header-actions .top-home-btn,
  .site-header .burger,
  .side-nav a,
  .side-nav button,
  .home-link,
  .top-link,
  .back-link,
  .cta-btn,
  .donation-btn,
  .contract-button,
  .contract-btn,
  .download-btn,
  .doc-btn,
  .scroll-top-btn {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: var(--oai-picture-blue-shadow) !important;
  }

  .site-header .header-actions .home-link:hover,
  .site-header .header-actions .top-btn:hover,
  .site-header .header-actions .top-news-btn:hover,
  .site-header .header-actions .top-home-btn:hover,
  .site-header .burger:hover,
  .side-nav a:hover,
  .side-nav button:hover,
  .home-link:hover,
  .top-link:hover,
  .back-link:hover,
  .cta-btn:hover,
  .donation-btn:hover,
  .contract-button:hover,
  .contract-btn:hover,
  .download-btn:hover,
  .doc-btn:hover,
  .scroll-top-btn:hover {
    background: var(--oai-picture-blue-gradient-hover) !important;
    background-image: var(--oai-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    box-shadow: var(--oai-picture-blue-shadow-hover) !important;
  }

  .site-header .burger span {
    background: #ffffff !important;
  }

html {
      max-width: 100%;
      overflow-x: hidden;
    }

    body {
      max-width: 100%;
      overflow-x: hidden;
    }

    *, *::before, *::after {
      box-sizing: border-box;
      min-width: 0;
    }

    img,
    video,
    iframe,
    canvas,
    svg,
    embed,
    object {
      display: block;
      max-width: 100% !important;
      height: auto !important;
    }

    table {
      width: 100%;
      max-width: 100%;
      border-collapse: collapse;
    }

    th,
    td {
      white-space: normal;
      overflow-wrap: break-word;
      word-break: normal;
      hyphens: none;
    }

    @media (max-width: 768px) {
      html,
      body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
      }

      body,
      p,
      li,
      div,
      span,
      a,
      button,
      label,
      h1,
      h2,
      h3,
      h4,
      h5,
      h6,
      td,
      th,
      input,
      textarea,
      select {
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none;
      }

      .logo,
      .side-nav a,
      .side-nav button,
      .top-btn,
      .submit-btn,
      .download-btn,
      .doc-btn,
      .contract-btn,
      .contract-button,
      .hero-card-btn,
      .hero-service-card-btn,
      .history-action-btn,
      .info-card-action,
      .info-card-cta,
      .search-nav-btn,
      .money-reset-btn,
      .calc-tab-btn,
      .social-legal-submit-btn,
      .payment-switch-btn,
      .fund-choice-link,
      .download-box,
      [class*="btn"],
      [class*="button"] {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        text-align: center;
      }

      h1,
      .hero-title,
      .modal-title,
      .contract-modal-title,
      .benefit-modal-title,
      .service-modal-title,
      .social-legal-form-subtitle {
        font-size: clamp(28px, 8vw, 40px) !important;
        line-height: 1.12 !important;
      }

      h2,
      .section h2,
      .section-title,
      .hero-card-title,
      .hero-services-title {
        font-size: clamp(22px, 6.6vw, 32px) !important;
        line-height: 1.18 !important;
      }

      h3,
      .list-title,
      .sublist-title,
      .info-card h3,
      .timeline-card h3 {
        font-size: clamp(18px, 5.6vw, 24px) !important;
        line-height: 1.22 !important;
      }

      .hero-subtitle,
      .hero-description,
      .section-note,
      .section-intro,
      .hero-card-text,
      .hero-service-card-text,
      .list-content,
      .sublist-content,
      .note,
      .field-help,
      .legal-note,
      .content-card,
      .doc-section,
      .text-part,
      .video-part {
        font-size: clamp(15px, 4vw, 18px) !important;
        line-height: 1.55 !important;
      }

      .hero,
      .section,
      .site-footer,
      .legal-footer,
      .legal-footer__inner,
      .header-inner,
      .hero-content,
      .hero-inner,
      .content-card,
      .doc-section,
      .hero-card,
      .info-card,
      .timeline-card,
      .about-card,
      .payment-legal-card,
      .requisites-box,
      .doc-card,
      .social-legal-form-card,
      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .service-modal-content,
      .social-legal-modal-dialog,
      .calc-modal-content,
      .modal-form-layout {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
      }

      .hero,
      .section,
      .site-footer,
      .legal-footer__inner,
      .header-inner {
        padding-left: 16px !important;
        padding-right: 16px !important;
      }

      .hero-content,
      .content-card,
      .doc-section,
      .hero-card,
      .info-card,
      .timeline-card,
      .about-card,
      .payment-legal-card,
      .requisites-box,
      .doc-card,
      .social-legal-form-card,
      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .service-modal-content,
      .social-legal-modal-dialog,
      .calc-modal-content,
      .modal-form-layout {
        padding: 20px !important;
        border-radius: 20px !important;
      }

      .header-actions,
      .hero-inner,
      .hero-content,
      .hero-cards,
      .hero-action-grid,
      .hero-services-cards,
      .content-flex,
      .content-grid,
      .info-grid,
      .docs-grid,
      .timeline,
      .bio-layout,
      .units-grid,
      .social-legal-form-row,
      .money-calc-layout,
      .money-calc-grid,
      .region-calc-grid,
      .fund-choice-list,
      .doc-actions,
      .form-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
      }

      .header-actions,
      .content-flex,
      .doc-actions,
      .form-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
      }

      .header-actions > *,
      .doc-actions > *,
      .form-actions > *,
      .hero-card-btn,
      .hero-service-card-btn,
      .top-btn,
      .submit-btn,
      .download-btn,
      .doc-btn,
      .contract-btn,
      .contract-button,
      .history-action-btn,
      .info-card-action,
      .info-card-cta,
      .search-nav-btn,
      .money-reset-btn,
      .calc-tab-btn,
      .social-legal-submit-btn,
      .payment-switch-btn,
      .fund-choice-link,
      .download-box {
        width: 100% !important;
        max-width: 100% !important;
      }

      .hero-media,
      .video-part,
      .text-part,
      .video-showcase__media,
      .video-feature-media,
      .photo,
      .hero-image,
      .hero-video,
      .video-frame,
      .material-sheet,
      .risk-table-wrapper,
      .table-caption,
      .tariff-table,
      .norm-table,
      .risk-table,
      .rank-table,
      .parachute-table,
      .act-table,
      table {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
      }

      .risk-table-wrapper,
      .material-sheet,
      .table-responsive,
      .table-caption {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
      }

      table,
      .risk-table,
      .rank-table,
      .tariff-table,
      .norm-table,
      .parachute-table,
      .act-table {
        table-layout: fixed !important;
        font-size: 0.92rem !important;
      }

      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .service-modal-content,
      .social-legal-modal-dialog,
      .calc-modal-content {
        min-width: 0 !important;
        margin: 8px auto !important;
      }

      .side-menu {
        width: min(92vw, 360px) !important;
        max-width: 92vw !important;
      }
    }

    @media (max-width: 480px) {
      .hero,
      .section,
      .site-footer,
      .legal-footer__inner,
      .header-inner {
        padding-left: 12px !important;
        padding-right: 12px !important;
      }

      .hero-content,
      .content-card,
      .doc-section,
      .hero-card,
      .info-card,
      .timeline-card,
      .about-card,
      .payment-legal-card,
      .requisites-box,
      .doc-card,
      .social-legal-form-card,
      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .service-modal-content,
      .social-legal-modal-dialog,
      .calc-modal-content,
      .modal-form-layout {
        padding: 16px !important;
        border-radius: 18px !important;
      }

      h1,
      .hero-title,
      .modal-title,
      .contract-modal-title,
      .benefit-modal-title,
      .service-modal-title,
      .social-legal-form-subtitle {
        font-size: clamp(24px, 8.5vw, 34px) !important;
      }

      h2,
      .section h2,
      .section-title,
      .hero-card-title,
      .hero-services-title {
        font-size: clamp(20px, 7vw, 28px) !important;
      }
    }

@media (max-width: 768px) {
      .hero-text,
      .hero-inner,
      .hero-content > *,
      .content-flex > *,
      .content-grid > *,
      .info-grid > *,
      .docs-grid > *,
      .timeline > *,
      .bio-layout > *,
      .units-grid > *,
      .money-calc-layout > *,
      .money-calc-grid > *,
      .region-calc-grid > *,
      .hero-cards > *,
      .hero-action-grid > *,
      .hero-services-cards > *,
      .social-legal-form-row > * {
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
      }

      .hero h1,
      .hero-title,
      .social-legal-hero-title,
      .hero-subtitle,
      .hero-description,
      .hero-badge {
        max-width: 100% !important;
        white-space: normal !important;
      }
    }

.qr-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .payment-title-with-logo.payment-title-with-logo-combo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    margin: 0 auto 16px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .payment-title-with-logo.payment-title-with-logo-combo h3 {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .payment-box-logo-combo {
    display: block !important;
    height: 42px !important;
    max-height: 42px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
  }

  @media (max-width: 768px) {
    .payment-title-with-logo.payment-title-with-logo-combo {
      gap: 10px !important;
      margin-bottom: 12px !important;
    }

    .payment-title-with-logo.payment-title-with-logo-combo h3 {
      font-size: 1.05rem !important;
    }

    .payment-box-logo-combo {
      height: 34px !important;
      max-height: 34px !important;
    }
  }

.site-header .logo {
    text-decoration: none;
    font-size: 28px;
    font-weight: 900;
    color: var(--text-main, #111111);
    letter-spacing: 0.5px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
  }

  .site-header .logo .logo-brand {
    font-weight: 900;
    font-size: 1.14em;
    line-height: 1;
    display: inline-block;
  }

  .site-header .logo-link {
    text-decoration: none !important;
    color: inherit !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, opacity 0.25s ease, color 0.25s ease;
    transform-origin: center;
    line-height: 1.2;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateX(2px);
    opacity: 0.88;
    outline: none;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible,
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    color: inherit !important;
  }

  .site-header .logo .logo-separator {
    font-weight: 700;
    font-size: 1.08em;
    display: inline-block;
    margin: 0 0.32em;
    transition: opacity 0.25s ease;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    opacity: 0.72;
  }

  .site-header .logo .logo-brand {
    font-size: 1.48em !important;
  }

  .site-header .logo .logo-separator {
    font-size: 1.24em !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand {
      font-size: 1.26em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 1.12em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo-link {
      padding: 0;
      border-radius: 0;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-brand {
      font-size: 1em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 1.08em !important;
    }
  }

.site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    perspective: 1200px;
  }

  .site-header .logo,
  .site-header .logo * {
    text-decoration: none !important;
  }

  .site-header .logo-link {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    transform: translateZ(0);
    transform-style: preserve-3d;
    isolation: isolate;
    overflow: visible;
    outline: none;
    transition: transform 0.28s ease, opacity 0.25s ease, filter 0.28s ease;
  }

  .site-header .logo-link::before,
  .site-header .logo-link::after {
    content: none !important;
    display: none !important;
  }

  .site-header .logo .logo-brand {
    display: inline-block !important;
    font-size: 1.08em !important;
    line-height: 0.94 !important;
    letter-spacing: 0.02em !important;
    font-weight: 900 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0.85px rgba(37, 84, 100, 0.62) !important;
    paint-order: stroke fill !important;
    transform: translateZ(12px);
    transform-origin: center bottom !important;
    transition:
      transform 0.28s ease,
      filter 0.28s ease,
      text-shadow 0.28s ease !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .site-header .logo .logo-brand-primary {
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 46%, #3f93ad 72%, #2f7085 100%) !important;
  }

  .site-header .logo .logo-brand-secondary {
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 45%, #3f93ad 72%, #2f7085 100%) !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateY(-1px);
    opacity: 1;
    filter: saturate(1.05);
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) translateZ(16px) scale(1.03) !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .site-header .logo-link:active {
    transform: translateY(0) scale(0.995);
  }

  .site-header .logo .logo-separator {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0 2px;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #3f93ad !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    transition: transform 0.28s ease, opacity 0.28s ease;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: translateY(-1px);
    opacity: 0.92;
  }

  .site-header .burger {
    background: #2f7085 !important;
  }

  .site-header .burger:hover {
    background: #92cbdb !important;
  }

  @media (max-width: 900px) {
    .site-header .logo {
      gap: 10px !important;
    }

    .site-header .logo .logo-brand {
      font-size: 0.96em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      gap: 8px !important;
    }

    .site-header .logo .logo-brand {
      font-size: 0.82em !important;
      letter-spacing: 0.01em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.9em !important;
    }
  }

.site-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    perspective: none !important;
  }

  .site-header .logo-link {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    isolation: auto !important;
    overflow: visible !important;
  }

  .site-header .logo-link::before,
  .site-header .logo-link::after {
    content: none !important;
    display: none !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.26em !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0 !important;
    filter: none !important;
    transform: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      0 2px 0 rgba(171, 211, 142, 0.96),
      1px 3px 0 rgba(88, 116, 69, 0.92),
      1px 4px 0 rgba(24, 24, 24, 0.72),
      2px 5px 0 rgba(10, 10, 10, 0.82),
      2px 6px 8px rgba(0, 0, 0, 0.16) !important;
  }

  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    background-image: linear-gradient(
      180deg,
      #f5fbff 0%,
      #e9f8fd 18%,
      #2f7085 44%,
      #92cbdb 72%,
      #3f93ad 100%
    ) !important;
  }

  .site-header .logo .logo-separator {
    display: inline-block !important;
    width: 3px !important;
    height: 1.28em !important;
    margin: 0 0.28em !important;
    padding: 0 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    border: none !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #2f7085 0%, #3f93ad 48%, #1f4b5b 100%) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.16),
      1px 2px 0 rgba(18, 18, 18, 0.55) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-shadow: none !important;
    transform: translateY(0.06em) !important;
    opacity: 1 !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.1em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      gap: 6px !important;
    }

    .site-header .logo .logo-separator {
      width: 2px !important;
      height: 1.18em !important;
      margin: 0 0.24em !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.95em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22),
        0 1px 0 rgba(171, 211, 142, 0.96),
        1px 2px 0 rgba(88, 116, 69, 0.90),
        1px 3px 0 rgba(20, 20, 20, 0.68),
        1px 4px 6px rgba(0, 0, 0, 0.16) !important;
    }
  }

.site-header .logo .logo-separator {
    display: inline-block !important;
    width: 3px !important;
    height: 0.96em !important;
    min-width: 3px !important;
    margin: 0 0.34em !important;
    padding: 0 !important;
    overflow: visible !important;
    vertical-align: middle !important;
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    border: none !important;
    border-radius: 999px !important;
    color: transparent !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    color: transparent !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-separator {
      width: 2px !important;
      min-width: 2px !important;
      height: 0.9em !important;
      margin: 0 0.26em !important;
    }
  }

:root {
    --flow-gradient: linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%);
    --flow-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #75adbc 50%, #1f4b5b 100%);
    --flow-button-shadow: 0 14px 28px rgba(37, 84, 100, 0.20);
    --flow-button-shadow-hover: 0 18px 34px rgba(37, 84, 100, 0.28);
    --logo-gray-shadow:
      0 1px 0 rgba(255, 255, 255, 0.26),
      1px 2px 0 rgba(188, 188, 188, 0.88),
      1px 3px 0 rgba(142, 142, 142, 0.76),
      2px 4px 8px rgba(90, 90, 90, 0.28);
  }

  .hero-services-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  .hero-service-card {
    min-height: 230px !important;
    width: 100% !important;
  }

  .side-nav {
    gap: 14px !important;
  }

  .side-nav a,
  .side-nav button {
    width: 100% !important;
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    background: var(--flow-gradient) !important;
    box-shadow: var(--flow-button-shadow) !important;
    line-height: 1.25 !important;
  }

  .side-nav a:hover,
  .side-nav button:hover {
    background: var(--flow-gradient-hover) !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
    transform: translateY(-2px);
  }

  .burger,
  .top-btn,
  .home-link,
  .hero-btn,
  .contract-btn,
  .inline-link-btn:not(.white-btn),
  .submit-btn,
  .social-legal-submit-btn,
  .video-switch-btn,
  .history-action-btn,
  .fund-choice-link,
  .benefit-modal-action .contract-btn,
  .service-modal-footer .submit-btn,
  .scroll-top-btn {
    background: var(--flow-gradient) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow) !important;
  }

  .burger:hover,
  .top-btn:hover,
  .home-link:hover,
  .hero-btn:hover,
  .contract-btn:hover,
  .inline-link-btn:not(.white-btn):hover,
  .submit-btn:hover,
  .social-legal-submit-btn:hover,
  .video-switch-btn:hover,
  .history-action-btn:hover,
  .fund-choice-link:hover,
  .benefit-modal-action .contract-btn:hover,
  .service-modal-footer .submit-btn:hover,
  .scroll-top-btn:hover {
    background: var(--flow-gradient-hover) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
  }

  .site-header .logo {
    font-size: 31px !important;
    gap: 12px !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    font-size: 1.34em !important;
    font-weight: 900 !important;
    background-image: var(--flow-gradient) !important;
    text-shadow: var(--logo-gray-shadow) !important;
  }

  .site-header .logo .logo-separator {
    background: var(--flow-gradient) !important;
    box-shadow:
      1px 2px 0 rgba(145, 145, 145, 0.56),
      0 0 1px rgba(255, 255, 255, 0.20) inset !important;
  }

  .scroll-top-btn::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.10)) !important;
  }

  @media (max-width: 1200px) {
    .hero-services-cards {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }

  @media (max-width: 980px) {
    .hero-services-cards {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-header .logo {
      font-size: 28px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.16em !important;
    }
  }

  @media (max-width: 768px) {
    .hero-services-cards {
      grid-template-columns: 1fr !important;
    }

    .side-nav a,
    .side-nav button {
      min-height: 68px !important;
      border-radius: 14px !important;
    }

    .site-header .logo {
      font-size: 21px !important;
      gap: 10px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.24),
        1px 1px 0 rgba(182, 182, 182, 0.84),
        1px 2px 0 rgba(138, 138, 138, 0.70),
        1px 3px 6px rgba(88, 88, 88, 0.28) !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 18px !important;
    }

    .side-nav a,
    .side-nav button {
      min-height: 62px !important;
      padding: 12px 14px !important;
    }
  }

.site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    text-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(255, 255, 255, 0.18))
      drop-shadow(1px 2px 0 rgba(156, 156, 156, 0.58))
      drop-shadow(2px 4px 8px rgba(92, 92, 92, 0.20)) !important;
  }

  .site-header .logo .logo-separator {
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(1px 2px 0 rgba(156, 156, 156, 0.58))
      drop-shadow(2px 4px 8px rgba(92, 92, 92, 0.20)) !important;
  }

.site-header .burger {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    background: var(--flow-gradient) !important;
    box-shadow: var(--flow-button-shadow) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
  }

  .site-header .burger:hover {
    background: var(--flow-gradient-hover) !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
    transform: translateY(-2px) !important;
  }

  .site-header .burger span {
    width: 22px !important;
    height: 3px !important;
    background: #102033 !important;
    border-radius: 999px !important;
  }

  .site-header .logo {
    font-size: 27px !important;
    gap: 10px !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    font-size: 1.18em !important;
    font-weight: 900 !important;
    background-image: var(--flow-gradient) !important;
    filter: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      1px 2px 0 rgba(182, 182, 182, 0.86),
      1px 3px 0 rgba(142, 142, 142, 0.74),
      2px 4px 0 rgba(104, 104, 104, 0.56),
      2px 5px 7px rgba(72, 72, 72, 0.26) !important;
  }

  .site-header .logo .logo-separator {
    background: var(--flow-gradient) !important;
    filter: none !important;
    box-shadow:
      1px 2px 0 rgba(182, 182, 182, 0.78),
      1px 3px 0 rgba(132, 132, 132, 0.58),
      2px 4px 6px rgba(78, 78, 78, 0.22) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 24px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.08em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18),
        1px 2px 0 rgba(178, 178, 178, 0.80),
        1px 3px 0 rgba(132, 132, 132, 0.64),
        1px 4px 6px rgba(76, 76, 76, 0.22) !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .burger {
      width: 50px !important;
      min-width: 50px !important;
      height: 50px !important;
      border-radius: 14px !important;
    }

    .site-header .logo {
      font-size: 19px !important;
      gap: 8px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.96em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16),
        1px 1px 0 rgba(176, 176, 176, 0.72),
        1px 2px 0 rgba(126, 126, 126, 0.58),
        1px 3px 5px rgba(72, 72, 72, 0.20) !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 16px !important;
    }
  }

.site-header .burger {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12) !important;
  }

  .site-header .burger:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 52%, #75adbc 100%) !important;
    transform: translateY(-2px) !important;
    outline: none !important;
  }

  .site-header .burger span {
    background: #111111 !important;
  }

  .site-header .logo {
    gap: 9px !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    filter: none !important;
    opacity: 1 !important;
    font-size: 1.12em !important;
    line-height: 0.96 !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.26),
      0 6px 10px rgba(128, 128, 128, 0.18) !important;
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) translateZ(10px) scale(1.015) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.28),
      0 7px 12px rgba(128, 128, 128, 0.20) !important;
  }

  .site-header .logo .logo-separator {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.22),
      0 5px 9px rgba(128, 128, 128, 0.14) !important;
    font-size: 0.98em !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 1.03em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 0.92em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.94em !important;
    }
  }

.site-header .logo {
    gap: 9px !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    transform: none !important;
    translate: none !important;
    filter: none !important;
  }

  .site-header .logo-link .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    transform: none !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
    filter: none !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.22),
      0 5px 9px rgba(128, 128, 128, 0.14) !important;
  }

.site-header .logo {
    font-size: 24px !important;
    gap: 8px !important;
    perspective: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-size: 1em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    filter: drop-shadow(0 2px 0 rgba(150, 150, 150, 0.42)) drop-shadow(0 5px 8px rgba(118, 118, 118, 0.22)) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0.12em !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    font-size: 0.92em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    filter: drop-shadow(0 2px 0 rgba(150, 150, 150, 0.38)) !important;
    transition: none !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: var(--flow-gradient) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 21px !important;
      gap: 7px !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo {
      font-size: 18px !important;
      gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator {
      font-size: 0.88em !important;
      margin: 0 0.1em !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 16px !important;
      gap: 5px !important;
    }
  }

.site-header .logo {
    font-size: 22px !important;
    gap: 8px !important;
    perspective: none !important;
    overflow: visible !important;
  }

  .site-header .logo,
  .site-header .logo * {
    transition: none !important;
    animation: none !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    opacity: 1 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-size: 0.96em !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-text-stroke: 0 !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.14),
      0 3px 4px rgba(120, 120, 120, 0.12),
      0 6px 10px rgba(95, 95, 95, 0.10) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0.10em !important;
    padding: 0 !important;
    font-size: 0.72em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    vertical-align: middle !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.14),
      0 3px 4px rgba(120, 120, 120, 0.10),
      0 6px 8px rgba(95, 95, 95, 0.08) !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: var(--flow-gradient) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 19px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 0.94em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo {
      font-size: 17px !important;
      gap: 7px !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.70em !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 15px !important;
      gap: 6px !important;
    }
  }

.site-header .logo {
    font-size: 21px !important;
    gap: 7px !important;
    perspective: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .site-header .logo,
  .site-header .logo *,
  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    outline: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-size: 0.92em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-text-stroke: 0 !important;
    box-shadow: none !important;
    filter: saturate(1.18) brightness(1.06) !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      1px 1px 0 rgba(0, 0, 0, 0.74),
      1px 2px 0 rgba(0, 0, 0, 0.58),
      2px 3px 6px rgba(0, 0, 0, 0.34) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 0.56em !important;
    min-width: 0.56em !important;
    max-width: 0.56em !important;
    margin: 0 0.02em !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    font-size: 0.72em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    box-shadow: none !important;
    filter: saturate(1.18) brightness(1.06) !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.20),
      1px 1px 0 rgba(0, 0, 0, 0.70),
      1px 2px 0 rgba(0, 0, 0, 0.52),
      2px 3px 5px rgba(0, 0, 0, 0.28) !important;
    pointer-events: none !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: var(--flow-gradient) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 19px !important;
      gap: 6px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 0.9em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo {
      font-size: 17px !important;
      gap: 5px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator {
      width: 0.52em !important;
      min-width: 0.52em !important;
      max-width: 0.52em !important;
      font-size: 0.68em !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 15px !important;
      gap: 4px !important;
    }
  }

.site-header .logo,
  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active,
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    transition: none !important;
  }

  .site-header .logo {
    font-size: 25px !important;
    gap: 10px !important;
  }

  .site-header .logo-link {
    opacity: 1 !important;
    filter: none !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2b6174 0%, #92cbdb 50%, #2b6174 100%) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.78))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.52))
      drop-shadow(0 4px 6px rgba(0, 0, 0, 0.22)) !important;
    transform: none !important;
    opacity: 1 !important;
    line-height: 0.96 !important;
    font-size: 1.06em !important;
  }

  .site-header .logo .logo-separator {
    display: inline-block !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin: 0 0.14em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2b6174 0%, #92cbdb 50%, #2b6174 100%) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18)) !important;
    opacity: 1 !important;
    font-size: 0.94em !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    opacity: 1 !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18)) !important;
  }

  @media (max-width: 900px) {
    .site-header .logo {
      font-size: 22px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.00em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      font-size: 18px !important;
      gap: 8px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.92em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.90em !important;
    }
  }

.site-header .logo-link {
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    filter: none !important;
    transition:
      transform 0.24s ease,
      filter 0.24s ease,
      opacity 0.24s ease !important;
    transform-origin: center bottom !important;
  }

  .site-header .logo-link .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    transition:
      transform 0.24s ease,
      filter 0.24s ease !important;
    transform-origin: center bottom !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) saturate(1.03) !important;
    opacity: 1 !important;
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) scale(1.035) !important;
  }

  .site-header .logo-link:active {
    transform: translateY(0) scale(0.995) !important;
  }

  .site-header .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    translate: none !important;
    transition: none !important;
    opacity: 1 !important;
  }

/* Кнопки показывают текст ровно так, как он написан в HTML */
  button,
  input[type="submit"],
  input[type="button"],
  .side-nav a,
  .contract-btn,
  .home-link,
  .top-btn,
  .hero-btn,
  .hero-card-btn,
  .hero-service-card-btn,
  .scroll-top-btn,
  .fund-choice-link,
  .submit-btn,
  .calc-tab-btn,
  .money-reset-btn {
    text-transform: none !important;
  }

  /* В доп. услугах и карточках отдела кнопки остаются слева */
  .hero-card-btn,
  .hero-service-card-btn {
    align-self: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto !important;
  }

  /* На мобильной версии кнопки во 2 и 3 блоке идут под картинкой */
  @media (max-width: 768px) {
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      order: 1 !important;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      order: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
    }

    #fundPl .contract-btn,
    #fundLife .contract-btn {
      order: -1 !important;
      width: auto !important;
      align-self: flex-start !important;
      justify-content: center !important;
      text-align: center !important;
      margin-top: 14px !important;
      margin-bottom: 14px !important;
    }

    .hero-card-btn,
    .hero-service-card-btn {
      width: auto !important;
      max-width: 100% !important;
      align-self: flex-start !important;
      justify-content: flex-start !important;
      text-align: left !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }

/* Логотип делаем немного темнее и насыщеннее */
  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 48%, #92cbdb 100%) !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.78))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.52))
      drop-shadow(0 4px 6px rgba(0, 0, 0, 0.24))
      brightness(0.92) saturate(1.08) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 48%, #92cbdb 100%) !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18))
      brightness(0.92) saturate(1.08) !important;
  }

  /* Общие строки с двумя одинаковыми кнопками */
  .fund-action-row,
  .character-choice-section .history-action-row {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn {
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  .fund-action-row .contract-btn-placeholder,
  .character-choice-section .history-action-btn-placeholder {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
  }

  #fundPl .text-part,
  #fundLife .text-part {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #fundPl .fund-copy,
  #fundLife .fund-copy {
    width: 100%;
  }

  #fundPl .fund-action-row,
  #fundLife .fund-action-row {
    margin-top: auto !important;
    padding-top: 12px !important;
  }

  .character-choice-section .history-action-row {
    margin-top: 20px !important;
  }

  @media (max-width: 768px) {
    /* В телефоне: фото -> кнопки -> текст */
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      order: 1 !important;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      order: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .fund-action-row,
    #fundLife .fund-action-row {
      order: 1 !important;
      margin-top: 14px !important;
      margin-bottom: 14px !important;
      padding-top: 0 !important;
    }

    #fundPl .fund-copy,
    #fundLife .fund-copy {
      order: 2 !important;
    }

    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn {
      flex: 1 1 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
  }

/* По умолчанию мобильные ряды скрыты */
  #fundPl .fund-action-row-mobile,
  #fundLife .fund-action-row-mobile,
  .character-choice-section .history-action-row-mobile {
    display: none !important;
  }

  #fundPl .fund-action-row-desktop,
  #fundLife .fund-action-row-desktop,
  .character-choice-section .history-action-row-desktop {
    display: flex !important;
  }

  /* Одинаковый размер кнопок */
  .fund-action-row,
  .character-choice-section .history-action-row {
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn {
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  @media (max-width: 768px) {
    /* 2 и 3 блоки: ТЕКСТ -> ФОТО -> КНОПКИ */
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      order: 1 !important;
      display: block !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      order: 2 !important;
    }

    #fundPl .fund-action-row-desktop,
    #fundLife .fund-action-row-desktop {
      display: none !important;
    }

    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile {
      display: flex !important;
      order: 3 !important;
      width: 100% !important;
      margin-top: 14px !important;
      margin-bottom: 0 !important;
      justify-content: flex-start !important;
      align-items: stretch !important;
      gap: 12px !important;
      flex-wrap: wrap !important;
    }

    #fundPl .fund-action-row-mobile .contract-btn,
    #fundLife .fund-action-row-mobile .contract-btn,
    .character-choice-section .history-action-row-mobile .history-action-btn {
      flex: 1 1 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    /* 4 блок: ТЕКСТ -> ВИДЕО -> КНОПКИ */
    .character-choice-section .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    .character-choice-section .text-part {
      order: 1 !important;
    }

    .character-choice-section .video-part {
      order: 2 !important;
    }

    .character-choice-section .history-action-row-desktop {
      display: none !important;
    }

    .character-choice-section .history-action-row-mobile {
      display: flex !important;
      order: 3 !important;
      width: 100% !important;
      margin-top: 14px !important;
      justify-content: flex-start !important;
      align-items: stretch !important;
      gap: 12px !important;
      flex-wrap: wrap !important;
    }
  }

@media (max-width: 768px) {
    /* Убираем лишнюю высоту и большие пустые промежутки только на телефоне */
    #fundPl .text-part,
    #fundLife .text-part,
    #fundPl .video-part,
    #fundLife .video-part {
      flex: 0 0 auto !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      margin-top: 12px !important;
    }

    #fundPl .video-frame,
    #fundLife .video-frame {
      margin: 0 !important;
    }

    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile {
      margin-top: 12px !important;
      margin-bottom: 0 !important;
    }

    #fundPl .text-part p:last-child,
    #fundLife .text-part p:last-child {
      margin-bottom: 0 !important;
    }
  }

@media (max-width: 768px) {
    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile,
    .character-choice-section .history-action-row-mobile {
      gap: 8px !important;
    }

    #fundPl .fund-action-row-mobile .contract-btn,
    #fundLife .fund-action-row-mobile .contract-btn,
    .character-choice-section .history-action-row-mobile .history-action-btn {
      margin: 0 !important;
    }
  }

.modal,
  .social-legal-modal {
    padding: 0 !important;
  }

  .modal-content,
  .social-legal-modal-dialog,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    margin: 1cm auto !important;
    max-height: calc(100vh - 2cm) !important;
  }

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2000 !important;
  }

  body {
    padding-top: 96px !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding: 8px !important;
    }

    .modal-content,
    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content {
      width: calc(100% - 16px) !important;
      max-width: calc(100% - 16px) !important;
      margin: 16px auto !important;
      max-height: calc(100vh - 32px) !important;
    }

    body {
      padding-top: 84px !important;
    }
  }

  @media (max-width: 480px) {
    body {
      padding-top: 78px !important;
    }
  }

/* Оставляем цвет и 3D как есть, убираем только сдвиги и сближение */
  .site-header .logo {
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    justify-content: flex-start !important;
    column-gap: 8px !important;
    gap: 0 !important;
  }

  .site-header .logo-link,
  .site-header .logo-link-primary,
  .site-header .logo-link-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    transform: none !important;
    translate: none !important;
  }

  .site-header .logo-link .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transform-origin: center center !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
    pointer-events: none !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator {
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }
  }

/* Финальный вариант:
     - палочка стоит жестко отдельно и не двигается
     - при hover слова немного приближаются к палочке ПО ОТДЕЛЬНОСТИ
     - цвет и 3D не трогаем
  */
  .site-header .logo {
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    gap: 0 !important;
  }

  .site-header .logo-link,
  .site-header .logo-link-primary,
  .site-header .logo-link-secondary {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    transition: transform 0.22s ease, opacity 0.22s ease, filter 0.22s ease !important;
    will-change: transform;
  }

  /* Палочка всегда статична */
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
    left: auto !important;
    right: auto !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }

  /* Базово ничего не двигаем */
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    filter: saturate(1.04) !important;
    opacity: 1 !important;
  }

  /* ПлАЦДАРМ идет чуть к палочке */
  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible {
    transform: translateX(4px) !important;
  }

  /* Сила Жить идет чуть к палочке */
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    transform: translateX(-4px) !important;
  }

  /* Сами буквы не масштабируем и не тянем, чтобы не ломать 3D */
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    transform: none !important;
    translate: none !important;
    scale: none !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }

    .site-header .logo-link-primary:hover,
    .site-header .logo-link-primary:focus-visible {
      transform: translateX(3px) !important;
    }

    .site-header .logo-link-secondary:hover,
    .site-header .logo-link-secondary:focus-visible {
      transform: translateX(-3px) !important;
    }
  }

/* Нужный эффект:
     - палочка полностью статична
     - слова НЕ сдвигаются влево/вправо
     - при наведении слово слегка выходит к экрану
     - 3D/цвет сохраняем
  */
  .site-header .logo {
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    gap: 0 !important;
    perspective: 1200px !important;
  }

  .site-header .logo-link,
  .site-header .logo-link-primary,
  .site-header .logo-link-secondary {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: opacity 0.22s ease !important;
    transform-style: preserve-3d !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active,
  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible,
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    transform: none !important;
    translate: none !important;
    filter: saturate(1.04) !important;
    opacity: 1 !important;
  }

  /* Сами слова выходят вперед, но не двигаются в стороны */
  .site-header .logo-link .logo-brand,
  .site-header .logo-link .logo-brand-primary,
  .site-header .logo-link .logo-brand-secondary {
    transform: translateZ(12px) scale(1) !important;
    translate: none !important;
    transition: transform 0.24s ease, filter 0.24s ease, opacity 0.22s ease !important;
    transform-style: preserve-3d !important;
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo-link-primary:hover .logo-brand,
  .site-header .logo-link-primary:focus-visible .logo-brand,
  .site-header .logo-link-secondary:hover .logo-brand,
  .site-header .logo-link-secondary:focus-visible .logo-brand {
    transform: translateZ(26px) scale(1.045) !important;
    translate: none !important;
  }

  /* Палочка полностью статична */
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
    left: auto !important;
    right: auto !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }

    .site-header .logo-link .logo-brand,
    .site-header .logo-link .logo-brand-primary,
    .site-header .logo-link .logo-brand-secondary {
      transform: translateZ(10px) scale(1) !important;
    }

    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand,
    .site-header .logo-link-primary:hover .logo-brand,
    .site-header .logo-link-primary:focus-visible .logo-brand,
    .site-header .logo-link-secondary:hover .logo-brand,
    .site-header .logo-link-secondary:focus-visible .logo-brand {
      transform: translateZ(18px) scale(1.035) !important;
    }
  }

/* Чуть больше расстояние между "|" и "Сила Жить" */
  .site-header .logo {
    grid-template-columns: max-content 30px max-content !important;
    column-gap: 10px !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 30px !important;
    min-width: 30px !important;
    flex-basis: 30px !important;
  }

  /* Чуть больше расстояние между кнопками в модалке */
  .benefit-modal-action {
    gap: 16px !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 24px max-content !important;
      column-gap: 8px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 24px !important;
      min-width: 24px !important;
      flex-basis: 24px !important;
    }

    .benefit-modal-action {
      gap: 12px !important;
    }
  }

/* Финальный override в самом конце head:
     ставим большее расстояние и перебиваем более ранние правила */
  .site-header .logo {
    grid-template-columns: max-content 50px max-content !important;
    column-gap: 18px !important;
    gap: 0 !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 50px !important;
    min-width: 50px !important;
    flex: 0 0 50px !important;
    flex-basis: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }

  .benefit-modal-action {
    gap: 36px !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 34px max-content !important;
      column-gap: 12px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 34px !important;
      min-width: 34px !important;
      flex: 0 0 34px !important;
      flex-basis: 34px !important;
    }

    .benefit-modal-action {
      gap: 18px !important;
    }
  }

/* Во всех этих менюшках делаем переливающийся цвет как на главной */
  #fundPlHelpChoiceModal .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .contract-btn:hover,
  #fundPlFinancialModal .payment-switch-btn:hover,
  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    transform: translateY(-2px) !important;
  }

  #fundPlFinancialModal .payment-switch-btn.active {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    color: #111111 !important;
    box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow) !important;
  }

/* Удаляем кривые поздние переопределения и ставим модалки как в index */

  /* Общий верхний зазор от закреплённой шапки до модалки */
  .modal,
  .social-legal-modal {
    padding: calc(96px + 1cm) 0 1cm !important;
    box-sizing: border-box !important;
  }

  /* Общие benefit/service/contract модалки как в index */
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .social-legal-modal-dialog,
  .modal-content:not(.calc-modal-content):not(.benefit-modal-content):not(.service-modal-content):not(.contract-modal-content) {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    max-height: calc(100vh - 96px - 2cm) !important;
  }

  /* benefit-модалки: точный вид как на index-скрине */
  .benefit-modal-action {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 52px !important;
    grid-template-columns: none !important;
    padding-top: 14px !important;
    padding-bottom: 18px !important;
  }

  .benefit-modal-action .contract-btn {
    flex: 0 0 270px !important;
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 14px 26px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    transition: 0.25s ease !important;
  }

  .benefit-modal-action .contract-btn:hover,
  .benefit-modal-action .contract-btn:focus-visible {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
  }

#openContractBtnTop,
  #openContractBtnTop:hover,
  #openContractBtnTop:focus-visible,
  #openContractBtnTop:active {
    background: var(--light-btn) !important;
    background-image: none !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
  }
  #openContractBtnTop:hover,
  #openContractBtnTop:focus-visible {
    background: #dde5ef !important;
    color: var(--text-main) !important;
    transform: translateY(-2px);
  }

.hero .info-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  @media (max-width: 1180px) {
    .hero .info-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 768px) {
    .hero .info-grid {
      grid-template-columns: 1fr;
    }
  }

.site-footer {
    background: #1a1d24;
    color: #fff;
    padding: 42px 20px 28px;
    margin-top: 16px;
  }

  .footer-container {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1.28fr) minmax(0, 1.08fr) minmax(0, 1.08fr);
    gap: 30px;
    align-items: start;
  }

  .footer-col {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-self: start;
  }

  @media (min-width: 981px) {
    .footer-col--contacts-placdarm {
      grid-column: 4;
    }

    .footer-col--contacts-life {
      grid-column: 5;
    }
  }

  .footer-col h3 {
    color: #8ec0ff;
    margin-bottom: 18px;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .footer-col ul {
    list-style: none;
  }

  .footer-col li {
    margin-bottom: 10px;
    color: #d3d9e4;
  }

  .footer-col a {
    color: #d3d9e4;
    text-decoration: none;
    transition: 0.2s ease;
  }

  .footer-col a:hover {
    color: #fff;
  }

  .footer-col--legal-info h3 {
    letter-spacing: 0;
  }

  .footer-col--legal-info ul,
  .footer-col--legal-info li {
    width: 100%;
  }

  .footer-doc-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #f0f5ff !important;
    font-weight: 700;
    line-height: 1.35;
    transition: 0.2s ease;
  }

  .footer-doc-link::after {
    content: "→";
    flex-shrink: 0;
    color: #8ec0ff;
    font-size: 1rem;
    transition: transform 0.2s ease;
  }

  .footer-doc-link:hover {
    background: rgba(142, 192, 255, 0.12);
    border-color: rgba(142, 192, 255, 0.24);
    color: #fff !important;
    transform: translateY(-1px);
  }

  .footer-doc-link:hover::after {
    transform: translateX(2px);
  }

  .footer-bottom {
    max-width: 1280px;
    margin: 28px auto 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    color: #aeb7c7;
    font-size: 0.92rem;
  }

  .scroll-top-btn,
  #scrollTopBtn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 58px;
    height: 58px;
    border: none;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2f7085, #92cbdb);
    color: #111111;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    z-index: 450;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px) scale(0.92);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease, box-shadow 0.28s ease;
  }

  .scroll-top-btn::before,
  #scrollTopBtn::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.12));
    opacity: 0.65;
  }

  .scroll-top-btn svg,
  #scrollTopBtn svg {
    position: relative;
    z-index: 1;
    width: 24px;
    height: 24px;
    transition: transform 0.25s ease;
  }

  .scroll-top-btn:hover,
  #scrollTopBtn:hover {
    transform: translateY(-3px) scale(1);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22);
  }

  .scroll-top-btn:hover svg,
  #scrollTopBtn:hover svg {
    transform: translateY(-2px);
  }

  .scroll-top-btn.visible,
  #scrollTopBtn.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }

  @media (min-width: 981px) {
    .site-footer {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    .footer-container,
    .footer-bottom {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .footer-container {
      grid-template-columns: minmax(0, 0.82fr) minmax(0, 0.86fr) minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(0, 1.02fr) !important;
      gap: 18px !important;
      align-items: start !important;
    }

    .footer-col h3 {
      font-size: 1.02rem !important;
      white-space: nowrap !important;
    }

    .footer-col li,
    .footer-col a {
      line-height: 1.45 !important;
    }

    .footer-col--contacts-placdarm,
    .footer-col--contacts-life {
      min-width: 0 !important;
    }

    .footer-col--contacts-placdarm li,
    .footer-col--contacts-life li,
    .footer-col--contacts-placdarm a,
    .footer-col--contacts-life a {
      font-size: 0.88rem !important;
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
    }
  }

  @media (max-width: 980px) {
    .footer-container {
      grid-template-columns: 1fr;
    }

    .footer-col h3 {
      white-space: normal;
    }
  }

  @media (max-width: 768px) {
    .footer-bottom {
      flex-direction: column;
      gap: 18px;
    }

    .scroll-top-btn,
    #scrollTopBtn {
      right: 16px;
      bottom: 16px;
      width: 52px;
      height: 52px;
    }
  }

.site-header .logo{
    text-decoration: none;
    font-size: 28px;
    font-weight: 900;
    color: var(--text-main, #111111);
    letter-spacing: 0.5px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
  }
.site-header .logo .logo-brand{
    font-weight: 900;
    font-size: 1.14em;
    line-height: 1;
    display: inline-block;
  }
.site-header .logo-link{
    text-decoration: none !important;
    color: inherit !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, opacity 0.25s ease, color 0.25s ease;
    transform-origin: center;
    line-height: 1.2;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible{
    transform: translateX(2px);
    opacity: 0.88;
    outline: none;
    background: transparent !important;
    box-shadow: none !important;
  }
.site-header .logo-link-primary:hover,
.site-header .logo-link-primary:focus-visible,
.site-header .logo-link-secondary:hover,
.site-header .logo-link-secondary:focus-visible{
    color: inherit !important;
  }
.site-header .logo .logo-separator{
    font-weight: 700;
    font-size: 1.08em;
    display: inline-block;
    margin: 0 0.32em;
    transition: opacity 0.25s ease;
  }
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    opacity: 0.72;
  }
.site-header .logo .logo-brand{
    font-size: 1.48em !important;
  }
.site-header .logo .logo-separator{
    font-size: 1.24em !important;
  }
@media (max-width: 900px){.site-header .logo .logo-brand{
      font-size: 1.26em !important;
    }
.site-header .logo .logo-separator{
      font-size: 1.12em !important;
    }}
@media (max-width: 768px){.site-header .logo-link{
      padding: 0;
      border-radius: 0;
    }}
@media (max-width: 640px){.site-header .logo .logo-brand{
      font-size: 1em !important;
    }
.site-header .logo .logo-separator{
      font-size: 1.08em !important;
    }}

.site-header .header-inner{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-width: 0 !important;
  }
.site-header .logo{
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    perspective: 1200px;
  }
.site-header .logo,
.site-header .logo *{
    text-decoration: none !important;
  }
.site-header .logo-link{
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    transform: translateZ(0);
    transform-style: preserve-3d;
    isolation: isolate;
    overflow: visible;
    outline: none;
    transition: transform 0.28s ease, opacity 0.25s ease, filter 0.28s ease;
  }
.site-header .logo-link::before,
.site-header .logo-link::after{
    content: none !important;
    display: none !important;
  }
.site-header .logo .logo-brand{
    display: inline-block !important;
    font-size: 1.08em !important;
    line-height: 0.94 !important;
    letter-spacing: 0.02em !important;
    font-weight: 900 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0.85px rgba(37, 84, 100, 0.62) !important;
    paint-order: stroke fill !important;
    transform: translateZ(12px);
    transform-origin: center bottom !important;
    transition:
      transform 0.28s ease,
      filter 0.28s ease,
      text-shadow 0.28s ease !important;
    filter: none !important;
    text-shadow: none !important;
  }
.site-header .logo .logo-brand-primary{
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 46%, #3f93ad 72%, #2f7085 100%) !important;
  }
.site-header .logo .logo-brand-secondary{
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 45%, #3f93ad 72%, #2f7085 100%) !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible{
    transform: translateY(-1px);
    opacity: 1;
    filter: saturate(1.05);
  }
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand{
    transform: translateY(-1px) translateZ(16px) scale(1.03) !important;
    filter: none !important;
    text-shadow: none !important;
  }
.site-header .logo-link:active{
    transform: translateY(0) scale(0.995);
  }
.site-header .logo .logo-separator{
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0 2px;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #3f93ad !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    transition: transform 0.28s ease, opacity 0.28s ease;
  }
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    transform: translateY(-1px);
    opacity: 0.92;
  }
.site-header .burger{
    background: #2f7085 !important;
  }
.site-header .burger:hover{
    background: #92cbdb !important;
  }
@media (max-width: 900px){.site-header .logo{
      gap: 10px !important;
    }
.site-header .logo .logo-brand{
      font-size: 0.96em !important;
    }}
@media (max-width: 640px){.site-header .logo{
      gap: 8px !important;
    }
.site-header .logo .logo-brand{
      font-size: 0.82em !important;
      letter-spacing: 0.01em !important;
    }
.site-header .logo .logo-separator{
      font-size: 0.9em !important;
    }}

.site-header .logo{
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    perspective: none !important;
  }
.site-header .logo-link{
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    isolation: auto !important;
    overflow: visible !important;
  }
.site-header .logo-link::before,
.site-header .logo-link::after{
    content: none !important;
    display: none !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
  }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    display: inline-block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.26em !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0 !important;
    filter: none !important;
    transform: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      0 2px 0 rgba(171, 211, 142, 0.96),
      1px 3px 0 rgba(88, 116, 69, 0.92),
      1px 4px 0 rgba(24, 24, 24, 0.72),
      2px 5px 0 rgba(10, 10, 10, 0.82),
      2px 6px 8px rgba(0, 0, 0, 0.16) !important;
  }
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
    background-image: linear-gradient(
      180deg,
      #f5fbff 0%,
      #e9f8fd 18%,
      #2f7085 44%,
      #92cbdb 72%,
      #3f93ad 100%
    ) !important;
  }
.site-header .logo .logo-separator{
    display: inline-block !important;
    width: 3px !important;
    height: 1.28em !important;
    margin: 0 0.28em !important;
    padding: 0 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    border: none !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #2f7085 0%, #3f93ad 48%, #1f4b5b 100%) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.16),
      1px 2px 0 rgba(18, 18, 18, 0.55) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-shadow: none !important;
    transform: translateY(0.06em) !important;
    opacity: 1 !important;
  }
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    transform: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }
@media (max-width: 900px){.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 1.1em !important;
    }}
@media (max-width: 640px){.site-header .logo{
      gap: 6px !important;
    }
.site-header .logo .logo-separator{
      width: 2px !important;
      height: 1.18em !important;
      margin: 0 0.24em !important;
    }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 0.95em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22),
        0 1px 0 rgba(171, 211, 142, 0.96),
        1px 2px 0 rgba(88, 116, 69, 0.90),
        1px 3px 0 rgba(20, 20, 20, 0.68),
        1px 4px 6px rgba(0, 0, 0, 0.16) !important;
    }}

.site-header .logo .logo-separator{
    display: inline-block !important;
    width: 3px !important;
    height: 0.96em !important;
    min-width: 3px !important;
    margin: 0 0.34em !important;
    padding: 0 !important;
    overflow: visible !important;
    vertical-align: middle !important;
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    border: none !important;
    border-radius: 999px !important;
    color: transparent !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    color: transparent !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }
@media (max-width: 640px){.site-header .logo .logo-separator{
      width: 2px !important;
      min-width: 2px !important;
      height: 0.9em !important;
      margin: 0 0.26em !important;
    }}

:root{
    --flow-gradient: linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%);
    --flow-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #75adbc 50%, #1f4b5b 100%);
    --flow-button-shadow: 0 14px 28px rgba(37, 84, 100, 0.20);
    --flow-button-shadow-hover: 0 18px 34px rgba(37, 84, 100, 0.28);
    --logo-gray-shadow:
      0 1px 0 rgba(255, 255, 255, 0.26),
      1px 2px 0 rgba(188, 188, 188, 0.88),
      1px 3px 0 rgba(142, 142, 142, 0.76),
      2px 4px 8px rgba(90, 90, 90, 0.28);
  }
.side-nav{
    gap: 14px !important;
  }
.side-nav a,
.side-nav button{
    width: 100% !important;
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    background: var(--flow-gradient) !important;
    box-shadow: var(--flow-button-shadow) !important;
    line-height: 1.25 !important;
  }
.side-nav a:hover,
.side-nav button:hover{
    background: var(--flow-gradient-hover) !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
    transform: translateY(-2px);
  }
.burger,
.home-link{
    background: var(--flow-gradient) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow) !important;
  }
.burger:hover,
.home-link:hover{
    background: var(--flow-gradient-hover) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
  }
.site-header .logo{
    font-size: 31px !important;
    gap: 12px !important;
  }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    font-size: 1.34em !important;
    font-weight: 900 !important;
    background-image: var(--flow-gradient) !important;
    text-shadow: var(--logo-gray-shadow) !important;
  }
.site-header .logo .logo-separator{
    background: var(--flow-gradient) !important;
    box-shadow:
      1px 2px 0 rgba(145, 145, 145, 0.56),
      0 0 1px rgba(255, 255, 255, 0.20) inset !important;
  }
@media (max-width: 980px){.site-header .logo{
      font-size: 28px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 1.16em !important;
    }}
@media (max-width: 768px){.side-nav a,
.side-nav button{
      min-height: 68px !important;
      border-radius: 14px !important;
    }
.site-header .logo{
      font-size: 21px !important;
      gap: 10px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 1em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.24),
        1px 1px 0 rgba(182, 182, 182, 0.84),
        1px 2px 0 rgba(138, 138, 138, 0.70),
        1px 3px 6px rgba(88, 88, 88, 0.28) !important;
    }}
@media (max-width: 480px){.site-header .logo{
      font-size: 18px !important;
    }
.side-nav a,
.side-nav button{
      min-height: 62px !important;
      padding: 12px 14px !important;
    }}

.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    text-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(255, 255, 255, 0.18))
      drop-shadow(1px 2px 0 rgba(156, 156, 156, 0.58))
      drop-shadow(2px 4px 8px rgba(92, 92, 92, 0.20)) !important;
  }
.site-header .logo .logo-separator{
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(1px 2px 0 rgba(156, 156, 156, 0.58))
      drop-shadow(2px 4px 8px rgba(92, 92, 92, 0.20)) !important;
  }

.site-header .burger{
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    background: var(--flow-gradient) !important;
    box-shadow: var(--flow-button-shadow) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
  }
.site-header .burger:hover{
    background: var(--flow-gradient-hover) !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
    transform: translateY(-2px) !important;
  }
.site-header .burger span{
    width: 22px !important;
    height: 3px !important;
    background: #102033 !important;
    border-radius: 999px !important;
  }
.site-header .logo{
    font-size: 27px !important;
    gap: 10px !important;
  }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    font-size: 1.18em !important;
    font-weight: 900 !important;
    background-image: var(--flow-gradient) !important;
    filter: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      1px 2px 0 rgba(182, 182, 182, 0.86),
      1px 3px 0 rgba(142, 142, 142, 0.74),
      2px 4px 0 rgba(104, 104, 104, 0.56),
      2px 5px 7px rgba(72, 72, 72, 0.26) !important;
  }
.site-header .logo .logo-separator{
    background: var(--flow-gradient) !important;
    filter: none !important;
    box-shadow:
      1px 2px 0 rgba(182, 182, 182, 0.78),
      1px 3px 0 rgba(132, 132, 132, 0.58),
      2px 4px 6px rgba(78, 78, 78, 0.22) !important;
  }
@media (max-width: 980px){.site-header .logo{
      font-size: 24px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 1.08em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18),
        1px 2px 0 rgba(178, 178, 178, 0.80),
        1px 3px 0 rgba(132, 132, 132, 0.64),
        1px 4px 6px rgba(76, 76, 76, 0.22) !important;
    }}
@media (max-width: 768px){.site-header .burger{
      width: 50px !important;
      min-width: 50px !important;
      height: 50px !important;
      border-radius: 14px !important;
    }
.site-header .logo{
      font-size: 19px !important;
      gap: 8px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 0.96em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16),
        1px 1px 0 rgba(176, 176, 176, 0.72),
        1px 2px 0 rgba(126, 126, 126, 0.58),
        1px 3px 5px rgba(72, 72, 72, 0.20) !important;
    }}
@media (max-width: 480px){.site-header .logo{
      font-size: 16px !important;
    }}

.site-header .burger{
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12) !important;
  }
.site-header .burger:hover{
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 52%, #75adbc 100%) !important;
    transform: translateY(-2px) !important;
    outline: none !important;
  }
.site-header .burger span{
    background: #111111 !important;
  }
.site-header .logo{
    gap: 9px !important;
  }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    filter: none !important;
    opacity: 1 !important;
    font-size: 1.12em !important;
    line-height: 0.96 !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.26),
      0 6px 10px rgba(128, 128, 128, 0.18) !important;
  }
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand{
    transform: translateY(-1px) translateZ(10px) scale(1.015) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.28),
      0 7px 12px rgba(128, 128, 128, 0.20) !important;
  }
.site-header .logo .logo-separator{
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.22),
      0 5px 9px rgba(128, 128, 128, 0.14) !important;
    font-size: 0.98em !important;
  }
@media (max-width: 900px){.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
      font-size: 1.03em !important;
    }}
@media (max-width: 640px){.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
      font-size: 0.92em !important;
    }
.site-header .logo .logo-separator{
      font-size: 0.94em !important;
    }}

.site-header .logo{
    gap: 9px !important;
  }
.site-header .logo-link,
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    transform: none !important;
    translate: none !important;
    filter: none !important;
  }
.site-header .logo-link .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    transform: none !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
    filter: none !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.22),
      0 5px 9px rgba(128, 128, 128, 0.14) !important;
  }

.site-header .logo{
    font-size: 24px !important;
    gap: 8px !important;
    perspective: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
.site-header .logo-link,
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: none !important;
  }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    display: inline-block !important;
    font-size: 1em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    filter: drop-shadow(0 2px 0 rgba(150, 150, 150, 0.42)) drop-shadow(0 5px 8px rgba(118, 118, 118, 0.22)) !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0.12em !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    font-size: 0.92em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    filter: drop-shadow(0 2px 0 rgba(150, 150, 150, 0.38)) !important;
    transition: none !important;
  }
.site-header .burger,
.site-header .burger:hover{
    background: var(--flow-gradient) !important;
  }
@media (max-width: 980px){.site-header .logo{
      font-size: 21px !important;
      gap: 7px !important;
    }}
@media (max-width: 768px){.site-header .logo{
      font-size: 18px !important;
      gap: 6px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
      font-size: 0.88em !important;
      margin: 0 0.1em !important;
    }}
@media (max-width: 480px){.site-header .logo{
      font-size: 16px !important;
      gap: 5px !important;
    }}

.site-header .logo{
    font-size: 22px !important;
    gap: 8px !important;
    perspective: none !important;
    overflow: visible !important;
  }
.site-header .logo,
.site-header .logo *{
    transition: none !important;
    animation: none !important;
  }
.site-header .logo-link,
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    opacity: 1 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    display: inline-block !important;
    font-size: 0.96em !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-text-stroke: 0 !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.14),
      0 3px 4px rgba(120, 120, 120, 0.12),
      0 6px 10px rgba(95, 95, 95, 0.10) !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0.10em !important;
    padding: 0 !important;
    font-size: 0.72em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    vertical-align: middle !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.14),
      0 3px 4px rgba(120, 120, 120, 0.10),
      0 6px 8px rgba(95, 95, 95, 0.08) !important;
  }
.site-header .burger,
.site-header .burger:hover{
    background: var(--flow-gradient) !important;
  }
@media (max-width: 980px){.site-header .logo{
      font-size: 19px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
      font-size: 0.94em !important;
    }}
@media (max-width: 768px){.site-header .logo{
      font-size: 17px !important;
      gap: 7px !important;
    }
.site-header .logo .logo-separator{
      font-size: 0.70em !important;
    }}
@media (max-width: 480px){.site-header .logo{
      font-size: 15px !important;
      gap: 6px !important;
    }}

.site-header .logo{
    font-size: 21px !important;
    gap: 7px !important;
    perspective: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
.site-header .logo,
.site-header .logo *,
.site-header .logo-link,
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
  }
.site-header .logo-link,
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    outline: none !important;
  }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    display: inline-block !important;
    font-size: 0.92em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-text-stroke: 0 !important;
    box-shadow: none !important;
    filter: saturate(1.18) brightness(1.06) !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      1px 1px 0 rgba(0, 0, 0, 0.74),
      1px 2px 0 rgba(0, 0, 0, 0.58),
      2px 3px 6px rgba(0, 0, 0, 0.34) !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 0.56em !important;
    min-width: 0.56em !important;
    max-width: 0.56em !important;
    margin: 0 0.02em !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    font-size: 0.72em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    box-shadow: none !important;
    filter: saturate(1.18) brightness(1.06) !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.20),
      1px 1px 0 rgba(0, 0, 0, 0.70),
      1px 2px 0 rgba(0, 0, 0, 0.52),
      2px 3px 5px rgba(0, 0, 0, 0.28) !important;
    pointer-events: none !important;
  }
.site-header .burger,
.site-header .burger:hover{
    background: var(--flow-gradient) !important;
  }
@media (max-width: 980px){.site-header .logo{
      font-size: 19px !important;
      gap: 6px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
      font-size: 0.9em !important;
    }}
@media (max-width: 768px){.site-header .logo{
      font-size: 17px !important;
      gap: 5px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
      width: 0.52em !important;
      min-width: 0.52em !important;
      max-width: 0.52em !important;
      font-size: 0.68em !important;
    }}
@media (max-width: 480px){.site-header .logo{
      font-size: 15px !important;
      gap: 4px !important;
    }}

.site-header .logo,
.site-header .logo-link,
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active,
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    transform: none !important;
    transition: none !important;
  }
.site-header .logo{
    font-size: 25px !important;
    gap: 10px !important;
  }
.site-header .logo-link{
    opacity: 1 !important;
    filter: none !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2b6174 0%, #92cbdb 50%, #2b6174 100%) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.78))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.52))
      drop-shadow(0 4px 6px rgba(0, 0, 0, 0.22)) !important;
    transform: none !important;
    opacity: 1 !important;
    line-height: 0.96 !important;
    font-size: 1.06em !important;
  }
.site-header .logo .logo-separator{
    display: inline-block !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin: 0 0.14em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2b6174 0%, #92cbdb 50%, #2b6174 100%) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18)) !important;
    opacity: 1 !important;
    font-size: 0.94em !important;
  }
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    opacity: 1 !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18)) !important;
  }
@media (max-width: 900px){.site-header .logo{
      font-size: 22px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 1.00em !important;
    }}
@media (max-width: 640px){.site-header .logo{
      font-size: 18px !important;
      gap: 8px !important;
    }
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
      font-size: 0.92em !important;
    }
.site-header .logo .logo-separator{
      font-size: 0.90em !important;
    }}

.site-header .logo-link{
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    filter: none !important;
    transition:
      transform 0.24s ease,
      filter 0.24s ease,
      opacity 0.24s ease !important;
    transform-origin: center bottom !important;
  }
.site-header .logo-link .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    transition:
      transform 0.24s ease,
      filter 0.24s ease !important;
    transform-origin: center bottom !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible{
    transform: translateY(-1px) !important;
    filter: brightness(1.03) saturate(1.03) !important;
    opacity: 1 !important;
  }
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand{
    transform: translateY(-1px) scale(1.035) !important;
  }
.site-header .logo-link:active{
    transform: translateY(0) scale(0.995) !important;
  }
.site-header .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    transform: none !important;
    translate: none !important;
    transition: none !important;
    opacity: 1 !important;
  }

button,
.side-nav a,
.home-link{
    text-transform: none !important;
  }

.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 48%, #92cbdb 100%) !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.78))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.52))
      drop-shadow(0 4px 6px rgba(0, 0, 0, 0.24))
      brightness(0.92) saturate(1.08) !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 48%, #92cbdb 100%) !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18))
      brightness(0.92) saturate(1.08) !important;
  }

.site-header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2000 !important;
  }
body{
    padding-top: 96px !important;
  }
@media (max-width: 768px){body{
      padding-top: 84px !important;
    }}
@media (max-width: 480px){body{
      padding-top: 78px !important;
    }}

@media (min-width: 981px){.site-footer{
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
.footer-container,
.footer-bottom{
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }}

@media (min-width: 981px){.footer-container{
      grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.04fr) minmax(0, 1.04fr) minmax(0, 0.9fr) minmax(0, 1.02fr) !important;
      gap: 18px !important;
      align-items: start !important;
    }
.footer-col h3{
      font-size: 1.02rem !important;
      white-space: nowrap !important;
    }
.footer-col li,
.footer-col a{
      line-height: 1.45 !important;
    }
.footer-col--contacts-placdarm,
.footer-col--contacts-life{
      min-width: 0 !important;
    }
.footer-col--contacts-placdarm li,
.footer-col--contacts-life li,
.footer-col--contacts-placdarm a,
.footer-col--contacts-life a{
      font-size: 0.88rem !important;
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
    }}

.site-header .logo{
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    justify-content: flex-start !important;
    column-gap: 8px !important;
    gap: 0 !important;
  }
.site-header .logo-link,
.site-header .logo-link-primary,
.site-header .logo-link-secondary{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    transform: none !important;
    translate: none !important;
  }
.site-header .logo-link .logo-brand,
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand,
.site-header .logo .logo-brand,
.site-header .logo .logo-brand-primary,
.site-header .logo .logo-brand-secondary{
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transform-origin: center center !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
    pointer-events: none !important;
  }
@media (max-width: 640px){.site-header .logo{
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator{
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }}

.site-header .logo{
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    gap: 0 !important;
  }
.site-header .logo-link,
.site-header .logo-link-primary,
.site-header .logo-link-secondary{
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    transition: transform 0.22s ease, opacity 0.22s ease, filter 0.22s ease !important;
    will-change: transform;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
    left: auto !important;
    right: auto !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active{
    filter: saturate(1.04) !important;
    opacity: 1 !important;
  }
.site-header .logo-link-primary:hover,
.site-header .logo-link-primary:focus-visible{
    transform: translateX(4px) !important;
  }
.site-header .logo-link-secondary:hover,
.site-header .logo-link-secondary:focus-visible{
    transform: translateX(-4px) !important;
  }
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand{
    transform: none !important;
    translate: none !important;
    scale: none !important;
  }
@media (max-width: 640px){.site-header .logo{
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }
.site-header .logo-link-primary:hover,
.site-header .logo-link-primary:focus-visible{
      transform: translateX(3px) !important;
    }
.site-header .logo-link-secondary:hover,
.site-header .logo-link-secondary:focus-visible{
      transform: translateX(-3px) !important;
    }}

.site-header .logo{
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    gap: 0 !important;
    perspective: 1200px !important;
  }
.site-header .logo-link,
.site-header .logo-link-primary,
.site-header .logo-link-secondary{
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: opacity 0.22s ease !important;
    transform-style: preserve-3d !important;
  }
.site-header .logo-link:hover,
.site-header .logo-link:focus-visible,
.site-header .logo-link:active,
.site-header .logo-link-primary:hover,
.site-header .logo-link-primary:focus-visible,
.site-header .logo-link-secondary:hover,
.site-header .logo-link-secondary:focus-visible{
    transform: none !important;
    translate: none !important;
    filter: saturate(1.04) !important;
    opacity: 1 !important;
  }
.site-header .logo-link .logo-brand,
.site-header .logo-link .logo-brand-primary,
.site-header .logo-link .logo-brand-secondary{
    transform: translateZ(12px) scale(1) !important;
    translate: none !important;
    transition: transform 0.24s ease, filter 0.24s ease, opacity 0.22s ease !important;
    transform-style: preserve-3d !important;
  }
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand,
.site-header .logo-link-primary:hover .logo-brand,
.site-header .logo-link-primary:focus-visible .logo-brand,
.site-header .logo-link-secondary:hover .logo-brand,
.site-header .logo-link-secondary:focus-visible .logo-brand{
    transform: translateZ(26px) scale(1.045) !important;
    translate: none !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
    left: auto !important;
    right: auto !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }
@media (max-width: 640px){.site-header .logo{
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }
.site-header .logo-link .logo-brand,
.site-header .logo-link .logo-brand-primary,
.site-header .logo-link .logo-brand-secondary{
      transform: translateZ(10px) scale(1) !important;
    }
.site-header .logo-link:hover .logo-brand,
.site-header .logo-link:focus-visible .logo-brand,
.site-header .logo-link:active .logo-brand,
.site-header .logo-link-primary:hover .logo-brand,
.site-header .logo-link-primary:focus-visible .logo-brand,
.site-header .logo-link-secondary:hover .logo-brand,
.site-header .logo-link-secondary:focus-visible .logo-brand{
      transform: translateZ(18px) scale(1.035) !important;
    }}

.site-header .logo{
    grid-template-columns: max-content 30px max-content !important;
    column-gap: 10px !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
    width: 30px !important;
    min-width: 30px !important;
    flex-basis: 30px !important;
  }
@media (max-width: 640px){.site-header .logo{
      grid-template-columns: max-content 24px max-content !important;
      column-gap: 8px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
      width: 24px !important;
      min-width: 24px !important;
      flex-basis: 24px !important;
    }}

.site-header .logo{
    grid-template-columns: max-content 50px max-content !important;
    column-gap: 18px !important;
    gap: 0 !important;
  }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
    width: 50px !important;
    min-width: 50px !important;
    flex: 0 0 50px !important;
    flex-basis: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }
@media (max-width: 640px){.site-header .logo{
      grid-template-columns: max-content 34px max-content !important;
      column-gap: 12px !important;
    }
.site-header .logo .logo-separator,
.site-header .logo:hover .logo-separator,
.site-header .logo:focus-within .logo-separator,
.site-header .logo-link:hover + .logo-separator,
.site-header .logo-link:focus-visible + .logo-separator{
      width: 34px !important;
      min-width: 34px !important;
      flex: 0 0 34px !important;
      flex-basis: 34px !important;
    }}

.footer-col h3{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }
.footer-col li,
.footer-col a{
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
  }
.footer-col--contacts-placdarm h3,
.footer-col--contacts-life h3{
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

.site-header .header-actions .home-link.top-news-btn{
    inline-size: 6.4cm !important;
    width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    flex: 0 0 6.4cm !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 14px 0 !important;
    border-radius: 14px !important;
    border: none !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    text-decoration: none !important;
    filter: none !important;
  }
.site-header .header-actions .home-link.top-news-btn:hover,
.site-header .header-actions .home-link.top-news-btn:focus-visible,
.site-header .header-actions .home-link.top-news-btn:active{
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
    filter: none !important;
  }
.site-footer a,
.site-footer a:hover,
.site-footer a:focus-visible,
.site-footer a:active{
    text-decoration: none !important;
    text-underline-offset: 0 !important;
  }
@media (max-width: 768px){.site-header .header-actions .home-link.top-news-btn{
      inline-size: 6.4cm !important;
      width: 6.4cm !important;
      min-width: 6.4cm !important;
      max-width: 6.4cm !important;
      flex: 0 0 6.4cm !important;
    }}

@media (min-width: 981px){.footer-col--legal-info,
.footer-col--contacts-life{
      justify-self: center !important;
      width: fit-content !important;
      max-width: 100% !important;
    }
.footer-col--legal-info h3,
.footer-col--legal-info ul,
.footer-col--contacts-life h3,
.footer-col--contacts-life ul{
      width: fit-content !important;
      max-width: 100% !important;
    }}

/* Во всех этих менюшках делаем переливающийся цвет как на главной */
  #fundPlHelpChoiceModal .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .contract-btn:hover,
  #fundPlFinancialModal .payment-switch-btn:hover,
  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    transform: translateY(-2px) !important;
  }

  #fundPlFinancialModal .payment-switch-btn.active {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    color: #111111 !important;
    box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow) !important;
  }

@media (min-width: 769px) {
    .character-choice-section .history-action-row,
    .character-choice-section .history-action-row-desktop {
      width: auto !important;
      max-width: none !important;
    }

    .character-choice-section .history-action-row .history-action-btn,
    .character-choice-section .history-action-row .history-action-btn.history-action-btn-placeholder,
    .character-choice-section .history-action-row-desktop .history-action-btn,
    .character-choice-section .history-action-row-desktop .history-action-btn.history-action-btn-placeholder {
      width: var(--oai-fund-btn-width) !important;
      min-width: var(--oai-fund-btn-width) !important;
      max-width: var(--oai-fund-btn-width) !important;
      height: var(--oai-fund-btn-height) !important;
      min-height: var(--oai-fund-btn-height) !important;
      max-height: var(--oai-fund-btn-height) !important;
      padding: 14px 20px !important;
      flex: 0 0 var(--oai-fund-btn-width) !important;
      box-sizing: border-box !important;
    }
  }

  /* sync "ГЛАВНАЯ" button color with social.html */
  .site-header .home-link {
    background: var(--light-btn) !important;
    color: var(--text-main) !important;
  }

  .site-header .home-link:hover {
    background: #dde5ef !important;
    color: var(--text-main) !important;
    filter: none !important;
  }

.site-header,
  .site-footer,
  .site-header .header-inner,
  .site-header .header-actions,
  .site-header .logo,
  .site-header .burger,
  .site-header .home-link.top-news-btn,
  .side-menu,
  .side-nav a,
  .side-nav button,
  .footer-container,
  .footer-col,
  .footer-bottom {
    box-sizing: border-box !important;
  }

  .site-header .header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    width: auto !important;
  }

  .site-header .header-actions .home-link.top-news-btn {
    inline-size: 6.4cm !important;
    width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    flex: 0 0 6.4cm !important;
  }

  .site-header .header-actions .top-home-btn {
    background: var(--light-btn) !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
  }

  .site-header .header-actions .top-home-btn:hover,
  .site-header .header-actions .top-home-btn:focus-visible,
  .site-header .header-actions .top-home-btn:active {
    background: #dde5ef !important;
    color: var(--text-main) !important;
    transform: translateY(-2px) !important;
  }

  .site-header .header-actions .top-home-btn::before,
  .site-header .header-actions .top-home-btn::after {
    display: none !important;
  }

  .site-footer a,
  .site-footer a:hover,
  .site-footer a:focus-visible,
  .site-footer a:active {
    text-decoration: none !important;
  }

  @media (max-width: 768px) {
    .site-header .header-actions {
      flex-wrap: wrap !important;
      justify-content: flex-end !important;
    }
    .site-header .header-actions .home-link.top-news-btn {
      inline-size: 6.4cm !important;
      width: 6.4cm !important;
      min-width: 6.4cm !important;
      max-width: 6.4cm !important;
      flex: 0 0 6.4cm !important;
    }
  }

:root {
  --fixed-header-offset: 0px !important;
}
.hero {
  margin-top: 28px !important;
}
@media (max-width: 768px) {
  .hero {
    margin-top: 20px !important;
  }
}

/* Выравнивание отступа карточек в первом блоке "ПлАЦДАРМ" по образцу второго блока */
  .hero .info-grid {
    margin-left: -14px;
    margin-right: -14px;
  }

  @media (max-width: 768px) {
    .hero .info-grid {
      margin-left: -4px;
      margin-right: -4px;
    }
  }

  @media (max-width: 480px) {
    .hero .info-grid {
      margin-left: -2px;
      margin-right: -2px;
    }
  }

/* Выравнивание бейджа, заголовка H1 и описания по левому краю карточек первого блока */
  .hero .hero-content .hero-text {
    margin-left: -14px;
    margin-right: -14px;
  }

  @media (max-width: 768px) {
    .hero .hero-content .hero-text {
      margin-left: -4px;
      margin-right: -4px;
    }
  }

  @media (max-width: 480px) {
    .hero .hero-content .hero-text {
      margin-left: -2px;
      margin-right: -2px;
    }
  }

.side-menu-header {
    display: none !important;
  }

  .close-side-menu,
  #closeMenuBtn {
    display: none !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
  }

  .site-header .burger span {
    background: #111111 !important;
  }

  .side-menu {
    top: 0 !important;
    right: -380px !important;
    width: 350px !important;
    max-width: 92% !important;
    height: 100vh !important;
    background: #ffffff !important;
    z-index: 300 !important;
    box-shadow: -12px 0 30px rgba(0, 0, 0, 0.12) !important;
    transition: right 0.3s ease !important;
    padding: 24px 20px !important;
    overflow-y: auto !important;
  }

  .side-menu.active {
    right: 0 !important;
  }

  .menu-overlay {
    background: rgba(0, 0, 0, 0.35) !important;
    z-index: 250 !important;
  }

  .side-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 0 !important;
  }

  .side-nav a,
  .side-nav button {
    text-decoration: none !important;
    color: var(--text-main, #111111) !important;
    background: #2f7085 !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    font-weight: 800 !important;
    border: none !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: 0.2s ease !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  .side-nav a:hover,
  .side-nav button:hover,
  .side-nav a.active {
    background: #92cbdb !important;
  }

  @media (max-width: 768px) {
    .side-menu {
      width: min(92vw, 360px) !important;
      max-width: 92vw !important;
      padding: 20px 16px !important;
    }

    .side-nav a,
    .side-nav button {
      padding: 14px 15px !important;
      font-size: 14px !important;
      border-radius: 12px !important;
      line-height: 1.35 !important;
    }
  }

  @media (max-width: 480px) {
    .side-menu {
      width: 100vw !important;
      max-width: 100vw !important;
      right: -100vw !important;
      border-radius: 0 !important;
    }

    .side-menu.active {
      right: 0 !important;
    }
  }

.side-menu {
    width: 350px !important;
    max-width: 92% !important;
    padding: 24px 20px !important;
    background: #ffffff !important;
    box-shadow: -12px 0 30px rgba(0, 0, 0, 0.12) !important;
  }

  .side-menu-header {
    display: none !important;
  }

  .side-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 0 !important;
  }

  .side-nav a,
  .side-nav button {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    transform: none !important;
  }

  .side-nav a:hover,
  .side-nav button:hover,
  .side-nav a.active {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
  }

  .burger {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
  }

  .burger:hover {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
  }

  @media (max-width: 768px) {
    .side-menu {
      width: min(92vw, 360px) !important;
      max-width: 92vw !important;
      padding: 20px 16px !important;
    }

    .side-nav a,
    .side-nav button {
      min-height: 0 !important;
      padding: 13px 14px !important;
      font-size: 14px !important;
      border-radius: 12px !important;
    }
  }

  @media (max-width: 480px) {
    .side-menu {
      width: 100vw !important;
      max-width: 100vw !important;
      right: -100vw !important;
      border-radius: 0 !important;
    }
  }

.side-nav {
    align-items: stretch !important;
  }

  .side-nav a,
  .side-nav button {
    width: 100% !important;
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 16px !important;
    text-align: center !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  @media (max-width: 768px) {
    .side-nav a,
    .side-nav button {
      min-height: 64px !important;
      padding: 13px 14px !important;
    }
  }

#sideMenu .side-nav {
    margin-top: 28px;
  }

  @media (max-width: 768px) {
    #sideMenu .side-nav {
      margin-top: 32px;
    }
  }

#sideMenu {
    padding-top: 96px !important;
    box-sizing: border-box !important;
  }

  #sideMenu .side-nav {
    margin-top: 0 !important;
  }

  @media (max-width: 768px) {
    #sideMenu {
      padding-top: 88px !important;
    }
  }

/* Убираем режим uppercase в всплывающем окне выбора страниц */
  .side-menu .side-nav a,
  .side-menu .side-nav button {
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

/* ===== Новые модалки = как "Подписание контракта" ===== */

  /* Модалка выбора помощи */
  #fundPlHelpChoiceModal .modal-content {
    max-width: 760px !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    max-width: 640px;
    margin: 0 auto 22px;
    text-align: center;
    color: var(--text-soft);
    line-height: 1.6;
  }

  #fundPlHelpChoiceModal .help-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn {
    width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  /* Точно как у контракта по размеру и поведению */
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal,
  #fundLifeDonateModal .fund-contract-like-modal {
    max-width: 860px !important;
    max-height: min(88vh, 920px) !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #fundLifeDonateModal .fund-contract-like-header {
    position: relative !important;
    flex-shrink: 0 !important;
    padding: 24px 64px 18px 22px !important;
    background: #fff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #fundLifeDonateModal .fund-contract-like-header h2 {
    margin: 0 !important;
    text-align: center !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    color: var(--text-main) !important;
  }

  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn,
  #fundLifeDonateModal .sheet-close-btn {
    top: 14px !important;
    right: 16px !important;
    transform: none !important;
    z-index: 6 !important;
  }

  #fundPlFinancialModal .fund-contract-like-form,
  #fundPlMaterialModal .fund-contract-like-form,
  #fundLifeDonateModal .fund-contract-like-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-body,
  #fundPlMaterialModal .fund-contract-like-body,
  #fundLifeDonateModal .fund-contract-like-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px 22px 18px !important;
  }

  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .fund-contract-like-footer {
    position: static !important;
    flex-shrink: 0 !important;
    margin-top: 0 !important;
    padding: 18px 22px 22px !important;
    background: #fff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
  }

  /* Финансовая помощь — кнопки нормального цвета и ширины */
  #fundPlFinancialModal .payment-switcher {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 12px !important;
    width: 100% !important;
  }

  #fundPlFinancialModal .payment-switch-btn {
    border: none !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    transition: 0.25s ease !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .payment-switch-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  #fundPlFinancialModal .payment-switch-btn.active {
    background: #92cbdb !important;
    box-shadow: inset 0 0 0 2px rgba(17,17,17,0.08), var(--shadow) !important;
  }

  #fundPlFinancialModal .payment-empty-state {
    display: none;
    text-align: center;
    padding: 28px 18px;
    border-radius: 18px;
    background: #f7fbff;
    border: 1px solid #dfe9f5;
    color: var(--text-soft);
    margin-bottom: 18px;
  }

  #fundPlFinancialModal .payment-panel {
    display: none;
  }

  #fundPlFinancialModal .payment-empty-state.active,
  #fundPlFinancialModal .payment-panel.active {
    display: block;
  }

  #fundPlFinancialModal .pay-actions {
    display: flex !important;
    justify-content: center !important;
    margin: 18px 0 10px !important;
  }

  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn {
    width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border: none !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  /* Пожертвования — карточки */
  .requisites-box,
  .requisite-info,
  .okved-info,
  .contact-info {
    background: #f9fbff;
    border: 1px solid #dfe9f5;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 14px;
  }

  .requisites-box h3,
  .requisite-info h4,
  .okved-info h4,
  .contact-info h4 {
    margin: 0 0 14px;
    color: var(--text-main);
  }

  .requisite-item {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: 10px 16px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  .requisite-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .requisite-item strong {
    color: var(--text-main);
  }

  .requisite-info ul,
  .okved-info ul {
    margin: 0;
    padding-left: 22px;
  }

  .requisite-info li + li,
  .okved-info li + li {
    margin-top: 8px;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-grid {
      grid-template-columns: 1fr !important;
    }

    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      max-height: calc(100vh - 12px) !important;
      margin: 6px auto !important;
      border-radius: 20px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #fundLifeDonateModal .fund-contract-like-header {
      padding: 20px 52px 14px 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header h2,
    #fundPlMaterialModal .fund-contract-like-header h2,
    #fundLifeDonateModal .fund-contract-like-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlFinancialModal .payment-switcher {
      flex-direction: column !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      width: 100% !important;
      min-height: 48px !important;
      font-size: 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-body,
    #fundPlMaterialModal .fund-contract-like-body,
    #fundLifeDonateModal .fund-contract-like-body {
      padding: 14px 14px 8px !important;
    }

    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      padding: 14px !important;
    }

    .requisite-item {
      grid-template-columns: 1fr;
      gap: 6px;
    }
  }

/* Все эти менюшки/модалки делаем по ширине как основной блок страницы */
  @media (min-width: 981px) {
    #fundPlHelpChoiceModal .modal-content,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  @media (min-width: 769px) and (max-width: 980px) {
    #fundPlHelpChoiceModal .modal-content,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: calc(100% - 24px) !important;
      max-width: calc(100% - 24px) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .modal-content,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

/* Жестко перебиваем цвет именно у кнопок в "ВЫБЕРИТЕ ВИД ПОМОЩИ" */
  #fundPlHelpChoiceModal .help-choice-grid button.contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid button {
    background-color: transparent !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid button.contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid button:hover {
    background-color: transparent !important;
    background-image: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
  }

/* Финальный единый размер кнопок по образцу блоков 2–4.
     Этот блок стоит последним и перебивает старые 220/240/250/270px правила. */

  @media (min-width: 769px) {
    .fund-action-row,
    .character-choice-section .history-action-row,
    #calcModal .calc-tabs,
    .benefit-modal-action,
    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer,
    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      gap: 12px !important;
      align-items: stretch !important;
    }

    .fund-action-row,
    .character-choice-section .history-action-row,
    #calcModal .calc-tabs,
    #fundPlHelpChoiceModal .help-choice-grid {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
    }

    .benefit-modal-action,
    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
    }

    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn,
    #calcModal .calc-tab-btn,
    .benefit-modal-action .contract-btn,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      flex: 0 0 220px !important;
      width: 220px !important;
      min-width: 220px !important;
      max-width: 220px !important;
      min-height: 52px !important;
      height: 52px !important;
      margin: 0 !important;
      padding: 14px 20px !important;
      border: none !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      white-space: normal !important;
      line-height: 1.2 !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      color: #111111 !important;
      background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
      box-shadow: var(--shadow) !important;
      transform: none !important;
    }

    .fund-action-row .contract-btn:hover,
    .character-choice-section .history-action-row .history-action-btn:hover,
    #calcModal .calc-tab-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .social-legal-modal-footer .social-legal-submit-btn:hover,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover,
    #calcModal .calc-tab-btn.active {
      color: #111111 !important;
      background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
      box-shadow: var(--shadow) !important;
    }

    .fund-action-row .contract-btn:hover,
    .character-choice-section .history-action-row .history-action-btn:hover,
    #calcModal .calc-tab-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .social-legal-modal-footer .social-legal-submit-btn:hover,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover {
      transform: translateY(-2px) !important;
    }
  }

  @media (max-width: 768px) {
    .fund-action-row,
    .character-choice-section .history-action-row,
    #calcModal .calc-tabs,
    .benefit-modal-action,
    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer,
    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;
    }

    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn,
    #calcModal .calc-tab-btn,
    .benefit-modal-action .contract-btn,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      margin: 0 !important;
      padding: 13px 16px !important;
      border-radius: 14px !important;
      text-align: center !important;
      justify-content: center !important;
    }
  }

/* Финальный точечный фикс: во всех модалках кнопки одного размера.
     Десктоп: длина 6.5см, высота 1.5см, расстояние между кнопками 5мм. */
  @media (min-width: 769px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 5mm !important;
    }

    #benefitModal .benefit-modal-action .contract-btn,
    #calcModal .calc-tab-btn,
    #fundModal .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #serviceModal .service-modal-footer .submit-btn,
    #contractModal .contract-modal-footer .submit-btn,
    #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.45cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.15 !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: break-word !important;
      box-sizing: border-box !important;
    }

    #calcModal .calc-tab-btn {
      font-size: 14px !important;
    }
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;
    }

    #benefitModal .benefit-modal-action .contract-btn,
    #calcModal .calc-tab-btn,
    #fundModal .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #serviceModal .service-modal-footer .submit-btn,
    #contractModal .contract-modal-footer .submit-btn,
    #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 48px !important;
      height: auto !important;
      max-height: none !important;
      padding: 13px 16px !important;
    }
  }

/* Кнопки в модалках — тот же шрифт, что на кнопках 2–4 блоков */
  #benefitModal .benefit-modal-action > .contract-btn,
  #benefitModal .benefit-modal-action > .benefit-details-btn,
  #calcModal .calc-tabs > .calc-tab-btn,
  #fundModal .fund-choice-list > .fund-choice-link,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid > button,
  #serviceModal .service-modal-footer > .submit-btn,
  #contractModal .contract-modal-footer > .submit-btn,
  #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
  #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer > .submit-btn {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    text-transform: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action > .contract-btn,
    #benefitModal .benefit-modal-action > .benefit-details-btn,
    #calcModal .calc-tabs > .calc-tab-btn,
    #fundModal .fund-choice-list > .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid > button,
    #serviceModal .service-modal-footer > .submit-btn,
    #contractModal .contract-modal-footer > .submit-btn,
    #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer > .submit-btn {
      font-size: 16px !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
    }
  }

/* ПлАЦДАРМ: "Финансовая помощь" по размеру как "Гуманитарная помощь" */
  #fundPlFinancialModal .fund-contract-like-modal {
    height: min(88vh, 920px) !important;
    max-height: min(88vh, 920px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .fund-contract-like-modal {
      height: calc(100vh - 12px) !important;
      max-height: calc(100vh - 12px) !important;
      margin: 6px auto !important;
    }
  }

/* Левый/правый отступ модалок = отступу страницы от края экрана */
  :root {
    --modal-side-gap-desktop: 20px;
    --modal-side-gap-tablet: 14px;
    --modal-side-gap-mobile: 12px;
  }

  .modal,
  .social-legal-modal,
  #fundPlHelpChoiceModal {
    padding-left: var(--modal-side-gap-desktop) !important;
    padding-right: var(--modal-side-gap-desktop) !important;
    box-sizing: border-box !important;
  }

  .modal-content,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content,
  .social-legal-modal-dialog,
  #fundPlHelpChoiceModal .modal-content,
  #fundLifeDonateModal .fund-contract-like-modal,
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal {
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop) * 2))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal,
    #fundPlHelpChoiceModal {
      padding-left: var(--modal-side-gap-tablet) !important;
      padding-right: var(--modal-side-gap-tablet) !important;
    }

    .modal-content,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content,
    .social-legal-modal-dialog,
    #fundPlHelpChoiceModal .modal-content,
    #fundLifeDonateModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal {
      width: calc(100vw - (var(--modal-side-gap-tablet) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet) * 2)) !important;
    }
  }

  @media (max-width: 480px) {
    .modal,
    .social-legal-modal,
    #fundPlHelpChoiceModal {
      padding-left: var(--modal-side-gap-mobile) !important;
      padding-right: var(--modal-side-gap-mobile) !important;
    }

    .modal-content,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content,
    .social-legal-modal-dialog,
    #fundPlHelpChoiceModal .modal-content,
    #fundLifeDonateModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal {
      width: calc(100vw - (var(--modal-side-gap-mobile) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile) * 2)) !important;
    }
  }

/* Только для модалок блоков 2–4. Первый блок не трогаем. */
  :root {
    --blocks-2-4-modal-gap: 8mm;
  }

  #fundLifeDonateModal,
  #fundPlHelpChoiceModal,
  #fundPlFinancialModal,
  #fundPlMaterialModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--blocks-2-4-modal-gap)) !important;
    padding-bottom: var(--blocks-2-4-modal-gap) !important;
  }

  #fundLifeDonateModal .fund-contract-like-modal,
  #fundPlHelpChoiceModal .modal-content,
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - (var(--blocks-2-4-modal-gap) * 2)) !important;
  }

  /* Финансовая помощь: одинаковая геометрия и одинаковое оформление текста кнопок */
  #fundPlFinancialModal .payment-switcher {
    display: grid !important;
    justify-content: center !important;
    align-items: stretch !important;
    align-content: start !important;
    gap: 16px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 12px auto 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .payment-switch-btn.active {
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.05 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    transform: none !important;
    transition: background 0.25s ease, filter 0.25s ease, opacity 0.25s ease !important;
    box-sizing: border-box !important;
    flex: none !important;
  }

  #fundPlFinancialModal .payment-switch-btn:hover,
  #fundPlFinancialModal .payment-switch-btn.active:hover,
  #fundPlFinancialModal .payment-switch-btn.active {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: none !important;
    filter: none !important;
  }

  #fundPlFinancialModal .payment-switch-btn br {
    display: block !important;
    content: "" !important;
  }

/* КНОПКИ: один размер и одна сетка, без плавающих рядов */
  #fundPl .fund-action-row,
  #fundLife .fund-action-row {
    gap: 16px !important;
    align-items: stretch !important;
  }

  #fundPl .fund-action-row-desktop,
  #fundLife .fund-action-row-desktop {
    display: grid !important;
    grid-template-columns: repeat(2, 240px) !important;
    gap: 16px !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  #fundPl .fund-action-row-mobile,
  #fundLife .fund-action-row-mobile {
    display: none !important;
  }

  #fundPl .fund-action-row .contract-btn,
  #fundLife .fund-action-row .contract-btn {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    flex: none !important;
  }

  #fundPl .fund-action-row .contract-btn:hover,
  #fundLife .fund-action-row .contract-btn:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
  }

  /* МОДАЛКИ ПЛАЦДАРМ: одна геометрия кнопок */
  #fundPlHelpChoiceModal .help-choice-grid,
  #fundPlFinancialModal .payment-switcher,
  #calcModal .calc-tabs {
    display: grid !important;
    justify-content: center !important;
    gap: 16px !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid,
  #fundPlFinancialModal .payment-switcher {
    grid-template-columns: repeat(2, 280px) !important;
  }

  #calcModal .calc-tabs {
    grid-template-columns: repeat(2, 300px) !important;
    margin-bottom: 18px !important;
  }

  #fundPlFinancialModal .pay-actions,
  #fundPlFinancialModal .modal-form-footer,
  #fundPlMaterialModal .modal-form-footer,
  #fundLifeDonateModal .modal-form-footer {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .submit-btn,
  #fundPlMaterialModal .submit-btn,
  #fundLifeDonateModal .submit-btn,
  #calcModal .calc-tab-btn,
  #calcModal .money-reset-btn {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
  }

  #calcModal .calc-tab-btn {
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
  #fundPlFinancialModal .payment-switch-btn:hover,
  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .submit-btn:hover,
  #fundPlMaterialModal .submit-btn:hover,
  #fundLifeDonateModal .submit-btn:hover,
  #calcModal .calc-tab-btn:hover,
  #calcModal .money-reset-btn:hover,
  #fundPlFinancialModal .payment-switch-btn.active,
  #calcModal .calc-tab-btn.active {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
  }

  /* КАЛЬКУЛЯТОР: внутренние списки, чтобы не вылезали из модалки */
  #calcModal .form-group {
    position: relative !important;
    overflow: visible !important;
  }

  #calcModal .calc-native-select-hidden {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #calcModal .calc-custom-select {
    position: relative;
    width: 100%;
    z-index: 5;
  }

  #calcModal .calc-custom-trigger {
    width: 100%;
    min-height: 52px;
    padding: 13px 44px 13px 16px;
    border: 1px solid #d8dce2;
    border-radius: 14px;
    background: #ffffff;
    color: #111111;
    font-size: 15px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: 0.2s ease;
  }

  #calcModal .calc-custom-trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #111111;
    border-bottom: 2px solid #111111;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;
  }

  #calcModal .calc-custom-select.open {
    z-index: 40;
  }

  #calcModal .calc-custom-select.open .calc-custom-trigger {
    border-color: var(--blue, #6ea8ff);
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.15);
  }

  #calcModal .calc-custom-select.open .calc-custom-trigger::after {
    transform: translateY(-35%) rotate(-135deg);
  }

  #calcModal .calc-custom-trigger.is-placeholder {
    color: #4f5964;
  }

  #calcModal .calc-custom-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #d8dce2;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
    padding: 8px;
  }

  #calcModal .calc-custom-select.open .calc-custom-dropdown {
    display: block;
  }

  #calcModal .calc-custom-option {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    border-radius: 12px;
    padding: 11px 12px;
    text-align: left;
    font-size: 15px;
    line-height: 1.3;
    color: #111111;
    cursor: pointer;
    transition: 0.18s ease;
  }

  #calcModal .calc-custom-option:hover {
    background: #eef5ff;
  }

  #calcModal .calc-custom-option.is-selected {
    background: #dff0ff;
    font-weight: 800;
  }

  #calcModal .calc-custom-option.is-disabled {
    color: #7a8591;
  }

  @media (max-width: 768px) {
    #fundPl .fund-action-row-desktop,
    #fundLife .fund-action-row-desktop {
      display: none !important;
    }

    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 12px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #fundPl .fund-action-row .contract-btn,
    #fundLife .fund-action-row .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .submit-btn,
    #fundPlMaterialModal .submit-btn,
    #fundLifeDonateModal .submit-btn,
    #calcModal .calc-tab-btn,
    #calcModal .money-reset-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 52px !important;
      min-height: 52px !important;
      font-size: 15px !important;
    }

    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .payment-switcher,
    #calcModal .calc-tabs {
      grid-template-columns: 1fr !important;
    }

    #calcModal .calc-custom-dropdown {
      max-height: 220px;
    }
  }

/* Точечный фикс для модалки "Выберите вид помощи":
     кнопки должны быть уже — примерно 6.5 см, а не 7.5 см */
  #fundPlHelpChoiceModal .help-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 246px) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid button.contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid button {
    width: 246px !important;
    min-width: 246px !important;
    max-width: 246px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 14px 18px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    flex: 0 0 246px !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-grid {
      grid-template-columns: 1fr !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid button.contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid button {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 1 1 auto !important;
    }
  }

/* Финальный жесткий фикс только для кнопок внутри модалок.
     Десктоп: длина 6.5см, высота 1.5см, расстояние 5мм.
     Мобильную адаптацию не ломаем. */
  @media (min-width: 769px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      align-content: center !important;
      column-gap: 5mm !important;
      row-gap: 5mm !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      box-sizing: border-box !important;
    }

    #benefitModal .benefit-modal-action > .contract-btn,
    #benefitModal .benefit-modal-action > .benefit-details-btn,
    #calcModal .calc-tabs > .calc-tab-btn,
    #fundModal .fund-choice-list > .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid > button,
    #serviceModal .service-modal-footer > .submit-btn,
    #contractModal .contract-modal-footer > .submit-btn,
    #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer > .submit-btn {
      flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.42cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      vertical-align: middle !important;
      line-height: 1.12 !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
      align-self: center !important;
    }

    /* Активную вкладку калькулятора не раздуваем */
    #calcModal .calc-tabs > .calc-tab-btn.active {
      flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
    }
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #benefitModal .benefit-modal-action > .contract-btn,
    #benefitModal .benefit-modal-action > .benefit-details-btn,
    #calcModal .calc-tabs > .calc-tab-btn,
    #fundModal .fund-choice-list > .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid > button,
    #serviceModal .service-modal-footer > .submit-btn,
    #contractModal .contract-modal-footer > .submit-btn,
    #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer > .submit-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      padding: 13px 16px !important;
    }
  }

/* Точечный фикс: финансовая помощь + кнопка сбросить в калькуляторе */
  @media (min-width: 769px) {
    #fundPlFinancialModal .payment-switcher {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      align-content: center !important;
      column-gap: 5mm !important;
      row-gap: 5mm !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 12px auto 0 !important;
      box-sizing: border-box !important;
    }

    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .payment-switch-btn.active,
    #calcModal #moneyCalcReset.money-reset-btn {
      flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      padding: 0 0.42cm !important;
      margin: 0 !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.12 !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
      align-self: center !important;
    }

    #calcModal #moneyCalcReset.money-reset-btn {
      display: flex !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-top: 12px !important;
    }

    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .payment-switch-btn.active,
    #calcModal #moneyCalcReset.money-reset-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      padding: 13px 16px !important;
    }
  }

#fundPlHelpChoiceModal .help-choice-grid,
  #fundPlFinancialModal .payment-switcher,
  #fundPlFinancialModal .pay-actions,
  #fundPlFinancialModal .modal-form-footer,
  #fundPlMaterialModal .modal-form-footer,
  #fundLifeDonateModal .modal-form-footer,
  #calcModal .calc-tabs {
    gap: 5mm !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .submit-btn,
  #fundPlMaterialModal .submit-btn,
  #fundLifeDonateModal .submit-btn,
  #calcModal .calc-tab-btn,
  #calcModal .money-reset-btn {
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    flex: 0 0 6.5cm !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .payment-switcher,
    #fundPlFinancialModal .pay-actions,
    #fundPlFinancialModal .modal-form-footer,
    #fundPlMaterialModal .modal-form-footer,
    #fundLifeDonateModal .modal-form-footer,
    #calcModal .calc-tabs {
      gap: 12px !important;
    }

    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .submit-btn,
    #fundPlMaterialModal .submit-btn,
    #fundLifeDonateModal .submit-btn,
    #calcModal .calc-tab-btn,
    #calcModal .money-reset-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
    }
  }

/* Реальный финальный фикс шрифта для кнопок внутри модалок.
     Ставим ПОСЛЕ всех старых патчей, чтобы уже ничего не перебивало. */
  @media (min-width: 769px) {
    #benefitModal .benefit-modal-action > .contract-btn,
    #benefitModal .benefit-modal-action > .benefit-details-btn,
    #calcModal .calc-tabs > .calc-tab-btn,
    #fundModal .fund-choice-list > .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid > button,
    #serviceModal .service-modal-footer > .submit-btn,
    #contractModal .contract-modal-footer > .submit-btn,
    #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer > .submit-btn,
    #calcModal #moneyCalcReset.money-reset-btn {
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      font-style: normal !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      -webkit-font-smoothing: antialiased !important;
      text-rendering: geometricPrecision !important;
    }
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action > .contract-btn,
    #benefitModal .benefit-modal-action > .benefit-details-btn,
    #calcModal .calc-tabs > .calc-tab-btn,
    #fundModal .fund-choice-list > .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid > button,
    #serviceModal .service-modal-footer > .submit-btn,
    #contractModal .contract-modal-footer > .submit-btn,
    #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer > .submit-btn,
    #calcModal #moneyCalcReset.money-reset-btn {
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      font-style: normal !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      -webkit-font-smoothing: antialiased !important;
      text-rendering: geometricPrecision !important;
    }
  }

:root{
    --oai-btn-len: 6.4cm;
    --oai-btn-h: 1.3cm;
  }

  #fundLife .fund-action-row .contract-btn,
  #fundPl .fund-action-row .contract-btn,
  #fundLabs .fund-action-row .contract-btn,
  #fundBplaSchool .fund-action-row .contract-btn,
  #characterChoiceBlock .history-action-row .history-action-btn,
  .modal .contract-btn:not(.hero-card-btn):not(.hero-service-card-btn),
  .modal .submit-btn,
  .modal .social-legal-submit-btn,
  .modal .calc-tab-btn,
  .modal .money-reset-btn,
  .modal .payment-switch-btn,
  .modal .pay-link-btn,
  .modal .fund-choice-link,
  .modal .payment-action-btn,
  .modal .payment-choice-btn,
  .modal .office-feedback-btn,
  .modal .modal-feedback-btn,
  .social-legal-modal .social-legal-submit-btn,
  #benefitModal .benefit-modal-action .contract-btn,
  #calcModal .calc-tab-btn,
  #calcModal .money-reset-btn,
  #fundPlHelpChoiceModal .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .submit-btn,
  #fundPlMaterialModal .submit-btn,
  #fundLifeDonateModal .submit-btn,
  #serviceModal .submit-btn,
  #contractModal .submit-btn,
  #socialLegalModal .social-legal-submit-btn,
  #officeMapModal .social-legal-submit-btn,
  #officeFeedbackModal .social-legal-submit-btn {
    width: var(--oai-btn-len) !important;
    min-width: var(--oai-btn-len) !important;
    max-width: var(--oai-btn-len) !important;
    inline-size: var(--oai-btn-len) !important;
    height: var(--oai-btn-h) !important;
    min-height: var(--oai-btn-h) !important;
    max-height: var(--oai-btn-h) !important;
    block-size: var(--oai-btn-h) !important;
    flex: 0 0 var(--oai-btn-len) !important;
    padding: 0 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  #fundLife .fund-action-row,
  #fundPl .fund-action-row,
  #fundLabs .fund-action-row,
  #fundBplaSchool .fund-action-row,
  #characterChoiceBlock .history-action-row,
  .modal .benefit-modal-action,
  .modal .service-modal-footer,
  .modal .contract-modal-footer,
  .modal .social-legal-modal-footer,
  .modal .fund-contract-like-footer,
  .modal .payment-switcher,
  #calcModal .calc-tabs,
  #calcModal .calc-modal-footer-sticky {
    gap: 5mm !important;
    align-items: center !important;
  }

  .hero-card .hero-card-btn,
  .hero-service-card .hero-service-card-btn,
  .hero-service-card-btn.hero-card-btn,
  #openMilitaryCalcCard .hero-service-card-btn,
  #openIndividualSupportCard .hero-service-card-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    inline-size: auto !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    overflow: visible !important;
  }

  .footer-col--offices button.office-city-btn,
  .site-footer .footer-col--offices button.office-city-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    inline-size: auto !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    overflow: visible !important;
  }

  @media (max-width: 768px){
    #fundLife .fund-action-row .contract-btn,
    #fundPl .fund-action-row .contract-btn,
    #fundLabs .fund-action-row .contract-btn,
    #fundBplaSchool .fund-action-row .contract-btn,
    #characterChoiceBlock .history-action-row .history-action-btn,
    .modal .contract-btn:not(.hero-card-btn):not(.hero-service-card-btn),
    .modal .submit-btn,
    .modal .social-legal-submit-btn,
    .modal .calc-tab-btn,
    .modal .money-reset-btn,
    .modal .payment-switch-btn,
    .modal .pay-link-btn,
    .modal .fund-choice-link,
    .social-legal-modal .social-legal-submit-btn {
      width: min(var(--oai-btn-len), 100%) !important;
      min-width: min(var(--oai-btn-len), 100%) !important;
      max-width: min(var(--oai-btn-len), 100%) !important;
      inline-size: min(var(--oai-btn-len), 100%) !important;
      height: var(--oai-btn-h) !important;
      min-height: var(--oai-btn-h) !important;
      max-height: var(--oai-btn-h) !important;
      flex: 0 1 min(var(--oai-btn-len), 100%) !important;
    }
  }

/* Для общей модалки "Выберите вид помощи", которая открывается из
     "Лаборатории ПлАЦДАРМ" и "Школа БПЛА":
     фиксируем реальный отступ от нижней границы шапки = 8мм. */
  #fundPlHelpChoiceModal {
    padding-top: 0 !important;
  }

  #fundPlHelpChoiceModal .modal-content {
    margin-top: calc(var(--site-header-height, 0px) + 8mm) !important;
    margin-bottom: 12px !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .modal-content {
      margin-top: calc(var(--site-header-height, 0px) + 8mm) !important;
      margin-bottom: 8px !important;
    }
  }

/* Финальная правка: перечисленные кнопки в index по размеру как кнопка "НОВОСТИ" */
  :root {
    --index-news-btn-width: 6.4cm;
    --index-news-btn-height: 1.3cm;
    --index-news-btn-radius: 14px;
  }

  .site-header .header-actions .home-link.top-news-btn,
  .hero-card .hero-card-btn,
  .hero-service-card .hero-service-card-btn,
  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn,
  #benefitModal .benefit-modal-action .contract-btn,
  #calcModal .calc-tabs .calc-tab-btn,
  #calcModal .money-reset-btn,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlFinancialModal .payment-switcher .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn,
  #serviceModal .service-modal-footer .submit-btn,
  #contractModal .contract-modal-footer .submit-btn,
  #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeMapModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn {
    inline-size: var(--index-news-btn-width) !important;
    width: var(--index-news-btn-width) !important;
    min-width: var(--index-news-btn-width) !important;
    max-width: var(--index-news-btn-width) !important;
    block-size: var(--index-news-btn-height) !important;
    height: var(--index-news-btn-height) !important;
    min-height: var(--index-news-btn-height) !important;
    max-height: var(--index-news-btn-height) !important;
    flex: 0 0 var(--index-news-btn-width) !important;
    padding: 0 0.32cm !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: none !important;
    border-radius: var(--index-news-btn-radius) !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-decoration: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  /* Чтобы кнопки были не только одинакового размера, но и визуально как "НОВОСТИ" */
  .hero-card .hero-card-btn,
  .hero-service-card .hero-service-card-btn,
  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn,
  #benefitModal .benefit-modal-action .contract-btn,
  #calcModal .calc-tabs .calc-tab-btn,
  #calcModal .money-reset-btn,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlFinancialModal .payment-switcher .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn,
  #serviceModal .service-modal-footer .submit-btn,
  #contractModal .contract-modal-footer .submit-btn,
  #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeMapModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
  }

  .site-header .header-actions .home-link.top-news-btn:hover,
  .site-header .header-actions .home-link.top-news-btn:focus-visible,
  .site-header .header-actions .home-link.top-news-btn:active,
  .hero-card .hero-card-btn:hover,
  .hero-card .hero-card-btn:focus-visible,
  .hero-service-card .hero-service-card-btn:hover,
  .hero-service-card .hero-service-card-btn:focus-visible,
  .fund-action-row .contract-btn:hover,
  .fund-action-row .contract-btn:focus-visible,
  .character-choice-section .history-action-row .history-action-btn:hover,
  .character-choice-section .history-action-row .history-action-btn:focus-visible,
  #benefitModal .benefit-modal-action .contract-btn:hover,
  #benefitModal .benefit-modal-action .contract-btn:focus-visible,
  #calcModal .calc-tabs .calc-tab-btn:hover,
  #calcModal .calc-tabs .calc-tab-btn:focus-visible,
  #calcModal .calc-tabs .calc-tab-btn.active,
  #calcModal .money-reset-btn:hover,
  #calcModal .money-reset-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:focus-visible,
  #fundPlFinancialModal .payment-switcher .payment-switch-btn:hover,
  #fundPlFinancialModal .payment-switcher .payment-switch-btn:focus-visible,
  #fundPlFinancialModal .payment-switcher .payment-switch-btn.active,
  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .pay-link-btn:focus-visible,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:focus-visible,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:focus-visible,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn:focus-visible,
  #serviceModal .service-modal-footer .submit-btn:hover,
  #serviceModal .service-modal-footer .submit-btn:focus-visible,
  #contractModal .contract-modal-footer .submit-btn:hover,
  #contractModal .contract-modal-footer .submit-btn:focus-visible,
  #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn:hover,
  #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn:focus-visible,
  #officeMapModal .social-legal-modal-footer .social-legal-submit-btn:hover,
  #officeMapModal .social-legal-modal-footer .social-legal-submit-btn:focus-visible,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn:hover,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn:focus-visible {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
    transform: translateY(-2px) !important;
  }

  .hero-card .hero-card-btn,
  .hero-service-card .hero-service-card-btn {
    align-self: flex-start !important;
  }

  .fund-action-row,
  .character-choice-section .history-action-row,
  #benefitModal .benefit-modal-action,
  #calcModal .calc-tabs,
  #calcModal .calc-modal-footer-sticky,
  #fundPlHelpChoiceModal .help-choice-grid,
  #fundPlFinancialModal .payment-switcher,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5mm !important;
  }

  @media (max-width: 768px) {
    .site-header .header-actions .home-link.top-news-btn,
    .hero-card .hero-card-btn,
    .hero-service-card .hero-service-card-btn,
    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn,
    #benefitModal .benefit-modal-action .contract-btn,
    #calcModal .calc-tabs .calc-tab-btn,
    #calcModal .money-reset-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .payment-switcher .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn,
    #serviceModal .service-modal-footer .submit-btn,
    #contractModal .contract-modal-footer .submit-btn,
    #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
    #officeMapModal .social-legal-modal-footer .social-legal-submit-btn,
    #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn {
      inline-size: var(--index-news-btn-width) !important;
      width: var(--index-news-btn-width) !important;
      min-width: var(--index-news-btn-width) !important;
      max-width: min(var(--index-news-btn-width), 100%) !important;
      block-size: var(--index-news-btn-height) !important;
      height: var(--index-news-btn-height) !important;
      min-height: var(--index-news-btn-height) !important;
      max-height: var(--index-news-btn-height) !important;
      flex: 0 0 var(--index-news-btn-width) !important;
      padding: 0 0.28cm !important;
      font-size: 14px !important;
    }
  }

/* ФИНАЛЬНАЯ ПРАВКА:
     1) города в футере "ОФИСЫ ФОНДА" — обычным списком, без высоты кнопки 1.3см;
     2) все остальные обычные кнопки — высота 1.3см;
     3) кнопки внутри карточек не трогаем. */
  :root {
    --fixed-button-height: 1.3cm;
  }

  /* Обычные кнопки сайта: высота строго 1.3см. */
  button:not(.burger):not(.close-btn):not(.close-side-menu):not(.social-legal-modal-close):not(.help-popup-close):not(.hero-card-btn):not(.hero-service-card-btn):not(.info-card-action):not(.social-legal-point):not(.office-city-btn):not(.index-modal-select-trigger):not(.index-modal-select-option):not(.oai-all-modal-select-trigger):not(.oai-all-modal-select-option):not(.modal-back-btn),
  input[type="submit"],
  input[type="button"],
  .top-btn,
  .home-link,
  .side-nav a,
  .side-nav button,
  .hero-btn,
  .contract-btn,
  .submit-btn,
  .social-legal-submit-btn,
  .calc-tab-btn,
  .money-reset-btn,
  .fund-choice-link,
  .history-action-btn,
  .video-switch-btn,
  .office-feedback-btn,
  .modal-feedback-btn,
  .payment-action-btn,
  .payment-choice-btn,
  .donation-btn,
  .cta-btn,
  .download-btn,
  .doc-btn,
  .back-link,
  .top-link,
  .top-home-btn,
  #benefitModalLink,
  #officeFeedbackBtn,
  #serviceModal .service-modal-footer .submit-btn,
  #contractModal .contract-modal-footer .submit-btn,
  #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
    height: var(--fixed-button-height) !important;
    min-height: var(--fixed-button-height) !important;
    max-height: var(--fixed-button-height) !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.1 !important;
  }

  /* Карточки и текстовые кнопки внутри карточек — не превращать в большие кнопки. */
  .hero-card,
  button.hero-card,
  .hero-service-card,
  button.hero-service-card,
  #openMilitaryCalcCard,
  #openIndividualSupportCard {
    height: auto !important;
    max-height: none !important;
    block-size: auto !important;
    min-height: 212px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 20px !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .hero-service-card,
  button.hero-service-card,
  #openMilitaryCalcCard,
  #openIndividualSupportCard {
    padding: 22px 20px !important;
  }

  .hero-card .hero-card-btn,
  .hero-service-card .hero-service-card-btn,
  .hero-service-card-btn.hero-card-btn,
  #openMilitaryCalcCard .hero-service-card-btn,
  #openIndividualSupportCard .hero-service-card-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    inline-size: auto !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    cursor: pointer !important;
  }

  /* Футер "ОФИСЫ ФОНДА": это НЕ большие кнопки, а обычные кликабельные строки в одном столбике. */
  .site-footer .footer-col--offices ul,
  .footer-col--offices ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .site-footer .footer-col--offices li,
  .footer-col--offices li {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
  }

  .site-footer .footer-col--offices button.office-city-btn,
  .footer-col--offices button.office-city-btn,
  button.office-city-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    inline-size: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #d3d9e4 !important;
    font: inherit !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    transform: none !important;
    filter: none !important;
    text-decoration: none !important;
  }

  .site-footer .footer-col--offices button.office-city-btn:hover,
  .site-footer .footer-col--offices button.office-city-btn:focus-visible,
  .footer-col--offices button.office-city-btn:hover,
  .footer-col--offices button.office-city-btn:focus-visible,
  button.office-city-btn:hover,
  button.office-city-btn:focus-visible {
    color: #ffffff !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
    text-decoration: none !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    .hero-card,
    button.hero-card,
    .hero-service-card,
    button.hero-service-card,
    #openMilitaryCalcCard,
    #openIndividualSupportCard {
      min-height: auto !important;
      width: 100% !important;
      padding-bottom: 18px !important;
    }
  }

:root{--oai-action-width:6.4cm;--oai-action-height:1.3cm;--oai-action-radius:14px;}

  .site-header .home-link,.site-header .top-btn,.side-nav a,.side-nav button,.hero-btn,.fund-action-row .contract-btn,.contract-btn:not(.hero-card-btn):not(.hero-service-card-btn),.submit-btn,.social-legal-submit-btn,.calc-tab-btn,.money-reset-btn,.fund-choice-link,.history-action-btn,.video-switch-btn,.payment-switch-btn,.pay-link-btn,.payment-action-btn,.payment-choice-btn,.office-feedback-btn,.modal-feedback-btn,.donation-btn,.cta-btn,.download-btn,.doc-btn,.back-link,.top-link,.top-home-btn,#benefitModalLink,#officeFeedbackBtn,#serviceModal .service-modal-footer .submit-btn,#contractModal .contract-modal-footer .submit-btn,#socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,#officeMapModal .social-legal-modal-footer .social-legal-submit-btn,#officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn,#fundPlFinancialModal .fund-contract-like-footer .submit-btn,#fundPlMaterialModal .fund-contract-like-footer .submit-btn,#fundLifeDonateModal .fund-contract-like-footer .submit-btn{
    width:var(--oai-action-width)!important;min-width:var(--oai-action-width)!important;max-width:var(--oai-action-width)!important;height:var(--oai-action-height)!important;min-height:var(--oai-action-height)!important;max-height:var(--oai-action-height)!important;inline-size:var(--oai-action-width)!important;block-size:var(--oai-action-height)!important;flex:0 0 var(--oai-action-width)!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.12!important;white-space:normal!important;
  }

  .hero-card,button.hero-card,.hero-service-card,button.hero-service-card,#openMilitaryCalcCard,#openIndividualSupportCard{
    width:100%!important;max-width:none!important;height:auto!important;min-height:212px!important;max-height:none!important;inline-size:auto!important;block-size:auto!important;flex:initial!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;overflow:visible!important;white-space:normal!important;
  }
  .hero-card,button.hero-card{padding:20px!important;}
  .hero-service-card,button.hero-service-card,#openMilitaryCalcCard,#openIndividualSupportCard{padding:22px 20px!important;}

  .hero-card .hero-card-btn,.hero-service-card .hero-service-card-btn,.hero-service-card-btn.hero-card-btn,#openMilitaryCalcCard .hero-service-card-btn,#openIndividualSupportCard .hero-service-card-btn{
    width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;inline-size:auto!important;block-size:auto!important;flex:0 0 auto!important;padding:0!important;margin:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;align-self:flex-start!important;text-align:left!important;font-size:13px!important;font-weight:800!important;line-height:1.2!important;text-transform:none!important;text-decoration:none!important;white-space:normal!important;cursor:pointer!important;
  }

  .site-footer .footer-col--offices,.footer-col--offices{align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;padding:0!important;}
  @media (min-width:981px){.site-footer .footer-col--offices,.footer-col--offices{grid-column:1!important;position:static!important;left:auto!important;margin:0!important;}}
  .site-footer .footer-col--offices h3,.footer-col--offices h3{text-align:left!important;margin:0 0 18px 0!important;padding:0!important;}
  .site-footer .footer-col--offices ul,.footer-col--offices ul{display:block!important;list-style:none!important;margin:0!important;padding:0!important;gap:0!important;}
  .site-footer .footer-col--offices li,.footer-col--offices li{display:block!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 10px 0!important;padding:0!important;line-height:1.35!important;}
  .site-footer .footer-col--offices li:last-child,.footer-col--offices li:last-child{margin-bottom:0!important;}
  .site-footer .footer-col--offices button.office-city-btn,.footer-col--offices button.office-city-btn,button.office-city-btn{
    appearance:none!important;-webkit-appearance:none!important;display:inline-block!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;inline-size:auto!important;block-size:auto!important;flex:0 0 auto!important;padding:0!important;margin:0!important;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#d3d9e4!important;font:inherit!important;font-weight:700!important;line-height:1.35!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer!important;transform:none!important;filter:none!important;text-decoration:none!important;
  }
  .site-footer .footer-col--offices button.office-city-btn:hover,.site-footer .footer-col--offices button.office-city-btn:focus-visible,.footer-col--offices button.office-city-btn:hover,.footer-col--offices button.office-city-btn:focus-visible,button.office-city-btn:hover,button.office-city-btn:focus-visible{color:#fff!important;background:transparent!important;box-shadow:none!important;transform:none!important;filter:none!important;text-decoration:none!important;outline:none!important;}
  @media (max-width:768px){.hero-card,button.hero-card,.hero-service-card,button.hero-service-card,#openMilitaryCalcCard,#openIndividualSupportCard{min-height:auto!important;width:100%!important;padding-bottom:18px!important;}.site-header .home-link,.site-header .top-btn,.side-nav a,.side-nav button,.hero-btn,.fund-action-row .contract-btn,.contract-btn:not(.hero-card-btn):not(.hero-service-card-btn),.submit-btn,.social-legal-submit-btn,.calc-tab-btn,.money-reset-btn,.fund-choice-link,.history-action-btn,.video-switch-btn,.payment-switch-btn,.pay-link-btn,.payment-action-btn,.payment-choice-btn,.office-feedback-btn,.modal-feedback-btn,.donation-btn,.cta-btn,.download-btn,.doc-btn,.back-link,.top-link,.top-home-btn,#benefitModalLink,#officeFeedbackBtn{max-width:min(var(--oai-action-width),100%)!important;flex:0 1 min(var(--oai-action-width),100%)!important;}}

/* Перечисленные модальные окна: такой же минимальный нижний отступ
     от края модалки до нижней кнопки, как в модалке калькулятора. */
  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    padding-top: 8px !important;
    padding-right: 22px !important;
    padding-bottom: 4px !important;
    padding-left: 22px !important;
    margin-top: 0 !important;
    align-items: center !important;
  }

  #benefitModal .benefit-modal-action > *,
  #serviceModal .service-modal-footer > *,
  #contractModal .contract-modal-footer > *,
  #fundPlFinancialModal .contract-modal-footer > *,
  #fundPlFinancialModal .fund-contract-like-footer > *,
  #fundPlMaterialModal .contract-modal-footer > *,
  #fundPlMaterialModal .fund-contract-like-footer > *,
  #fundLifeDonateModal .contract-modal-footer > *,
  #fundLifeDonateModal .fund-contract-like-footer > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #fundPlFinancialModal .contract-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .contract-modal-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .contract-modal-footer,
    #fundLifeDonateModal .fund-contract-like-footer,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      padding-top: 8px !important;
      padding-right: 14px !important;
      padding-bottom: 4px !important;
      padding-left: 14px !important;
    }
  }

/* Верхний отступ от края модального окна до заголовка как в модалке
     «ПРИВИЛЕГИИ В СФЕРЕ ОБРАЗОВАНИЯ». */
  #fundPlHelpChoiceModal .help-choice-modal-content {
    padding-top: 12px !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
    margin-top: 0 !important;
    line-height: 1.12 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header,
  #fundLifeDonateModal .fund-contract-like-header {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundLifeDonateModal .fund-contract-like-header h2 {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    line-height: 1.12 !important;
  }

/* Низ перечисленных модалок: от верхней границы нижней части до кнопки = 5px,
     и от низа кнопки до нижнего края модалки = 5px. */
  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden,
  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-footer-sticky {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  #calcModal .calc-modal-footer-sticky > *,
  #benefitModal .benefit-modal-action > *,
  #serviceModal .service-modal-footer > *,
  #contractModal .contract-modal-footer > *,
  #socialLegalModal .social-legal-modal-footer > *,
  #fundPlFinancialModal .contract-modal-footer > *,
  #fundPlFinancialModal .fund-contract-like-footer > *,
  #fundPlMaterialModal .contract-modal-footer > *,
  #fundPlMaterialModal .fund-contract-like-footer > *,
  #fundLifeDonateModal .contract-modal-footer > *,
  #fundLifeDonateModal .fund-contract-like-footer > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Крестик закрытия: одинаковая позиция и размер, без прыжков/сдвигов при открытии модалки. */
  .modal .close-btn,
  .social-legal-modal .social-legal-modal-close,
  #calcModal .calc-modal-header-sticky #closeCalcBtn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-main, #111111) !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 0.2s ease !important;
    animation: none !important;
    filter: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
  }

  .modal .close-btn:hover,
  .modal .close-btn:focus-visible,
  .social-legal-modal .social-legal-modal-close:hover,
  .social-legal-modal .social-legal-modal-close:focus-visible,
  #calcModal .calc-modal-header-sticky #closeCalcBtn:hover,
  #calcModal .calc-modal-header-sticky #closeCalcBtn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
  }

  @media (max-width: 768px) {
    #calcModal .calc-modal-footer-sticky,
    #calcModal .calc-modal-footer-sticky.is-hidden,
    #benefitModal .benefit-modal-action,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .contract-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .contract-modal-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .contract-modal-footer,
    #fundLifeDonateModal .fund-contract-like-footer,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      padding-top: 5px !important;
      padding-right: 14px !important;
      padding-bottom: 5px !important;
      padding-left: 14px !important;
    }

    .modal .close-btn,
    .social-legal-modal .social-legal-modal-close,
    #calcModal .calc-modal-header-sticky #closeCalcBtn {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      min-width: 40px !important;
      min-height: 40px !important;
      max-width: 40px !important;
      max-height: 40px !important;
    }
  }

/* ===== ФИНАЛЬНЫЙ ЖЁСТКИЙ ФИКС: 5px вокруг нижних кнопок во ВСЕХ модалках ===== */
:root {
  --modal-footer-btn-gap: 5px;
}

/* Все нижние панели модалок: сверху до кнопки 5px и от кнопки до низа 5px. */
.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  padding-top: var(--modal-footer-btn-gap) !important;
  padding-bottom: var(--modal-footer-btn-gap) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;
}

/* Боковые отступы оставлены как в модалках, меняется только верх/низ. */
.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

/* Одиночные нижние кнопки строго по центру панели без лишних внутренних отступов. */
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* В модалках льгот две кнопки остаются сеткой, но с теми же 5px сверху/снизу. */
.modal .benefit-modal-action {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* Убираем любые внешние отступы у самих кнопок, чтобы 5px считались именно от панели до кнопки. */
.modal .benefit-modal-action > .contract-btn,
.modal .service-modal-footer > .submit-btn,
.modal .contract-modal-footer > .submit-btn,
.modal .modal-form-footer > .submit-btn,
.modal .fund-contract-like-footer > .submit-btn,
.modal .fund-donate-footer > .submit-btn,
.social-legal-modal .social-legal-modal-footer > .social-legal-submit-btn,
#calcModal .calc-modal-footer-sticky > .money-reset-btn,
#calcModal .calc-modal-footer-sticky > button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center !important;
  box-sizing: border-box !important;
}

/* Пустые служебные note в футерах создавали лишнюю высоту под кнопкой — скрываем только пустые. */
.modal .contract-modal-footer > .note:empty,
.modal .modal-form-footer > .note:empty,
.modal .fund-contract-like-footer > .note:empty,
.modal .fund-donate-footer > .note:empty {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Если note заполнится после отправки формы — он не ломает отступы кнопки. */
.modal .contract-modal-footer > .note:not(:empty),
.modal .modal-form-footer > .note:not(:empty),
.modal .fund-contract-like-footer > .note:not(:empty),
.modal .fund-donate-footer > .note:not(:empty) {
  flex: 0 0 100% !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

/* У финансовой помощи внутренняя кнопка оплаты не должна давать лишний отступ, если она видна внутри панели. */
#fundPlFinancialModal .pay-actions {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#fundPlFinancialModal .pay-actions > .pay-link-btn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Крестик: фиксированная позиция, одинаковый размер, без прыжков и hover-сдвигов. */
.modal .close-btn,
.modal .sheet-close-btn,
.social-legal-modal .social-legal-modal-close,
#calcModal #closeCalcBtn,
#contractModal #closeContractModal,
#serviceModal #closeServiceBtn,
#benefitModal #closeBenefitBtn,
#fundModal #closeFundBtn {
  position: absolute !important;
  top: 5px !important;
  right: 12px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: var(--text-main, #111111) !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  transition: color 0.2s ease !important;
  z-index: 50 !important;
  box-sizing: border-box !important;
}

.modal .close-btn:hover,
.modal .close-btn:focus-visible,
.modal .sheet-close-btn:hover,
.modal .sheet-close-btn:focus-visible,
.social-legal-modal .social-legal-modal-close:hover,
.social-legal-modal .social-legal-modal-close:focus-visible,
#calcModal #closeCalcBtn:hover,
#calcModal #closeCalcBtn:focus-visible,
#contractModal #closeContractModal:hover,
#contractModal #closeContractModal:focus-visible,
#serviceModal #closeServiceBtn:hover,
#serviceModal #closeServiceBtn:focus-visible,
#benefitModal #closeBenefitBtn:hover,
#benefitModal #closeBenefitBtn:focus-visible,
#fundModal #closeFundBtn:hover,
#fundModal #closeFundBtn:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  color: var(--blue-dark, #4f8df0) !important;
}

@media (max-width: 768px) {
  .modal .benefit-modal-action,
  .modal .service-modal-footer,
  .modal .contract-modal-footer,
  .modal .modal-form-footer,
  .modal .fund-contract-like-footer,
  .modal .fund-donate-footer,
  .social-legal-modal .social-legal-modal-footer,
  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden {
    padding-top: var(--modal-footer-btn-gap) !important;
    padding-right: 14px !important;
    padding-bottom: var(--modal-footer-btn-gap) !important;
    padding-left: 14px !important;
  }

  .modal .close-btn,
  .modal .sheet-close-btn,
  .social-legal-modal .social-legal-modal-close,
  #calcModal #closeCalcBtn,
  #contractModal #closeContractModal,
  #serviceModal #closeServiceBtn,
  #benefitModal #closeBenefitBtn,
  #fundModal #closeFundBtn {
    top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
  }
}

/* ===== ДОФИКС 25.04: убираем лишнюю пустоту между листом модалки и нижней кнопкой =====
   Теперь внизу модалки считается так:
   лист/контент -> 5px -> кнопка -> 5px -> низ модалки.
*/
.modal .benefit-modal-body,
.modal .service-modal-body,
.modal .contract-modal-body,
.modal .modal-form-body,
.modal .fund-contract-like-body,
.modal .fund-donate-body,
.social-legal-modal .social-legal-modal-body,
#calcModal .calc-modal-body-sticky,
#serviceModal .service-policy-body {
  padding-bottom: 0 !important;
}

.modal .benefit-modal-body > :last-child,
.modal .service-modal-body > :last-child,
.modal .contract-modal-body > :last-child,
.modal .modal-form-body > :last-child,
.modal .fund-contract-like-body > :last-child,
.modal .fund-donate-body > :last-child,
.social-legal-modal .social-legal-modal-body > :last-child,
#calcModal .calc-modal-body-sticky > :last-child,
#serviceModal .service-policy-body > :last-child {
  margin-bottom: 0 !important;
}

/* Конкретно карточки реквизитов/инструкций/контактов не должны оставлять 14px снизу перед кнопкой. */
.modal .modal-form-body > .requisites-box:last-child,
.modal .modal-form-body > .requisite-info:last-child,
.modal .modal-form-body > .okved-info:last-child,
.modal .modal-form-body > .contact-info:last-child,
.modal .fund-donate-body > .requisites-box:last-child,
.modal .fund-donate-body > .requisite-info:last-child,
.modal .fund-donate-body > .okved-info:last-child,
.modal .fund-donate-body > .contact-info:last-child,
.modal .fund-contract-like-body > .requisites-box:last-child,
.modal .fund-contract-like-body > .requisite-info:last-child,
.modal .fund-contract-like-body > .okved-info:last-child,
.modal .fund-contract-like-body > .contact-info:last-child,
#fundLifeDonateModal .payment-legal-card,
#fundPlDonateModal .payment-legal-card,
#fundPlFinancialModal .payment-legal-card {
  margin-bottom: 0 !important;
}

/* Финальная фиксация самой нижней панели: строго 5px от листа до кнопки и 5px от кнопки до низа. */
.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  min-height: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;
}

.modal .benefit-modal-action > *,
.modal .service-modal-footer > *,
.modal .contract-modal-footer > *,
.modal .modal-form-footer > *,
.modal .fund-contract-like-footer > *,
.modal .fund-donate-footer > *,
.social-legal-modal .social-legal-modal-footer > *,
#calcModal .calc-modal-footer-sticky > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/*
    В перечисленных модалках делаем одинаковое расстояние:
    верх нижней панели -> кнопка = 12px,
    низ кнопки -> низ модального окна = 12px.
    12px соответствует текущему верхнему отступу от края модалки до заголовка.
  */
  :root {
    --modal-footer-btn-gap: 12px;
  }

  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer,
  .modal .benefit-modal-action,
  .modal .service-modal-footer,
  .modal .contract-modal-footer,
  .modal .modal-form-footer,
  .modal .fund-contract-like-footer,
  .modal .fund-donate-footer,
  .social-legal-modal .social-legal-modal-footer,
  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer,
  .modal .benefit-modal-action,
  .modal .service-modal-footer,
  .modal .contract-modal-footer,
  .modal .modal-form-footer,
  .modal .fund-contract-like-footer,
  .modal .fund-donate-footer,
  .social-legal-modal .social-legal-modal-footer,
  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  #benefitModal .benefit-modal-action > *,
  #serviceModal .service-modal-footer > *,
  #contractModal .contract-modal-footer > *,
  #socialLegalModal .social-legal-modal-footer > *,
  #fundPlFinancialModal .contract-modal-footer > *,
  #fundPlFinancialModal .fund-contract-like-footer > *,
  #fundPlMaterialModal .contract-modal-footer > *,
  #fundPlMaterialModal .fund-contract-like-footer > *,
  #fundLifeDonateModal .contract-modal-footer > *,
  #fundLifeDonateModal .fund-contract-like-footer > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > *,
  .modal .benefit-modal-action > *,
  .modal .service-modal-footer > *,
  .modal .contract-modal-footer > *,
  .modal .modal-form-footer > *,
  .modal .fund-contract-like-footer > *,
  .modal .fund-donate-footer > *,
  .social-legal-modal .social-legal-modal-footer > *,
  #calcModal .calc-modal-footer-sticky > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Кнопка внутри панели оплаты по QR тоже получает симметричный зазор 12px. */
  #fundPlFinancialModal .pay-actions {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .contract-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .contract-modal-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .contract-modal-footer,
    #fundLifeDonateModal .fund-contract-like-footer,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer,
    .modal .benefit-modal-action,
    .modal .service-modal-footer,
    .modal .contract-modal-footer,
    .modal .modal-form-footer,
    .modal .fund-contract-like-footer,
    .modal .fund-donate-footer,
    .social-legal-modal .social-legal-modal-footer,
    #calcModal .calc-modal-footer-sticky,
    #calcModal .calc-modal-footer-sticky.is-hidden {
      padding-top: 12px !important;
      padding-right: 14px !important;
      padding-bottom: 12px !important;
      padding-left: 14px !important;
    }
  }

/*
    Точечная правка только для трёх модалок:
    - ГУМАНИТАРНАЯ ПОМОЩЬ
    - ФИНАНСОВАЯ ПОМОЩЬ
    - ВЫБОР ДОЛЖНОСТИ

    Берём геометрию от эталона #calcModal, но НЕ переносим кнопки оплаты
    и НЕ перестраиваем HTML через JavaScript — чтобы не ломать содержимое.
  */

  @media (min-width: 769px) {
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      margin: var(--modal-gap-from-header, 8mm) auto var(--modal-gap-bottom, 8mm) !important;
      padding: 0 !important;
      border-radius: 24px !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      background: #ffffff !important;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    }
  }

  #fundPlMaterialModal .fund-contract-like-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #contractModal .contract-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 22px 64px 16px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-header h2,
  #fundPlFinancialModal .fund-contract-like-header h2,
  #contractModal .contract-modal-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    color: var(--text-main, #111111) !important;
  }

  /* В финансовой модалке кнопки оплаты оставляем на прежнем месте под заголовком,
     но выравниваем их аккуратно, без изменения структуры. */
  #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, 280px) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 16px auto 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .sheet-close-btn,
  #fundPlFinancialModal .sheet-close-btn,
  #contractModal #closeContractModal {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundPlMaterialModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:hover,
  #contractModal #closeContractModal:hover,
  #fundPlMaterialModal .sheet-close-btn:focus-visible,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #contractModal #closeContractModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
    transform: none !important;
  }

  #fundPlMaterialModal .fund-contract-like-form,
  #fundPlFinancialModal .fund-contract-like-form,
  #contractModal .contract-modal-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  #fundPlMaterialModal .fund-contract-like-body,
  #fundPlFinancialModal .fund-contract-like-body,
  #contractModal .contract-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #contractModal .contract-modal-footer {
    flex: 0 0 auto !important;
    padding: 5px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #contractModal .contract-modal-footer .submit-btn {
    margin: 0 !important;
  }

  @media (max-width: 768px) {
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: calc(100vw - 16px) !important;
      max-width: calc(100vw - 16px) !important;
      height: calc(100vh - 16px) !important;
      max-height: calc(100vh - 16px) !important;
      margin: 8px auto !important;
      border-radius: 22px !important;
      padding: 0 !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
    }

    #fundPlMaterialModal .fund-contract-like-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #contractModal .contract-modal-header {
      padding: 20px 52px 16px 16px !important;
    }

    #fundPlMaterialModal .fund-contract-like-header h2,
    #fundPlFinancialModal .fund-contract-like-header h2,
    #contractModal .contract-modal-title {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlMaterialModal .sheet-close-btn,
    #fundPlFinancialModal .sheet-close-btn,
    #contractModal #closeContractModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      font-size: 32px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
      grid-template-columns: 1fr 1fr !important;
      gap: 10px !important;
      max-width: none !important;
      margin-top: 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: 52px !important;
      padding: 0 8px !important;
      font-size: 13px !important;
    }

    #fundPlMaterialModal .fund-contract-like-body,
    #fundPlFinancialModal .fund-contract-like-body,
    #contractModal .contract-modal-body {
      padding: 16px !important;
    }

    #fundPlMaterialModal .fund-contract-like-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #contractModal .contract-modal-footer {
      padding: 5px 16px !important;
      gap: 10px !important;
    }
  }

/*
    Эталон: #calcModal «РЕГИОНАЛЬНЫЕ ВЫПЛАТЫ И ДЕНЕЖНОЕ ДОВОЛЬСТВИЕ».
    Эти правила идут последними и переопределяют более ранние частичные патчи.
  */

  #fundLifeDonateModal,
  #fundPlFinancialModal,
  #fundPlMaterialModal,
  #contractModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
  }

  #fundLifeDonateModal .fund-contract-like-modal,
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal,
  #contractModal .contract-modal-content {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #contractModal .contract-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-header h2,
  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #contractModal .contract-modal-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    color: var(--text-main, #111111) !important;
  }

  #fundLifeDonateModal .sheet-close-btn,
  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn,
  #contractModal #closeContractModal {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundLifeDonateModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:hover,
  #fundPlMaterialModal .sheet-close-btn:hover,
  #contractModal #closeContractModal:hover,
  #fundLifeDonateModal .sheet-close-btn:focus-visible,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #fundPlMaterialModal .sheet-close-btn:focus-visible,
  #contractModal #closeContractModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
    transform: none !important;
  }

  #fundLifeDonateModal .fund-contract-like-form,
  #fundPlFinancialModal .fund-contract-like-form,
  #fundPlMaterialModal .fund-contract-like-form,
  #contractModal .contract-modal-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  #fundLifeDonateModal .fund-contract-like-body,
  #fundLifeDonateModal .fund-donate-body,
  #fundPlFinancialModal .fund-contract-like-body,
  #fundPlMaterialModal .fund-contract-like-body,
  #contractModal .contract-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-footer,
  #fundLifeDonateModal .fund-donate-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #contractModal .contract-modal-footer {
    flex: 0 0 auto !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-footer > *,
  #fundLifeDonateModal .fund-donate-footer > *,
  #fundPlFinancialModal .fund-contract-like-footer > *,
  #fundPlMaterialModal .fund-contract-like-footer > *,
  #contractModal .contract-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 280px)) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 16px auto 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
    width: 280px !important;
    min-width: 0 !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundLifeDonateModal,
    #fundPlFinancialModal,
    #fundPlMaterialModal,
    #contractModal {
      padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #fundLifeDonateModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      margin: 0 auto !important;
      border-radius: 22px !important;
    }

    #fundLifeDonateModal .fund-contract-like-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #contractModal .contract-modal-header {
      padding: 20px 52px 16px 16px !important;
    }

    #fundLifeDonateModal .fund-contract-like-header h2,
    #fundPlFinancialModal .fund-contract-like-header h2,
    #fundPlMaterialModal .fund-contract-like-header h2,
    #contractModal .contract-modal-title {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundLifeDonateModal .sheet-close-btn,
    #fundPlFinancialModal .sheet-close-btn,
    #fundPlMaterialModal .sheet-close-btn,
    #contractModal #closeContractModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      font-size: 32px !important;
    }

    #fundLifeDonateModal .fund-contract-like-body,
    #fundLifeDonateModal .fund-donate-body,
    #fundPlFinancialModal .fund-contract-like-body,
    #fundPlMaterialModal .fund-contract-like-body,
    #contractModal .contract-modal-body {
      padding: 16px 16px 0 !important;
    }

    #fundLifeDonateModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-donate-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #contractModal .contract-modal-footer {
      padding: 12px 16px !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px !important;
      max-width: none !important;
      margin-top: 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
      width: 100% !important;
      max-width: none !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: 52px !important;
      padding: 0 8px !important;
      font-size: 13px !important;
    }
  }

  @media (max-width: 480px) {
    #fundLifeDonateModal,
    #fundPlFinancialModal,
    #fundPlMaterialModal,
    #contractModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #fundLifeDonateModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

/* Финальная правка поверх v5: шапка, заголовок и крестик совпадают с #calcModal. */

  #fundLifeDonateModal .fund-contract-like-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #contractModal .contract-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-header > h2,
  #fundPlFinancialModal .fund-contract-like-header > h2,
  #fundPlMaterialModal .fund-contract-like-header > h2,
  #contractModal .contract-modal-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #fundLifeDonateModal .sheet-close-btn,
  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn,
  #contractModal #closeContractModal {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-main, #111111) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 0.2s ease !important;
    animation: none !important;
    filter: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundLifeDonateModal .sheet-close-btn:hover,
  #fundLifeDonateModal .sheet-close-btn:focus-visible,
  #fundPlFinancialModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #fundPlMaterialModal .sheet-close-btn:hover,
  #fundPlMaterialModal .sheet-close-btn:focus-visible,
  #contractModal #closeContractModal:hover,
  #contractModal #closeContractModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    #fundLifeDonateModal .fund-contract-like-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #contractModal .contract-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #fundLifeDonateModal .fund-contract-like-header > h2,
    #fundPlFinancialModal .fund-contract-like-header > h2,
    #fundPlMaterialModal .fund-contract-like-header > h2,
    #contractModal .contract-modal-title {
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }

    #fundLifeDonateModal .sheet-close-btn,
    #fundPlFinancialModal .sheet-close-btn,
    #fundPlMaterialModal .sheet-close-btn,
    #contractModal #closeContractModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }
  }

/* Эталон размеров: #benefitModal.benefit-modal-housing для окна «ТРУДОВЫЕ ГАРАНТИИ». */
  #fundPlHelpChoiceModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 12px 54px 8px 22px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    text-align: center !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    color: var(--text-main, #111111) !important;
    box-sizing: border-box !important;
    z-index: 2 !important;
  }

  #fundPlHelpChoiceModal .close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 30 !important;
  }

  #fundPlHelpChoiceModal .close-btn:hover,
  #fundPlHelpChoiceModal .close-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #fundPlHelpChoiceModal .help-choice-note,
  #fundPlHelpChoiceModal .help-choice-grid {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    flex: 0 0 auto !important;
    margin-top: 22px !important;
    margin-bottom: 20px !important;
    padding: 0 22px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid {
    flex: 0 0 auto !important;
    padding: 0 22px 22px !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
      padding: 12px 54px 8px 22px !important;
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlHelpChoiceModal .close-btn {
      top: 5px !important;
      right: 8px !important;
    }
  }

  @media (max-width: 480px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

.modal-back-btn {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    z-index: 60 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .modal-back-btn:hover,
  .modal-back-btn:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
  }

  .modal-back-btn[hidden] {
    display: none !important;
  }

  /* Точечный режим: заявка по недвижимости без стрелки назад и без выбора услуги. */
  #serviceModal.service-modal-real-estate-request .modal-back-btn {
    display: none !important;
  }

  #serviceModal.service-modal-real-estate-request .service-modal-header {
    padding-left: 22px !important;
  }

  #serviceModal .service-modal-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #officeFeedbackModal .social-legal-modal-header {
    padding: 12px 54px 8px 56px !important;
  }

  #officeFeedbackModal .social-legal-modal-header h2,
  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #serviceModal .service-modal-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  @media (max-width: 768px) {
    .modal-back-btn {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }

    #serviceModal .service-modal-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 48px !important;
    }

    #serviceModal.service-modal-real-estate-request .service-modal-header {
      padding-left: 16px !important;
    }
  }

/*
    В прошлой версии менялся только gap, но более ранние стили оставляли
    grid-template-columns: repeat(2, 280px). Из-за лишней ширины колонок
    визуальный зазор между самими кнопками почти не менялся.
    Здесь повторяем схему кнопок окна «ВЫБЕРИТЕ ВИД ПОМОЩИ»: flex + gap 5mm.
  */
  #fundPlFinancialModal .fund-contract-like-header .payment-switcher,
  #fundPlFinancialModal .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
    grid-template-columns: none !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin: 16px auto 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switcher > .payment-switch-btn,
  #fundPlFinancialModal .payment-switcher > .payment-switch-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    margin: 0 !important;
    justify-self: center !important;
    align-self: center !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .fund-contract-like-header .payment-switcher,
    #fundPlFinancialModal .payment-switcher {
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      width: min(100%, 560px) !important;
      max-width: 560px !important;
      padding: 0 22px !important;
      gap: 5mm !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switcher > .payment-switch-btn,
    #fundPlFinancialModal .payment-switcher > .payment-switch-btn {
      width: min(var(--oai-btn-len, 6.4cm), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 0 0 var(--oai-btn-h, 1.3cm) !important;
    }
  }

#fundPlHelpChoiceModal .help-choice-modal-content {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
    flex: 0 0 auto !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 22px 22px 18px !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    align-self: center !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 5px 22px 5px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid > button {
    margin: 0 !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-note {
      padding: 18px 16px 16px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #fundPlHelpChoiceModal .help-choice-grid {
      padding: 16px !important;
    }
  }

#fundPlHelpChoiceModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #fundPlHelpChoiceModal .close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundPlHelpChoiceModal .close-btn:hover,
  #fundPlHelpChoiceModal .close-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    flex: 0 1 auto !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin: 8px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
    color: var(--text-soft, #52606d) !important;
    line-height: 1.6 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
    flex: 0 0 6.5cm !important;
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    background: #2f7085 !important;
    color: var(--text-main, #111111) !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,0.08)) !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:focus-visible {
    background: #92cbdb !important;
    color: var(--text-main, #111111) !important;
    transform: translateY(-2px) !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #fundPlHelpChoiceModal .help-choice-title {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlHelpChoiceModal .close-btn {
      top: 5px !important;
      right: 8px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-body {
      padding: 14px 16px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-action,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 16px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-modal-action > button,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }
  }

  @media (max-width: 480px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

#fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid > button {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button:hover,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid > button:hover,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid > button:focus-visible {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
    filter: none !important;
    outline: none !important;
  }

/* ФИНАНСОВАЯ ПОМОЩЬ: перенос выбора способа оплаты в нижнюю панель модального окна
     по геометрии нижней части модалки «Региональные выплаты и денежное довольствие». */
  #fundPlFinancialModal .financial-payment-footer {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, 280px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn:hover,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn:focus-visible,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: none !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer {
      padding: 12px 14px !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      grid-template-columns: 1fr !important;
      width: 100% !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: none !important;
      font-size: 14px !important;
    }
  }

/*
    В окне «ВЫБЕРИТЕ ВИД ПОМОЩИ» нижние кнопки стоят во flex-контейнере
    с gap: 5mm и размером 6.5cm × 1.5cm. Повторяем эту же геометрию
    для кнопок выбора способа оплаты в окне «ФИНАНСОВАЯ ПОМОЩЬ».
  */
  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    flex: 0 0 6.5cm !important;
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
    }
  }

/*
    Эталон: нижняя панель #calcModal в режиме «ВЫБРАТЬ РЕГИОН».
    Кнопки в окне «ВЫБЕРИТЕ ВИД ПОМОЩИ» закреплены в той же нижней
    зоне и прижаты к левому краю панели, как вкладки калькулятора.
  */
  #fundPlHelpChoiceModal .help-choice-modal-action,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-modal-action,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-modal-action > button,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
      flex: 1 1 auto !important;
    }
  }

/*
    Эталон: #calcModal в режиме «ВЫБРАТЬ РЕГИОН» — нижняя панель
    находится внизу модального окна, а две кнопки/вкладки прижаты к левому краю.
    Здесь повторяем это расположение для выбора способа оплаты в «ФИНАНСОВАЯ ПОМОЩЬ».
  */
  #fundPlFinancialModal .financial-payment-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer {
      padding: 12px 14px !important;
      align-items: flex-start !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      width: 100% !important;
      max-width: 100% !important;
      gap: 10px !important;
      margin: 0 !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

#fundPlFinancialModal .financial-payment-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 12px 22px !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    flex: 0 1 auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    width: auto !important;
    max-width: calc(100% - var(--oai-btn-len, 6.4cm) - 5mm) !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .financial-payment-submit-actions {
    flex: 0 0 auto !important;
    display: none !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
  }

  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-submit-actions {
    display: flex !important;
  }

  #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      align-items: stretch !important;
      justify-content: stretch !important;
      gap: 10px !important;
      padding: 12px 14px !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      width: 100% !important;
      max-width: 100% !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .financial-payment-submit-actions {
      width: 100% !important;
      justify-content: stretch !important;
      margin-left: 0 !important;
    }

    #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      flex: 1 1 auto !important;
      min-height: 52px !important;
      height: auto !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

/*
    Эталон размера — кнопки в 3-м блоке «Благотворительный фонд „ПлАЦДАРМ“».
    Этот финальный блок стоит в конце файла, чтобы перебить ранние правки модалки.
  */
  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-modal-action > button,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
      width: min(var(--oai-btn-len, 6.4cm), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-btn-len, 6.4cm), 100%) !important;
      height: var(--oai-btn-h, 1.3cm) !important;
      min-height: var(--oai-btn-h, 1.3cm) !important;
      max-height: var(--oai-btn-h, 1.3cm) !important;
      block-size: var(--oai-btn-h, 1.3cm) !important;
      flex: 0 0 var(--oai-btn-h, 1.3cm) !important;
      justify-self: start !important;
    }
  }

/*
    Эталон: первая кнопка «ФИНАНСОВАЯ ПОМОЩЬ» в нижней панели окна
    «ВЫБЕРИТЕ ВИД ПОМОЩИ». Повторяем для submit-кнопки формы:
    тот же нижний footer, левый отступ, размер и поведение на мобильных.
  */
  #fundPlMaterialModal .fund-contract-like-footer {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer > .submit-btn {
    flex: 0 0 var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    width: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    min-width: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    max-width: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    inline-size: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    height: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    min-height: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    max-height: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    block-size: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer > .note:empty {
    display: none !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer > .note:not(:empty) {
    flex: 1 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  @media (max-width: 768px) {
    #fundPlMaterialModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      padding: 12px 16px !important;
    }

    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

/*
    Убираем визуальное выделение юридических фраз в целевых модальных окнах:
    - Политика конфиденциальности / политика конфиденциальности;
    - Согласие на обработку персональных данных;
    - Условия приема платежей.

    Фразы остаются кликабельными, но визуально выглядят как обычный текст:
    без синего цвета, подчеркивания, жирности, фона, рамок и подсветки при наведении/фокусе.
  */
  #serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal .service-consent-grid-text a:focus,
  #serviceModal .service-consent-grid-text a:focus-visible,
  #serviceModal .service-consent-grid-text a:active,
  #serviceModal a.service-policy-trigger,
  #serviceModal a.service-policy-trigger:hover,
  #serviceModal a.service-policy-trigger:focus,
  #serviceModal a.service-policy-trigger:focus-visible,
  #serviceModal a.service-policy-trigger:active,
  #serviceModal .service-consent-static,

  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-consent-label a:focus,
  #socialLegalModal .social-legal-consent-label a:focus-visible,
  #socialLegalModal .social-legal-consent-label a:active,
  #socialLegalModal .social-legal-note a,
  #socialLegalModal .social-legal-note a:hover,
  #socialLegalModal .social-legal-note a:focus,
  #socialLegalModal .social-legal-note a:focus-visible,
  #socialLegalModal .social-legal-note a:active,

  #fundLifeDonateModal .payment-legal-card a,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .payment-legal-card a:focus,
  #fundLifeDonateModal .payment-legal-card a:focus-visible,
  #fundLifeDonateModal .payment-legal-card a:active,
  #fundLifeDonateModal .consent-label a,
  #fundLifeDonateModal .consent-label a:hover,
  #fundLifeDonateModal .consent-label a:focus,
  #fundLifeDonateModal .consent-label a:focus-visible,
  #fundLifeDonateModal .consent-label a:active,

  #fundPlFinancialModal .payment-legal-card a,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .payment-legal-card a:focus,
  #fundPlFinancialModal .payment-legal-card a:focus-visible,
  #fundPlFinancialModal .payment-legal-card a:active,
  #fundPlFinancialModal .consent-label a,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlFinancialModal .consent-label a:focus,
  #fundPlFinancialModal .consent-label a:focus-visible,
  #fundPlFinancialModal .consent-label a:active,

  #fundPlMaterialModal .consent-label a,
  #fundPlMaterialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:focus,
  #fundPlMaterialModal .consent-label a:focus-visible,
  #fundPlMaterialModal .consent-label a:active,

  #contractModal .consent-label a,
  #contractModal .consent-label a:hover,
  #contractModal .consent-label a:focus,
  #contractModal .consent-label a:focus-visible,
  #contractModal .consent-label a:active,

  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:focus,
  #officeFeedbackModal .social-legal-consent-label a:focus-visible,
  #officeFeedbackModal .social-legal-consent-label a:active,
  #officeFeedbackModal .social-legal-note a,
  #officeFeedbackModal .social-legal-note a:hover,
  #officeFeedbackModal .social-legal-note a:focus,
  #officeFeedbackModal .social-legal-note a:focus-visible,
  #officeFeedbackModal .social-legal-note a:active {
    color: inherit !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    font-weight: 400 !important;
    outline: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    -webkit-text-decoration: none !important;
  }

  #serviceModal .service-consent-static {
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    font-weight: 400 !important;
    outline: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    -webkit-text-decoration: none !important;
  }

/*
    REDO 2026-04-28:
    Юридические фразы в целевых модальных окнах выравниваются по размеру
    с блоком согласия в модальном окне «ВЫБОР ДОЛЖНОСТИ».

    Эталон: #contractModal .consent-label / #contractModal .consent-label span / ссылки внутри него.
    Целевые окна:
    - #serviceModal: «ЗАЯВКА» и «ЗАДАТЬ ВОПРОС»;
    - #fundLifeDonateModal: «БАНКОВСКИЕ РЕКВИЗИТЫ»;
    - #fundPlFinancialModal: «ФИНАНСОВАЯ ПОМОЩЬ»;
    - #fundPlMaterialModal: «ГУМАНИТАРНАЯ ПОМОЩЬ»;
    - #socialLegalModal и #officeFeedbackModal: «Обратная связь» / юридическое обращение.
  */

  :root {
    --contract-legal-font-size: 16px;
    --contract-legal-line-height: 1.45;
  }

  #contractModal .consent-label,
  #contractModal .consent-label span,
  #contractModal .consent-label a,
  #serviceModal .service-consent-grid-text,
  #serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-static,
  #socialLegalModal .social-legal-consent-label,
  #socialLegalModal .social-legal-consent-label span,
  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-note,
  #socialLegalModal .social-legal-note a,
  #fundLifeDonateModal .payment-legal-card .legal-note,
  #fundLifeDonateModal .payment-legal-card .legal-note a,
  #fundLifeDonateModal .consent-label,
  #fundLifeDonateModal .consent-label span,
  #fundLifeDonateModal .consent-label a,
  #fundPlFinancialModal .payment-legal-card .legal-note,
  #fundPlFinancialModal .payment-legal-card .legal-note a,
  #fundPlFinancialModal .consent-label,
  #fundPlFinancialModal .consent-label span,
  #fundPlFinancialModal .consent-label a,
  #fundPlMaterialModal .consent-label,
  #fundPlMaterialModal .consent-label span,
  #fundPlMaterialModal .consent-label a,
  #officeFeedbackModal .social-legal-consent-label,
  #officeFeedbackModal .social-legal-consent-label span,
  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-note,
  #officeFeedbackModal .social-legal-note a {
    font-size: var(--contract-legal-font-size) !important;
    line-height: var(--contract-legal-line-height) !important;
  }

/*
    PATCH 2026-04-28:
    В указанных модальных окнах юридические фразы снова выделены синим цветом
    и приведены к единому читаемому размеру шрифта.

    Окна:
    - «ЗАЯВКА» / «ЗАДАТЬ ВОПРОС» (#serviceModal);
    - «БАНКОВСКИЕ РЕКВИЗИТЫ» (#fundLifeDonateModal);
    - «ФИНАНСОВАЯ ПОМОЩЬ» (#fundPlFinancialModal);
    - «ГУМАНИТАРНАЯ ПОМОЩЬ» (#fundPlMaterialModal);
    - «Обратная связь» (#socialLegalModal, #officeFeedbackModal).
  */
  :root {
    --target-modal-legal-link-blue: var(--blue-dark, #4f8df0);
    --target-modal-legal-link-blue-hover: #2f70d7;
    --target-modal-legal-link-size: var(--contract-legal-font-size, 16px);
    --target-modal-legal-link-line-height: var(--contract-legal-line-height, 1.45);
  }

  #serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-grid-text a:visited,
  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal .service-consent-grid-text a:focus,
  #serviceModal .service-consent-grid-text a:focus-visible,
  #serviceModal .service-consent-grid-text a:active,
  #serviceModal a.service-policy-trigger,
  #serviceModal a.service-policy-trigger:visited,
  #serviceModal a.service-policy-trigger:hover,
  #serviceModal a.service-policy-trigger:focus,
  #serviceModal a.service-policy-trigger:focus-visible,
  #serviceModal a.service-policy-trigger:active,
  #serviceModal .service-consent-static,

  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-consent-label a:visited,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-consent-label a:focus,
  #socialLegalModal .social-legal-consent-label a:focus-visible,
  #socialLegalModal .social-legal-consent-label a:active,
  #socialLegalModal .social-legal-note a,
  #socialLegalModal .social-legal-note a:visited,
  #socialLegalModal .social-legal-note a:hover,
  #socialLegalModal .social-legal-note a:focus,
  #socialLegalModal .social-legal-note a:focus-visible,
  #socialLegalModal .social-legal-note a:active,

  #fundLifeDonateModal .payment-legal-card a,
  #fundLifeDonateModal .payment-legal-card a:visited,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .payment-legal-card a:focus,
  #fundLifeDonateModal .payment-legal-card a:focus-visible,
  #fundLifeDonateModal .payment-legal-card a:active,
  #fundLifeDonateModal .consent-label a,
  #fundLifeDonateModal .consent-label a:visited,
  #fundLifeDonateModal .consent-label a:hover,
  #fundLifeDonateModal .consent-label a:focus,
  #fundLifeDonateModal .consent-label a:focus-visible,
  #fundLifeDonateModal .consent-label a:active,

  #fundPlFinancialModal .payment-legal-card a,
  #fundPlFinancialModal .payment-legal-card a:visited,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .payment-legal-card a:focus,
  #fundPlFinancialModal .payment-legal-card a:focus-visible,
  #fundPlFinancialModal .payment-legal-card a:active,
  #fundPlFinancialModal .consent-label a,
  #fundPlFinancialModal .consent-label a:visited,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlFinancialModal .consent-label a:focus,
  #fundPlFinancialModal .consent-label a:focus-visible,
  #fundPlFinancialModal .consent-label a:active,

  #fundPlMaterialModal .consent-label a,
  #fundPlMaterialModal .consent-label a:visited,
  #fundPlMaterialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:focus,
  #fundPlMaterialModal .consent-label a:focus-visible,
  #fundPlMaterialModal .consent-label a:active,

  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-consent-label a:visited,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:focus,
  #officeFeedbackModal .social-legal-consent-label a:focus-visible,
  #officeFeedbackModal .social-legal-consent-label a:active,
  #officeFeedbackModal .social-legal-note a,
  #officeFeedbackModal .social-legal-note a:visited,
  #officeFeedbackModal .social-legal-note a:hover,
  #officeFeedbackModal .social-legal-note a:focus,
  #officeFeedbackModal .social-legal-note a:focus-visible,
  #officeFeedbackModal .social-legal-note a:active {
    color: var(--target-modal-legal-link-blue) !important;
    font-size: var(--target-modal-legal-link-size) !important;
    line-height: var(--target-modal-legal-link-line-height) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline-offset: 3px !important;
  }

  #serviceModal .service-consent-static {
    display: inline !important;
  }

  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal a.service-policy-trigger:hover,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-note a:hover,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .consent-label a:hover,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-note a:hover {
    color: var(--target-modal-legal-link-blue-hover) !important;
  }

#serviceModal a.privacy-policy-link,
  #socialLegalModal a.privacy-policy-link,
  #fundLifeDonateModal a.privacy-policy-link,
  #fundPlMaterialModal a.privacy-policy-link,
  #fundPlFinancialModal a.privacy-policy-link,
  #contractModal a.privacy-policy-link,
  #officeFeedbackModal a.privacy-policy-link {
    cursor: pointer !important;
  }

#fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn,
  #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:hover,
  #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:focus-visible,
  #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:active {
    background: #d9dde4 !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
    transform: none !important;
    outline: none !important;
  }

#serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-grid-text a:visited,
  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal .service-consent-grid-text a:focus,
  #serviceModal .service-consent-grid-text a:focus-visible,
  #serviceModal .service-consent-grid-text a:active,
  #serviceModal a.service-policy-trigger,
  #serviceModal a.service-policy-trigger:visited,
  #serviceModal a.service-policy-trigger:hover,
  #serviceModal a.service-policy-trigger:focus,
  #serviceModal a.service-policy-trigger:focus-visible,
  #serviceModal a.service-policy-trigger:active,

  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-consent-label a:visited,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-consent-label a:focus,
  #socialLegalModal .social-legal-consent-label a:focus-visible,
  #socialLegalModal .social-legal-consent-label a:active,
  #socialLegalModal .social-legal-note a,
  #socialLegalModal .social-legal-note a:visited,
  #socialLegalModal .social-legal-note a:hover,
  #socialLegalModal .social-legal-note a:focus,
  #socialLegalModal .social-legal-note a:focus-visible,
  #socialLegalModal .social-legal-note a:active,

  #fundLifeDonateModal .payment-legal-card a,
  #fundLifeDonateModal .payment-legal-card a:visited,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .payment-legal-card a:focus,
  #fundLifeDonateModal .payment-legal-card a:focus-visible,
  #fundLifeDonateModal .payment-legal-card a:active,
  #fundLifeDonateModal .consent-label a,
  #fundLifeDonateModal .consent-label a:visited,
  #fundLifeDonateModal .consent-label a:hover,
  #fundLifeDonateModal .consent-label a:focus,
  #fundLifeDonateModal .consent-label a:focus-visible,
  #fundLifeDonateModal .consent-label a:active,

  #fundPlFinancialModal .payment-legal-card a,
  #fundPlFinancialModal .payment-legal-card a:visited,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .payment-legal-card a:focus,
  #fundPlFinancialModal .payment-legal-card a:focus-visible,
  #fundPlFinancialModal .payment-legal-card a:active,
  #fundPlFinancialModal .consent-label a,
  #fundPlFinancialModal .consent-label a:visited,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlFinancialModal .consent-label a:focus,
  #fundPlFinancialModal .consent-label a:focus-visible,
  #fundPlFinancialModal .consent-label a:active,

  #fundPlMaterialModal .consent-label a,
  #fundPlMaterialModal .consent-label a:visited,
  #fundPlMaterialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:focus,
  #fundPlMaterialModal .consent-label a:focus-visible,
  #fundPlMaterialModal .consent-label a:active,

  #contractModal .consent-label a,
  #contractModal .consent-label a:visited,
  #contractModal .consent-label a:hover,
  #contractModal .consent-label a:focus,
  #contractModal .consent-label a:focus-visible,
  #contractModal .consent-label a:active,

  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-consent-label a:visited,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:focus,
  #officeFeedbackModal .social-legal-consent-label a:focus-visible,
  #officeFeedbackModal .social-legal-consent-label a:active,
  #officeFeedbackModal .social-legal-note a,
  #officeFeedbackModal .social-legal-note a:visited,
  #officeFeedbackModal .social-legal-note a:hover,
  #officeFeedbackModal .social-legal-note a:focus,
  #officeFeedbackModal .social-legal-note a:focus-visible,
  #officeFeedbackModal .social-legal-note a:active {
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    text-underline-offset: 0 !important;
    border-bottom: 0 !important;
  }

#serviceModal .service-modal-footer .submit-btn:disabled:not(.is-sending),
  #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn:disabled:not(.is-sending),
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:disabled:not(.is-sending),
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn:disabled:not(.is-sending) {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%)) !important;
    color: var(--text-main, #111111) !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
  }

  #serviceModal .service-modal-footer .submit-btn:disabled:not(.is-sending):hover,
  #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn:disabled:not(.is-sending):hover,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:disabled:not(.is-sending):hover,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn:disabled:not(.is-sending):hover {
    background: var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%)) !important;
    color: var(--text-main, #111111) !important;
    box-shadow: none !important;
    transform: none !important;
  }

/* Повторяем финальную геометрию и визуальный стиль шапки окна «ОБРАТНАЯ СВЯЗЬ». */
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header {
    position: relative !important;
    display: block !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    padding: 12px 54px 8px 56px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  /* Крестик в этих окнах теперь стоит и выглядит как в шапке «ОБРАТНАЯ СВЯЗЬ». */
  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundPlFinancialModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #fundPlMaterialModal .sheet-close-btn:hover,
  #fundPlMaterialModal .sheet-close-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  /* Стрелка назад остаётся слева и получает такие же отступы относительно новой шапки. */
  #fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn {
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    right: auto !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header {
      padding: 12px 54px 8px 48px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header h2,
    #fundPlMaterialModal .fund-contract-like-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;
    }

    #fundPlFinancialModal .sheet-close-btn,
    #fundPlMaterialModal .sheet-close-btn {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #fundPlFinancialModal .modal-back-btn,
    #fundPlMaterialModal .modal-back-btn {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
    }
  }

/* Размеры кнопок навигации во всплывающем меню приведены к sila-zhit.html. */
  #sideMenu .side-nav {
    gap: 14px !important;
  }

  #sideMenu .side-nav a,
  #sideMenu .side-nav button {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height:  112px !important;
    max-height: none !important;
    flex: 0 1 auto !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #sideMenu .side-nav a,
    #sideMenu .side-nav button {
      min-height:  112px !important;
      border-radius: 14px !important;
    }
  }

  @media (max-width: 480px) {
    #sideMenu {
      width: min(92vw, 360px) !important;
      max-width: 92vw !important;
    }

    #sideMenu .side-nav a,
    #sideMenu .side-nav button {
      min-height:  112px !important;
      padding: 12px 14px !important;
    }
  }

.under-development-page {
    max-width: 1280px;
    margin: 28px auto 28px;
    padding: 0 20px;
    width: 100%;
    box-sizing: border-box;
  }

  .under-development-notice {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 16px 26px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid var(--line, rgba(0, 0, 0, 0.08));
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08));
    color: var(--text-main, #111111);
    font-size: clamp(16px, 2vw, 22px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-align: center;
  }

  @media (max-width: 768px) {
    .under-development-page {
      margin: 20px auto 24px;
      padding: 0 14px;
    }

    .under-development-notice {
      width: 100%;
      padding: 14px 16px;
      border-radius: 16px;
    }
  }

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    :root {
      --bg-main: #eef5ff;
      --bg-soft: #eef6ff;
      --text-main: #111111;
      --text-soft: #4d5a5f;

      --accent-aqua: #63c3cf;
      --accent-teal: #3f93ba;
      --accent-orange: #ef8b1e;
      --accent-sand: #e5ab57;
      --accent-mint: #cfe6dd;

      --white: #ffffff;
      --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
      /* Фон второго блока.
         Изображение лежит рядом с HTML-файлом.
         Для замены меняйте только путь ниже, например: url("images/position.JPG") */
      --history-section-bg-image: url("images/position.JPG");
    }

    html, body {
      overflow-x: hidden;
      max-width: 100%;
    }

    body {
      font-family: Arial, Helvetica, sans-serif;
      background: var(--bg-main);
      color: var(--text-main);
      font-size: 18px;
      line-height: 1.55;
      -webkit-text-size-adjust: 100%;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    }

    .header-inner {
      max-width: 1280px;
      margin: 0 auto;
      padding: 18px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 15px;
    }

    .logo {
      text-decoration: none;
      font-size: 28px;
      font-weight: 900;
      color: var(--text-main);
      letter-spacing: 1px;
      white-space: nowrap;
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }

    .cta-btn {
      border: none;
      background: var(--accent-teal);
      color: var(--white);
      padding: 14px 26px;
      border-radius: 14px;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .cta-btn:hover {
      transform: translateY(-2px);
      background: var(--accent-aqua);
    }

    .home-link {
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 22px;
      border-radius: 14px;
      background: #e8edf3;
      color: #111;
      font-size: 15px;
      font-weight: 800;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
      white-space: nowrap;
    }

    .home-link:hover {
      transform: translateY(-2px);
      background: #dde5ee;
    }

    .burger {
      width: 52px;
      height: 52px;
      border: none;
      border-radius: 14px;
      background: #2f7085;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 6px;
      padding: 0 14px;
      cursor: pointer;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
    }

    .burger:hover {
      transform: translateY(-2px);
      background: #92cbdb;
    }

    .burger span {
      display: block;
      width: 100%;
      height: 3px;
      background: #111111;
      border-radius: 999px;
    }

    .side-menu {
      position: fixed;
      top: 0;
      right: -380px;
      width: 350px;
      max-width: 92%;
      height: 100vh;
      background: #ffffff;
      z-index: 300;
      box-shadow: -12px 0 30px rgba(0, 0, 0, 0.12);
      transition: right 0.3s ease;
      padding: 24px 20px;
      overflow-y: auto;
    }

    .side-menu.active {
      right: 0;
    }

    .menu-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.35);
      opacity: 0;
      visibility: hidden;
      transition: 0.25s ease;
      z-index: 250;
    }

    .menu-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .side-menu-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 24px;
      gap: 12px;
    }

    .side-menu-title {
      font-size: 24px;
      font-weight: 900;
    }

    .close-side-menu {
      border: none;
      background: transparent;
      font-size: 34px;
      line-height: 1;
      cursor: pointer;
      color: var(--text-main);
    }

    .side-nav {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .side-nav a,
    .side-nav button {
      text-decoration: none;
      color: var(--text-main);
      background: #2f7085;
      padding: 14px 16px;
      border-radius: 14px;
      font-weight: 800;
      border: none;
      text-align: left;
      cursor: pointer;
      transition: 0.2s ease;
      font-size: 15px;
    }

    .side-nav a:hover,
    .side-nav button:hover {
      background: #92cbdb;
    }

    .side-nav a.active {
      background: #2f7085;
      color: var(--text-main);
    }

    .search {
      display: flex;
      gap: 8px;
      margin-top: 10px;
    }

    .search input {
      flex: 1;
      border: 1px solid #d7d7d7;
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 14px;
      outline: none;
      background: var(--bg-soft);
    }

    .search-btn {
      border: none;
      border-radius: 12px;
      padding: 0 16px;
      background: var(--accent-teal);
      color: var(--white);
      cursor: pointer;
      font-size: 18px;
    }

    .search mark {
      background: #ffe38a;
      color: #111;
      padding: 0 2px;
      border-radius: 4px;
    }

    .hero {
      max-width: 1280px;
      margin: 28px auto 10px;
      padding: 0 20px;
    }

    .hero-content {
      /* Фоновое изображение первого блока.
         Файл должен лежать в папке images рядом с HTML: images/position.JPG
         Комментарий виден только в коде и не отображается на странице. */
      background:
        linear-gradient(rgba(9, 36, 61, 0.52), rgba(9, 36, 61, 0.52)),
        url("assets/embedded/embedded-281da5e604f5c96b.jpg") center/cover no-repeat;
      border-radius: 34px;
      padding: 56px 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
      overflow: hidden;
      position: relative;
    }

    .hero-content::before {
      content: "";
      position: absolute;
      top: -120px;
      right: -80px;
      width: 320px;
      height: 320px;
      background: rgba(99, 195, 207, 0.25);
      border-radius: 50%;
      filter: blur(20px);
    }

    .hero-text {
      flex: 1 1 720px;
      position: relative;
      z-index: 1;
    }

    .hero-badge {
      display: inline-block;
      background: rgba(255, 255, 255, 0.14);
      color: var(--text-main);
      padding: 10px 16px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 18px;
      border: 1px solid rgba(255, 255, 255, 0.28);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }

    .hero h1 {
      font-size: clamp(32px, 4.2vw, 60px);
      line-height: 1;
      font-weight: 900;
      letter-spacing: -1px;
      margin-bottom: 20px;
    }

    .hero-description {
      max-width: 760px;
      font-size: 1.08rem;
      color: var(--text-soft);
      margin-bottom: 28px;
    }

    .hero-buttons {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .hero-btn {
      text-decoration: none;
      border: none;
      cursor: pointer;
      padding: 16px 24px;
      border-radius: 16px;
      font-size: 16px;
      font-weight: 800;
      transition: 0.25s ease;
    }

    .hero-btn.primary {
      background: var(--accent-teal);
      color: var(--white);
    }

    .hero-btn.primary:hover {
      background: var(--accent-aqua);
      transform: translateY(-2px);
    }

    .hero-btn.secondary {
      background: var(--white);
      color: var(--text-main);
      border: 1px solid rgba(0, 0, 0, 0.08);
    }

    .hero-btn.secondary:hover {
      background: #f4f7f7;
    }

    .hero-action-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      margin-top: 8px;
      max-width: 1240px;
    }

    .hero-action-card {
      width: 100%;
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 22px;
      padding: 24px;
      background: rgba(255, 255, 255, 0.13);
      backdrop-filter: blur(4px);
      box-shadow: var(--shadow);
      cursor: pointer;
      text-align: left;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      min-height: 200px;
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
      text-decoration: none;
      color: inherit;
    }

    .hero-action-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
      border-color: rgba(255, 255, 255, 0.18);
      background: rgba(255, 255, 255, 0.18);
    }

    .hero-action-card:focus-visible {
      outline: 3px solid rgba(255, 255, 255, 0.28);
      outline-offset: 3px;
    }

    .hero-action-card h3 {
      font-size: 1.2rem;
      line-height: 1.25;
      margin-bottom: 12px;
      color: #ffffff;
    }

    .hero-action-card p {
      font-size: 0.98rem;
      line-height: 1.6;
      color: rgba(255, 255, 255, 0.86);
    }
.video-switcher {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.video-switch-btn {
  border: none;
  background: #2f7085;
  color: #111111;
  padding: 12px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: 0.25s ease;
}

.video-switch-btn:hover {
  transform: translateY(-2px);
  background: #92cbdb;
}

.video-switch-btn.active {
  background: var(--blue);
  color: #ffffff;
}

.character-choice-section .video-part {
  display: flex;
  flex-direction: column;
}
	
    .hero-action-cta {
      margin-top: auto;
      padding-top: 18px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.95rem;
      font-weight: 800;
      color: #ffffff;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .hero-action-card:hover .hero-action-cta,
    .hero-action-card:focus-visible .hero-action-cta {
      transform: translateX(2px);
      opacity: 0.88;
    }

    .container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 8px 20px 60px;
      width: 100%;
    }

    .intro-text {
      text-align: center;
      font-size: 1.08rem;
      margin: 0 auto 0;
      color: var(--text-soft);
      max-width: 820px;
    }

    .intro-text:empty {
      display: none;
    }

    .info-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-bottom: 28px;
    }

    .info-card {
      background: var(--white);
      border-radius: 22px;
      padding: 24px;
      box-shadow: var(--shadow);
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .info-card h3 {
      font-size: 1.2rem;
      margin-bottom: 12px;
      color: var(--accent-teal);
    }

    .info-card p {
      color: var(--text-soft);
      font-size: 0.98rem;
      flex-grow: 1;
    }

    .accordion-wrap {
      background: rgba(255, 255, 255, 0.5);
      border-radius: 28px;
      padding: 24px;
    }

    .list {
      list-style: none;
      width: 100%;
    }

    .list-item {
      margin-bottom: 16px;
      border-radius: 18px;
      overflow: hidden;
      background: var(--white);
      box-shadow: var(--shadow);
      width: 100%;
    }

    .list-title {
      display: block;
      padding: 18px 22px;
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--text-main);
      background: var(--white);
      text-decoration: none;
      transition: background 0.2s ease;
      position: relative;
      cursor: pointer;
    }

    .list-title:hover {
      background: var(--bg-soft);
    }

    .list-title::after {
      content: '▼';
      position: absolute;
      right: 22px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 0.95rem;
      transition: transform 0.3s ease;
      color: var(--accent-teal);
    }

    .list-item.open .list-title::after {
      transform: translateY(-50%) rotate(180deg);
    }

    .list-content {
      display: none;
      padding: 0 22px 20px;
      background: var(--white);
      font-size: 1rem;
      line-height: 1.7;
      color: var(--text-soft);
    }

    .list-item.open .list-content {
      display: block;
    }

    .list-actions {
      margin-top: auto;
      padding-top: 16px;
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }

    .list-link-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 12px 18px;
      background: var(--accent-teal);
      color: var(--white);
      text-decoration: none;
      border-radius: 12px;
      font-weight: 700;
      transition: 0.25s ease;
    }

    .list-link-btn:hover {
      background: var(--accent-aqua);
      transform: translateY(-2px);
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      inset: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.7);
      backdrop-filter: blur(4px);
      padding: 10px;
      overflow-y: auto;
    }

    .modal-content {
      background-color: var(--white);
      margin: 4% auto;
      padding: 25px 20px;
      border: 1px solid rgba(0,0,0,0.08);
      width: 100%;
      max-width: 500px;
      border-radius: 20px;
      position: relative;
      box-shadow: var(--shadow);
      animation: fadeIn 0.3s;
      max-height: 85vh;
      overflow-y: auto;
    }

    .form-group {
      margin-bottom: 18px;
    }

    .form-group label {
      display: block;
      margin-bottom: 8px;
      font-weight: bold;
      font-size: 1rem;
      color: var(--text-main);
    }

    .form-group select,
    .form-group input {
      width: 100%;
      padding: 12px;
      border: 1px solid #d8d8d8;
      border-radius: 12px;
      font-size: 1rem;
      background: #fff;
      color: #000;
      appearance: none;
      outline: none;
    }

    .form-group select:focus,
    .form-group input:focus {
      border-color: var(--accent-teal);
      box-shadow: 0 0 0 4px rgba(63, 147, 186, 0.15);
    }

    .consent-group {
      margin-top: 6px;
    }

    .consent-label {
      display: flex !important;
      align-items: flex-start;
      gap: 10px;
      font-weight: 400 !important;
      line-height: 1.4;
      cursor: pointer;
    }

    .consent-label input[type="checkbox"] {
      width: 18px;
      height: 18px;
      margin-top: 2px;
      flex-shrink: 0;
      cursor: pointer;
      appearance: auto;
    }

    .form-group select:disabled,
    .submit-btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      background-color: #e5e5e5;
      color: #666;
      box-shadow: none;
    }

    .submit-btn {
      background-color: var(--accent-orange);
      color: #fff;
      padding: 15px 20px;
      border: none;
      border-radius: 14px;
      cursor: pointer;
      width: 100%;
      font-size: 1.05rem;
      font-weight: 800;
      text-transform: uppercase;
      margin-top: 10px;
      transition: 0.3s;
      min-height: 50px;
    }

    .submit-btn:hover:not(:disabled) {
      background-color: var(--accent-sand);
      color: #111;
    }

    .close-btn {
      color: var(--text-main);
      position: absolute;
      right: 15px;
      top: 10px;
      font-size: 30px;
      font-weight: bold;
      cursor: pointer;
      line-height: 1;
      z-index: 10;
    }

    .close-btn:hover {
      color: var(--accent-orange);
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @media (max-width: 1100px) {
      .hero-content {
        flex-direction: column;
        text-align: center;
        padding: 40px 24px;
      }

      .hero-action-grid {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
      }

      .info-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 768px) {
      .header-actions {
        width: 100%;
        justify-content: flex-end;
      }

      body {
        font-size: 16px;
        line-height: 1.5;
      }

      .header-inner {
        padding: 14px 16px;
      }

      .logo {
        font-size: 22px;
      }

      .cta-btn {
        padding: 12px 18px;
        font-size: 14px;
      }

      .burger {
        width: 48px;
        height: 48px;
      }

      .hero {
        margin-top: 20px;
        padding: 0 14px;
      }

      .hero-content {
        padding: 38px 22px;
      }

      .hero h1 {
        font-size: 40px;
      }

      .hero-description {
        font-size: 1rem;
      }

      .hero-action-grid {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .hero-action-card {
        min-height: auto;
        padding: 20px;
      }

      .container {
        padding: 12px 12px 40px;
      }

      .accordion-wrap {
        padding: 16px;
      }

      .list-title {
        font-size: 1.02rem;
        padding: 16px 18px;
      }

      .list-content {
        padding: 0 18px 18px;
        font-size: 0.96rem;
      }

      .modal-content {
        margin: 6% auto;
        padding: 20px 15px;
        max-height: 90vh;
      }
    }

    @media (max-width: 480px) {
      .hero h1 {
        font-size: 32px;
      }

      .hero-buttons {
        flex-direction: column;
      }

      .hero-btn {
        width: 100%;
      }

      .logo {
        font-size: 18px;
      }
    }

    @media (hover: none) and (pointer: coarse) {
      .cta-btn,
      .submit-btn,
      .burger,
      .close-btn,
      .search-btn,
      .list-title {
        min-height: 44px;
      }

      .form-group select,
      .form-group input {
        min-height: 48px;
      }
	  .custom-video-player {
  position: relative;
}

.video-quality-menu {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.video-quality-toggle {
  border: none;
  background: rgba(17, 17, 17, 0.78);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: 0.25s ease;
}

.video-quality-toggle:hover {
  background: rgba(17, 17, 17, 0.92);
}

.video-quality-list {
  display: none;
  flex-direction: column;
  gap: 6px;
  min-width: 100px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(17, 17, 17, 0.86);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.video-quality-list.open {
  display: flex;
}

.video-quality-option {
  border: none;
  background: transparent;
  color: #ffffff;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}

.video-quality-option:hover {
  background: rgba(255, 255, 255, 0.14);
}

.video-quality-option.active {
  background: var(--blue);
  color: #ffffff;
}
    }
  

    .consent-label a,
    .legal-links-inline a,
    .footer-legal-links a,
    .legal-footer a,
    .legal-note a {
      color: var(--accent-teal, var(--blue-dark, #3f93ba));
      text-decoration: underline;
      text-underline-offset: 3px;
      font-weight: 700;
    }

    .consent-help,
    .legal-note,
    .legal-links-inline {
      margin-top: 10px;
      font-size: 0.94rem;
      line-height: 1.6;
      color: var(--text-soft, #4d5a5f);
    }

    .legal-links-inline {
      padding: 14px 16px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(0, 0, 0, 0.08);
    }

    .legal-footer {
      margin-top: 32px;
      padding: 18px 20px 26px;
      background: rgba(17, 17, 17, 0.92);
      color: #fff;
    }

    .legal-footer__inner {
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      flex-wrap: wrap;
    }

    .legal-footer__brand {
      font-size: 0.98rem;
      font-weight: 800;
      letter-spacing: 0.3px;
    }

    .legal-footer__links {
      display: flex;
      gap: 16px 22px;
      flex-wrap: wrap;
    }

    .legal-footer__links a {
      color: #d7e7ff;
      text-decoration: underline;
      text-underline-offset: 3px;
      font-size: 0.94rem;
    }

    .legal-footer__links a:hover,
    .footer-legal-links a:hover,
    .consent-label a:hover,
    .legal-links-inline a:hover,
    .legal-note a:hover {
      color: #ffffff;
      opacity: 0.95;
    }

    .payment-legal-card {
      background: #f8fbff;
      border: 1px solid #dfe9f5;
    }

    @media (max-width: 768px) {
      .legal-footer {
        padding: 18px 14px 24px;
      }

      .legal-footer__inner {
        align-items: flex-start;
      }

      .legal-footer__links {
        flex-direction: column;
        gap: 10px;
      }
    }

  /* Unified contract modal based on index.html */
  .modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(4px);
    padding: 12px;
    overflow-y: auto;
  }

  .modal-content,
  .modal-content.contract-modal-content {
    position: relative;
    width: 100%;
    max-width: 860px;
    margin: 20px auto;
    background: #fff;
    border-radius: 24px;
    padding: 0;
    border: none;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
    max-height: min(88vh, 920px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: fadeIn 0.3s;
  }

  .modal-header,
  .contract-modal-header {
    position: relative;
    flex-shrink: 0;
    padding: 24px 64px 18px 22px;
    background: #fff;
    border-bottom: 1px solid #e7edf5;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
  }

  .modal-title,
  .contract-modal-title {
    margin: 0;
    text-align: center;
    font-size: 2rem;
    line-height: 1.12;
    color: var(--text-main);
  }

  #contractForm,
  .contract-modal-form {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    gap: 0;
  }

  .contract-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 22px 22px 18px;
  }

  .form-group {
    margin-bottom: 18px;
  }

  .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 800;
    font-size: 0.98rem;
    color: var(--text-main);
  }

  .form-group select,
  .form-group input,
  .form-group textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #d8dce2;
    border-radius: 12px;
    font-size: 15px;
    background: #fff;
    color: #000;
    outline: none;
    appearance: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .form-group select:focus,
  .form-group input:focus,
  .form-group textarea:focus {
    border-color: var(--blue-dark, var(--accent-teal));
    box-shadow: 0 0 0 4px rgba(79, 141, 240, 0.15);
  }

  .form-group select:disabled,
  .form-group input:disabled,
  .submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: #eef2f7;
    color: #7a8694;
    box-shadow: none;
  }

  .consent-group {
    margin-top: 8px;
  }

  .consent-label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    line-height: 1.45;
    font-weight: 400 !important;
  }

  .consent-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    flex-shrink: 0;
    appearance: auto;
    cursor: pointer;
  }

  .form-actions,
  .contract-modal-footer {
    position: static;
    flex-shrink: 0;
    margin-top: 0;
    padding: 18px 22px 22px;
    background: #fff;
    border-top: 1px solid #e7edf5;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
  }

  .submit-btn {
    width: 100%;
    border: none;
    border-radius: 14px;
    padding: 15px 20px;
    background: var(--blue, var(--accent-teal));
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    transition: 0.25s ease;
    text-transform: none;
    min-height: 52px;
    margin-top: 0;
  }

  .submit-btn:hover:not(:disabled) {
    background: var(--blue-dark, var(--accent-aqua));
    color: #fff;
    transform: none;
  }

  .note {
    margin-top: 10px;
    text-align: center;
    color: var(--text-soft);
    font-size: 0.92rem;
    min-height: 1em;
  }

  .close-btn {
    position: absolute;
    right: 16px;
    top: 14px;
    background: transparent;
    border: none;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    color: var(--text-main);
    z-index: 3;
  }

  .close-btn:hover {
    color: var(--accent-orange, #ef8b1e);
  }

  @media (max-width: 768px) {
    .modal-content,
    .modal-content.contract-modal-content {
      max-height: calc(100vh - 24px);
      margin: 0 auto;
    }

    .modal-header,
    .contract-modal-header {
      padding: 22px 54px 16px 16px;
    }

    .modal-title,
    .contract-modal-title {
      font-size: 1.5rem;
    }

    .contract-modal-body {
      padding: 18px 16px 16px;
    }

    .form-actions,
    .contract-modal-footer {
      padding: 16px;
    }

    .form-group select,
    .form-group input,
    .form-group textarea {
      font-size: 16px;
    }
  }

    /* === mobile polish patch === */
    img,
    svg,
    video,
    canvas,
    iframe {
      max-width: 100%;
      height: auto;
    }

    input,
    select,
    textarea,
    button {
      font: inherit;
    }

    @media (max-width: 768px) {
      html,
      body {
        overflow-x: hidden;
      }

      body {
        font-size: 16px;
        line-height: 1.5;
      }

      .header-inner {
        padding: 14px 16px !important;
        align-items: flex-start;
        gap: 12px;
      }

      .header-actions {
        width: 100%;
        justify-content: flex-end;
        gap: 10px;
      }

      .logo {
        font-size: 22px !important;
        max-width: calc(100% - 60px);
        white-space: normal;
        word-break: normal;
      }

      .logo small {
        font-size: 13px !important;
      }

      .top-btn,
      .hero-btn,
      .donation-btn,
      .contract-button,
      .contract-btn,
      .download-btn,
      .doc-btn,
      .cta-btn,
      .top-link,
      .top-home-btn,
      .back-link,
      .home-link {
        min-height: 46px;
        padding: 12px 16px !important;
        font-size: 14px !important;
      }

      .burger {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px;
      }

      .side-menu {
        width: min(88vw, 360px);
        max-width: 88vw;
        padding: 20px 16px;
      }

      .side-nav a,
      .side-nav button {
        min-height: 46px;
        padding: 13px 14px;
      }

      .hero,
      .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      .hero {
        margin-top: 20px;
      }

      .hero-content {
        padding: 28px 20px !important;
        border-radius: 24px;
      }

      .hero-title,
      .hero h1,
      h1 {
        overflow-wrap: break-word;
      }

      .hero-title,
      .hero h1 {
        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.08;
      }

      .hero-subtitle,
      .hero-description,
      .intro,
      .section-note {
        font-size: 1rem;
      }

      .hero-buttons,
      .donation-buttons,
      .form-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
      }

      .hero-buttons > *,
      .donation-buttons > *,
      .form-actions > * {
        width: 100%;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .contact-info,
      .material-sheet,
      .modal-content,
      .service-modal-content,
      .benefit-modal-content,
      .contract-modal-content {
        border-radius: 22px;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info {
        padding: 20px 16px !important;
      }

      .big-title,
      .section h2,
      .doc-section h2 {
        font-size: clamp(1.25rem, 5vw, 1.65rem) !important;
        line-height: 1.25;
      }

      .docs-grid,
      .content-grid,
      .timeline,
      .bio-layout,
      .units-grid,
      .hero-cards,
      .fund-grid,
      .info-grid,
      .money-calc-layout,
      .money-calc-grid,
      .money-calc-inline-row,
      .region-calc-grid,
      .meta,
      .requisite-info,
      .financial,
      .material,
      .legal-points {
        grid-template-columns: 1fr !important;
      }

      .content-flex,
      .footer-bottom {
        flex-direction: column;
        gap: 18px;
      }

      .text-part,
      .video-part,
      .hero-text {
        min-width: 0;
        width: 100%;
      }

      .photo,
      .video-frame,
      .material-sheet img,
      .doc-card img {
        width: 100%;
        max-width: 100%;
      }

      .modal {
        padding: 8px;
      }

      .modal-content,
      .service-modal-content,
      .benefit-modal-content,
      .contract-modal-content {
        width: 100%;
        max-height: calc(100vh - 16px);
        margin: 8px auto;
      }

      .modal-header,
      .service-modal-header,
      .benefit-modal-header,
      .contract-modal-header {
        padding: 20px 52px 16px 16px !important;
      }

      .modal-title,
      .service-modal-title,
      .benefit-modal-title,
      .contract-modal-title {
        font-size: 1.35rem !important;
        line-height: 1.2;
      }

      .service-modal-body,
      .benefit-modal-body,
      .contract-modal-body,
      .service-modal-footer,
      .contract-modal-footer,
      .benefit-modal-action,
      #contractForm,
      .modal-form-body,
      .modal-form-footer {
        padding: 16px !important;
      }

      .form-group select,
      .form-group input,
      .form-group textarea,
      input,
      select,
      textarea {
        font-size: 16px !important;
      }

      .legal-footer {
        padding: 18px 14px 24px !important;
      }

      .legal-footer__inner {
        align-items: flex-start;
      }

      .legal-footer__links {
        flex-direction: column;
        gap: 10px;
      }

      table {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
      }
    }

    @media (max-width: 480px) {
      .logo {
        font-size: 18px !important;
        max-width: calc(100% - 56px);
      }

      .logo small {
        font-size: 12px !important;
      }

      .hero,
      .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
      }

      .hero-content {
        padding: 24px 16px !important;
        border-radius: 22px;
      }

      .hero-title,
      .hero h1 {
        font-size: clamp(24px, 8vw, 32px) !important;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info {
        padding: 18px 14px !important;
        border-radius: 18px;
      }

      .top-btn,
      .hero-btn,
      .donation-btn,
      .contract-button,
      .contract-btn,
      .download-btn,
      .doc-btn,
      .cta-btn,
      .top-link,
      .top-home-btn,
      .back-link,
      .home-link {
        font-size: 13px !important;
        padding: 12px 14px !important;
      }

      .side-menu {
        width: 100vw;
        max-width: 100vw;
        right: -100vw;
        border-radius: 0;
      }

      .section h2,
      .doc-section h2 {
        font-size: 1.15rem !important;
      }
    }

  .sections-modal-content {
    max-width: 1100px;
  }

  .sections-modal-header {
    padding: 24px 64px 18px 22px;
  }

  .sections-modal-body {
    padding: 22px;
    overflow-y: auto;
  }

  .sections-modal-grid {
    margin-bottom: 0;
  }

  .sections-modal-grid .info-card {
    min-height: 100%;
  }

  @media (max-width: 768px) {
    .sections-modal-body {
      padding: 16px;
    }
  }

  .division-doc-modal-content {
    max-width: 1280px;
    height: min(92vh, 980px);
  }

  .division-doc-modal-header {
    padding-right: 72px;
  }

  .division-doc-modal-body {
    flex: 1;
    min-height: 0;
    background: #f5f8fc;
  }

  .division-doc-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 70vh;
    border: 0;
    background: #fff;
  }

  @media (max-width: 768px) {
    .division-doc-modal-content {
      height: calc(100vh - 24px);
    }

    .division-doc-frame {
      min-height: calc(100vh - 120px);
    }
  }

  .history-section {
    margin-top: 8px;
    background:
      linear-gradient(rgba(9, 36, 61, 0.68), rgba(9, 36, 61, 0.68)),
      var(--history-section-bg-image) center/cover no-repeat;
    border-radius: 28px;
    padding: 30px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(255, 255, 255, 0.18);
    position: relative;
    overflow: hidden;
  }

  .history-section h2 {
    font-size: 1.85rem;
    line-height: 1.25;
    text-align: center;
    margin-bottom: 22px;
    color: #ffffff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
  }

  .history-section .content-flex {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .history-section .text-part,
  .history-section .video-part {
    flex: 1 1 420px;
    min-width: 280px;
    position: relative;
    z-index: 1;
  }

  .history-section p {
    color: #ffffff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
    position: relative;
    z-index: 1;
  }

  .history-section .history-action-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 20px;
    position: relative;
    z-index: 1;
  }

  .history-section .history-action-btn {
    border: none;
    background: #2f7085;
    color: #111111;
    padding: 14px 24px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: var(--shadow);
    transition: 0.25s ease;
  }

  .history-section .history-action-btn:hover {
    transform: translateY(-2px);
    background: #92cbdb;
  }

  .history-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8, 23, 39, 0.25), rgba(9, 36, 61, 0.4));
    pointer-events: none;
  }

  .history-section .video-frame {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    background: #000;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow);
  }

  .history-section .video-frame video,
  .history-section .video-frame img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
  }

  .history-section .video-frame video {
    object-fit: cover;
    background: #000;
  }

  @media (max-width: 768px) {
    .history-section {
      margin-top: 6px;
      padding: 20px 16px;
      border-radius: 22px;
    }

    .history-section h2 {
      font-size: 1.35rem;
      line-height: 1.2;
    }

    .history-section .content-flex {
      flex-direction: column;
      gap: 18px;
    }

    .history-section .text-part,
    .history-section .video-part {
      min-width: 0;
      width: 100%;
    }

    .history-section .history-action-row {
      justify-content: flex-start;
    }

    .history-section .history-action-btn {
      width: 100%;
    }
  }

  @media (max-width: 1100px) {
    .hero-action-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      max-width: 820px;
    }
  }

  .social-legal-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(4px);
    padding: 12px;
    overflow-y: auto;
  }

  .social-legal-modal.active {
    display: block;
  }

  .social-legal-modal-dialog {
    position: relative;
    width: 100%;
    max-width: 860px;
    max-height: min(88vh, 920px);
    margin: 40px auto;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .social-legal-form-card {
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 920px);
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: none;
    border-radius: 24px;
    box-shadow: none;
  }

  .social-legal-modal-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .social-legal-modal-header {
    position: relative;
    flex-shrink: 0;
    padding: 24px 64px 18px 22px;
    background: #fff;
    border-bottom: 1px solid #e7edf5;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
    text-align: center;
  }

  .social-legal-modal-header h2 {
    margin: 0;
    text-align: center;
    font-size: 2rem;
    color: var(--text-main);
  }

  .social-legal-form-subtitle {
    color: var(--text-soft);
    margin: 12px auto 0;
    max-width: 620px;
    font-size: 1rem;
  }

  #socialLegalForm {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .social-legal-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 22px 22px 18px;
  }

  .social-legal-modal-footer {
    flex-shrink: 0;
    padding: 18px 22px 22px;
    background: #fff;
    border-top: 1px solid #e7edf5;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
  }

  .social-legal-modal-close {
    position: absolute;
    right: 16px;
    top: 14px;
    background: transparent;
    border: none;
    font-size: 32px;
    cursor: pointer;
    line-height: 1;
    color: var(--text-main);
    z-index: 3;
    transition: 0.2s ease;
  }

  .social-legal-modal-close:hover {
    color: var(--accent-teal);
  }

  .social-legal-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .social-legal-form-group {
    margin-bottom: 18px;
    text-align: left;
  }

  .social-legal-form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-main);
    font-size: 1rem;
    font-weight: 800;
  }

  .custom-video-player {
  position: relative;
}

.video-quality-menu {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.video-quality-toggle {
  border: none;
  background: rgba(17, 17, 17, 0.78);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: 0.25s ease;
}

.video-quality-toggle:hover {
  background: rgba(17, 17, 17, 0.92);
}

.video-quality-list {
  display: none;
  flex-direction: column;
  gap: 6px;
  min-width: 100px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(17, 17, 17, 0.86);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.video-quality-list.open {
  display: flex;
}

.video-quality-option {
  border: none;
  background: transparent;
  color: #ffffff;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}

.video-quality-option:hover {
  background: rgba(255, 255, 255, 0.14);
}

.video-quality-option.active {
  background: var(--blue);
  color: #ffffff;
}
  
  .social-legal-form-group input,
  .social-legal-form-group textarea,
  .social-legal-form-group select {
    width: 100%;
    padding: 13px 14px;
    background: #ffffff;
    border: 1px solid #d8dce2;
    color: #111;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    outline: none;
    transition: 0.2s ease;
  }

  .social-legal-form-group input:focus,
  .social-legal-form-group textarea:focus,
  .social-legal-form-group select:focus {
    border-color: var(--accent-teal);
    box-shadow: 0 0 0 4px rgba(63, 147, 186, 0.15);
  }

  .social-legal-form-group textarea {
    min-height: 170px;
    resize: vertical;
  }

  .social-legal-consent-label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    line-height: 1.45;
    font-weight: 400 !important;
  }

  .social-legal-consent-label input[type="checkbox"] {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    min-height: auto;
    appearance: auto;
  }

  .social-legal-consent-label a,
  .social-legal-note a {
    color: var(--accent-teal);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 700;
  }

  .social-legal-submit-btn {
    width: 100%;
    border: none;
    border-radius: 14px;
    padding: 15px 20px;
    background: var(--accent-teal);
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    transition: 0.25s ease;
    min-height: 54px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: var(--shadow);
  }

  .social-legal-submit-btn:hover:not(:disabled) {
    background: var(--accent-aqua);
    transform: translateY(-2px);
  }

  .social-legal-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
  }

  .social-legal-note {
    margin-top: 18px;
    font-size: 0.92rem;
    color: var(--text-soft);
    line-height: 1.6;
  }

  @media (max-width: 768px) {
    .social-legal-form-row {
      grid-template-columns: 1fr;
    }

    .social-legal-modal {
      padding: 8px;
    }

    .social-legal-modal-dialog,
    .social-legal-form-card {
      max-height: calc(100vh - 24px);
      margin: 8px auto;
      border-radius: 22px;
    }

    .social-legal-modal-header {
      padding: 22px 54px 16px 16px;
    }

    .social-legal-modal-header h2 {
      font-size: 1.35rem;
      line-height: 1.2;
    }

    .social-legal-modal-body,
    .social-legal-modal-footer {
      padding: 16px;
    }
  }

    .scroll-top-btn {
      position: fixed;
      right: 24px;
      bottom: 24px;
      width: 58px;
      height: 58px;
      border: none;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #2f7085, #92cbdb);
      color: #111111;
      box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
      cursor: pointer;
      z-index: 450;
      opacity: 0;
      visibility: hidden;
      transform: translateY(16px) scale(0.92);
      transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease, box-shadow 0.28s ease;
    }

    .scroll-top-btn::before {
      content: "";
      position: absolute;
      inset: 1px;
      border-radius: inherit;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.12));
      opacity: 0.65;
    }

    .scroll-top-btn svg {
      position: relative;
      z-index: 1;
      width: 24px;
      height: 24px;
      transition: transform 0.25s ease;
    }

    .scroll-top-btn:hover {
      transform: translateY(-3px) scale(1);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22);
    }

    .scroll-top-btn:hover svg {
      transform: translateY(-2px);
    }

    .scroll-top-btn.visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
    }

    @media (max-width: 768px) {
      .scroll-top-btn {
        right: 16px;
        bottom: 16px;
        width: 52px;
        height: 52px;
      }
    }

  /* === universal top bar alignment + logo font sync 2026-04-04 === */
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 1.6vw, 16px) !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-header .logo,
  .site-header .logo small,
  .site-header .logo span {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
  }

  .site-header .logo small {
    white-space: nowrap !important;
    font-size: inherit !important;
  }

  .site-header .header-inner > .header-actions,
  .site-header .header-inner > .back-link,
  .site-header .header-inner > .home-link,
  .site-header .header-inner > .top-link {
    margin-left: auto !important;
  }

  .site-header .header-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(6px, 1.4vw, 12px) !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .site-header .header-actions > * {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: center !important;
  }

  .site-header .top-btn,
  .site-header .home-link,
  .site-header .top-link,
  .site-header .back-link,
  .site-header .cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .site-header .burger {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    aspect-ratio: 1 / 1 !important;
  }

  @media (max-width: 900px) {
    .site-header .header-inner {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    .site-header .logo {
      font-size: clamp(18px, 3.4vw, 24px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 14px !important;
      padding-right: 14px !important;
      font-size: 14px !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .header-inner {
      padding-left: 12px !important;
      padding-right: 12px !important;
      gap: 8px !important;
    }

    .site-header .logo {
      font-size: clamp(15px, 4.2vw, 20px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .header-actions {
      gap: 8px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 10px !important;
      padding-right: 10px !important;
      min-height: 42px !important;
      font-size: 12px !important;
      border-radius: 12px !important;
    }

    .site-header .burger {
      flex-basis: 42px !important;
      width: 42px !important;
      min-width: 42px !important;
      height: 42px !important;
    }
  }

  @media (max-width: 420px) {
    .site-header .header-inner {
      padding-left: 8px !important;
      padding-right: 8px !important;
      gap: 6px !important;
    }

    .site-header .logo {
      font-size: clamp(13px, 4vw, 16px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .header-actions {
      gap: 6px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 8px !important;
      padding-right: 8px !important;
      min-height: 38px !important;
      font-size: 11px !important;
      border-radius: 10px !important;
    }

    .site-header .burger {
      flex-basis: 38px !important;
      width: 38px !important;
      min-width: 38px !important;
      height: 38px !important;
    }
  }

    /* === word-based wrapping fix 2026-04 === */
    html, body {
      overflow-x: hidden;
    }

    .header-inner,
    .header-actions,
    .hero-buttons,
    .list-actions,
    .form-row,
    .units-grid,
    .info-grid,
    .region-calc-grid,
    .money-calc-grid,
    .content-flex,
    .docnav,
    .topnav {
      flex-wrap: wrap;
    }

    .header-inner > *,
    .header-actions > *,
    .hero-buttons > *,
    .list-actions > *,
    .form-row > *,
    .units-grid > *,
    .info-grid > *,
    .region-calc-grid > *,
    .money-calc-grid > *,
    .content-flex > *,
    .docnav > *,
    .topnav > * {
      min-width: 0 !important;
      max-width: 100%;
    }

    h1, h2, h3, h4, h5, h6,
    p, li, label,
    .big-title,
    .subtitle,
    .section h2,
    .hero-title,
    .hero-subtitle,
    .hero-description,
    .hero-card-title,
    .hero-card-text,
    .list-title,
    .list-content,
    .sublist-title,
    .sublist-content,
    .info-card,
    .intro-card,
    .hero-card,
    .region-info-card,
    .region-info-card-full,
    .legal-card,
    .requisite-item,
    .contact-info,
    .form-subtitle,
    .form-group label,
    .side-nav a,
    .side-nav button,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn,
    nav a,
    .logo,
    .docnav a,
    .topnav a {
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      hyphens: manual !important;
      max-width: 100%;
    }

    button,
    [type="button"],
    [type="submit"],
    a[class*="btn"],
    .list-title,
    .sublist-title,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn,
    nav a,
    .side-nav a,
    .side-nav button,
    .docnav a,
    .topnav a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      min-width: 0;
      max-width: 100%;
      line-height: 1.35;
    }

    .list-title,
    .sublist-title,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn {
      height: auto;
    }

    [class*="card"],
    .list-item,
    .list-content,
    .sublist-item,
    .sublist-content,
    .form-block,
    .modal-content,
    .contact-info,
    .requisite-item {
      min-width: 0;
      max-width: 100%;
    }

    .form-group,
    .form-group input,
    .form-group select,
    .form-group textarea,
    .search,
    .search input,
    .search-btn {
      min-width: 0;
      max-width: 100%;
    }

    @media (max-width: 768px) {
      .logo {
        white-space: normal !important;
        text-align: center;
      }

      .header-actions,
      .hero-buttons,
      .list-actions,
      .form-row,
      .docnav,
      .topnav {
        justify-content: center;
      }

      .top-btn,
      .hero-btn,
      .hero-card-btn,
      .contract-btn,
      .submit-btn,
      .list-link-btn,
      .download-btn,
      .donation-btn,
      .cta-btn,
      .calc-tab-btn,
      .calc-open-btn,
      .money-reset-btn,
      nav a,
      .side-nav a,
      .side-nav button,
      .docnav a,
      .topnav a {
        width: 100%;
      }
    }

/* === header top-right button shape fix 2026-04 === */
  .site-header .header-inner > .header-actions {
    width: auto !important;
    max-width: 100%;
    flex: 0 1 auto !important;
    margin-left: auto;
  }

  .site-header .header-inner > :not(.logo):not(.header-actions),
  .site-header .header-actions > * {
    width: auto !important;
    max-width: 100%;
    flex: 0 0 auto !important;
    align-self: center;
  }

  .site-header .top-btn,
  .site-header .home-link,
  .site-header .top-link,
  .site-header .back-link {
    display: inline-flex !important;
    white-space: nowrap !important;
  }

  .site-header .burger {
    flex: 0 0 auto !important;
    aspect-ratio: 1 / 1;
  }

  @media (max-width: 768px) {
    .site-header .header-inner > .header-actions {
      width: auto !important;
      max-width: 100%;
      justify-content: flex-end !important;
      flex-wrap: wrap !important;
    }

    .site-header .header-inner > :not(.logo):not(.header-actions),
    .site-header .header-actions > * {
      width: auto !important;
      flex: 0 0 auto !important;
      min-width: 0;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link {
      width: auto !important;
      max-width: 100%;
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    .site-header .burger {
      width: 48px !important;
      min-width: 48px !important;
      height: 48px !important;
      flex: 0 0 48px !important;
      padding-left: 13px !important;
      padding-right: 13px !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .header-inner > .header-actions {
      width: auto !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link {
      font-size: 13px !important;
    }

    .site-header .burger {
      width: 46px !important;
      min-width: 46px !important;
      height: 46px !important;
      flex: 0 0 46px !important;
    }
  }

/* keep top controls on one line without overlapping */
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 1.6vw, 16px) !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-header .logo small {
    white-space: nowrap !important;
  }

  .site-header .header-inner > .header-actions,
  .site-header .header-inner > .back-link,
  .site-header .header-inner > .home-link,
  .site-header .header-inner > .top-link {
    margin-left: auto !important;
  }

  .site-header .header-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(6px, 1.4vw, 12px) !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .site-header .header-actions > * {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: center !important;
  }

  .site-header .top-btn,
  .site-header .home-link,
  .site-header .top-link,
  .site-header .back-link,
  .site-header .cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .site-header .burger {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    aspect-ratio: 1 / 1;
  }

  @media (max-width: 900px) {
    .site-header .header-inner {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    .site-header .logo {
      font-size: clamp(18px, 3.4vw, 24px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 14px !important;
      padding-right: 14px !important;
      font-size: 14px !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .header-inner {
      padding-left: 12px !important;
      padding-right: 12px !important;
      gap: 8px !important;
    }

    .site-header .logo {
      font-size: clamp(15px, 4.2vw, 20px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .logo small {
      display: none !important;
    }

    .site-header .header-actions {
      gap: 8px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 10px !important;
      padding-right: 10px !important;
      min-height: 42px !important;
      font-size: 12px !important;
      border-radius: 12px !important;
    }

    .site-header .burger {
      flex-basis: 42px !important;
      width: 42px !important;
      min-width: 42px !important;
      height: 42px !important;
    }
  }

  @media (max-width: 420px) {
    .site-header .header-inner {
      padding-left: 8px !important;
      padding-right: 8px !important;
      gap: 6px !important;
    }

    .site-header .logo {
      font-size: 14px !important;
    }

    .site-header .header-actions {
      gap: 6px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 8px !important;
      padding-right: 8px !important;
      min-height: 38px !important;
      font-size: 10.5px !important;
    }

    .site-header .burger {
      flex-basis: 38px !important;
      width: 38px !important;
      min-width: 38px !important;
      height: 38px !important;
      padding-left: 10px !important;
      padding-right: 10px !important;
    }
  }

  .topnav,
  .docnav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .topnav > *,
  .docnav > * {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

    .logo-brand {
      font-weight: 900;
      font-size: 1.22em;
      line-height: 1;
      display: inline-block;
    }

    .logo-separator {
      font-weight: 700;
      font-size: 1.08em;
      display: inline-block;
      margin: 0 0.18em;
    }
	@media (max-width: 1100px) {
  #characterChoiceBlock .content-flex,
  .character-choice-section .content-flex {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  #characterChoiceBlock .text-part,
  #characterChoiceBlock .video-part,
  .character-choice-section .text-part,
  .character-choice-section .video-part {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }
}

@media (max-width: 768px) {
  #characterChoiceBlock,
  .character-choice-section {
    overflow: visible !important;
  }

  #characterChoiceBlock .text-part,
  #characterChoiceBlock .text-part p,
  #characterChoiceBlock .text-part strong,
  #characterChoiceBlock .big-title,
  .character-choice-section .text-part,
  .character-choice-section .text-part p,
  .character-choice-section .text-part strong,
  .character-choice-section .big-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    word-wrap: normal !important;
    hyphens: none !important;

    text-align: left !important;
  }

  #characterChoiceBlock .text-part p,
  .character-choice-section .text-part p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin-bottom: 14px !important;
  }

  #characterChoiceBlock .big-title,
  .character-choice-section .big-title {
    font-size: clamp(24px, 7vw, 30px) !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 480px) {
  #characterChoiceBlock .text-part,
  #characterChoiceBlock .text-part p,
  .character-choice-section .text-part,
  .character-choice-section .text-part p {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }
}
.hero-subtitle,
.hero-subtitle p {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
  hyphens: none !important;
}
#fundPl .video-frame,
#fundLife .video-frame {
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
}

#fundPl .video-frame img,
#fundLife .video-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
  display: block;
}
.hero-subtitle p {
  margin: 0 0 14px;
}

@media (max-width: 768px) {
  .hero-subtitle {
    max-width: 100% !important;
  }

  .hero-subtitle p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 480px) {
  .hero-subtitle p {
    font-size: 15px !important;
    line-height: 1.58 !important;
  }
}
#fundPl .video-frame,
#fundLife .video-frame {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 20px;
}

#fundPl .video-frame img,
#fundLife .video-frame img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

@media (max-width: 768px) {
  #fundPl .video-part,
  #fundLife .video-part {
    width: 100% !important;
    min-width: 0 !important;
  }

  #fundPl .video-frame,
  #fundLife .video-frame {
    height: auto !important;
    min-height: 220px !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  #fundPl .video-frame img,
  #fundLife .video-frame img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: 320px !important;
    object-fit: contain !important;
  }
}
@media (max-width: 768px) {
  body,
  p,
  li,
  div,
  span,
  a,
  button,
  label,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  td,
  th,
  input,
  textarea,
  select,
  .hero-description,
  .hero-subtitle,
  .list-title,
  .list-content,
  .sublist-title,
  .sublist-content,
  .intro-card,
  .info-card,
  .social-legal-description,
  .social-legal-hero-subtitle,
  .social-legal-hero-card-text {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .hero h1,
  .hero-title,
  .social-legal-hero-title,
  .logo {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .list-title,
  .sublist-title,
  .top-btn,
  .hero-btn,
  .contract-btn,
  .submit-btn,
  .download-btn,
  .cta-btn,
  .calc-tab-btn,
  .calc-open-btn,
  .money-reset-btn,
  .home-link,
  .side-nav a,
  .side-nav button {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}
/* ===== FIX hero in positions.html: вернуть как на первом скрине ===== */
.hero {
  max-width: 1280px !important;
  margin: 28px auto 10px !important;
  padding: 0 20px !important;
}

.hero-content {
  padding: 56px 30px !important;
  border-radius: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
}

.hero-text {
  flex: 1 1 720px !important;
  max-width: none !important;
  min-width: 0 !important;
}

.hero h1 {
  font-size: clamp(32px, 4.2vw, 60px) !important;
  line-height: 1 !important;
  letter-spacing: -1px !important;
  margin-bottom: 20px !important;
  white-space: normal !important;
}

.hero-description {
  max-width: 760px !important;
  font-size: 1.08rem !important;
  line-height: 1.55 !important;
  margin-bottom: 28px !important;
}

.hero-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 8px !important;
  max-width: 1240px !important;
}

.hero-action-card {
  min-height: 200px !important;
  padding: 24px !important;
  border-radius: 22px !important;
}

.hero-action-card h3 {
  font-size: 1.2rem !important;
  line-height: 1.25 !important;
}

.hero-action-card p {
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
}

.hero-action-cta {
  margin-top: auto !important;
  padding-top: 18px !important;
}

@media (max-width: 1100px) {
  .hero-content {
    flex-direction: column !important;
    text-align: center !important;
    padding: 40px 30px !important;
  }

  .hero-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 768px) {
  .hero {
    margin-top: 20px !important;
    padding: 0 14px !important;
  }

  .hero-content {
    padding: 38px 16px !important;
  }

  .hero h1 {
    font-size: 40px !important;
  }

  .hero-description {
    font-size: 1rem !important;
  }

  .hero-action-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .hero-action-card {
    min-height: auto !important;
    padding: 20px !important;
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: 32px !important;
  }
}
.history-action-row-mobile {
  display: none;
}

@media (max-width: 768px) {
  .history-action-row-desktop {
    display: none !important;
  }

  .history-action-row-mobile {
    display: flex !important;
    width: 100%;
    margin-top: 16px !important;
    justify-content: flex-start;
  }

  .history-action-row-mobile .history-action-btn {
    width: 100% !important;
  }
}
.history-action-row-mobile {
  display: none !important;
}

@media (max-width: 768px) {
  .history-action-row-desktop {
    display: none !important;
  }

  .history-action-row-mobile {
    display: flex !important;
    width: 100% !important;
    margin-top: 16px !important;
  }

  .history-action-row-mobile .history-action-btn {
    width: 100% !important;
  }
}

.history-section .history-action-row {
    gap: 14px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .history-section .history-action-row .history-action-btn {
    flex: 0 0 auto !important;
  }

  @media (max-width: 768px) {
    .history-section .history-action-row {
      flex-wrap: wrap !important;
      gap: 12px !important;
    }
  }

.site-header .logo {
    text-decoration: none;
    font-size: 28px;
    font-weight: 900;
    color: var(--text-main, #111111);
    letter-spacing: 0.5px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
  }

  .site-header .logo .logo-brand {
    font-weight: 900;
    font-size: 1.14em;
    line-height: 1;
    display: inline-block;
  }

  .site-header .logo-link {
    text-decoration: none !important;
    color: inherit !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, opacity 0.25s ease, color 0.25s ease;
    transform-origin: center;
    line-height: 1.2;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateX(2px);
    opacity: 0.88;
    outline: none;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible,
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    color: inherit !important;
  }

  .site-header .logo .logo-separator {
    font-weight: 700;
    font-size: 1.08em;
    display: inline-block;
    margin: 0 0.32em;
    transition: opacity 0.25s ease;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    opacity: 0.72;
  }

  .site-header .logo .logo-brand {
    font-size: 1.48em !important;
  }

  .site-header .logo .logo-separator {
    font-size: 1.24em !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand {
      font-size: 1.26em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 1.12em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo-link {
      padding: 0;
      border-radius: 0;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-brand {
      font-size: 1em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 1.08em !important;
    }
  }

/* Text only: synced from the first block of index.html */
  .hero .hero-badge {
    display: inline-flex !important;
    width: fit-content !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .hero .hero-title,
  .hero h1 {
    max-width: none !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(30px, 4.4vw, 58px) !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    margin-bottom: 20px !important;
  }

  .hero .hero-subtitle,
  .hero .hero-description {
    max-width: 880px !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(16px, 2vw, 23px) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    margin-bottom: 28px !important;
    white-space: normal !important;
  }

  @media (max-width: 768px) {
    .hero .hero-title,
    .hero h1 {
      font-size: 34px !important;
      line-height: 1.08 !important;
      white-space: normal !important;
    }

    .hero .hero-subtitle,
    .hero .hero-description {
      font-size: 16px !important;
      line-height: 1.5 !important;
    }

    .hero .hero-badge {
      font-size: 12px !important;
      line-height: 1.3 !important;
    }
  }

  @media (max-width: 480px) {
    .hero .hero-title,
    .hero h1 {
      font-size: clamp(24px, 8.5vw, 34px) !important;
    }
  }

.hero .hero-title.hero-title-split {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    white-space: normal !important;
    text-transform: none !important;
    max-width: none !important;
  }

  .hero .hero-title.hero-title-split .hero-title-line {
    display: block !important;
  }

  .hero .hero-title.hero-title-split .hero-title-line-second {
    white-space: nowrap !important;
  }

  @media (max-width: 768px) {
    .hero .hero-title.hero-title-split .hero-title-line-second {
      white-space: normal !important;
    }
  }

.site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    perspective: 1200px;
  }

  .site-header .logo,
  .site-header .logo * {
    text-decoration: none !important;
  }

  .site-header .logo-link {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    transform: translateZ(0);
    transform-style: preserve-3d;
    isolation: isolate;
    overflow: visible;
    outline: none;
    transition: transform 0.28s ease, opacity 0.25s ease, filter 0.28s ease;
  }

  .site-header .logo-link::before,
  .site-header .logo-link::after {
    content: none !important;
    display: none !important;
  }

  .site-header .logo .logo-brand {
    display: inline-block !important;
    font-size: 1.08em !important;
    line-height: 0.94 !important;
    letter-spacing: 0.02em !important;
    font-weight: 900 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0.85px rgba(37, 84, 100, 0.62) !important;
    paint-order: stroke fill !important;
    transform: translateZ(12px);
    transform-origin: center bottom !important;
    transition:
      transform 0.28s ease,
      filter 0.28s ease,
      text-shadow 0.28s ease !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .site-header .logo .logo-brand-primary {
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 46%, #3f93ad 72%, #2f7085 100%) !important;
  }

  .site-header .logo .logo-brand-secondary {
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 45%, #3f93ad 72%, #2f7085 100%) !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateY(-1px);
    opacity: 1;
    filter: saturate(1.05);
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) translateZ(16px) scale(1.03) !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .site-header .logo-link:active {
    transform: translateY(0) scale(0.995);
  }

  .site-header .logo .logo-separator {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0 2px;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #3f93ad !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    transition: transform 0.28s ease, opacity 0.28s ease;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: translateY(-1px);
    opacity: 0.92;
  }

  .site-header .burger {
    background: #2f7085 !important;
  }

  .site-header .burger:hover {
    background: #92cbdb !important;
  }

  @media (max-width: 900px) {
    .site-header .logo {
      gap: 10px !important;
    }

    .site-header .logo .logo-brand {
      font-size: 0.96em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      gap: 8px !important;
    }

    .site-header .logo .logo-brand {
      font-size: 0.82em !important;
      letter-spacing: 0.01em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.9em !important;
    }
  }

.site-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    perspective: none !important;
  }

  .site-header .logo-link {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    isolation: auto !important;
    overflow: visible !important;
  }

  .site-header .logo-link::before,
  .site-header .logo-link::after {
    content: none !important;
    display: none !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.26em !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0 !important;
    filter: none !important;
    transform: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      0 2px 0 rgba(171, 211, 142, 0.96),
      1px 3px 0 rgba(88, 116, 69, 0.92),
      1px 4px 0 rgba(24, 24, 24, 0.72),
      2px 5px 0 rgba(10, 10, 10, 0.82),
      2px 6px 8px rgba(0, 0, 0, 0.16) !important;
  }

  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    background-image: linear-gradient(
      180deg,
      #f5fbff 0%,
      #e9f8fd 18%,
      #2f7085 44%,
      #92cbdb 72%,
      #3f93ad 100%
    ) !important;
  }

  .site-header .logo .logo-separator {
    display: inline-block !important;
    width: 3px !important;
    height: 1.28em !important;
    margin: 0 0.28em !important;
    padding: 0 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    border: none !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #2f7085 0%, #3f93ad 48%, #1f4b5b 100%) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.16),
      1px 2px 0 rgba(18, 18, 18, 0.55) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-shadow: none !important;
    transform: translateY(0.06em) !important;
    opacity: 1 !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.1em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      gap: 6px !important;
    }

    .site-header .logo .logo-separator {
      width: 2px !important;
      height: 1.18em !important;
      margin: 0 0.24em !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.95em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22),
        0 1px 0 rgba(171, 211, 142, 0.96),
        1px 2px 0 rgba(88, 116, 69, 0.90),
        1px 3px 0 rgba(20, 20, 20, 0.68),
        1px 4px 6px rgba(0, 0, 0, 0.16) !important;
    }
  }

.site-header .logo .logo-separator {
    display: inline-block !important;
    width: 3px !important;
    height: 0.96em !important;
    min-width: 3px !important;
    margin: 0 0.34em !important;
    padding: 0 !important;
    overflow: visible !important;
    vertical-align: middle !important;
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    border: none !important;
    border-radius: 999px !important;
    color: transparent !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    color: transparent !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-separator {
      width: 2px !important;
      min-width: 2px !important;
      height: 0.9em !important;
      margin: 0 0.26em !important;
    }
  }

.site-footer {
    background: #1a1d24;
    color: #fff;
    padding: 42px 20px 28px;
    margin-top: 16px;
  }

  .footer-container {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1.28fr) minmax(0, 1.08fr) minmax(0, 1.08fr);
    gap: 30px;
    align-items: start;
  }

  .footer-col {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-self: start;
  }

  @media (min-width: 981px) {
    .footer-col--contacts-placdarm {
      grid-column: 4;
    }

    .footer-col--contacts-life {
      grid-column: 5;
    }
  }

  .footer-col h3 {
    color: #8ec0ff;
    margin-bottom: 18px;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .footer-col ul {
    list-style: none;
  }

  .footer-col li {
    margin-bottom: 10px;
    color: #d3d9e4;
  }

  .footer-col a {
    color: #d3d9e4;
    text-decoration: none;
    transition: 0.2s ease;
  }

  .footer-col a:hover {
    color: #fff;
  }

  .footer-col--legal-info h3 {
    letter-spacing: 0;
  }

  .footer-col--legal-info ul,
  .footer-col--legal-info li {
    width: 100%;
  }

  .footer-doc-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #f0f5ff !important;
    font-weight: 700;
    line-height: 1.35;
    transition: 0.2s ease;
  }

  .footer-doc-link::after {
    content: "→";
    flex-shrink: 0;
    color: #8ec0ff;
    font-size: 1rem;
    transition: transform 0.2s ease;
  }

  .footer-doc-link:hover {
    background: rgba(142, 192, 255, 0.12);
    border-color: rgba(142, 192, 255, 0.24);
    color: #fff !important;
    transform: translateY(-1px);
  }

  .footer-doc-link:hover::after {
    transform: translateX(2px);
  }

  .footer-bottom {
    max-width: 1280px;
    margin: 28px auto 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    color: #aeb7c7;
    font-size: 0.92rem;
  }

  @media (max-width: 980px) {
    .footer-container {
      grid-template-columns: 1fr;
    }

    .footer-col h3 {
      white-space: normal;
    }
  }

  @media (max-width: 768px) {
    .footer-bottom {
      flex-direction: column;
    }
  }

  @media (max-width: 640px) {
    .site-footer {
      padding-left: 14px !important;
      padding-right: 14px !important;
    }
  }

@media (min-width: 981px) {
    .site-footer {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    .footer-container,
    .footer-bottom {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

@media (min-width: 981px) {
    .footer-container {
      grid-template-columns: minmax(0, 0.82fr) minmax(0, 0.86fr) minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(0, 1.02fr) !important;
      gap: 18px !important;
      align-items: start !important;
    }

    .footer-col h3 {
      font-size: 1.02rem !important;
      white-space: nowrap !important;
    }

    .footer-col li,
    .footer-col a {
      line-height: 1.45 !important;
    }

    .footer-col--contacts-placdarm,
    .footer-col--contacts-life {
      min-width: 0 !important;
    }

    .footer-col--contacts-placdarm li,
    .footer-col--contacts-life li,
    .footer-col--contacts-placdarm a,
    .footer-col--contacts-life a {
      font-size: 0.88rem !important;
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
    }
  }

.footer-col h3 {
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  .footer-col li,
  .footer-col a {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
  }

  .footer-col--contacts-placdarm h3,
  .footer-col--contacts-life h3 {
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    :root {
      --bg-main: #eef5ff;
      --bg-soft: #f4f7fb;
      --card: #ffffff;
      --text-main: #111111;
      --text-soft: #52606d;
      --hero-bg: #161f35;
      --hero-bg-2: #1f2b47;
      --line: rgba(0, 0, 0, 0.08);
      --blue: #6ea8ff;
      --blue-dark: #4f8df0;
      --light-btn: #e9eef5;
      --orange: #ef8b1e;
      --orange-dark: #d77409;
      --mint: #dcefe7;
      --white: #ffffff;
      --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
      --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.12);
      --danger: #ff5038;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: Arial, Helvetica, sans-serif;
      background: var(--bg-main);
      color: var(--text-main);
      font-size: 18px;
      line-height: 1.55;
      overflow-x: hidden;
    }

    a {
      color: inherit;
    }

    button,
    input[type="submit"],
    input[type="button"],
    .side-nav a,
    .contract-btn,
    .home-link {
      text-transform: uppercase;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 200;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--line);
    }

    .header-inner {
      max-width: 1280px;
      margin: 0 auto;
      padding: 16px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
    }

    .logo {
      text-decoration: none;
      font-size: 28px;
      font-weight: 900;
      color: var(--text-main);
      letter-spacing: 0.5px;
      display: flex;
      align-items: center;
      gap: 10px;
      white-space: nowrap;
    }

    .logo small {
      font-size: inherit;
      font-weight: inherit;
      color: inherit;
      letter-spacing: 0.5px;
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }

    .top-btn {
      border: none;
      border-radius: 14px;
      padding: 14px 22px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .top-btn.primary {
      background: var(--light-btn);
      color: var(--text-main);
    }

    .top-btn.primary:hover {
      background: #dde5ef;
      transform: translateY(-2px);
    }

    .top-btn.secondary {
      background: var(--blue);
      color: #fff;
    }

    .top-btn.secondary:hover {
      background: var(--blue-dark);
      transform: translateY(-2px);
    }

    .burger {
      width: 52px;
      height: 52px;
      border: none;
      border-radius: 14px;
      background: #2f7085;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 6px;
      padding: 0 14px;
      cursor: pointer;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
    }

    .burger:hover {
      transform: translateY(-2px);
      background: #92cbdb;
    }

    .burger span {
      display: block;
      width: 100%;
      height: 3px;
      background: #111111;
      border-radius: 999px;
    }

    .side-menu {
      position: fixed;
      top: 0;
      right: -380px;
      width: 350px;
      max-width: 92%;
      height: 100vh;
      background: #ffffff;
      z-index: 300;
      box-shadow: -12px 0 30px rgba(0, 0, 0, 0.12);
      transition: right 0.3s ease;
      padding: 24px 20px;
      overflow-y: auto;
    }

    .side-menu.active {
      right: 0;
    }

    .menu-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.35);
      opacity: 0;
      visibility: hidden;
      transition: 0.25s ease;
      z-index: 250;
    }

    .menu-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .side-menu-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 24px;
      gap: 12px;
    }

    .side-menu-title {
      font-size: 24px;
      font-weight: 900;
    }

    .close-side-menu {
      border: none;
      background: transparent;
      font-size: 34px;
      line-height: 1;
      cursor: pointer;
      color: var(--text-main);
    }

    .side-nav {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .side-nav a,
    .side-nav button {
      text-decoration: none;
      color: var(--text-main);
      background: #2f7085;
      padding: 14px 16px;
      border-radius: 14px;
      font-weight: 800;
      border: none;
      text-align: left;
      cursor: pointer;
      transition: 0.2s ease;
      font-size: 15px;
    }

    .side-nav a:hover,
    .side-nav button:hover {
      background: #92cbdb;
    }

    .hero {
      max-width: 1280px;
      margin: 28px auto 24px;
      padding: 0 20px;
    }

    .hero-content {
      position: relative;
      border-radius: 34px;
      padding: 48px;
      /* Фон для 1-го блока "ТВОЙ ВЫБОР — ТВОЁ БУДУЩЕЕ".
         Картинка хранится в папке images:
         images/1bl.JPG
         Этот комментарий виден только в коде и не отображается на странице. */
      background:
        linear-gradient(135deg, rgba(22, 31, 53, 0.46), rgba(31, 43, 71, 0.40)),
        url("images/1bl.JPG") center/cover no-repeat;
      box-shadow: var(--shadow-lg);
      overflow: hidden;
    }

    .hero-content::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(10, 16, 30, 0.48) 0%, rgba(10, 16, 30, 0.34) 45%, rgba(10, 16, 30, 0.18) 100%);
      pointer-events: none;
    }

    .hero-inner {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      gap: 28px;
    }

    .hero-badge {
      display: inline-flex;
      width: fit-content;
      padding: 10px 16px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.15);
      font-size: 14px;
      font-weight: 800;
      text-decoration: none;
    }

    .hero-title {
      max-width: 800px;
      color: #fff;
      font-size: clamp(34px, 5vw, 64px);
      font-weight: 900;
      line-height: 1.04;
      text-transform: uppercase;
    }

    .hero-subtitle {
      max-width: 880px;
      color: rgba(255, 255, 255, 0.95);
      font-size: clamp(16px, 2vw, 23px);
      line-height: 1.5;
    }

    .hero-buttons {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      justify-content: flex-end;
      width: 100%;
    }

    .hero-actions-row {
      justify-content: flex-start;
      align-items: center;
    }

    .hero-actions-row .hero-btn {
      flex: 0 0 auto;
    }

    .hero-btn {
      border: none;
      border-radius: 16px;
      padding: 16px 26px;
      font-size: 16px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .hero-btn.primary {
      background: var(--blue);
      color: #fff;
    }

    .hero-btn.primary:hover {
      background: var(--blue-dark);
      transform: translateY(-2px);
    }

    .hero-btn.secondary {
      background: var(--light-btn);
      color: var(--text-main);
    }

    .hero-btn.secondary:hover {
      background: #dde5ef;
      transform: translateY(-2px);
    }

    .hero-btn.primary.callback-btn {
      background: #dff0ff;
      color: var(--text-main);
    }

    .hero-btn.primary.callback-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    #fundPl .contract-btn,
    #fundLife .contract-btn {
      background: #2f7085;
      color: var(--text-main);
    }

    #fundPl .contract-btn:hover,
    #fundLife .contract-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .hero-cards {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
      margin-top: 8px;
    }

    .hero-card {
      background: rgba(255, 255, 255, 0.13);
      backdrop-filter: blur(4px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 22px;
      padding: 20px;
      min-height: 212px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 14px;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
      cursor: pointer;
    }

    .hero-card:hover {
      transform: translateY(-4px);
      background: rgba(255, 255, 255, 0.18);
    }

    .hero-card-title {
      font-size: 18px;
      line-height: 1.28;
      font-weight: 900;
      color: #ffffff;
      text-transform: uppercase;
      min-height: 46px;
    }

    .hero-card-text {
      color: rgba(255, 255, 255, 0.86);
      font-size: 14px;
      line-height: 1.45;
      flex: 1;
      min-height: 62px;
      display: flex;
      align-items: flex-start;
    }

    .hero-card-btn {
      margin-top: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      align-self: flex-start;
      gap: 6px;
      width: auto;
      text-decoration: none;
      background: transparent;
      color: #ffffff;
      border: none;
      outline: none;
      border-radius: 0;
      padding: 0;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.2;
      text-transform: none;
      box-shadow: none;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .hero-card-btn:hover,
    .hero-card-btn:focus-visible {
      transform: translateX(2px);
      background: transparent;
      box-shadow: none;
      opacity: 0.88;
    }

    .hero-services-title {
      margin: 26px 0 14px;
      font-size: 24px;
      line-height: 1.2;
      font-weight: 900;
      color: #ffffff;
      text-transform: uppercase;
    }

    .hero-services-cards {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      width: 100%;
    }

    .hero-service-card {
      background: rgba(255, 255, 255, 0.13);
      backdrop-filter: blur(4px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 22px;
      padding: 22px 20px;
      min-height: 212px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 14px;
      text-decoration: none;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
      cursor: pointer;
    }

    .hero-service-card:hover,
    .hero-service-card:focus-visible {
      transform: translateY(-4px);
      background: rgba(255, 255, 255, 0.18);
      outline: none;
    }

    .hero-service-card-title {
      font-size: 20px;
      line-height: 1.28;
      font-weight: 900;
      color: #ffffff;
      text-transform: uppercase;
      min-height: 52px;
    }

    .hero-service-card-text {
      color: rgba(255, 255, 255, 0.86);
      font-size: 14px;
      line-height: 1.5;
      flex: 1;
    }

    .hero-service-card-btn {
      text-align: left;
      text-decoration: none;
      align-self: flex-start;
      justify-content: flex-start;
      cursor: pointer;
    }

    .hero-service-card-btn:hover,
    .hero-service-card-btn:focus-visible {
      transform: translateX(2px);
      opacity: 0.88;
      outline: none;
    }

    #openMilitaryCalcCard,
    #openIndividualSupportCard {
      text-align: left;
      align-items: flex-start;
      text-transform: none;
    }

    #openMilitaryCalcCard .hero-service-card-title,
    #openMilitaryCalcCard .hero-service-card-text,
    #openIndividualSupportCard .hero-service-card-title,
    #openIndividualSupportCard .hero-service-card-text {
      width: 100%;
      text-align: left;
    }

    #openMilitaryCalcCard .hero-service-card-btn,
    #openIndividualSupportCard .hero-service-card-btn {
      width: 100%;
      justify-content: flex-start;
      text-align: left;
    }

  .social-legal-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(4px);
    padding: 12px;
    overflow-y: auto;
  }

  .social-legal-modal.active {
    display: block;
  }

  .social-legal-modal-dialog {
    position: relative;
    width: 100%;
    max-width: 860px;
    max-height: min(88vh, 920px);
    margin: 40px auto;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .social-legal-form-card {
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 920px);
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: none;
    border-radius: 24px;
    box-shadow: none;
  }

  .social-legal-form-card::before {
    display: none;
  }

  .social-legal-modal-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .social-legal-modal-header {
    position: relative;
    flex-shrink: 0;
    padding: 24px 64px 18px 22px;
    background: #fff;
    border-bottom: 1px solid #e7edf5;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
    text-align: center;
  }

  .social-legal-modal-header h2 {
    margin: 0;
    text-align: center;
    font-size: 2rem;
    color: var(--text-main);
  }

  .social-legal-form-subtitle {
    color: var(--text-soft);
    margin: 12px auto 0;
    max-width: 620px;
    font-size: 1rem;
  }

  #socialLegalForm {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .social-legal-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 22px 22px 18px;
  }

  .social-legal-modal-footer {
    flex-shrink: 0;
    padding: 18px 22px 22px;
    background: #fff;
    border-top: 1px solid #e7edf5;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
  }

  .social-legal-modal-close {
    position: absolute;
    right: 16px;
    top: 14px;
    background: transparent;
    border: none;
    font-size: 32px;
    cursor: pointer;
    line-height: 1;
    color: var(--text-main);
    z-index: 3;
    transition: 0.2s ease;
  }

  .social-legal-modal-close:hover {
    color: var(--blue-dark);
  }

  .social-legal-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .social-legal-form-group {
    margin-bottom: 18px;
    text-align: left;
  }

  .social-legal-form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-main);
    font-size: 1rem;
    font-weight: 800;
  }

  .social-legal-form-group input,
  .social-legal-form-group textarea,
  .social-legal-form-group select {
    width: 100%;
    padding: 13px 14px;
    background: #ffffff;
    border: 1px solid #d8dce2;
    color: #111;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    outline: none;
    transition: 0.2s ease;
  }

  .social-legal-form-group input:focus,
  .social-legal-form-group textarea:focus,
  .social-legal-form-group select:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.15);
  }

  .social-legal-form-group textarea {
    min-height: 170px;
    resize: vertical;
  }

  .social-legal-consent-label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    line-height: 1.45;
    font-weight: 400 !important;
  }

  .social-legal-consent-label input[type="checkbox"] {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    min-height: auto;
  }

  .social-legal-consent-label a,
  .social-legal-note a {
    color: var(--blue-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 700;
  }

  .social-legal-submit-btn {
    width: 100%;
    border: none;
    border-radius: 14px;
    padding: 15px 20px;
    background: var(--blue);
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    transition: 0.25s ease;
    min-height: 54px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: var(--shadow);
  }

  .social-legal-submit-btn:hover {
    background: var(--blue-dark);
    transform: translateY(-2px);
  }

  body.index-copy-flow-active .social-legal-submit-btn {
    background: #2f7085;
    color: var(--text-main);
  }

  body.index-copy-flow-active .social-legal-submit-btn:hover {
    background: #92cbdb;
  }

  .social-legal-note {
    margin-top: 18px;
    font-size: 0.92rem;
    color: var(--text-soft);
    line-height: 1.6;
  }

    .container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 20px 44px;
    }

    .section {
      background: rgba(255, 255, 255, 0.62);
      border-radius: 28px;
      padding: 30px;
      margin-bottom: 28px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255, 255, 255, 0.5);
    }

    .section h2 {
      font-size: 1.85rem;
      line-height: 1.25;
      text-align: center;
      margin-bottom: 22px;
    }

    .big-title {
      font-size: 2.1rem;
      line-height: 1.2;
      text-align: center;
      margin-bottom: 18px;
    }

    .subtitle {
      font-size: 1.15rem;
      text-align: center;
      color: var(--text-soft);
      margin-bottom: 24px;
    }

    .content-flex {
      display: flex;
      gap: 28px;
      align-items: flex-start;
      flex-wrap: wrap;
    }

    .text-part,
    .video-part {
      flex: 1 1 420px;
      min-width: 280px;
    }

    .video-frame {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      background: #000;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    .video-frame video,
    .video-frame img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
    }
	.custom-video-player {
  position: relative;
}

.video-quality-menu {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.video-quality-toggle {
  border: none;
  background: rgba(17, 17, 17, 0.78);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: 0.25s ease;
}

.video-quality-toggle:hover {
  background: rgba(17, 17, 17, 0.92);
}

.video-quality-list {
  display: none;
  flex-direction: column;
  gap: 6px;
  min-width: 100px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(17, 17, 17, 0.86);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.video-quality-list.open {
  display: flex;
}

.video-quality-option {
  border: none;
  background: transparent;
  color: #ffffff;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}

.video-quality-option:hover {
  background: rgba(255, 255, 255, 0.14);
}

.video-quality-option.active {
  background: var(--blue);
  color: #ffffff;
}
.video-switcher {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.video-switch-btn {
  border: none;
  background: #2f7085;
  color: #111111;
  padding: 12px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: 0.25s ease;
}

.video-switch-btn:hover {
  transform: translateY(-2px);
  background: #92cbdb;
}

.video-switch-btn.active {
  background: var(--blue);
  color: #ffffff;
}

.character-choice-section .video-part {
  display: flex;
  flex-direction: column;
}
    .video-frame video {
      object-fit: cover;
      background: #000;
    }

    #fundPl .video-frame,
    #fundLife .video-frame {
      background: #ffffff;
    }

    #fundPl .content-flex,
    #fundLife .content-flex {
      align-items: stretch;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      display: flex;
      flex-direction: column;
    }

    #fundPl .contract-btn,
    #fundLife .contract-btn {
      margin-top: auto;
      align-self: flex-start;
    }

    #fundPl .video-frame img {
      object-fit: cover;
      padding: 0;
    }

    #fundLife .video-frame img {
      object-fit: cover;
      padding: 0;
    }

	.fund-image {
  background-image: url("images/bg-index-placdarm1.JPG");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 300px;
  border-radius: 16px;
}
	
    .fund-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .fund-card {
      background: #fff;
      border-radius: 22px;
      padding: 26px;
      box-shadow: var(--shadow);
      border: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      gap: 16px;
      min-height: 240px;
    }

    .fund-card h3 {
      font-size: 1.5rem;
      color: var(--blue-dark);
    }

    .fund-card p {
      color: var(--text-soft);
    }

    .fund-card .contract-btn {
      margin-top: auto;
      align-self: flex-start;
    }

    .fund-grid-single {
      grid-template-columns: 1fr;
      justify-items: center;
    }

    .fund-grid-single .fund-card {
      width: min(100%, 980px);
    }

    #fundPl .fund-card,
    #fundLife .fund-card {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    #fundPl .fund-card::before,
    #fundLife .fund-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,255,255,0.88)), url("images/panama-hero.png") center/cover no-repeat;
      opacity: 0.38;
      z-index: -1;
    }

    .contract-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: none;
      border-radius: 14px;
      padding: 15px 24px;
      background: var(--blue);
      color: #fff;
      font-weight: 800;
      text-decoration: none;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .contract-btn:hover {
      background: var(--blue-dark);
      transform: translateY(-2px);
    }

    .inline-link-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 16px;
      border-radius: 12px;
      background: var(--blue);
      color: #fff !important;
      font-weight: 800;
      text-decoration: none;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
      margin-top: 8px;
    }

    .inline-link-btn:hover {
      background: var(--blue-dark);
      transform: translateY(-2px);
    }

    .inline-link-btn.white-btn {
      display: inline;
      padding: 0;
      margin: 0;
      border-radius: 0;
      background: transparent;
      color: inherit !important;
      border: none;
      box-shadow: none;
      font-weight: inherit;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .inline-link-btn.white-btn:hover {
      background: transparent;
      transform: none;
      color: inherit !important;
      opacity: 0.85;
    }

    .home-link {
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 22px;
      border-radius: 14px;
      background: var(--accent, var(--blue, #6ea8ff));
      color: #fff;
      font-size: 15px;
      font-weight: 800;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
      white-space: nowrap;
    }

    .home-link:hover {
      transform: translateY(-2px);
      filter: brightness(0.95);
    }

    .hero-card-btn {
      width: auto;
      border: none;
      cursor: pointer;
      -webkit-appearance: none;
      appearance: none;
    }

    .fund-photo-section {
      position: relative;
      overflow: hidden;
    }

    .fund-photo-section::before {
      content: "";
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      opacity: 0.22;
      transform: scale(1.04);
    }

    .fund-photo-section > * {
      position: relative;
      z-index: 1;
    }

    #fundPl::before {
      /* Фон для блока "Благотворительный фонд «ПлАЦДАРМ»".
         Картинка хранится в папке images:
         images/bg-index-placdarm1.JPG */
      background-image: url("images/bg-index-placdarm1.JPG");
    }

    #fundLife::before {
      /* Фон для блока "Центр социальной поддержки «Сила Жить»".
         Картинка хранится в папке images:
         images/bg-fund-sila-zhit12.jpg */
      background-image: url("images/bg-fund-sila-zhit12.jpg");
    }

    .character-choice-section {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .character-choice-section::before {
      content: "";
      position: absolute;
      inset: 0;
      /* Фоновая картинка для 4-го блока хранится в папке images:
         images/4bloc.jpg */
      background:
        linear-gradient(135deg, rgba(10, 16, 30, 0.82), rgba(10, 16, 30, 0.54)),
        url("images/4bloc.jpg") center/cover no-repeat;
      opacity: 0.96;
      z-index: -1;
      transform: scale(1.03);
    }

    .character-choice-section > * {
      position: relative;
      z-index: 1;
    }

    .character-choice-section .big-title {
      color: #ffffff;
      text-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
    }

    .character-choice-section .text-part {
      background: transparent;
      border-radius: 0;
      padding: 0;
      box-shadow: none;
      backdrop-filter: none;
      color: #ffffff;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    }

    .character-choice-section .text-part p,
    .character-choice-section .text-part strong {
      color: #ffffff;
    }

    .character-choice-section .video-frame {
      box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
    }

.character-choice-section .history-action-row {
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
  position: relative;
  z-index: 1;
}

.character-choice-section .history-action-btn {
  border: none;
  background: #2f7085;
  color: #111111;
  padding: 14px 24px;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: 0.25s ease;
}

.character-choice-section .history-action-btn:hover {
  transform: translateY(-2px);
  background: #92cbdb;
}

.character-choice-section .history-action-row-desktop {
  display: flex;
}

.character-choice-section .history-action-row-mobile {
  display: none;
}

@media (max-width: 768px) {
  .character-choice-section .history-action-row-desktop {
    display: none;
  }

  .character-choice-section .history-action-row-mobile {
    display: flex;
    width: 100%;
  }
}

    .fund-card {
      background: rgba(255,255,255,0.9);
      backdrop-filter: blur(2px);
    }

    .modal {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 1000;
      background: rgba(0, 0, 0, 0.68);
      backdrop-filter: blur(4px);
      padding: 12px;
      overflow-y: auto;
    }

    .modal-content {
      position: relative;
      width: 100%;
      max-width: 720px;
      margin: 40px auto;
      background: #fff;
      border-radius: 24px;
      padding: 26px 22px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
    }

    .calc-modal-content {
      max-width: 1180px;
    }

    .benefit-modal-content {
      max-width: 860px;
      max-height: min(88vh, 900px);
      padding: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .benefit-modal-header {
      position: relative;
      flex-shrink: 0;
      padding: 26px 64px 18px 22px;
      background: #fff;
      border-bottom: 1px solid #e7edf5;
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .benefit-modal-body {
      flex: 1;
      overflow-y: auto;
      padding: 22px 22px 18px;
    }

    .close-btn {
      position: absolute;
      right: 16px;
      top: 12px;
      background: transparent;
      border: none;
      font-size: 32px;
      cursor: pointer;
      line-height: 1;
      color: var(--text-main);
    }

    .modal h2 {
      text-align: center;
      margin-bottom: 22px;
      font-size: 2rem;
    }

    .benefit-modal-title {
      color: var(--blue-dark);
      margin: 0;
      padding-right: 8px;
    }

    .benefit-modal-text {
      font-size: 1rem;
      line-height: 1.7;
      color: var(--text-main);
    }

    .benefit-modal-text p,
    .benefit-modal-text ul,
    .benefit-modal-text ol {
      margin-bottom: 16px;
    }

    .benefit-modal-text ul,
    .benefit-modal-text ol {
      padding-left: 24px;
    }

    .benefit-modal-text a {
      color: var(--blue-dark);
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
      word-break: normal;
    }

    .benefit-modal-text code {
      display: inline-block;
      background: #eef3fa;
      border-radius: 8px;
      padding: 2px 8px;
      font-size: 0.92rem;
      color: #1f2b47;
    }

    .benefit-modal-action {
      flex-shrink: 0;
      padding: 18px 22px 22px;
      background: #fff;
      border-top: 1px solid #e7edf5;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .benefit-modal-action .contract-btn {
      min-width: 0;
      width: 100%;
      min-height: 56px;
      padding: 16px 20px;
      justify-content: center;
      text-align: center;
      white-space: normal;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: 0;
      background: #2f7085;
      color: var(--text-main);
    }

    .benefit-modal-action .contract-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .benefit-modal-action .benefit-details-btn {
      background: var(--light-btn);
      color: var(--text-main);
    }

    .benefit-modal-action .benefit-details-btn:hover {
      background: #dde5ef;
      color: var(--text-main);
    }

    .benefit-modal-content .close-btn {
      top: 18px;
      right: 16px;
      z-index: 3;
    }

    .service-modal-content {
      max-width: 860px;
      max-height: min(88vh, 920px);
      padding: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .service-modal-header {
      position: relative;
      flex-shrink: 0;
      padding: 24px 64px 18px 22px;
      background: #fff;
      border-bottom: 1px solid #e7edf5;
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .service-modal-title {
      margin: 0;
      text-align: center;
      font-size: 2rem;
    }

    .service-modal-form {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .service-modal-body {
      flex: 1;
      overflow-y: auto;
      padding: 22px 22px 18px;
    }

    .service-modal-footer {
      flex-shrink: 0;
      padding: 18px 22px 22px;
      background: #fff;
      border-top: 1px solid #e7edf5;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .service-modal-footer .submit-btn {
      margin: 0;
      background: #2f7085;
      color: var(--text-main);
    }

    .service-modal-footer .submit-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .service-modal-content .close-btn {
      top: 14px;
      right: 16px;
      z-index: 3;
    }

.contract-modal-content {
  max-width: 860px;
  max-height: min(88vh, 920px);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.contract-modal-header {
  position: relative;
  flex-shrink: 0;
  padding: 24px 64px 18px 22px;
  background: #fff;
  border-bottom: 1px solid #e7edf5;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
  z-index: 2;
}

.contract-modal-title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  line-height: 1.12;
  color: var(--text-main);
}

.contract-modal-form {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  gap: 0;
}

.contract-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 22px 22px 18px;
}

.form-group select:focus,
.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--blue-dark);
  box-shadow: 0 0 0 4px rgba(79, 141, 240, 0.15);
}

.form-group select:disabled,
.form-group input:disabled,
.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #eef2f7;
  color: #7a8694;
  box-shadow: none;
}

.contract-modal-footer {
  position: static;
  flex-shrink: 0;
  margin-top: 0;
  padding: 18px 22px 22px;
  background: #fff;
  border-top: 1px solid #e7edf5;
  box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
  z-index: 2;
}

.contract-modal-content .close-btn {
  top: 14px;
  right: 16px;
  z-index: 3;
}

.note {
  margin-top: 10px;
  text-align: center;
  color: var(--text-soft);
  font-size: 0.92rem;
  min-height: 1em;
}

    .fund-choice-list {
      display: grid;
      gap: 16px;
      max-width: 560px;
      margin: 0 auto;
    }

    .fund-choice-note {
      margin: -6px auto 20px;
      max-width: 560px;
      text-align: center;
      color: var(--text-soft);
      line-height: 1.6;
    }

    .fund-choice-link {
      width: 100%;
      min-height: 58px;
      text-align: center;
      background: #2f7085;
      color: var(--text-main);
    }

    .fund-choice-link:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .form-group {
      margin-bottom: 18px;
    }

    .form-group label {
      display: block;
      margin-bottom: 8px;
      font-weight: 800;
      font-size: 0.98rem;
    }

    .form-group select,
    .form-group input,
    .form-group textarea {
      width: 100%;
      padding: 13px 14px;
      border: 1px solid #d8dce2;
      border-radius: 12px;
      font-size: 15px;
      background: #fff;
      color: #000;
      outline: none;
    }

    .form-group textarea {
      resize: vertical;
      min-height: 110px;
    }

    .calc-box {
      background: #f7f9fc;
      border: 1px solid #e1e7ef;
      border-radius: 14px;
      padding: 14px 16px;
      min-height: 56px;
      display: flex;
      align-items: center;
      line-height: 1.5;
    }

    .calc-box strong {
      color: var(--blue-dark);
      font-size: 1.05rem;
    }

    .consent-label {
      display: flex !important;
      align-items: flex-start;
      gap: 10px;
      cursor: pointer;
      line-height: 1.45;
      font-weight: 400 !important;
    }

    .consent-label input[type="checkbox"] {
      margin-top: 3px;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }

    .submit-btn {
      width: 100%;
      border: none;
      border-radius: 14px;
      padding: 15px 20px;
      background: var(--blue);
      color: #fff;
      font-size: 1rem;
      font-weight: 900;
      cursor: pointer;
      transition: 0.25s ease;
    }

    .submit-btn:hover {
      background: var(--blue-dark);
    }

    .calc-tabs {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 20px;
    }

    .calc-tab-btn {
      border: none;
      border-radius: 14px;
      padding: 15px 24px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      background: #2f7085;
      color: var(--text-main);
      box-shadow: var(--shadow);
      transition: 0.25s ease;
    }

    .calc-tab-btn:hover {
      background: #92cbdb;
      transform: translateY(-2px);
    }

    .calc-tab-btn.active {
      background: #92cbdb;
      color: var(--text-main);
      box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow);
    }

    .calc-panel {
      display: none;
    }

    .calc-panel.active {
      display: block;
    }

    .region-calc-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: start;
    }

    .region-info-card {
      background: #eef6ff;
      border-radius: 18px;
      padding: 18px;
      box-shadow: var(--shadow);
    }

    .region-info-card strong {
      display: block;
      margin-bottom: 10px;
      font-size: 16px;
    }

    .region-value {
      font-size: 22px;
      line-height: 1.35;
      font-weight: 900;
      color: var(--blue-dark);
      white-space: pre-line;
    }

    .region-value.total-value {
      color: #3f93ad;
    }

    .region-info-card-full {
      grid-column: 1 / -1;
    }

    .money-calc-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.9fr);
      gap: 24px;
      align-items: start;
    }

    .money-calc-panel {
      background: #eef6ff;
      border-radius: 22px;
      box-shadow: var(--shadow);
      padding: 22px;
    }

    .money-calc-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .money-calc-inline-row {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      align-items: end;
    }

    .money-calc-inline-row .form-group {
      margin-bottom: 0;
    }

    .money-calc-full {
      grid-column: 1 / -1;
    }

    .money-calc-group-title {
      font-size: 1.08rem;
      font-weight: 900;
      color: var(--blue-dark);
      margin: 2px 0 4px;
    }

    .money-calc-help {
      color: var(--text-soft);
      font-size: 0.95rem;
      margin-bottom: 6px;
    }

    .money-calc-note {
      margin-top: 16px;
      color: var(--text-soft);
      font-size: 0.94rem;
    }

    .money-calc-results {
      display: grid;
      gap: 14px;
      position: sticky;
      top: 18px;
      align-self: start;
    }

    .money-result {
      background: #fff;
      border-radius: 18px;
      padding: 16px 18px;
      box-shadow: var(--shadow);
      border: 1px solid #edf1f6;
    }

    .money-result strong {
      display: block;
      font-size: 0.95rem;
      margin-bottom: 8px;
      color: var(--text-soft);
    }

    .money-result span {
      display: block;
      font-size: 1.45rem;
      line-height: 1.18;
      font-weight: 900;
      color: var(--text-main);
    }

    .money-result.accent span {
      color: var(--blue-dark);
    }

    #moneyResOds {
      color: var(--text-main) !important;
    }

    .money-result.warn span {
      color: #d96a1b;
    }

    .money-result.success span {
      color: #3f93ad;
    }

    .field-help {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      margin-left: 8px;
      border-radius: 50%;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 900;
      line-height: 1;
      cursor: help;
      vertical-align: middle;
      box-shadow: var(--shadow);
    }

    .field-help:hover {
      background: var(--blue-dark);
    }

    .help-popup {
      position: fixed;
      inset: 0;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(0, 0, 0, 0.45);
      z-index: 1200;
    }

    .help-popup.active {
      display: flex;
    }

    .help-popup-card {
      width: min(100%, 560px);
      background: #fff;
      border-radius: 20px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
      padding: 22px 20px 18px;
      position: relative;
    }

    .help-popup-title {
      font-size: 1.2rem;
      font-weight: 900;
      color: var(--blue-dark);
      margin-bottom: 12px;
      padding-right: 34px;
    }

    .help-popup-text {
      color: var(--text-main);
      line-height: 1.6;
    }

    .help-popup-close {
      position: absolute;
      top: 10px;
      right: 12px;
      border: none;
      background: transparent;
      font-size: 30px;
      line-height: 1;
      color: var(--text-main);
      cursor: pointer;
    }

    .money-reset-btn {
      border: none;
      border-radius: 14px;
      padding: 15px 24px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      background: #2f7085;
      color: var(--text-main);
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .money-reset-btn:hover {
      background: #92cbdb;
      transform: translateY(-2px);
    }

    .site-footer {
      background: #1a1d24;
      color: #fff;
      padding: 42px 20px 28px;
      margin-top: 16px;
    }

.footer-container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.12fr) minmax(0, 1.12fr) minmax(0, 0.98fr) minmax(0, 1.08fr);
  gap: 30px;
  align-items: start;
}

.footer-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: start;
}

@media (min-width: 981px) {
  .footer-col--offices {
    grid-column: 1;
  }

  .footer-col--contacts-placdarm {
    grid-column: 2;
    position: relative;
    left: 0.5cm;
  }

  .footer-col--contacts-life {
    grid-column: 3;
    position: relative;
    left: 0.5cm;
  }

  .footer-col--info {
    grid-column: 5;
    position: relative;
    left: 1.5cm;
  }

  .footer-col--legal-info {
    grid-column: 4;
    position: relative;
    left: 0.5cm;
  }
}

    .footer-col h3 {
      color: #8ec0ff;
      margin-bottom: 18px;
      font-size: 1.15rem;
      line-height: 1.2;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .footer-col ul {
      list-style: none;
    }

    .footer-col li {
      margin-bottom: 10px;
      color: #d3d9e4;
    }

    .footer-col a {
      color: #d3d9e4;
      text-decoration: none;
      transition: 0.2s ease;
    }

    .footer-col a:hover {
      color: #fff;
    }

    .footer-col--legal-info h3 {
      letter-spacing: 0;
    }

    .footer-col--legal-info ul,
    .footer-col--legal-info li {
      width: 100%;
    }

    .footer-doc-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      padding: 12px 14px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: #f0f5ff !important;
      font-weight: 700;
      line-height: 1.35;
      transition: 0.2s ease;
    }

    .footer-doc-link::after {
      content: "→";
      flex-shrink: 0;
      color: #8ec0ff;
      font-size: 1rem;
      transition: transform 0.2s ease;
    }

    .footer-doc-link:hover {
      background: rgba(142, 192, 255, 0.12);
      border-color: rgba(142, 192, 255, 0.24);
      color: #fff !important;
      transform: translateY(-1px);
    }

    .footer-doc-link:hover::after {
      transform: translateX(2px);
    }

    .footer-bottom {
      max-width: 1280px;
      margin: 28px auto 0;
      padding-top: 18px;
      border-top: 1px solid rgba(255, 255, 255, 0.12);
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      color: #aeb7c7;
      font-size: 0.92rem;
    }

    #benefitModalLink {
      padding: 16px 20px;
      font-size: 16px;
      border-radius: 14px;
      margin: 0;
    }

    @media (min-width: 769px) {
      .hero-cards,
      .hero-services-cards {
        margin-left: -18px;
        margin-right: -18px;
      }
    }

    @media (max-width: 1200px) {
      .hero-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .hero-services-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 980px) {
      .footer-col--offices {
        order: 1;
      }

      .footer-col--contacts-placdarm {
        order: 2;
      }

      .footer-col--contacts-life {
        order: 3;
      }

      .footer-col--info {
        order: 5;
      }

      .footer-col--legal-info {
        order: 4;
      }

      .fund-grid,
      .money-calc-layout,
      .region-calc-grid {
        grid-template-columns: 1fr;
      }

      .money-calc-results {
        position: static;
      }

      .footer-container {
        grid-template-columns: 1fr;
      }

      .footer-col h3 {
        white-space: normal;
      }
    }

    @media (max-width: 768px) {
      body {
        font-size: 16px;
      }

      .header-inner {
        padding: 14px 16px;
        align-items: flex-start;
      }

      .logo {
        font-size: 22px;
        flex-wrap: wrap;
      }

      .logo small {
        font-size: 13px;
      }

      .top-btn {
        padding: 12px 16px;
        font-size: 14px;
      }

      .burger {
        width: 48px;
        height: 48px;
      }

      .hero {
        padding: 0 14px;
      }

      .hero-content {
        padding: 28px 18px;
      }

      .hero-title {
        font-size: 34px;
      }

      .hero-buttons {
        flex-direction: column;
        align-items: stretch;
      }

      .hero-actions-row {
        flex-direction: row;
        align-items: stretch;
      }

      .hero-actions-row .hero-btn {
        flex: 1 1 220px;
      }

      .hero-cards {
        grid-template-columns: 1fr;
      }

      .hero-services-cards {
        grid-template-columns: 1fr;
      }

      .hero-services-title {
        font-size: 20px;
      }

      .hero-service-card {
        min-height: auto;
        padding-bottom: 18px;
      }

      .hero-card {
        min-height: auto;
        padding-bottom: 18px;
      }

      .header-actions {
        width: 100%;
        justify-content: flex-end;
      }

      .home-link {
        order: 0;
      }

      .fund-grid-single .fund-card {
        width: 100%;
      }

      .container {
        padding: 0 12px 28px;
      }

      .section {
        padding: 22px 18px;
      }

      .big-title {
        font-size: 1.7rem;
      }

      .content-flex {
        flex-direction: column;
      }

      .modal-content {
        margin: 20px auto;
        padding: 24px 16px;
      }

      .benefit-modal-content {
        max-height: calc(100vh - 24px);
        padding: 0;
      }

      .benefit-modal-header {
        padding: 22px 54px 16px 16px;
      }

      .benefit-modal-body {
        padding: 18px 16px 16px;
      }

      .benefit-modal-action {
        padding: 16px;
      }

      .service-modal-content {
        max-height: calc(100vh - 24px);
      }

      .service-modal-header {
        padding: 22px 54px 16px 16px;
      }

      .service-modal-body {
        padding: 18px 16px 16px;
      }

      .service-modal-footer {
        padding: 16px;
      }

      .money-calc-grid {
        grid-template-columns: 1fr;
      }

      .money-calc-inline-row {
        grid-template-columns: 1fr;
      }

      .footer-bottom {
        flex-direction: column;
      }
    }
  

    .consent-label a,
    .legal-links-inline a,
    .footer-legal-links a,
    .legal-footer a,
    .legal-note a {
      color: var(--accent-teal, var(--blue-dark, #3f93ba));
      text-decoration: underline;
      text-underline-offset: 3px;
      font-weight: 700;
    }

    .consent-help,
    .legal-note,
    .legal-links-inline {
      margin-top: 10px;
      font-size: 0.94rem;
      line-height: 1.6;
      color: var(--text-soft, #4d5a5f);
    }

    .legal-links-inline {
      padding: 14px 16px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(0, 0, 0, 0.08);
    }

    .legal-footer {
      margin-top: 32px;
      padding: 18px 20px 26px;
      background: rgba(17, 17, 17, 0.92);
      color: #fff;
    }

    .legal-footer__inner {
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      flex-wrap: wrap;
    }

    .legal-footer__brand {
      font-size: 0.98rem;
      font-weight: 800;
      letter-spacing: 0.3px;
    }

    .legal-footer__links {
      display: flex;
      gap: 16px 22px;
      flex-wrap: wrap;
    }

    .legal-footer__links a {
      color: #d7e7ff;
      text-decoration: underline;
      text-underline-offset: 3px;
      font-size: 0.94rem;
    }

    .legal-footer__links a:hover,
    .footer-legal-links a:hover,
    .consent-label a:hover,
    .legal-links-inline a:hover,
    .legal-note a:hover {
      color: #ffffff;
      opacity: 0.95;
    }

    .payment-legal-card {
      background: #f8fbff;
      border: 1px solid #dfe9f5;
    }

    @media (max-width: 768px) {
      .legal-footer {
        padding: 18px 14px 24px;
      }

      .legal-footer__inner {
        align-items: flex-start;
      }

      .legal-footer__links {
        flex-direction: column;
        gap: 10px;
      }
    }

    /* === mobile polish patch === */
    img,
    svg,
    video,
    canvas,
    iframe {
      max-width: 100%;
      height: auto;
    }

    input,
    select,
    textarea,
    button {
      font: inherit;
    }

    @media (max-width: 768px) {
      html,
      body {
        overflow-x: hidden;
      }

      body {
        font-size: 16px;
        line-height: 1.5;
      }

      .header-inner {
        padding: 14px 16px !important;
        align-items: flex-start;
        gap: 12px;
      }

      .header-actions {
        width: 100%;
        justify-content: flex-end;
        gap: 10px;
      }

      .logo {
        font-size: 22px !important;
        max-width: calc(100% - 60px);
        white-space: normal;
        word-break: normal;
      }

      .logo small {
        font-size: 13px !important;
      }

      .top-btn,
      .hero-btn,
      .donation-btn,
      .contract-button,
      .contract-btn,
      .download-btn,
      .doc-btn,
      .cta-btn,
      .top-link,
      .top-home-btn,
      .back-link,
      .home-link {
        min-height: 46px;
        padding: 12px 16px !important;
        font-size: 14px !important;
      }

      .burger {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px;
      }

      .side-menu {
        width: min(88vw, 360px);
        max-width: 88vw;
        padding: 20px 16px;
      }

      .side-nav a,
      .side-nav button {
        min-height: 46px;
        padding: 13px 14px;
      }

      .hero,
      .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      .hero {
        margin-top: 20px;
      }

      .hero-content {
        padding: 28px 20px !important;
        border-radius: 24px;
      }

      .hero-title,
      .hero h1,
      h1 {
        overflow-wrap: break-word;
      }

      .hero-title,
      .hero h1 {
        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.08;
      }

      .hero-subtitle,
      .hero-description,
      .intro,
      .section-note {
        font-size: 1rem;
      }

      .hero-buttons,
      .donation-buttons,
      .form-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
      }

      .hero-buttons > *,
      .donation-buttons > *,
      .form-actions > * {
        width: 100%;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .contact-info,
      .material-sheet,
      .modal-content,
      .service-modal-content,
      .benefit-modal-content,
      .contract-modal-content {
        border-radius: 22px;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info {
        padding: 20px 16px !important;
      }

      .big-title,
      .section h2,
      .doc-section h2 {
        font-size: clamp(1.25rem, 5vw, 1.65rem) !important;
        line-height: 1.25;
      }

      .docs-grid,
      .content-grid,
      .timeline,
      .bio-layout,
      .units-grid,
      .hero-cards,
      .fund-grid,
      .info-grid,
      .money-calc-layout,
      .money-calc-grid,
      .money-calc-inline-row,
      .region-calc-grid,
      .meta,
      .requisite-info,
      .financial,
      .material,
      .legal-points {
        grid-template-columns: 1fr !important;
      }

      .content-flex,
      .footer-bottom {
        flex-direction: column;
        gap: 18px;
      }

      .text-part,
      .video-part,
      .hero-text {
        min-width: 0;
        width: 100%;
      }

      .photo,
      .video-frame,
      .material-sheet img,
      .doc-card img {
        width: 100%;
        max-width: 100%;
      }

      .modal {
        padding: 8px;
      }

      .modal-content,
      .service-modal-content,
      .benefit-modal-content,
      .contract-modal-content {
        width: 100%;
        max-height: calc(100vh - 16px);
        margin: 8px auto;
      }

      .modal-header,
      .service-modal-header,
      .benefit-modal-header,
      .contract-modal-header {
        padding: 20px 52px 16px 16px !important;
      }

      .modal-title,
      .service-modal-title,
      .benefit-modal-title,
      .contract-modal-title {
        font-size: 1.35rem !important;
        line-height: 1.2;
      }

      .service-modal-body,
      .benefit-modal-body,
      .contract-modal-body,
      .service-modal-footer,
      .contract-modal-footer,
      .benefit-modal-action,
      #contractForm,
      .modal-form-body,
      .modal-form-footer {
        padding: 16px !important;
      }

      .form-group select,
      .form-group input,
      .form-group textarea,
      input,
      select,
      textarea {
        font-size: 16px !important;
      }

      .legal-footer {
        padding: 18px 14px 24px !important;
      }

      .legal-footer__inner {
        align-items: flex-start;
      }

      .legal-footer__links {
        flex-direction: column;
        gap: 10px;
      }

      table {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
      }
    }

    @media (max-width: 640px) {
      .benefit-modal-action {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .benefit-modal-action .contract-btn {
        min-height: 52px;
        padding: 14px 12px;
        font-size: 14px;
      }
    }

    @media (max-width: 480px) {
      .logo {
        font-size: 18px !important;
        max-width: calc(100% - 56px);
      }

      .logo small {
        font-size: 12px !important;
      }

      .hero,
      .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
      }

      .hero-content {
        padding: 24px 16px !important;
        border-radius: 22px;
      }

      .hero-title,
      .hero h1 {
        font-size: clamp(24px, 8vw, 32px) !important;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info {
        padding: 18px 14px !important;
        border-radius: 18px;
      }

      .top-btn,
      .hero-btn,
      .donation-btn,
      .contract-button,
      .contract-btn,
      .download-btn,
      .doc-btn,
      .cta-btn,
      .top-link,
      .top-home-btn,
      .back-link,
      .home-link {
        font-size: 13px !important;
        padding: 12px 14px !important;
      }

      .side-menu {
        width: 100vw;
        max-width: 100vw;
        right: -100vw;
        border-radius: 0;
      }

      .section h2,
      .doc-section h2 {
        font-size: 1.15rem !important;
      }
    }

    .scroll-top-btn {
      position: fixed;
      right: 24px;
      bottom: 24px;
      width: 58px;
      height: 58px;
      border: none;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #2f7085, #92cbdb);
      color: #111111;
      box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
      cursor: pointer;
      z-index: 450;
      opacity: 0;
      visibility: hidden;
      transform: translateY(16px) scale(0.92);
      transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease, box-shadow 0.28s ease;
    }

    .scroll-top-btn::before {
      content: "";
      position: absolute;
      inset: 1px;
      border-radius: inherit;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.12));
      opacity: 0.65;
    }

    .scroll-top-btn svg {
      position: relative;
      z-index: 1;
      width: 24px;
      height: 24px;
      transition: transform 0.25s ease;
    }

    .scroll-top-btn:hover {
      transform: translateY(-3px) scale(1);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22);
    }

    .scroll-top-btn:hover svg {
      transform: translateY(-2px);
    }

    .scroll-top-btn.visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
    }

    @media (max-width: 768px) {
      .scroll-top-btn {
        right: 16px;
        bottom: 16px;
        width: 52px;
        height: 52px;
      }
    }

    /* === adaptive mobile patch 2026-04 === */
    img,
    svg,
    video,
    canvas,
    iframe {
      max-width: 100%;
      height: auto;
    }

    picture {
      display: block;
      max-width: 100%;
    }

    input,
    select,
    textarea,
    button {
      font: inherit;
    }

    @media (max-width: 768px) {
      html,
      body {
        overflow-x: hidden;
        max-width: 100%;
      }

      body {
        font-size: 16px !important;
        line-height: 1.5 !important;
        -webkit-text-size-adjust: 100%;
      }

      .site-header {
        width: 100%;
      }

      .header-inner {
        width: min(100%, 1280px);
        padding: 14px 16px !important;
        gap: 12px !important;
        align-items: flex-start !important;
        flex-wrap: wrap;
      }

      .logo {
        font-size: 22px !important;
        max-width: calc(100% - 64px);
        white-space: normal !important;
        word-break: normal;
        line-height: 1.15;
        flex-wrap: wrap;
        gap: 6px;
      }

      .logo small {
        font-size: 13px !important;
      }

      .header-actions {
        width: 100%;
        justify-content: flex-end !important;
        gap: 10px !important;
        flex-wrap: wrap;
      }

      .top-btn,
      .home-link,
      .top-link {
        min-height: 46px;
        padding: 12px 16px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
      }

      .burger {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px;
        padding: 0 13px !important;
        border-radius: 12px !important;
      }

      .side-menu {
        width: min(92vw, 360px) !important;
        max-width: 92vw !important;
        padding: 20px 16px !important;
      }

      .side-nav a,
      .side-nav button {
        padding: 14px 15px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
        line-height: 1.35;
      }

      .search {
        flex-direction: column !important;
      }

      .page-search-controls {
        grid-template-columns: 1fr !important;
      }

      .search input,
      .page-search-controls input,
      .page-search-controls button,
      .search-btn,
      .search-nav-btn {
        width: 100%;
      }

      .hero,
      .container,
      .index-copy-hero {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      .hero,
      .index-copy-hero {
        margin-top: 20px !important;
      }

      .hero-content,
      .hero-inner,
      .social-legal-hero-content,
      .hero-glass-card,
      .card {
        padding: 26px 18px !important;
        border-radius: 24px !important;
      }

      .hero-title,
      .hero h1,
      .modal-title,
      .contract-modal-title,
      .social-legal-top h2,
      .social-legal-hero-title,
      .card h1,
      h1 {
        font-size: clamp(24px, 7vw, 34px) !important;
        line-height: 1.12 !important;
      }

      .hero-description,
      .hero-subtitle,
      .social-legal-description,
      .social-legal-hero-subtitle,
      .card p {
        font-size: 16px !important;
      }

      .hero-badge,
      .badge,
      .section-eyebrow,
      .pill,
      .legal-badge {
        font-size: 12px !important;
        line-height: 1.3;
      }

      [class*="grid"],
      [class*="cards"],
      .hero-buttons,
      .intro-cards,
      .fund-choice-list,
      .social-legal-form-row,
      .social-legal-points,
      .social-legal-hero-cards,
      .hero-calc-buttons,
      .calc-tabs,
      .page-search-controls,
      .money-calc-inline-row,
      .benefit-modal-action,
      .form-row,
      .legal-points,
      .legal-links-list {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
      }

      .content-flex,
      .footer-container,
      .footer-inner,
      .bio-layout,
      .hero-inner,
      .requisite-info,
      .about-section,
      .modal-form-layout,
      .hero-buttons,
      .search,
      .doc-actions {
        flex-direction: column !important;
        gap: 18px !important;
      }

      .text-part,
      .video-part,
      .photo-part,
      .hero-text,
      .hero-media,
      .hero-card,
      .hero-service-card,
      .hero-action-card,
      .info-card,
      .content-card,
      .doc-card,
      .accent-card,
      .timeline-card,
      .intro-card,
      .about-card,
      .material-sheet,
      .requisite-item,
      .download-box,
      .social-legal-point,
      .social-legal-hero-card,
      .legal-card,
      .card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: auto !important;
      }

      .section,
      .doc-section,
      .social-legal-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info,
      .content-card,
      .doc-card,
      .accent-card,
      .timeline-card,
      .about-card,
      .requisite-item,
      .risk-table-wrapper,
      .download-box,
      .hero-action-card,
      .card {
        padding: 20px 16px !important;
        border-radius: 20px !important;
      }

      .social-legal-form-card {
        padding: 0 !important;
        border-radius: 22px !important;
        max-height: calc(100vh - 24px) !important;
      }

      .social-legal-modal-header {
        padding: 22px 54px 16px 16px !important;
      }

      .social-legal-modal-header h2 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
      }

      .social-legal-modal-body,
      .social-legal-modal-footer {
        padding: 16px !important;
      }

      .video-frame,
      .photo,
      .bio-photo,
      .bio-photo-card img {
        border-radius: 18px !important;
      }

      .video-frame,
      video,
      iframe {
        width: 100% !important;
      }

      .photo,
      img {
        max-width: 100%;
        height: auto;
      }

      .form-group,
      .social-legal-form-group {
        margin-bottom: 14px !important;
      }

      input:not([type="checkbox"]):not([type="radio"]),
      select,
      textarea {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
      }

      textarea {
        min-height: 110px !important;
      }

      .consent-label {
        align-items: flex-start !important;
        gap: 10px !important;
      }

      .contract-modal-form,
      .modal-form-body,
      .contract-modal-body {
        padding: 16px !important;
      }

      .form-actions,
      .modal-form-footer,
      .contract-modal-footer,
      .doc-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
      }

      .submit-btn,
      .contract-btn,
      .contract-button,
      .hero-btn,
      .donation-btn,
      .download-btn,
      .doc-btn,
      .history-action-btn,
      .info-card-cta,
      .info-card-action,
      .back-link,
      .hero-action-cta,
      .fund-choice-link,
      .doc-link-chip {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
        padding: 14px 16px !important;
        font-size: 14px !important;
        text-align: center !important;
        border-radius: 14px !important;
      }

      .hero-card-btn,
      .hero-service-card-btn {
        font-size: 14px !important;
        line-height: 1.35 !important;
        align-self: flex-start;
      }

      .modal {
        padding: 12px !important;
      }

      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .social-legal-modal-dialog {
        width: calc(100% - 8px) !important;
        max-width: none !important;
        margin: 12px auto !important;
        max-height: calc(100vh - 24px) !important;
        border-radius: 22px !important;
      }

      .modal-header,
      .contract-modal-header,
      .benefit-modal-header {
        padding: 20px 54px 16px 16px !important;
      }

      .close-btn,
      .sheet-close-btn,
      .close-side-menu {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .benefit-modal-body,
      .benefit-modal-action {
        padding: 16px !important;
      }

      .scroll-top-btn,
      #scrollTopBtn {
        right: 16px !important;
        bottom: 16px !important;
        width: 52px !important;
        height: 52px !important;
      }

      .legal-footer,
      .site-footer {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      .legal-footer__inner,
      .legal-footer__links {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
      }

      .risk-table-wrapper,
      .table-wrap,
      .table-responsive,
      .download-box,
      .doc-frame-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
      }

      table {
        width: 100%;
      }
    }

    @media (max-width: 480px) {
      body {
        font-size: 15px !important;
      }

      .header-inner {
        padding: 12px !important;
      }

      .logo {
        font-size: 18px !important;
        max-width: calc(100% - 56px);
      }

      .logo small {
        font-size: 12px !important;
      }

      .hero,
      .container,
      .index-copy-hero {
        padding-left: 12px !important;
        padding-right: 12px !important;
      }

      .hero-content,
      .hero-inner,
      .social-legal-hero-content,
      .card {
        padding: 22px 16px !important;
        border-radius: 22px !important;
      }

      .hero-title,
      .hero h1,
      .modal-title,
      .contract-modal-title,
      .social-legal-top h2,
      .social-legal-hero-title,
      .card h1,
      h1 {
        font-size: clamp(22px, 8vw, 30px) !important;
      }

      .section,
      .doc-section,
      .social-legal-section,
      .content-card,
      .doc-card,
      .accent-card,
      .timeline-card,
      .about-card,
      .requisite-item,
      .risk-table-wrapper,
      .download-box,
      .hero-action-card,
      .card {
        padding: 18px 14px !important;
        border-radius: 18px !important;
      }

      .social-legal-form-card {
        padding: 0 !important;
        border-radius: 20px !important;
        max-height: calc(100vh - 16px) !important;
      }

      .social-legal-modal-header {
        padding: 18px 50px 14px 14px !important;
      }

      .social-legal-modal-header h2 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
      }

      .social-legal-modal-body,
      .social-legal-modal-footer {
        padding: 14px !important;
      }

      .top-btn,
      .home-link,
      .top-link,
      .submit-btn,
      .contract-btn,
      .contract-button,
      .hero-btn,
      .download-btn,
      .doc-btn,
      .back-link,
      .fund-choice-link,
      .doc-link-chip {
        font-size: 13px !important;
        min-height: 46px !important;
        padding: 13px 14px !important;
      }

      .burger {
        width: 46px !important;
        height: 46px !important;
      }

      .side-menu {
        max-width: 94vw !important;
      }

      .social-legal-modal-dialog {
        max-height: calc(100vh - 16px);
        margin: 8px auto;
        border-radius: 22px;
      }

      .social-legal-form-card {
        padding: 0 !important;
        border-radius: 20px !important;
        max-height: calc(100vh - 16px) !important;
      }

      .social-legal-modal-header {
        padding: 18px 50px 14px 14px !important;
      }

      .social-legal-modal-header h2 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
      }

      .social-legal-modal-body,
      .social-legal-modal-footer {
        padding: 14px !important;
      }

      .modal {
        padding: 8px !important;
      }

      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .social-legal-modal-dialog {
        width: 100% !important;
        margin: 8px auto !important;
        max-height: calc(100vh - 16px) !important;
        border-radius: 20px !important;
      }

      .modal-header,
      .contract-modal-header,
      .benefit-modal-header {
        padding: 18px 50px 14px 14px !important;
      }

      .contract-modal-form,
      .modal-form-body,
      .contract-modal-body,
      .benefit-modal-body,
      .benefit-modal-action {
        padding: 14px !important;
      }

      .risk-table,
      .rank-table,
      .tariff-table,
      .norm-table,
      .parachute-table,
      .act-table {
        min-width: 560px !important;
        font-size: 0.82rem !important;
      }
    }

  

  /* === universal top bar alignment + logo font sync 2026-04-04 === */
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 1.6vw, 16px) !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-header .logo,
  .site-header .logo small,
  .site-header .logo span {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
  }

  .site-header .logo small {
    white-space: nowrap !important;
    font-size: inherit !important;
  }

  .site-header .header-inner > .header-actions,
  .site-header .header-inner > .back-link,
  .site-header .header-inner > .home-link,
  .site-header .header-inner > .top-link {
    margin-left: auto !important;
  }

  .site-header .header-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(6px, 1.4vw, 12px) !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .site-header .header-actions > * {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: center !important;
  }

  .site-header .top-btn,
  .site-header .home-link,
  .site-header .top-link,
  .site-header .back-link,
  .site-header .cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .site-header .burger {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    aspect-ratio: 1 / 1 !important;
  }

  @media (max-width: 900px) {
    .site-header .header-inner {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    .site-header .logo {
      font-size: clamp(18px, 3.4vw, 24px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 14px !important;
      padding-right: 14px !important;
      font-size: 14px !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .header-inner {
      padding-left: 12px !important;
      padding-right: 12px !important;
      gap: 8px !important;
    }

    .site-header .logo {
      font-size: clamp(15px, 4.2vw, 20px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .header-actions {
      gap: 8px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 10px !important;
      padding-right: 10px !important;
      min-height: 42px !important;
      font-size: 12px !important;
      border-radius: 12px !important;
    }

    .site-header .burger {
      flex-basis: 42px !important;
      width: 42px !important;
      min-width: 42px !important;
      height: 42px !important;
    }
  }

  @media (max-width: 420px) {
    .site-header .header-inner {
      padding-left: 8px !important;
      padding-right: 8px !important;
      gap: 6px !important;
    }

    .site-header .logo {
      font-size: clamp(13px, 4vw, 16px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .header-actions {
      gap: 6px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 8px !important;
      padding-right: 8px !important;
      min-height: 38px !important;
      font-size: 11px !important;
      border-radius: 10px !important;
    }

    .site-header .burger {
      flex-basis: 38px !important;
      width: 38px !important;
      min-width: 38px !important;
      height: 38px !important;
    }
  }

    /* === word-based wrapping fix 2026-04 === */
    html, body {
      overflow-x: hidden;
    }

    .header-inner,
    .header-actions,
    .hero-buttons,
    .list-actions,
    .form-row,
    .units-grid,
    .info-grid,
    .region-calc-grid,
    .money-calc-grid,
    .content-flex,
    .docnav,
    .topnav {
      flex-wrap: wrap;
    }

    .header-inner > *,
    .header-actions > *,
    .hero-buttons > *,
    .list-actions > *,
    .form-row > *,
    .units-grid > *,
    .info-grid > *,
    .region-calc-grid > *,
    .money-calc-grid > *,
    .content-flex > *,
    .docnav > *,
    .topnav > * {
      min-width: 0 !important;
      max-width: 100%;
    }

    h1, h2, h3, h4, h5, h6,
    p, li, label,
    .big-title,
    .subtitle,
    .section h2,
    .hero-title,
    .hero-subtitle,
    .hero-description,
    .hero-card-title,
    .hero-card-text,
    .list-title,
    .list-content,
    .sublist-title,
    .sublist-content,
    .info-card,
    .intro-card,
    .hero-card,
    .region-info-card,
    .region-info-card-full,
    .legal-card,
    .requisite-item,
    .contact-info,
    .form-subtitle,
    .form-group label,
    .side-nav a,
    .side-nav button,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn,
    nav a,
    .logo,
    .docnav a,
    .topnav a {
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      hyphens: manual !important;
      max-width: 100%;
    }

    button,
    [type="button"],
    [type="submit"],
    a[class*="btn"],
    .list-title,
    .sublist-title,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn,
    nav a,
    .side-nav a,
    .side-nav button,
    .docnav a,
    .topnav a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      min-width: 0;
      max-width: 100%;
      line-height: 1.35;
    }

    .list-title,
    .sublist-title,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn {
      height: auto;
    }

    [class*="card"],
    .list-item,
    .list-content,
    .sublist-item,
    .sublist-content,
    .form-block,
    .modal-content,
    .contact-info,
    .requisite-item {
      min-width: 0;
      max-width: 100%;
    }

    .form-group,
    .form-group input,
    .form-group select,
    .form-group textarea,
    .search,
    .search input,
    .search-btn {
      min-width: 0;
      max-width: 100%;
    }

    @media (max-width: 768px) {
      .logo {
        white-space: normal !important;
        text-align: center;
      }

      .header-actions,
      .hero-buttons,
      .list-actions,
      .form-row,
      .docnav,
      .topnav {
        justify-content: center;
      }

      .top-btn,
      .hero-btn,
      .hero-card-btn,
      .contract-btn,
      .submit-btn,
      .list-link-btn,
      .download-btn,
      .donation-btn,
      .cta-btn,
      .calc-tab-btn,
      .calc-open-btn,
      .money-reset-btn,
      nav a,
      .side-nav a,
      .side-nav button,
      .docnav a,
      .topnav a {
        width: 100%;
      }
    }

  
/* === tighter modal sizing to match first block more closely === */
@media (min-width: 769px) {
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .social-legal-modal-dialog {
    width: min(100% - 160px, 980px) !important;
    max-width: 980px !important;
    max-height: calc(100vh - 84px) !important;
    margin: 42px auto !important;
  }

  .modal-content:not(.calc-modal-content):not(.benefit-modal-content):not(.service-modal-content):not(.contract-modal-content) {
    width: min(100% - 160px, 980px) !important;
    max-width: 980px !important;
    max-height: calc(100vh - 84px) !important;
    margin: 42px auto !important;
  }
}

.site-header .logo {
    text-decoration: none;
    font-size: 28px;
    font-weight: 900;
    color: var(--text-main, #111111);
    letter-spacing: 0.5px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
  }

  .site-header .logo .logo-brand {
    font-weight: 900;
    font-size: 1.14em;
    line-height: 1;
    display: inline-block;
  }

  .site-header .logo-link {
    text-decoration: none !important;
    color: inherit !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, opacity 0.25s ease, color 0.25s ease;
    transform-origin: center;
    line-height: 1.2;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateX(2px);
    opacity: 0.88;
    outline: none;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible,
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    color: inherit !important;
  }

  .site-header .logo .logo-separator {
    font-weight: 700;
    font-size: 1.08em;
    display: inline-block;
    margin: 0 0.32em;
    transition: opacity 0.25s ease;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    opacity: 0.72;
  }

  .site-header .logo .logo-brand {
    font-size: 1.48em !important;
  }

  .site-header .logo .logo-separator {
    font-size: 1.24em !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand {
      font-size: 1.26em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 1.12em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo-link {
      padding: 0;
      border-radius: 0;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-brand {
      font-size: 1em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 1.08em !important;
    }
  }

.site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    perspective: 1200px;
  }

  .site-header .logo,
  .site-header .logo * {
    text-decoration: none !important;
  }

  .site-header .logo-link {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    transform: translateZ(0);
    transform-style: preserve-3d;
    isolation: isolate;
    overflow: visible;
    outline: none;
    transition: transform 0.28s ease, opacity 0.25s ease, filter 0.28s ease;
  }

  .site-header .logo-link::before,
  .site-header .logo-link::after {
    content: none !important;
    display: none !important;
  }

  .site-header .logo .logo-brand {
    display: inline-block !important;
    font-size: 1.08em !important;
    line-height: 0.94 !important;
    letter-spacing: 0.02em !important;
    font-weight: 900 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0.85px rgba(37, 84, 100, 0.62) !important;
    paint-order: stroke fill !important;
    transform: translateZ(12px);
    transform-origin: center bottom !important;
    transition:
      transform 0.28s ease,
      filter 0.28s ease,
      text-shadow 0.28s ease !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .site-header .logo .logo-brand-primary {
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 46%, #3f93ad 72%, #2f7085 100%) !important;
  }

  .site-header .logo .logo-brand-secondary {
    background-image: linear-gradient(180deg, #ffffff 0%, #f0fbff 15%, #92cbdb 45%, #3f93ad 72%, #2f7085 100%) !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateY(-1px);
    opacity: 1;
    filter: saturate(1.05);
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) translateZ(16px) scale(1.03) !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .site-header .logo-link:active {
    transform: translateY(0) scale(0.995);
  }

  .site-header .logo .logo-separator {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0 2px;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #3f93ad !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    transition: transform 0.28s ease, opacity 0.28s ease;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: translateY(-1px);
    opacity: 0.92;
  }

  .site-header .burger {
    background: #2f7085 !important;
  }

  .site-header .burger:hover {
    background: #92cbdb !important;
  }

  @media (max-width: 900px) {
    .site-header .logo {
      gap: 10px !important;
    }

    .site-header .logo .logo-brand {
      font-size: 0.96em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      gap: 8px !important;
    }

    .site-header .logo .logo-brand {
      font-size: 0.82em !important;
      letter-spacing: 0.01em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.9em !important;
    }
  }

.site-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    perspective: none !important;
  }

  .site-header .logo-link {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    isolation: auto !important;
    overflow: visible !important;
  }

  .site-header .logo-link::before,
  .site-header .logo-link::after {
    content: none !important;
    display: none !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.26em !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-stroke: 0 !important;
    filter: none !important;
    transform: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      0 2px 0 rgba(171, 211, 142, 0.96),
      1px 3px 0 rgba(88, 116, 69, 0.92),
      1px 4px 0 rgba(24, 24, 24, 0.72),
      2px 5px 0 rgba(10, 10, 10, 0.82),
      2px 6px 8px rgba(0, 0, 0, 0.16) !important;
  }

  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    background-image: linear-gradient(
      180deg,
      #f5fbff 0%,
      #e9f8fd 18%,
      #2f7085 44%,
      #92cbdb 72%,
      #3f93ad 100%
    ) !important;
  }

  .site-header .logo .logo-separator {
    display: inline-block !important;
    width: 3px !important;
    height: 1.28em !important;
    margin: 0 0.28em !important;
    padding: 0 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    border: none !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #2f7085 0%, #3f93ad 48%, #1f4b5b 100%) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.16),
      1px 2px 0 rgba(18, 18, 18, 0.55) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-shadow: none !important;
    transform: translateY(0.06em) !important;
    opacity: 1 !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.1em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      gap: 6px !important;
    }

    .site-header .logo .logo-separator {
      width: 2px !important;
      height: 1.18em !important;
      margin: 0 0.24em !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.95em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22),
        0 1px 0 rgba(171, 211, 142, 0.96),
        1px 2px 0 rgba(88, 116, 69, 0.90),
        1px 3px 0 rgba(20, 20, 20, 0.68),
        1px 4px 6px rgba(0, 0, 0, 0.16) !important;
    }
  }

.site-header .logo .logo-separator {
    display: inline-block !important;
    width: 3px !important;
    height: 0.96em !important;
    min-width: 3px !important;
    margin: 0 0.34em !important;
    padding: 0 !important;
    overflow: visible !important;
    vertical-align: middle !important;
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    border: none !important;
    border-radius: 999px !important;
    color: transparent !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
    color: transparent !important;
    transform: translateY(0.03em) !important;
    opacity: 1 !important;
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-separator {
      width: 2px !important;
      min-width: 2px !important;
      height: 0.9em !important;
      margin: 0 0.26em !important;
    }
  }

:root {
    --flow-gradient: linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%);
    --flow-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #75adbc 50%, #1f4b5b 100%);
    --flow-button-shadow: 0 14px 28px rgba(37, 84, 100, 0.20);
    --flow-button-shadow-hover: 0 18px 34px rgba(37, 84, 100, 0.28);
    --logo-gray-shadow:
      0 1px 0 rgba(255, 255, 255, 0.26),
      1px 2px 0 rgba(188, 188, 188, 0.88),
      1px 3px 0 rgba(142, 142, 142, 0.76),
      2px 4px 8px rgba(90, 90, 90, 0.28);
  }

  .hero-services-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  .hero-service-card {
    min-height: 230px !important;
    width: 100% !important;
  }

  .side-nav {
    gap: 14px !important;
  }

  .side-nav a,
  .side-nav button {
    width: 100% !important;
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    background: var(--flow-gradient) !important;
    box-shadow: var(--flow-button-shadow) !important;
    line-height: 1.25 !important;
  }

  .side-nav a:hover,
  .side-nav button:hover {
    background: var(--flow-gradient-hover) !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
    transform: translateY(-2px);
  }

  .burger,
  .top-btn,
  .home-link,
  .hero-btn,
  .contract-btn,
  .inline-link-btn:not(.white-btn),
  .submit-btn,
  .social-legal-submit-btn,
  .video-switch-btn,
  .history-action-btn,
  .fund-choice-link,
  .benefit-modal-action .contract-btn,
  .service-modal-footer .submit-btn,
  .scroll-top-btn {
    background: var(--flow-gradient) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow) !important;
  }

  .burger:hover,
  .top-btn:hover,
  .home-link:hover,
  .hero-btn:hover,
  .contract-btn:hover,
  .inline-link-btn:not(.white-btn):hover,
  .submit-btn:hover,
  .social-legal-submit-btn:hover,
  .video-switch-btn:hover,
  .history-action-btn:hover,
  .fund-choice-link:hover,
  .benefit-modal-action .contract-btn:hover,
  .service-modal-footer .submit-btn:hover,
  .scroll-top-btn:hover {
    background: var(--flow-gradient-hover) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
  }

  .site-header .logo {
    font-size: 31px !important;
    gap: 12px !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    font-size: 1.34em !important;
    font-weight: 900 !important;
    background-image: var(--flow-gradient) !important;
    text-shadow: var(--logo-gray-shadow) !important;
  }

  .site-header .logo .logo-separator {
    background: var(--flow-gradient) !important;
    box-shadow:
      1px 2px 0 rgba(145, 145, 145, 0.56),
      0 0 1px rgba(255, 255, 255, 0.20) inset !important;
  }

  .scroll-top-btn::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.10)) !important;
  }

  @media (max-width: 1200px) {
    .hero-services-cards {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }

  @media (max-width: 980px) {
    .hero-services-cards {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-header .logo {
      font-size: 28px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.16em !important;
    }
  }

  @media (max-width: 768px) {
    .hero-services-cards {
      grid-template-columns: 1fr !important;
    }

    .side-nav a,
    .side-nav button {
      min-height: 68px !important;
      border-radius: 14px !important;
    }

    .site-header .logo {
      font-size: 21px !important;
      gap: 10px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.24),
        1px 1px 0 rgba(182, 182, 182, 0.84),
        1px 2px 0 rgba(138, 138, 138, 0.70),
        1px 3px 6px rgba(88, 88, 88, 0.28) !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 18px !important;
    }

    .side-nav a,
    .side-nav button {
      min-height: 62px !important;
      padding: 12px 14px !important;
    }
  }

.site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    text-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(255, 255, 255, 0.18))
      drop-shadow(1px 2px 0 rgba(156, 156, 156, 0.58))
      drop-shadow(2px 4px 8px rgba(92, 92, 92, 0.20)) !important;
  }

  .site-header .logo .logo-separator {
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(1px 2px 0 rgba(156, 156, 156, 0.58))
      drop-shadow(2px 4px 8px rgba(92, 92, 92, 0.20)) !important;
  }

.site-header .burger {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    background: var(--flow-gradient) !important;
    box-shadow: var(--flow-button-shadow) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
  }

  .site-header .burger:hover {
    background: var(--flow-gradient-hover) !important;
    box-shadow: var(--flow-button-shadow-hover) !important;
    transform: translateY(-2px) !important;
  }

  .site-header .burger span {
    width: 22px !important;
    height: 3px !important;
    background: #102033 !important;
    border-radius: 999px !important;
  }

  .site-header .logo {
    font-size: 27px !important;
    gap: 10px !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    font-size: 1.18em !important;
    font-weight: 900 !important;
    background-image: var(--flow-gradient) !important;
    filter: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      1px 2px 0 rgba(182, 182, 182, 0.86),
      1px 3px 0 rgba(142, 142, 142, 0.74),
      2px 4px 0 rgba(104, 104, 104, 0.56),
      2px 5px 7px rgba(72, 72, 72, 0.26) !important;
  }

  .site-header .logo .logo-separator {
    background: var(--flow-gradient) !important;
    filter: none !important;
    box-shadow:
      1px 2px 0 rgba(182, 182, 182, 0.78),
      1px 3px 0 rgba(132, 132, 132, 0.58),
      2px 4px 6px rgba(78, 78, 78, 0.22) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 24px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.08em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18),
        1px 2px 0 rgba(178, 178, 178, 0.80),
        1px 3px 0 rgba(132, 132, 132, 0.64),
        1px 4px 6px rgba(76, 76, 76, 0.22) !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .burger {
      width: 50px !important;
      min-width: 50px !important;
      height: 50px !important;
      border-radius: 14px !important;
    }

    .site-header .logo {
      font-size: 19px !important;
      gap: 8px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.96em !important;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16),
        1px 1px 0 rgba(176, 176, 176, 0.72),
        1px 2px 0 rgba(126, 126, 126, 0.58),
        1px 3px 5px rgba(72, 72, 72, 0.20) !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 16px !important;
    }
  }

.site-header .burger {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12) !important;
  }

  .site-header .burger:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 52%, #75adbc 100%) !important;
    transform: translateY(-2px) !important;
    outline: none !important;
  }

  .site-header .burger span {
    background: #111111 !important;
  }

  .site-header .logo {
    gap: 9px !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    filter: none !important;
    opacity: 1 !important;
    font-size: 1.12em !important;
    line-height: 0.96 !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.26),
      0 6px 10px rgba(128, 128, 128, 0.18) !important;
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) translateZ(10px) scale(1.015) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.28),
      0 7px 12px rgba(128, 128, 128, 0.20) !important;
  }

  .site-header .logo .logo-separator {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.22),
      0 5px 9px rgba(128, 128, 128, 0.14) !important;
    font-size: 0.98em !important;
  }

  @media (max-width: 900px) {
    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 1.03em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 0.92em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.94em !important;
    }
  }

.site-header .logo {
    gap: 9px !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    transform: none !important;
    translate: none !important;
    filter: none !important;
  }

  .site-header .logo-link .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    transform: none !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
    filter: none !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    text-shadow:
      0 2px 0 rgba(128, 128, 128, 0.22),
      0 5px 9px rgba(128, 128, 128, 0.14) !important;
  }

.site-header .logo {
    font-size: 24px !important;
    gap: 8px !important;
    perspective: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-size: 1em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    filter: drop-shadow(0 2px 0 rgba(150, 150, 150, 0.42)) drop-shadow(0 5px 8px rgba(118, 118, 118, 0.22)) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0.12em !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    font-size: 0.92em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    filter: drop-shadow(0 2px 0 rgba(150, 150, 150, 0.38)) !important;
    transition: none !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: var(--flow-gradient) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 21px !important;
      gap: 7px !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo {
      font-size: 18px !important;
      gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator {
      font-size: 0.88em !important;
      margin: 0 0.1em !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 16px !important;
      gap: 5px !important;
    }
  }

.site-header .logo {
    font-size: 22px !important;
    gap: 8px !important;
    perspective: none !important;
    overflow: visible !important;
  }

  .site-header .logo,
  .site-header .logo * {
    transition: none !important;
    animation: none !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    opacity: 1 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-size: 0.96em !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-text-stroke: 0 !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.14),
      0 3px 4px rgba(120, 120, 120, 0.12),
      0 6px 10px rgba(95, 95, 95, 0.10) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0.10em !important;
    padding: 0 !important;
    font-size: 0.72em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    vertical-align: middle !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.14),
      0 3px 4px rgba(120, 120, 120, 0.10),
      0 6px 8px rgba(95, 95, 95, 0.08) !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: var(--flow-gradient) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 19px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 0.94em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo {
      font-size: 17px !important;
      gap: 7px !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.70em !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 15px !important;
      gap: 6px !important;
    }
  }

.site-header .logo {
    font-size: 21px !important;
    gap: 7px !important;
    perspective: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .site-header .logo,
  .site-header .logo *,
  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
  }

  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    outline: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    display: inline-block !important;
    font-size: 0.92em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-text-stroke: 0 !important;
    box-shadow: none !important;
    filter: saturate(1.18) brightness(1.06) !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22),
      1px 1px 0 rgba(0, 0, 0, 0.74),
      1px 2px 0 rgba(0, 0, 0, 0.58),
      2px 3px 6px rgba(0, 0, 0, 0.34) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 0.56em !important;
    min-width: 0.56em !important;
    max-width: 0.56em !important;
    margin: 0 0.02em !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: var(--flow-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    font-size: 0.72em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    box-shadow: none !important;
    filter: saturate(1.18) brightness(1.06) !important;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.20),
      1px 1px 0 rgba(0, 0, 0, 0.70),
      1px 2px 0 rgba(0, 0, 0, 0.52),
      2px 3px 5px rgba(0, 0, 0, 0.28) !important;
    pointer-events: none !important;
  }

  .site-header .burger,
  .site-header .burger:hover {
    background: var(--flow-gradient) !important;
  }

  @media (max-width: 980px) {
    .site-header .logo {
      font-size: 19px !important;
      gap: 6px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary {
      font-size: 0.9em !important;
    }
  }

  @media (max-width: 768px) {
    .site-header .logo {
      font-size: 17px !important;
      gap: 5px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator {
      width: 0.52em !important;
      min-width: 0.52em !important;
      max-width: 0.52em !important;
      font-size: 0.68em !important;
    }
  }

  @media (max-width: 480px) {
    .site-header .logo {
      font-size: 15px !important;
      gap: 4px !important;
    }
  }

.site-header .logo,
  .site-header .logo-link,
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active,
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    transition: none !important;
  }

  .site-header .logo {
    font-size: 25px !important;
    gap: 10px !important;
  }

  .site-header .logo-link {
    opacity: 1 !important;
    filter: none !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2b6174 0%, #92cbdb 50%, #2b6174 100%) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.78))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.52))
      drop-shadow(0 4px 6px rgba(0, 0, 0, 0.22)) !important;
    transform: none !important;
    opacity: 1 !important;
    line-height: 0.96 !important;
    font-size: 1.06em !important;
  }

  .site-header .logo .logo-separator {
    display: inline-block !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin: 0 0.14em !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    background-image: linear-gradient(135deg, #2b6174 0%, #92cbdb 50%, #2b6174 100%) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18)) !important;
    opacity: 1 !important;
    font-size: 0.94em !important;
  }

  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    opacity: 1 !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18)) !important;
  }

  @media (max-width: 900px) {
    .site-header .logo {
      font-size: 22px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 1.00em !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .logo {
      font-size: 18px !important;
      gap: 8px !important;
    }

    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand {
      font-size: 0.92em !important;
    }

    .site-header .logo .logo-separator {
      font-size: 0.90em !important;
    }
  }

.site-header .logo-link {
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    filter: none !important;
    transition:
      transform 0.24s ease,
      filter 0.24s ease,
      opacity 0.24s ease !important;
    transform-origin: center bottom !important;
  }

  .site-header .logo-link .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    transition:
      transform 0.24s ease,
      filter 0.24s ease !important;
    transform-origin: center bottom !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) saturate(1.03) !important;
    opacity: 1 !important;
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand {
    transform: translateY(-1px) scale(1.035) !important;
  }

  .site-header .logo-link:active {
    transform: translateY(0) scale(0.995) !important;
  }

  .site-header .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    transform: none !important;
    translate: none !important;
    transition: none !important;
    opacity: 1 !important;
  }

/* Кнопки показывают текст ровно так, как он написан в HTML */
  button,
  input[type="submit"],
  input[type="button"],
  .side-nav a,
  .contract-btn,
  .home-link,
  .top-btn,
  .hero-btn,
  .hero-card-btn,
  .hero-service-card-btn,
  .scroll-top-btn,
  .fund-choice-link,
  .submit-btn,
  .calc-tab-btn,
  .money-reset-btn {
    text-transform: none !important;
  }

  /* В доп. услугах и карточках отдела кнопки остаются слева */
  .hero-card-btn,
  .hero-service-card-btn {
    align-self: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto !important;
  }

  /* На мобильной версии кнопки во 2 и 3 блоке идут под картинкой */
  @media (max-width: 768px) {
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      order: 1 !important;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      order: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
    }

    #fundPl .contract-btn,
    #fundLife .contract-btn {
      order: -1 !important;
      width: auto !important;
      align-self: flex-start !important;
      justify-content: center !important;
      text-align: center !important;
      margin-top: 14px !important;
      margin-bottom: 14px !important;
    }

    .hero-card-btn,
    .hero-service-card-btn {
      width: auto !important;
      max-width: 100% !important;
      align-self: flex-start !important;
      justify-content: flex-start !important;
      text-align: left !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }

/* Логотип делаем немного темнее и насыщеннее */
  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 48%, #92cbdb 100%) !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.78))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.52))
      drop-shadow(0 4px 6px rgba(0, 0, 0, 0.24))
      brightness(0.92) saturate(1.08) !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 48%, #92cbdb 100%) !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.74))
      drop-shadow(0 2px 0 rgba(0, 0, 0, 0.46))
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.18))
      brightness(0.92) saturate(1.08) !important;
  }

  /* Общие строки с двумя одинаковыми кнопками */
  .fund-action-row,
  .character-choice-section .history-action-row {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn {
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  .fund-action-row .contract-btn-placeholder,
  .character-choice-section .history-action-btn-placeholder {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
  }

  #fundPl .text-part,
  #fundLife .text-part {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #fundPl .fund-copy,
  #fundLife .fund-copy {
    width: 100%;
  }

  #fundPl .fund-action-row,
  #fundLife .fund-action-row {
    margin-top: auto !important;
    padding-top: 12px !important;
  }

  .character-choice-section .history-action-row {
    margin-top: 20px !important;
  }

  @media (max-width: 768px) {
    /* В телефоне: фото -> кнопки -> текст */
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      order: 1 !important;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      order: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .fund-action-row,
    #fundLife .fund-action-row {
      order: 1 !important;
      margin-top: 14px !important;
      margin-bottom: 14px !important;
      padding-top: 0 !important;
    }

    #fundPl .fund-copy,
    #fundLife .fund-copy {
      order: 2 !important;
    }

    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn {
      flex: 1 1 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
  }

/* По умолчанию мобильные ряды скрыты */
  #fundPl .fund-action-row-mobile,
  #fundLife .fund-action-row-mobile,
  .character-choice-section .history-action-row-mobile {
    display: none !important;
  }

  #fundPl .fund-action-row-desktop,
  #fundLife .fund-action-row-desktop,
  .character-choice-section .history-action-row-desktop {
    display: flex !important;
  }

  /* Одинаковый размер кнопок */
  .fund-action-row,
  .character-choice-section .history-action-row {
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn {
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  @media (max-width: 768px) {
    /* 2 и 3 блоки: ТЕКСТ -> ФОТО -> КНОПКИ */
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      order: 1 !important;
      display: block !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      order: 2 !important;
    }

    #fundPl .fund-action-row-desktop,
    #fundLife .fund-action-row-desktop {
      display: none !important;
    }

    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile {
      display: flex !important;
      order: 3 !important;
      width: 100% !important;
      margin-top: 14px !important;
      margin-bottom: 0 !important;
      justify-content: flex-start !important;
      align-items: stretch !important;
      gap: 12px !important;
      flex-wrap: wrap !important;
    }

    #fundPl .fund-action-row-mobile .contract-btn,
    #fundLife .fund-action-row-mobile .contract-btn,
    .character-choice-section .history-action-row-mobile .history-action-btn {
      flex: 1 1 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    /* 4 блок: ТЕКСТ -> ВИДЕО -> КНОПКИ */
    .character-choice-section .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    .character-choice-section .text-part {
      order: 1 !important;
    }

    .character-choice-section .video-part {
      order: 2 !important;
    }

    .character-choice-section .history-action-row-desktop {
      display: none !important;
    }

    .character-choice-section .history-action-row-mobile {
      display: flex !important;
      order: 3 !important;
      width: 100% !important;
      margin-top: 14px !important;
      justify-content: flex-start !important;
      align-items: stretch !important;
      gap: 12px !important;
      flex-wrap: wrap !important;
    }
  }

@media (max-width: 768px) {
    /* Убираем лишнюю высоту и большие пустые промежутки только на телефоне */
    #fundPl .text-part,
    #fundLife .text-part,
    #fundPl .video-part,
    #fundLife .video-part {
      flex: 0 0 auto !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
    }

    #fundPl .video-part,
    #fundLife .video-part {
      margin-top: 12px !important;
    }

    #fundPl .video-frame,
    #fundLife .video-frame {
      margin: 0 !important;
    }

    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile {
      margin-top: 12px !important;
      margin-bottom: 0 !important;
    }

    #fundPl .text-part p:last-child,
    #fundLife .text-part p:last-child {
      margin-bottom: 0 !important;
    }
  }

@media (max-width: 768px) {
    #fundPl .fund-action-row-mobile,
    #fundLife .fund-action-row-mobile,
    .character-choice-section .history-action-row-mobile {
      gap: 8px !important;
    }

    #fundPl .fund-action-row-mobile .contract-btn,
    #fundLife .fund-action-row-mobile .contract-btn,
    .character-choice-section .history-action-row-mobile .history-action-btn {
      margin: 0 !important;
    }
  }

.scroll-top-btn,
  #scrollTopBtn {
    background: #2f7085 !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
  }

  .scroll-top-btn::before,
  #scrollTopBtn::before {
    display: none !important;
  }

  .scroll-top-btn:hover,
  #scrollTopBtn:hover {
    background: #92cbdb !important;
    color: #111111 !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22) !important;
  }

@media (min-width: 769px) {
    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content {
      max-width: 620px !important;
      max-height: min(72vh, 640px) !important;
      margin: 28px auto !important;
    }

    .social-legal-form-card {
      max-height: min(72vh, 640px) !important;
    }

    .modal-content:not(.calc-modal-content):not(.benefit-modal-content):not(.service-modal-content):not(.contract-modal-content) {
      max-width: 620px !important;
    }
  }

.modal,
  .social-legal-modal {
    padding: 0 !important;
  }

  .modal-content,
  .social-legal-modal-dialog,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    margin: 1cm auto !important;
    max-height: calc(100vh - 2cm) !important;
  }

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2000 !important;
  }

  body {
    padding-top: 96px !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding: 8px !important;
    }

    .modal-content,
    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content {
      width: calc(100% - 16px) !important;
      max-width: calc(100% - 16px) !important;
      margin: 16px auto !important;
      max-height: calc(100vh - 32px) !important;
    }

    body {
      padding-top: 84px !important;
    }
  }

  @media (max-width: 480px) {
    body {
      padding-top: 78px !important;
    }
  }

.modal,
  .social-legal-modal {
    padding: calc(96px + 1cm) 0 1cm !important;
    box-sizing: border-box !important;
  }

  .modal-content,
  .social-legal-modal-dialog,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    max-height: calc(100vh - 96px - 2cm) !important;
  }

  .benefit-modal-header,
  .service-modal-header,
  .contract-modal-header,
  .social-legal-modal-header {
    padding-top: 20px !important;
  }

  .benefit-modal-title,
  .service-modal-title,
  .contract-modal-title,
  .social-legal-modal-header h2 {
    font-size: 1.7rem !important;
    line-height: 1.15 !important;
  }

  .benefit-modal-action {
    padding-top: 14px !important;
    padding-bottom: 18px !important;
    gap: 10px !important;
  }

  .benefit-modal-action .contract-btn,
  .service-modal-footer .submit-btn,
  .contract-modal-footer .submit-btn,
  .social-legal-submit-btn {
    min-height: 50px !important;
    padding: 13px 18px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding: calc(84px + 12px) 8px 12px !important;
    }

    .modal-content,
    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content {
      width: calc(100% - 16px) !important;
      max-width: calc(100% - 16px) !important;
      margin: 0 auto !important;
      max-height: calc(100vh - 84px - 24px) !important;
    }

    .benefit-modal-title,
    .service-modal-title,
    .contract-modal-title,
    .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
    }

    .benefit-modal-action .contract-btn,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .social-legal-submit-btn {
      min-height: 48px !important;
      padding: 12px 16px !important;
      font-size: 14px !important;
    }
  }

  @media (max-width: 480px) {
    .modal,
    .social-legal-modal {
      padding-top: calc(78px + 8px) !important;
    }

    .modal-content,
    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content {
      max-height: calc(100vh - 78px - 16px) !important;
    }
  }

/* Чуть длиннее кнопки в блоках и такие же размеры в анкетах.
     Калькулятор не трогаем. */
  @media (min-width: 769px) {
    #fundPl .contract-btn,
    #fundLife .contract-btn,
    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn {
      width: 250px !important;
      min-width: 250px !important;
      max-width: 250px !important;
      min-height: 54px !important;
      padding: 15px 30px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.2 !important;
      white-space: normal !important;
    }

    .benefit-modal-action {
      grid-template-columns: repeat(2, 250px) !important;
      justify-content: center !important;
      gap: 12px !important;
    }

    .benefit-modal-action .contract-btn,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .social-legal-modal-footer .social-legal-submit-btn {
      width: 250px !important;
      min-width: 250px !important;
      max-width: 250px !important;
      min-height: 54px !important;
      padding: 15px 30px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.2 !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
    }
  }

@media (min-width: 769px) {
    #fundPl .contract-btn,
    #fundLife .contract-btn,
    .fund-action-row .contract-btn,
    .character-choice-section .history-action-btn,
    .benefit-modal-action .contract-btn {
      width: 270px !important;
      min-width: 270px !important;
      max-width: 270px !important;
      min-height: 52px !important;
      padding: 14px 26px !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.2 !important;
      white-space: normal !important;
      flex: 0 0 270px !important;
    }

    .benefit-modal-action {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 12px !important;
      grid-template-columns: none !important;
    }

    .benefit-modal-action .contract-btn {
      margin: 0 !important;
    }
  }

  @media (max-width: 768px) {
    .benefit-modal-action {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
    }

    .benefit-modal-action .contract-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 1 1 auto !important;
    }
  }

@media (min-width: 769px) {
    /* Анкеты и модалки делаем по размеру как первый блок.
       Калькулятор не трогаем. */
    .modal,
    .social-legal-modal {
      padding: calc(96px + 18px) 20px 24px !important;
      box-sizing: border-box !important;
    }

    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content {
      width: min(1280px, calc(100% - 40px)) !important;
      max-width: min(1280px, calc(100% - 40px)) !important;
      min-height: min(76vh, 760px) !important;
      max-height: calc(100vh - 96px - 42px) !important;
      margin: 0 auto !important;
      border-radius: 34px !important;
      overflow: hidden !important;
    }

    .social-legal-form-card {
      min-height: min(76vh, 760px) !important;
      max-height: calc(100vh - 96px - 42px) !important;
      border-radius: 34px !important;
    }

    .benefit-modal-header,
    .service-modal-header,
    .contract-modal-header,
    .social-legal-modal-header {
      padding-top: 24px !important;
      padding-bottom: 20px !important;
    }

    .benefit-modal-body,
    .service-modal-body,
    .contract-modal-body,
    .social-legal-modal-body {
      flex: 1 1 auto !important;
      min-height: 0 !important;
    }
  }

@media (min-width: 769px) {
    /* Подгоняем анкету под ширину 1-го блока:
       .hero имеет max-width: 1280px и padding 0 20px,
       значит полезная ширина блока ≈ 1240px */
    .social-legal-modal-dialog,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .modal-content:not(.calc-modal-content):not(.benefit-modal-content):not(.service-modal-content):not(.contract-modal-content) {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .social-legal-form-card {
      width: 100% !important;
      max-width: 100% !important;
    }
  }

@media (min-width: 981px) {
    /* Подгоняем нижний футер под ширину основных блоков */
    .site-footer {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    .footer-container,
    .footer-bottom {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

@media (min-width: 981px) {
    /* Делаем колонки футера ближе друг к другу,
       чтобы длинные заголовки и контакты влезали в одну строку */
    .footer-container {
      grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.04fr) minmax(0, 1.04fr) minmax(0, 0.9fr) minmax(0, 1.02fr) !important;
      gap: 18px !important;
      align-items: start !important;
    }

    .footer-col h3 {
      font-size: 1.02rem !important;
      white-space: nowrap !important;
    }

    .footer-col li,
    .footer-col a {
      line-height: 1.45 !important;
    }

    .footer-col--contacts-placdarm,
    .footer-col--contacts-life {
      min-width: 0 !important;
    }

    .footer-col--contacts-placdarm li,
    .footer-col--contacts-life li,
    .footer-col--contacts-placdarm a,
    .footer-col--contacts-life a {
      font-size: 0.88rem !important;
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
    }
  }

/* Оставляем цвет и 3D как есть, убираем только сдвиги и сближение */
  .site-header .logo {
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    justify-content: flex-start !important;
    column-gap: 8px !important;
    gap: 0 !important;
  }

  .site-header .logo-link,
  .site-header .logo-link-primary,
  .site-header .logo-link-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    transform: none !important;
    translate: none !important;
  }

  .site-header .logo-link .logo-brand,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transform-origin: center center !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
    pointer-events: none !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator {
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }
  }

/* Финальный вариант:
     - палочка стоит жестко отдельно и не двигается
     - при hover слова немного приближаются к палочке ПО ОТДЕЛЬНОСТИ
     - цвет и 3D не трогаем
  */
  .site-header .logo {
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    gap: 0 !important;
  }

  .site-header .logo-link,
  .site-header .logo-link-primary,
  .site-header .logo-link-secondary {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    transition: transform 0.22s ease, opacity 0.22s ease, filter 0.22s ease !important;
    will-change: transform;
  }

  /* Палочка всегда статична */
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
    left: auto !important;
    right: auto !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }

  /* Базово ничего не двигаем */
  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active {
    filter: saturate(1.04) !important;
    opacity: 1 !important;
  }

  /* ПлАЦДАРМ идет чуть к палочке */
  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible {
    transform: translateX(4px) !important;
  }

  /* Сила Жить идет чуть к палочке */
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    transform: translateX(-4px) !important;
  }

  /* Сами буквы не масштабируем и не тянем, чтобы не ломать 3D */
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand {
    transform: none !important;
    translate: none !important;
    scale: none !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }

    .site-header .logo-link-primary:hover,
    .site-header .logo-link-primary:focus-visible {
      transform: translateX(3px) !important;
    }

    .site-header .logo-link-secondary:hover,
    .site-header .logo-link-secondary:focus-visible {
      transform: translateX(-3px) !important;
    }
  }

/* Нужный эффект:
     - палочка полностью статична
     - слова НЕ сдвигаются влево/вправо
     - при наведении слово слегка выходит к экрану
     - 3D/цвет сохраняем
  */
  .site-header .logo {
    display: inline-grid !important;
    grid-template-columns: max-content 26px max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    gap: 0 !important;
    perspective: 1200px !important;
  }

  .site-header .logo-link,
  .site-header .logo-link-primary,
  .site-header .logo-link-secondary {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: opacity 0.22s ease !important;
    transform-style: preserve-3d !important;
  }

  .site-header .logo-link:hover,
  .site-header .logo-link:focus-visible,
  .site-header .logo-link:active,
  .site-header .logo-link-primary:hover,
  .site-header .logo-link-primary:focus-visible,
  .site-header .logo-link-secondary:hover,
  .site-header .logo-link-secondary:focus-visible {
    transform: none !important;
    translate: none !important;
    filter: saturate(1.04) !important;
    opacity: 1 !important;
  }

  /* Сами слова выходят вперед, но не двигаются в стороны */
  .site-header .logo-link .logo-brand,
  .site-header .logo-link .logo-brand-primary,
  .site-header .logo-link .logo-brand-secondary {
    transform: translateZ(12px) scale(1) !important;
    translate: none !important;
    transition: transform 0.24s ease, filter 0.24s ease, opacity 0.22s ease !important;
    transform-style: preserve-3d !important;
  }

  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo-link-primary:hover .logo-brand,
  .site-header .logo-link-primary:focus-visible .logo-brand,
  .site-header .logo-link-secondary:hover .logo-brand,
  .site-header .logo-link-secondary:focus-visible .logo-brand {
    transform: translateZ(26px) scale(1.045) !important;
    translate: none !important;
  }

  /* Палочка полностью статична */
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
    left: auto !important;
    right: auto !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 20px max-content !important;
      column-gap: 6px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 20px !important;
      min-width: 20px !important;
      flex-basis: 20px !important;
    }

    .site-header .logo-link .logo-brand,
    .site-header .logo-link .logo-brand-primary,
    .site-header .logo-link .logo-brand-secondary {
      transform: translateZ(10px) scale(1) !important;
    }

    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand,
    .site-header .logo-link-primary:hover .logo-brand,
    .site-header .logo-link-primary:focus-visible .logo-brand,
    .site-header .logo-link-secondary:hover .logo-brand,
    .site-header .logo-link-secondary:focus-visible .logo-brand {
      transform: translateZ(18px) scale(1.035) !important;
    }
  }

/* Чуть больше расстояние между "|" и "Сила Жить" */
  .site-header .logo {
    grid-template-columns: max-content 30px max-content !important;
    column-gap: 10px !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 30px !important;
    min-width: 30px !important;
    flex-basis: 30px !important;
  }

  /* Чуть больше расстояние между кнопками в модалке */
  .benefit-modal-action {
    gap: 16px !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 24px max-content !important;
      column-gap: 8px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 24px !important;
      min-width: 24px !important;
      flex-basis: 24px !important;
    }

    .benefit-modal-action {
      gap: 12px !important;
    }
  }

/* Финальный override в самом конце head:
     ставим большее расстояние и перебиваем более ранние правила */
  .site-header .logo {
    grid-template-columns: max-content 50px max-content !important;
    column-gap: 18px !important;
    gap: 0 !important;
  }

  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator,
  .site-header .logo-link:hover + .logo-separator,
  .site-header .logo-link:focus-visible + .logo-separator {
    width: 50px !important;
    min-width: 50px !important;
    flex: 0 0 50px !important;
    flex-basis: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }

  .benefit-modal-action {
    gap: 36px !important;
  }

  @media (max-width: 640px) {
    .site-header .logo {
      grid-template-columns: max-content 34px max-content !important;
      column-gap: 12px !important;
    }

    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator {
      width: 34px !important;
      min-width: 34px !important;
      flex: 0 0 34px !important;
      flex-basis: 34px !important;
    }

    .benefit-modal-action {
      gap: 18px !important;
    }
  }

/* Финальный override:
     увеличиваем расстояние ТОЛЬКО между кнопками */
  .benefit-modal-action {
    gap: 52px !important;
  }

  .fund-action-row,
  .character-choice-section .history-action-row {
    gap: 26px !important;
  }

  @media (max-width: 768px) {
    .benefit-modal-action {
      gap: 18px !important;
    }

    .fund-action-row,
    .character-choice-section .history-action-row {
      gap: 16px !important;
    }
  }

/* ===== Нижний футер: одинаковый шрифт, последние колонки без капса ===== */
  .footer-col h3 {
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  .footer-col li,
  .footer-col a {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
  }

  .footer-col--contacts-placdarm h3,
  .footer-col--contacts-life h3 {
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  /* ===== Калькулятор: не шире блока, шапка/низ фиксированы ===== */
  #calcModal .calc-modal-content {
    width: min(1240px, calc(100% - 40px)) !important;
    max-width: min(1240px, calc(100% - 40px)) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #calcModal .calc-modal-header-sticky {
    position: relative !important;
    flex-shrink: 0 !important;
    padding: 22px 22px 16px !important;
    background: #fff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
  }

  #calcModal .calc-modal-header-sticky h2 {
    margin: 0 36px 16px 0 !important;
    text-align: center !important;
    font-size: 2rem !important;
  }

  #calcModal .calc-modal-header-sticky #closeCalcBtn {
    top: 14px !important;
    right: 16px !important;
    z-index: 4 !important;
  }

  #calcModal .calc-tabs {
    margin: 0 !important;
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }

  #calcModal .calc-tab-btn {
    min-height: 54px !important;
    padding: 15px 24px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;
  }

  #calcModal .calc-modal-body-sticky {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px !important;
    background: #fff !important;
  }

  #calcModal .calc-modal-footer-sticky {
    flex-shrink: 0 !important;
    padding: 16px 22px 22px !important;
    background: #fff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
  }

  #calcModal .calc-modal-footer-sticky.is-hidden {
    display: none !important;
  }

  #calcModal .money-reset-btn {
    width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    margin: 0 !important;
  }

  #calcModal .money-reset-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  #calcModal .money-calc-full:has(#moneyCalcReset) {
    display: none !important;
  }

  /* Регион / body не должны вылезать выше шапки и ниже страницы */
  #calcModal .calc-panel.active {
    display: block !important;
  }

  #calcModal #regionCalcPanel,
  #calcModal #moneyCalcPanel {
    overflow: visible !important;
  }

  #calcModal .money-calc-results {
    top: 0 !important;
  }

  /* ===== Модалка выбора помощи в ПлАЦДАРМ ===== */
  #fundPlHelpChoiceModal .help-choice-grid {
    gap: 26px !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn {
    min-height: 55px !important;
    padding: 15px 24px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  /* ===== Финансовая помощь: кнопки как на главной ===== */
  #fundPlFinancialModal .payment-switcher {
    gap: 26px !important;
  }

  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .modal-form-footer .submit-btn {
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .payment-switch-btn:hover,
  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .modal-form-footer .submit-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  #fundPlFinancialModal .payment-switch-btn.active {
    background: #92cbdb !important;
    box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow) !important;
  }

  #fundPlFinancialModal .pay-actions {
    margin: 18px 0 10px !important;
  }

  /* ===== Пожертвовать вещами: шапка/низ фиксированы ===== */
  #fundPlMaterialModal .material-sheet {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #fundPlMaterialModal .modal-form-layout {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #fundPlMaterialModal .modal-form-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
  }

  #fundPlMaterialModal .modal-form-footer {
    flex-shrink: 0 !important;
  }

  /* ===== Сила Жить: уже липкая шапка/низ, усиливаем ===== */
  #fundLifeDonateModal .fund-donate-sheet {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #fundLifeDonateModal .fund-donate-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
  }

  #fundLifeDonateModal .fund-donate-footer {
    flex-shrink: 0 !important;
  }

  @media (max-width: 768px) {
    #calcModal .calc-modal-content {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      max-height: calc(100vh - 12px) !important;
      margin: 6px auto !important;
      border-radius: 20px !important;
    }

    #calcModal .calc-modal-header-sticky {
      padding: 18px 14px 14px !important;
    }

    #calcModal .calc-modal-header-sticky h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      margin: 0 36px 14px 0 !important;
    }

    #calcModal .calc-tabs {
      flex-direction: column !important;
      gap: 10px !important;
    }

    #calcModal .calc-tab-btn,
    #calcModal .money-reset-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .modal-form-footer .submit-btn {
      width: 100% !important;
      min-height: 48px !important;
      font-size: 14px !important;
    }

    #calcModal .calc-modal-body-sticky {
      padding: 14px !important;
    }

    #calcModal .calc-modal-footer-sticky {
      padding: 14px !important;
    }

    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .payment-switcher {
      gap: 12px !important;
    }
  }

/* ===== Новые модалки = как "Подписание контракта" ===== */

  /* Модалка выбора помощи */
  #fundPlHelpChoiceModal .modal-content {
    max-width: 760px !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    max-width: 640px;
    margin: 0 auto 22px;
    text-align: center;
    color: var(--text-soft);
    line-height: 1.6;
  }

  #fundPlHelpChoiceModal .help-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn {
    width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  /* Точно как у контракта по размеру и поведению */
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal,
  #fundLifeDonateModal .fund-contract-like-modal {
    max-width: 860px !important;
    max-height: min(88vh, 920px) !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #fundLifeDonateModal .fund-contract-like-header {
    position: relative !important;
    flex-shrink: 0 !important;
    padding: 24px 64px 18px 22px !important;
    background: #fff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #fundLifeDonateModal .fund-contract-like-header h2 {
    margin: 0 !important;
    text-align: center !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    color: var(--text-main) !important;
  }

  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn,
  #fundLifeDonateModal .sheet-close-btn {
    top: 14px !important;
    right: 16px !important;
    transform: none !important;
    z-index: 6 !important;
  }

  #fundPlFinancialModal .fund-contract-like-form,
  #fundPlMaterialModal .fund-contract-like-form,
  #fundLifeDonateModal .fund-contract-like-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-body,
  #fundPlMaterialModal .fund-contract-like-body,
  #fundLifeDonateModal .fund-contract-like-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px 22px 18px !important;
  }

  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .fund-contract-like-footer {
    position: static !important;
    flex-shrink: 0 !important;
    margin-top: 0 !important;
    padding: 18px 22px 22px !important;
    background: #fff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
  }

  /* Финансовая помощь — кнопки нормального цвета и ширины */
  #fundPlFinancialModal .payment-switcher {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 12px !important;
    width: 100% !important;
  }

  #fundPlFinancialModal .payment-switch-btn {
    border: none !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    transition: 0.25s ease !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .payment-switch-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  #fundPlFinancialModal .payment-switch-btn.active {
    background: #92cbdb !important;
    box-shadow: inset 0 0 0 2px rgba(17,17,17,0.08), var(--shadow) !important;
  }

  #fundPlFinancialModal .payment-empty-state {
    display: none;
    text-align: center;
    padding: 28px 18px;
    border-radius: 18px;
    background: #f7fbff;
    border: 1px solid #dfe9f5;
    color: var(--text-soft);
    margin-bottom: 18px;
  }

  #fundPlFinancialModal .payment-panel {
    display: none;
  }

  #fundPlFinancialModal .payment-empty-state.active,
  #fundPlFinancialModal .payment-panel.active {
    display: block;
  }

  #fundPlFinancialModal .pay-actions {
    display: flex !important;
    justify-content: center !important;
    margin: 18px 0 10px !important;
  }

  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn {
    width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border: none !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover {
    background: #92cbdb !important;
    transform: translateY(-2px) !important;
  }

  /* Пожертвования — карточки */
  .requisites-box,
  .requisite-info,
  .okved-info,
  .contact-info {
    background: #f9fbff;
    border: 1px solid #dfe9f5;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 14px;
  }

  .requisites-box h3,
  .requisite-info h4,
  .okved-info h4,
  .contact-info h4 {
    margin: 0 0 14px;
    color: var(--text-main);
  }

  .requisite-item {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: 10px 16px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  .requisite-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .requisite-item strong {
    color: var(--text-main);
  }

  .requisite-info ul,
  .okved-info ul {
    margin: 0;
    padding-left: 22px;
  }

  .requisite-info li + li,
  .okved-info li + li {
    margin-top: 8px;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-grid {
      grid-template-columns: 1fr !important;
    }

    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      max-height: calc(100vh - 12px) !important;
      margin: 6px auto !important;
      border-radius: 20px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #fundLifeDonateModal .fund-contract-like-header {
      padding: 20px 52px 14px 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header h2,
    #fundPlMaterialModal .fund-contract-like-header h2,
    #fundLifeDonateModal .fund-contract-like-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlFinancialModal .payment-switcher {
      flex-direction: column !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .pay-link-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      width: 100% !important;
      min-height: 48px !important;
      font-size: 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-body,
    #fundPlMaterialModal .fund-contract-like-body,
    #fundLifeDonateModal .fund-contract-like-body {
      padding: 14px 14px 8px !important;
    }

    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      padding: 14px !important;
    }

    .requisite-item {
      grid-template-columns: 1fr;
      gap: 6px;
    }
  }

/* Все эти менюшки/модалки делаем по ширине как основной блок страницы */
  @media (min-width: 981px) {
    #fundPlHelpChoiceModal .modal-content,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  @media (min-width: 769px) and (max-width: 980px) {
    #fundPlHelpChoiceModal .modal-content,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: calc(100% - 24px) !important;
      max-width: calc(100% - 24px) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .modal-content,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundLifeDonateModal .fund-contract-like-modal {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

/* Во всех этих менюшках делаем переливающийся цвет как на главной */
  #fundPlHelpChoiceModal .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .contract-btn:hover,
  #fundPlFinancialModal .payment-switch-btn:hover,
  #fundPlFinancialModal .pay-link-btn:hover,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    transform: translateY(-2px) !important;
  }

  #fundPlFinancialModal .payment-switch-btn.active {
    background: linear-gradient(135deg, #1f4b5b, #75adbc) !important;
    color: #111111 !important;
    box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow) !important;
  }

/* Жестко перебиваем цвет именно у кнопок в "ВЫБЕРИТЕ ВИД ПОМОЩИ" */
  #fundPlHelpChoiceModal .help-choice-grid button.contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid button {
    background-color: transparent !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid button.contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid button:hover {
    background-color: transparent !important;
    background-image: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
  }

/* Кнопки калькулятора как в блоках 2-4 */
  #calcModal .calc-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, 240px) !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 0 18px !important;
  }

  #calcModal .calc-tab-btn {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    transform: none !important;
  }

  #calcModal .calc-tab-btn:hover,
  #calcModal .calc-tab-btn.active {
    color: #111111 !important;
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    box-shadow: var(--shadow) !important;
  }

  #calcModal .calc-tab-btn:hover {
    transform: translateY(-2px) !important;
  }

  #calcModal .calc-tab-btn.active {
    transform: none !important;
  }

  @media (max-width: 768px) {
    #calcModal .calc-tabs {
      grid-template-columns: 1fr !important;
      gap: 12px !important;
    }

    #calcModal .calc-tab-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
    }
  }

/* Финальный единый размер кнопок по образцу блоков 2–4.
     Этот блок стоит последним и перебивает старые 220/240/250/270px правила. */

  @media (min-width: 769px) {
    .fund-action-row,
    .character-choice-section .history-action-row,
    #calcModal .calc-tabs,
    .benefit-modal-action,
    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer,
    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      gap: 12px !important;
      align-items: stretch !important;
    }

    .fund-action-row,
    .character-choice-section .history-action-row,
    #calcModal .calc-tabs,
    #fundPlHelpChoiceModal .help-choice-grid {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
    }

    .benefit-modal-action,
    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
    }

    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn,
    #calcModal .calc-tab-btn,
    .benefit-modal-action .contract-btn,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      flex: 0 0 220px !important;
      width: 220px !important;
      min-width: 220px !important;
      max-width: 220px !important;
      min-height: 52px !important;
      height: 52px !important;
      margin: 0 !important;
      padding: 14px 20px !important;
      border: none !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      white-space: normal !important;
      line-height: 1.2 !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      color: #111111 !important;
      background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
      box-shadow: var(--shadow) !important;
      transform: none !important;
    }

    .fund-action-row .contract-btn:hover,
    .character-choice-section .history-action-row .history-action-btn:hover,
    #calcModal .calc-tab-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .social-legal-modal-footer .social-legal-submit-btn:hover,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover,
    #calcModal .calc-tab-btn.active {
      color: #111111 !important;
      background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
      box-shadow: var(--shadow) !important;
    }

    .fund-action-row .contract-btn:hover,
    .character-choice-section .history-action-row .history-action-btn:hover,
    #calcModal .calc-tab-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .social-legal-modal-footer .social-legal-submit-btn:hover,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn:hover,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn:hover,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn:hover,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn:hover {
      transform: translateY(-2px) !important;
    }
  }

  @media (max-width: 768px) {
    .fund-action-row,
    .character-choice-section .history-action-row,
    #calcModal .calc-tabs,
    .benefit-modal-action,
    .service-modal-footer,
    .contract-modal-footer,
    .social-legal-modal-footer,
    #fundPlHelpChoiceModal .help-choice-grid,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;
    }

    .fund-action-row .contract-btn,
    .character-choice-section .history-action-row .history-action-btn,
    #calcModal .calc-tab-btn,
    .benefit-modal-action .contract-btn,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      margin: 0 !important;
      padding: 13px 16px !important;
      border-radius: 14px !important;
      text-align: center !important;
      justify-content: center !important;
    }
  }

/* Финальный точечный фикс: во всех модалках кнопки одного размера.
     Десктоп: длина 6.5см, высота 1.5см, расстояние между кнопками 5мм. */
  @media (min-width: 769px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 5mm !important;
    }

    #benefitModal .benefit-modal-action .contract-btn,
    #calcModal .calc-tab-btn,
    #fundModal .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #serviceModal .service-modal-footer .submit-btn,
    #contractModal .contract-modal-footer .submit-btn,
    #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.45cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.15 !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: break-word !important;
      box-sizing: border-box !important;
    }

    #calcModal .calc-tab-btn {
      font-size: 14px !important;
    }
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;
    }

    #benefitModal .benefit-modal-action .contract-btn,
    #calcModal .calc-tab-btn,
    #fundModal .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
    #serviceModal .service-modal-footer .submit-btn,
    #contractModal .contract-modal-footer .submit-btn,
    #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 48px !important;
      height: auto !important;
      max-height: none !important;
      padding: 13px 16px !important;
    }
  }

/* 4 блок: на ПК только 2 desktop-кнопки */
  .character-choice-section .history-action-row-desktop {
    display: flex !important;
    gap: 5mm !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    margin-top: 20px !important;
  }

  .character-choice-section .history-action-row-mobile {
    display: none !important;
  }

  .character-choice-section .history-action-row-desktop .history-action-btn,
  .character-choice-section .history-action-row-desktop .history-action-btn.history-action-btn-placeholder {
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    flex: 0 0 6.5cm !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.15 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
  }

  .character-choice-section .history-action-row-desktop .history-action-btn:hover,
  .character-choice-section .history-action-row-desktop .history-action-btn.history-action-btn-placeholder:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
  }

  @media (max-width: 768px) {
    .character-choice-section .history-action-row-desktop {
      display: none !important;
    }

    .character-choice-section .history-action-row-mobile {
      display: flex !important;
      width: 100% !important;
      gap: 5mm !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
      flex-wrap: wrap !important;
      margin-top: 14px !important;
    }

    .character-choice-section .history-action-row-mobile .history-action-btn,
    .character-choice-section .history-action-row-mobile .history-action-btn.history-action-btn-placeholder {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      flex: 1 1 100% !important;
      padding: 0 16px !important;
      margin: 0 !important;
      border: none !important;
      border-radius: 16px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.15 !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      box-sizing: border-box !important;
      appearance: none !important;
      -webkit-appearance: none !important;
      background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
      color: #111111 !important;
      box-shadow: var(--shadow) !important;
    }

    .character-choice-section .history-action-row-mobile .history-action-btn:hover,
    .character-choice-section .history-action-row-mobile .history-action-btn.history-action-btn-placeholder:hover {
      background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
      color: #111111 !important;
      transform: translateY(-2px) !important;
    }
  }

.character-choice-section .history-action-row-desktop {
    margin-left: 8mm !important;
  }

  @media (max-width: 768px) {
    .character-choice-section .history-action-row-mobile {
      padding-left: 0 !important;
      margin-left: 0 !important;
    }
  }

@media (min-width: 769px) {
    #fundPl .content-flex {
      align-items: stretch !important;
    }

    #fundPl .text-part {
      display: flex !important;
      flex-direction: column !important;
      min-height: 100% !important;
    }

    #fundPl .fund-copy {
      flex: 1 1 auto !important;
    }

    #fundPl .fund-action-row-desktop {
      margin-top: auto !important;
      align-self: flex-start !important;
    }
  }

@media (min-width: 769px) {
    #fundLife .content-flex {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      gap: 28px !important;
      align-items: stretch !important;
    }

    #fundLife .text-part,
    #fundLife .video-part {
      min-width: 0 !important;
    }

    #fundLife .text-part {
      display: flex !important;
      flex-direction: column !important;
      min-height: 100% !important;
    }

    #fundLife .fund-copy {
      flex: 1 1 auto !important;
    }

    #fundLife .fund-action-row-desktop {
      margin-top: auto !important;
      align-self: flex-start !important;
    }
  }

/* Одна финальная правка без конфликтов поверх старых патчей */

  .site-header .header-actions .home-link.top-news-btn {
    inline-size: 6.4cm !important;
    width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    flex: 0 0 6.4cm !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 14px 0 !important;
    border-radius: 14px !important;
    border: none !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    text-decoration: none !important;
    filter: none !important;
  }

  .site-header .header-actions .home-link.top-news-btn:hover,
  .site-header .header-actions .home-link.top-news-btn:focus-visible,
  .site-header .header-actions .home-link.top-news-btn:active {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
    filter: none !important;
  }

  .hero-card,
  .hero-service-card {
    display: grid !important;
    grid-template-rows: minmax(76px, auto) minmax(72px, 1fr) auto !important;
    align-content: start !important;
    align-items: start !important;
  }

  .hero-card-title,
  .hero-service-card-title,
  .hero-card-text,
  .hero-service-card-text {
    width: 100% !important;
    margin: 0 !important;
  }

  .hero-card-title,
  .hero-service-card-title,
  .hero-card-text,
  .hero-service-card-text {
    min-height: 0 !important;
  }

  .hero-card-btn,
  .hero-service-card-btn {
    margin-top: auto !important;
    align-self: flex-start !important;
  }

  .site-footer a,
  .site-footer a:hover,
  .site-footer a:focus-visible,
  .site-footer a:active,
  .legal-footer a,
  .legal-footer a:hover,
  .legal-footer a:focus-visible,
  .legal-footer a:active,
  .footer-doc-link,
  .footer-doc-link:hover,
  .footer-doc-link:focus-visible,
  .footer-doc-link:active {
    text-decoration: none !important;
    text-underline-offset: 0 !important;
  }

  .benefit-modal-text,
  .benefit-modal-text p,
  .benefit-modal-text li,
  .benefit-modal-text ul,
  .benefit-modal-text ol,
  .service-modal-body,
  .service-modal-body p,
  .service-modal-body li,
  .service-modal-body ul,
  .service-modal-body ol,
  .contract-modal-body,
  .contract-modal-body p,
  .contract-modal-body li,
  .contract-modal-body ul,
  .contract-modal-body ol,
  .social-legal-modal-body,
  .social-legal-modal-body p,
  .social-legal-modal-body li,
  .social-legal-modal-body ul,
  .social-legal-modal-body ol,
  .social-legal-form-subtitle,
  .social-legal-note,
  .fund-choice-note,
  .note,
  .calc-box,
  .money-calc-help,
  .money-calc-note,
  .help-popup-text,
  .form-group label,
  .form-group input,
  .form-group select,
  .form-group textarea,
  .social-legal-form-group label,
  .social-legal-form-group input,
  .social-legal-form-group select,
  .social-legal-form-group textarea,
  .consent-label,
  .social-legal-consent-label {
    font-size: 16px !important;
  }

  @media (max-width: 768px) {
    .site-header .header-actions .home-link.top-news-btn {
      inline-size: 6.4cm !important;
      width: 6.4cm !important;
      min-width: 6.4cm !important;
      max-width: 6.4cm !important;
      flex: 0 0 6.4cm !important;
    }

    .hero-card,
    .hero-service-card {
      grid-template-rows: auto auto auto !important;
    }
  }

/* Кнопки в модалках — тот же шрифт, что на кнопках 2–4 блоков */
  #benefitModal .benefit-modal-action > .contract-btn,
  #benefitModal .benefit-modal-action > .benefit-details-btn,
  #calcModal .calc-tabs > .calc-tab-btn,
  #fundModal .fund-choice-list > .fund-choice-link,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid > button,
  #serviceModal .service-modal-footer > .submit-btn,
  #contractModal .contract-modal-footer > .submit-btn,
  #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
  #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer > .submit-btn {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    text-transform: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action > .contract-btn,
    #benefitModal .benefit-modal-action > .benefit-details-btn,
    #calcModal .calc-tabs > .calc-tab-btn,
    #fundModal .fund-choice-list > .fund-choice-link,
    #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid > button,
    #serviceModal .service-modal-footer > .submit-btn,
    #contractModal .contract-modal-footer > .submit-btn,
    #socialLegalModal .social-legal-modal-footer > .social-legal-submit-btn,
    #fundPlFinancialModal .fund-contract-like-footer > .submit-btn,
    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    #fundLifeDonateModal .fund-contract-like-footer > .submit-btn {
      font-size: 16px !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
    }
  }

@media (min-width: 981px) {
    /* Оставляем сетку футера без изменений.
       Центрируем содержимое колонок внутри их текущих ячеек,
       чтобы "КОНТАКТЫ "Сила Жить"" визуально стояли между
       "ПРАВОВАЯ ИНФОРМАЦИЯ" и "КОНТАКТЫ "ПлАЦДАРМ"" без сдвига соседних колонок. */
    .footer-col--legal-info,
    .footer-col--contacts-life {
      justify-self: center !important;
      width: fit-content !important;
      max-width: 100% !important;
    }

    .footer-col--legal-info h3,
    .footer-col--legal-info ul,
    .footer-col--contacts-life h3,
    .footer-col--contacts-life ul {
      width: fit-content !important;
      max-width: 100% !important;
    }
  }

#fundBplaSchool .contract-btn {
    background: #2f7085;
    color: var(--text-main);
  }

  #fundBplaSchool .contract-btn:hover {
    background: #92cbdb;
    color: var(--text-main);
  }

  #fundBplaSchool .video-frame {
    background: #ffffff;
  }

  #fundBplaSchool .content-flex {
    align-items: stretch;
  }

  #fundBplaSchool .text-part {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #fundBplaSchool .fund-copy {
    width: 100%;
  }

  #fundBplaSchool .fund-action-row {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    margin-top: auto !important;
    padding-top: 12px !important;
  }

  #fundBplaSchool .video-frame img {
    object-fit: cover;
    padding: 0;
  }

  #fundBplaSchool::before {
    background-image: url("images/bg-index-placdarm1.JPG");
  }

  #fundBplaSchool .fund-action-row-mobile {
    display: none !important;
  }

  #fundBplaSchool .fund-action-row-desktop {
    display: grid !important;
    grid-template-columns: repeat(2, var(--oai-fund-btn-width, 240px)) !important;
    gap: 12px !important;
    align-items: stretch !important;
    justify-content: start !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  #fundBplaSchool .fund-action-row .contract-btn,
  #openBplaSchoolDonateBtn,
  #openBplaSchoolDonateBtnMobile {
    width: var(--oai-fund-btn-width, 240px) !important;
    min-width: var(--oai-fund-btn-width, 240px) !important;
    max-width: var(--oai-fund-btn-width, 240px) !important;
    height: var(--oai-fund-btn-height, 52px) !important;
    min-height: var(--oai-fund-btn-height, 52px) !important;
    max-height: var(--oai-fund-btn-height, 52px) !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--oai-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;
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 0 0 var(--oai-fund-btn-width, 240px) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-transform: none !important;
  }

  @media (max-width: 768px) {
    #fundBplaSchool .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

    #fundBplaSchool .text-part {
      order: 1 !important;
      align-items: stretch !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
    }

    #fundBplaSchool .video-part {
      order: 2 !important;
      flex: 0 0 auto !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 12px 0 0 !important;
    }

    #fundBplaSchool .video-frame {
      margin: 0 !important;
    }

    #fundBplaSchool .fund-action-row-desktop {
      display: none !important;
    }

    #fundBplaSchool .fund-action-row-mobile {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 12px !important;
      order: 3 !important;
      margin-top: 14px !important;
      margin-bottom: 14px !important;
      padding-top: 0 !important;
      width: 100% !important;
    }

    #fundBplaSchool .fund-action-row .contract-btn,
    #openBplaSchoolDonateBtn,
    #openBplaSchoolDonateBtnMobile {
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      flex-basis: 100% !important;
    }

    #fundBplaSchool .text-part p:last-child {
      margin-bottom: 0 !important;
    }
  }

/* Подгоняем правый внутренний край карточек в 1-м блоке
     под такой же визуальный отступ, как у картинки во 2-м блоке.
     Дополнительно убираем пустую 4-ю колонку в секции "Дополнительно",
     чтобы справа не оставалось лишнего зазора. */
  @media (min-width: 769px) {
    .hero-cards,
    .hero-services-cards {
      margin-right: -18px !important;
    }

    .hero-services-cards {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }

  @media (max-width: 768px) {
    .hero-cards,
    .hero-services-cards {
      margin-right: -4px !important;
    }
  }

  @media (max-width: 480px) {
    .hero-cards,
    .hero-services-cards {
      margin-right: -2px !important;
    }
  }

/* Фикс выравнивания карточек первого блока: убираем отрицательные отступы ряда,
     чтобы левый и правый край карточек совпадал с остальным контентом страницы. */
  @media (min-width: 769px) {
    .hero-cards,
    .hero-services-cards {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

  @media (max-width: 768px) {
    .hero-cards,
    .hero-services-cards {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

/* Финальный фикс: ряд из 3 карточек "Дополнительно" должен идти
     по той же внутренней ширине, что и контент второго блока.
     У hero-content внутренний padding 48px, у второго блока 30px,
     поэтому выносим именно этот ряд на 18px влево и вправо. */
  @media (min-width: 769px) {
    .hero-services-cards {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      margin-left: -18px !important;
      margin-right: -18px !important;
      width: auto !important;
      max-width: none !important;
    }
  }

  @media (max-width: 768px) {
    .hero-services-cards {
      margin-left: 0 !important;
      margin-right: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
    }
  }

#openContractBtnHistory,
  #openContractBtnHistoryMobile {
    text-transform: none !important;
  }

/* Align the badge and subtitle start with the first row cards in the first block. */
  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge,
  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
    margin-left: -18px !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
    width: calc(100% + 18px) !important;
    max-width: none !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      margin-left: 6px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% - 12px) !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      margin-left: -4px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% + 8px) !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      margin-left: 0 !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: 100% !important;
      max-width: 100% !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ».
    Внешний левый край рамки «Выбор направления службы» ставим на ту же
    вертикальную линию, где начинается кликабельная карточка.
  */
  html body section.positions-choice-hero > div.hero-content {
    display: block !important;
    padding: 48px !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: flex-start !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
    margin-left: -18px !important;
    margin-right: 0 !important;
    align-self: flex-start !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle,
  html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
    width: calc(100% + 36px) !important;
    max-width: none !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid > .hero-action-card {
    box-sizing: border-box !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content {
      padding: 40px 24px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: 6px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: calc(100% - 12px) !important;
      max-width: none !important;
      margin-left: 6px !important;
      margin-right: 6px !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero > div.hero-content {
      padding: 28px 20px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: -4px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: calc(100% + 8px) !important;
      max-width: none !important;
      margin-left: -4px !important;
      margin-right: -4px !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content {
      padding: 24px 16px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: 0 !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

/*
    Финальное выравнивание первого блока «КОНТРАКТ с ВС РФ».
    Один и тот же отступ задаётся и для ряда кликабельных карточек,
    и для внешней рамки «Выбор направления службы» — поэтому их левые
    границы находятся на одной вертикальной линии.
  */
  html body section.positions-choice-hero {
    --oai-choice-card-left-edge: -18px;
    --oai-choice-card-right-edge: -18px;
    --oai-choice-card-row-width: calc(100% + 36px);
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
    width: var(--oai-choice-card-row-width) !important;
    max-width: none !important;
    margin-left: var(--oai-choice-card-left-edge) !important;
    margin-right: var(--oai-choice-card-right-edge) !important;
    margin-inline-start: var(--oai-choice-card-left-edge) !important;
    margin-inline-end: var(--oai-choice-card-right-edge) !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.hero-badge.positions-choice-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: var(--oai-choice-card-left-edge) !important;
    margin-right: 0 !important;
    margin-inline-start: var(--oai-choice-card-left-edge) !important;
    margin-inline-end: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-self: flex-start !important;
    justify-self: start !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero {
      --oai-choice-card-left-edge: 6px;
      --oai-choice-card-right-edge: 6px;
      --oai-choice-card-row-width: calc(100% - 12px);
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero {
      --oai-choice-card-left-edge: -4px;
      --oai-choice-card-right-edge: -4px;
      --oai-choice-card-row-width: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero {
      --oai-choice-card-left-edge: 0px;
      --oai-choice-card-right-edge: 0px;
      --oai-choice-card-row-width: 100%;
    }
  }

/*
    Фон третьего блока "7я ВОЕННАЯ БАЗА" хранится в папке images:
    images/position_3bl_fon_7y_baza.JPG

    Фон четвертого блока "77й ОМСП" хранится в папке images:
    images/position_4bl_fon_77omsp.JPG

    Изображения подключаются как есть: без улучшения, изменения и генерации новых файлов.
  */
  #labs-111.history-section {
    --history-section-bg-image: url("images/position_3bl_fon_7y_baza.JPG");
  }

  #labs-333.history-section {
    --history-section-bg-image: url("images/position_4bl_fon_77omsp.JPG");
  }

/* Базовое исправление для модальных окон контактов/обратной связи:
     окно должно быть фиксированным overlay, а не обычным блоком внизу страницы. */
  #officeMapModal.social-legal-modal,
  #officeFeedbackModal.social-legal-modal {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    z-index: 1000 !important;
    background: rgba(0, 0, 0, 0.68) !important;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  #officeMapModal.social-legal-modal.active,
  #officeFeedbackModal.social-legal-modal.active {
    display: block !important;
  }

  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    box-sizing: border-box !important;
  }

/*
    Картинки для блоков "7я ВОЕННАЯ БАЗА" и "77й ОМСП" хранятся в папке images:
    images/positions_7y_lic.JPG
    images/positions_77lic.JPG
  */
  #labs-111 .position-image-frame img,
  #labs-333 .position-image-frame img {
    object-fit: cover !important;
    object-position: center !important;
  }

#calcModal {
    --header-main-btn-height: 52px;
    --modal-main-btn-height: 1.3cm;
    --oai-calc-footer-btn-width: 6.4cm;
    --oai-calc-footer-btn-height: 1.2cm;
  }

#calcModal .modal-content.calc-modal-content {max-width: 1180px;}

#calcModal .close-btn {position: absolute;
    right: 16px;
    top: 12px;
    background: transparent;
    border: none;
    font-size: 32px;
    cursor: pointer;
    line-height: 1;
    color: var(--text-main);}

#calcModal h2 {text-align: center;
    margin-bottom: 22px;
    font-size: 2rem;
    color: var(--text-main);}

#calcModal .calc-tabs {display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;}

#calcModal .calc-tab-btn {border: none;
    border-radius: 12px;
    padding: 12px 18px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    background: #eef3fa;
    color: var(--text-main);
    transition: 0.2s ease;
    min-height: auto;
    justify-content: center;
    box-shadow: none;}

#calcModal .calc-tab-btn.active {background: var(--blue);
    color: #fff;
    border: none;
    box-shadow: none;}

#calcModal .calc-panel {display: none;}

#calcModal .calc-panel.active {display: block;}

#calcModal .region-calc-grid {display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    align-items: start;}

#calcModal .region-info-card {background: #eef6ff;
    border-radius: 18px;
    padding: 18px;
    box-shadow: var(--shadow);}

#calcModal .region-info-card strong {display: block;
    margin-bottom: 10px;
    font-size: 16px;}

#calcModal .region-value {margin-top: 0;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 900;
    color: var(--blue-dark);
    white-space: pre-line;}

#calcModal .region-value.total-value {color: #3f93ad;}

#calcModal .region-info-card-full {grid-column: 1 / -1;}

#calcModal .money-calc-layout {display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.9fr);
    gap: 24px;
    align-items: start;}

#calcModal .money-calc-panel {background: #eef6ff;
    border-radius: 22px;
    box-shadow: var(--shadow);
    padding: 22px;}

#calcModal .money-calc-grid {display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;}

#calcModal .money-calc-inline-row {grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: end;}

#calcModal .money-calc-inline-row .form-group {margin-bottom: 0;}

#calcModal .money-calc-full {grid-column: 1 / -1;}

#calcModal .money-calc-group-title {font-size: 1.08rem;
    font-weight: 900;
    color: var(--blue-dark);
    margin: 2px 0 4px;}

#calcModal .money-calc-help {color: var(--text-soft);
    font-size: 0.95rem;
    margin-bottom: 6px;}

#calcModal .money-calc-note {margin-top: 16px;
    color: var(--text-soft);
    font-size: 0.94rem;}

#calcModal .money-calc-results {display: grid;
    gap: 14px;
    position: sticky;
    top: 18px;
    align-self: start;}

#calcModal .money-result {background: #fff;
    border-radius: 18px;
    padding: 16px 18px;
    box-shadow: var(--shadow);
    border: 1px solid #edf1f6;}

#calcModal .money-result strong {display: block;
    font-size: 0.95rem;
    margin-bottom: 8px;
    color: var(--text-soft);}

#calcModal .money-result span {display: block;
    font-size: 1.45rem;
    line-height: 1.18;
    font-weight: 900;
    color: var(--text-main);}

#calcModal .money-result.accent span {color: var(--blue-dark);}

#calcModal .money-result.warn span {color: #d96a1b;}

#calcModal .money-result.success span {color: #3f93ad;}

#calcModal .field-help {display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 8px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    cursor: help;
    vertical-align: middle;
    box-shadow: var(--shadow);}

#calcModal .field-help:hover {background: var(--blue-dark);}

#calcModal .money-reset-btn {border: none;
    border-radius: 14px;
    padding: 14px 22px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    background: var(--light-btn);
    color: var(--text-main);
    transition: 0.2s ease;
    box-shadow: var(--shadow);}

#calcModal .money-reset-btn:hover {background: #dde5ef;
    transform: translateY(-2px);}

@media (max-width: 980px) {
  #calcModal .money-calc-layout, #calcModal .region-calc-grid {grid-template-columns: 1fr;}
  #calcModal .money-calc-results {position: static;}
}

@media (max-width: 768px) {
  #calcModal .modal-content {margin: 20px auto;
      padding: 24px 16px;}
  #calcModal .money-calc-grid, #calcModal .money-calc-inline-row {grid-template-columns: 1fr;}
}

#calcModal .calc-tab-btn.active, #calcModal .money-reset-btn {background: var(--flow-gradient) !important;
    color: #111111 !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: var(--flow-button-shadow) !important;}

#calcModal .calc-tab-btn.active:hover, #calcModal .money-reset-btn:hover {background: var(--flow-gradient-hover) !important;
    color: #111111 !important;
    box-shadow: var(--flow-button-shadow-hover) !important;}

#calcModal .money-reset-btn, #calcModal .calc-tab-btn.active {transform: none;}

#calcModal .money-reset-btn:hover, #calcModal .calc-tab-btn.active:hover {transform: translateY(-2px);}

#calcModal h2 {font-size: 1.7rem !important;
    line-height: 1.15 !important;}

@media (max-width: 768px) {
  #calcModal h2 {font-size: 1.35rem !important;}
}

#calcModal .calc-modal-content {width: min(1240px, calc(100% - 40px)) !important;
    max-width: min(1240px, calc(100% - 40px)) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;}

#calcModal .calc-modal-header-sticky {position: relative !important;
    flex-shrink: 0 !important;
    padding: 22px 22px 16px !important;
    background: #fff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 36px 16px 0 !important;
    text-align: center !important;
    font-size: 2rem !important;}

#calcModal .calc-modal-header-sticky #closeCalcBtn {top: 14px !important;
    right: 16px !important;
    z-index: 4 !important;}

#calcModal .calc-tabs {margin: 0 !important;
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;}

#calcModal .calc-tab-btn {min-height: 54px !important;
    padding: 15px 24px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px !important;
    background: #fff !important;}

#calcModal .calc-modal-footer-sticky {flex-shrink: 0 !important;
    padding: 16px 22px 22px !important;
    background: #fff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;}

#calcModal .calc-modal-footer-sticky.is-hidden {display: none !important;}

#calcModal .money-reset-btn {width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    margin: 0 !important;}

#calcModal .money-reset-btn:hover {background: #92cbdb !important;
    transform: translateY(-2px) !important;}

#calcModal .money-calc-full:has(#moneyCalcReset) {display: none !important;}

#calcModal .calc-panel.active {display: block !important;}

#calcModal #regionCalcPanel, #calcModal #moneyCalcPanel {overflow: visible !important;}

#calcModal .money-calc-results {top: 0 !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      max-height: calc(100vh - 12px) !important;
      margin: 6px auto !important;
      border-radius: 20px !important;}
  #calcModal .calc-modal-header-sticky {padding: 18px 14px 14px !important;}
  #calcModal .calc-modal-header-sticky h2 {font-size: 1.35rem !important;
      line-height: 1.2 !important;
      margin: 0 36px 14px 0 !important;}
  #calcModal .calc-tabs {flex-direction: column !important;
      gap: 10px !important;}
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 100% !important;
      min-height: 48px !important;
      font-size: 14px !important;}
  #calcModal .calc-modal-body-sticky {padding: 14px !important;}
  #calcModal .calc-modal-footer-sticky {padding: 14px !important;}
}

#calcModal .calc-tabs {display: grid !important;
    grid-template-columns: repeat(2, 240px) !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 0 18px !important;}

#calcModal .calc-tab-btn {width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    transform: none !important;}

#calcModal .calc-tab-btn:hover, #calcModal .calc-tab-btn.active {color: #111111 !important;
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    box-shadow: var(--shadow) !important;}

#calcModal .calc-tab-btn:hover {transform: translateY(-2px) !important;}

#calcModal .calc-tab-btn.active {transform: none !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs {grid-template-columns: 1fr !important;
      gap: 12px !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs {gap: 12px !important;
      align-items: stretch !important;}
  #calcModal .calc-tabs {display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;}
  #calcModal .calc-tab-btn {flex: 0 0 220px !important;
      width: 220px !important;
      min-width: 220px !important;
      max-width: 220px !important;
      min-height: 52px !important;
      height: 52px !important;
      margin: 0 !important;
      padding: 14px 20px !important;
      border: none !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      white-space: normal !important;
      line-height: 1.2 !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      color: #111111 !important;
      background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
      box-shadow: var(--shadow) !important;
      transform: none !important;}
  #calcModal .calc-tab-btn:hover, #calcModal .calc-tab-btn.active {color: #111111 !important;
      background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
      box-shadow: var(--shadow) !important;}
  #calcModal .calc-tab-btn:hover {transform: translateY(-2px) !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs {display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      margin: 0 !important;
      padding: 13px 16px !important;
      border-radius: 14px !important;
      text-align: center !important;
      justify-content: center !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs {display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 5mm !important;}
  #calcModal .calc-tab-btn {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.45cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.15 !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: break-word !important;
      box-sizing: border-box !important;}
  #calcModal .calc-tab-btn {font-size: 14px !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs {display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 48px !important;
      height: auto !important;
      max-height: none !important;
      padding: 13px 16px !important;}
}

#calcModal .calc-tabs > .calc-tab-btn {font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    text-transform: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs > .calc-tab-btn {font-size: 16px !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;}
}

#calcModal .calc-tabs {display: grid !important;
    justify-content: center !important;
    gap: 16px !important;}

#calcModal .calc-tabs {grid-template-columns: repeat(2, 300px) !important;
    margin-bottom: 18px !important;}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;}

#calcModal .calc-tab-btn {width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;}

#calcModal .calc-tab-btn:hover, #calcModal .money-reset-btn:hover, #calcModal .calc-tab-btn.active {background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;}

#calcModal .form-group {position: relative !important;
    overflow: visible !important;}

#calcModal .calc-native-select-hidden {position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;}

#calcModal .calc-custom-select {position: relative;
    width: 100%;
    z-index: 5;}

#calcModal .calc-custom-trigger {width: 100%;
    min-height: 52px;
    padding: 13px 44px 13px 16px;
    border: 1px solid #d8dce2;
    border-radius: 14px;
    background: #ffffff;
    color: #111111;
    font-size: 15px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: 0.2s ease;}

#calcModal .calc-custom-trigger::after {content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #111111;
    border-bottom: 2px solid #111111;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;}

#calcModal .calc-custom-select.open {z-index: 40;}

#calcModal .calc-custom-select.open .calc-custom-trigger {border-color: var(--blue, #6ea8ff);
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.15);}

#calcModal .calc-custom-select.open .calc-custom-trigger::after {transform: translateY(-35%) rotate(-135deg);}

#calcModal .calc-custom-trigger.is-placeholder {color: #4f5964;}

#calcModal .calc-custom-dropdown {display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #d8dce2;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
    padding: 8px;}

#calcModal .calc-custom-select.open .calc-custom-dropdown {display: block;}

#calcModal .calc-custom-option {display: block;
    width: 100%;
    border: none;
    background: transparent;
    border-radius: 12px;
    padding: 11px 12px;
    text-align: left;
    font-size: 15px;
    line-height: 1.3;
    color: #111111;
    cursor: pointer;
    transition: 0.18s ease;}

#calcModal .calc-custom-option:hover {background: #eef5ff;}

#calcModal .calc-custom-option.is-selected {background: #dff0ff;
    font-weight: 800;}

#calcModal .calc-custom-option.is-disabled {color: #7a8591;}

@media (max-width: 768px) {
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 52px !important;
      min-height: 52px !important;
      font-size: 15px !important;}
  #calcModal .calc-tabs {grid-template-columns: 1fr !important;}
  #calcModal .calc-custom-dropdown {max-height: 220px;}
}

#calcModal .calc-tabs {display: grid !important;
    grid-template-columns: repeat(2, var(--oai-unified-btn-width)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: var(--oai-unified-btn-gap) !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;}

#calcModal .calc-tabs {column-gap: var(--oai-unified-btn-gap) !important;
    row-gap: var(--oai-unified-btn-gap) !important;}

#calcModal .calc-tab-btn {width: var(--oai-unified-btn-width) !important;
    min-width: var(--oai-unified-btn-width) !important;
    max-width: var(--oai-unified-btn-width) !important;
    height: var(--oai-unified-btn-height) !important;
    min-height: var(--oai-unified-btn-height) !important;
    max-height: var(--oai-unified-btn-height) !important;
    padding: var(--oai-unified-btn-pad-y) var(--oai-unified-btn-pad-x) !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--oai-unified-btn-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: var(--oai-unified-btn-font) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: var(--shadow) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;}

#calcModal .calc-tab-btn {background: #2f7085 !important;
    color: var(--text-main) !important;}

#calcModal .calc-tab-btn:hover {background: #92cbdb !important;
    color: var(--text-main) !important;
    transform: translateY(-2px) !important;}

#calcModal .calc-tab-btn.active {background: #92cbdb !important;
    color: var(--text-main) !important;
    box-shadow: inset 0 0 0 2px rgba(17,17,17,0.08), var(--shadow) !important;}

#calcModal .calc-tab-btn {flex: 0 0 var(--oai-unified-btn-width) !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs {grid-template-columns: 1fr !important;
      width: 100% !important;
      max-width: 100% !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      flex-basis: 100% !important;}
}

#calcModal .calc-tab-btn {background: var(--oai-fund-btn-bg) !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;}

#calcModal .calc-tab-btn:hover, #calcModal .calc-tab-btn.active {background: var(--oai-fund-btn-bg-hover) !important;
    color: var(--text-main) !important;
    transform: translateY(-2px) !important;}

#calcModal .calc-tab-btn.active {box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow) !important;}

@media (min-width: 769px) {
  #calcModal .calc-tabs {display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      align-content: center !important;
      column-gap: 5mm !important;
      row-gap: 5mm !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      box-sizing: border-box !important;}
  #calcModal .calc-tabs > .calc-tab-btn {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.42cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      vertical-align: middle !important;
      line-height: 1.12 !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
      align-self: center !important;}
  #calcModal .calc-tabs > .calc-tab-btn.active {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs {display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;}
  #calcModal .calc-tabs > .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      padding: 13px 16px !important;}
}

@media (min-width: 769px) {
  #calcModal #moneyCalcReset.money-reset-btn {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      padding: 0 0.42cm !important;
      margin: 0 !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.12 !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
      align-self: center !important;}
  #calcModal #moneyCalcReset.money-reset-btn {display: flex !important;
      margin-left: auto !important;
      margin-right: auto !important;}
}

@media (max-width: 768px) {
  #calcModal #moneyCalcReset.money-reset-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      padding: 13px 16px !important;}
}

#calcModal .calc-tabs {gap: 5mm !important;}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    flex: 0 0 6.5cm !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs {gap: 12px !important;}
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      font-style: normal !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      -webkit-font-smoothing: antialiased !important;
      text-rendering: geometricPrecision !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      font-style: normal !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      -webkit-font-smoothing: antialiased !important;
      text-rendering: geometricPrecision !important;}
}

#calcModal .calc-tabs > .calc-tab-btn, #calcModal .money-reset-btn {min-height: var(--header-main-btn-height) !important;
  height: var(--header-main-btn-height) !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;}

#calcModal .calc-tabs > .calc-tab-btn, #calcModal .money-reset-btn {line-height: 1.2 !important;}

#calcModal h2 {color: var(--text-main) !important;}

@media (min-width: 769px) {
  #calcModal.modal {padding-bottom: 8mm !important;}
  #calcModal .calc-modal-content {max-height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;}
  #calcModal .calc-modal-footer-sticky {position: sticky !important;
      bottom: 0 !important;}
}

@media (max-width: 768px) {
  #calcModal.modal {padding-bottom: 8mm !important;}
  #calcModal .calc-modal-content {max-height: calc(100vh - 8px - 8mm) !important;}
  #calcModal .calc-modal-footer-sticky {position: sticky !important;
      bottom: 0 !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs {gap: 5mm !important;
      justify-content: center !important;
      align-items: center !important;
      margin: 0 !important;}
  #calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      flex: 0 0 6.5cm !important;
      padding: 0 12px !important;
      box-sizing: border-box !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      border-radius: 14px !important;
      white-space: normal !important;
      word-break: normal !important;}
  #calcModal .calc-modal-content {height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;
      min-height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;
      max-height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;}
  #calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;}
  #calcModal .calc-modal-footer-sticky {position: sticky !important;
      bottom: 0 !important;
      flex: 0 0 auto !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {height: calc(100vh - 8px - 8mm) !important;
      min-height: calc(100vh - 8px - 8mm) !important;
      max-height: calc(100vh - 8px - 8mm) !important;
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;}
  #calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;}
}

#calcModal .calc-tab-btn {height: 1.3cm !important;
  min-height: 1.3cm !important;
  max-height: 1.3cm !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.1 !important;}

#calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset {height: var(--modal-main-btn-height) !important;
  min-height: var(--modal-main-btn-height) !important;
  max-height: var(--modal-main-btn-height) !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.15 !important;}

#calcModal .calc-tabs {gap: 5mm !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;}

#calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset {border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;}

#calcModal .calc-modal-header-sticky {position: relative !important;
  flex-shrink: 0 !important;
  padding: 22px 22px 16px !important;
  background: #fff !important;
  border-bottom: 1px solid #e7edf5 !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
  z-index: 3 !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 36px 16px 0 !important;
  text-align: center !important;
  font-size: 2rem !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 22px !important;
  background: #fff !important;}

#calcModal .calc-modal-footer-sticky {flex-shrink: 0 !important;
  padding: 16px 22px 22px !important;
  background: #fff !important;
  border-top: 1px solid #e7edf5 !important;
  box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
  z-index: 3 !important;}

#calcModal .calc-modal-footer-sticky.is-hidden {display: none !important;}

@media (min-width: 769px) {
  #calcModal.modal {padding-bottom: 8mm !important;}
  #calcModal .calc-modal-content {padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;
    min-height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;
    max-height: calc(100vh - var(--fixed-header-offset, 92px) - 12px - 8mm) !important;}
}

@media (max-width: 768px) {
  #calcModal.modal {padding-bottom: 8mm !important;}
  #calcModal .calc-modal-content {padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: calc(100vh - var(--fixed-header-offset, 84px) - 8px - 8mm) !important;
    min-height: calc(100vh - var(--fixed-header-offset, 84px) - 8px - 8mm) !important;
    max-height: calc(100vh - var(--fixed-header-offset, 84px) - 8px - 8mm) !important;}
}

#calcModal .calc-tabs > button.calc-tab-btn, #calcModal .calc-tabs > .calc-tab-btn, #calcModal .calc-tabs > .calc-tab-btn.active, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {height: 1.3cm !important;
    min-height: 1.3cm !important;
    max-height: 1.3cm !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.15 !important;
    flex-shrink: 0 !important;}

#calcModal .calc-tabs > button.calc-tab-btn, #calcModal .calc-tabs > .calc-tab-btn, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn {padding-left: 12px !important;
    padding-right: 12px !important;}

#calcModal .money-calc-full:has(> #moneyCalcReset.money-reset-btn), #calcModal .money-calc-full:has(> button#moneyCalcReset) {display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;}

#calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    height: 1.3cm !important;
    min-height: 1.3cm !important;
    max-height: 1.3cm !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.15 !important;
    flex: 0 0 6.4cm !important;}

#calcModal .calc-modal-footer-sticky {display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;}

#calcModal .calc-modal-footer-sticky > #moneyCalcReset, #calcModal .calc-modal-footer-sticky > button#moneyCalcReset.money-reset-btn, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    height: 1.3cm !important;
    min-height: 1.3cm !important;
    max-height: 1.3cm !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.15 !important;
    flex: 0 0 6.4cm !important;}

#calcModal .calc-modal-footer-sticky {display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;}

#calcModal .calc-modal-footer-sticky > button#moneyCalcReset.money-reset-btn, #calcModal .calc-modal-footer-sticky > #moneyCalcReset, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    height: 1.3cm !important;
    min-height: 1.3cm !important;
    max-height: 1.3cm !important;
    flex: 0 0 6.4cm !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;}

#calcModal .calc-modal-footer-sticky {display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;}

#calcModal .calc-modal-footer-sticky > button#moneyCalcReset.money-reset-btn, #calcModal .calc-modal-footer-sticky > #moneyCalcReset, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    height: 1.2cm !important;
    min-height: 1.2cm !important;
    max-height: 1.2cm !important;
    flex: 0 0 6.4cm !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: var(--oai-final-btn-length) !important;
    min-width: var(--oai-final-btn-length) !important;
    max-width: var(--oai-final-btn-length) !important;
    inline-size: var(--oai-final-btn-length) !important;
    flex: 0 0 var(--oai-final-btn-length) !important;

    height: var(--oai-final-btn-height) !important;
    min-height: var(--oai-final-btn-height) !important;
    max-height: var(--oai-final-btn-height) !important;
    block-size: var(--oai-final-btn-height) !important;

    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;}

#calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex-wrap: wrap !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .money-calc-actions {display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;}

#calcModal .calc-modal-footer-sticky {justify-content: space-between !important;}

#calcModal .money-reset-btn {margin-left: auto !important;}

@media (max-width: 768px) {
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: min(var(--oai-final-btn-length), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-final-btn-length), 100%) !important;
      flex: 0 1 min(var(--oai-final-btn-length), 100%) !important;
      height: var(--oai-final-btn-height) !important;
      min-height: var(--oai-final-btn-height) !important;
      max-height: var(--oai-final-btn-height) !important;}
}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: var(--oai-btn-len) !important;
    min-width: var(--oai-btn-len) !important;
    max-width: var(--oai-btn-len) !important;
    inline-size: var(--oai-btn-len) !important;
    height: var(--oai-btn-h) !important;
    min-height: var(--oai-btn-h) !important;
    max-height: var(--oai-btn-h) !important;
    block-size: var(--oai-btn-h) !important;
    flex: 0 0 var(--oai-btn-len) !important;
    padding: 0 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;
    border-radius: 14px !important;}

#calcModal .calc-tabs, #calcModal .calc-modal-footer-sticky {gap: 5mm !important;
    align-items: center !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    flex-shrink: 0 !important;
    overflow: visible !important;}

#calcModal .calc-footer-left, #calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    margin: 0 !important;}

#calcModal .calc-footer-right {margin-left: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 5mm !important;}

#calcModal.calc-mode-region .calc-footer-right, #calcModal:not(.calc-mode-money) .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal.calc-mode-money .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal.calc-mode-money .calc-footer-right.oai-reset-drop-now {animation: none !important;}

#calcModal.calc-mode-money .calc-footer-right.oai-reset-drop-now #moneyCalcReset {animation: none !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {align-items: stretch !important;}
  #calcModal .calc-footer-left, #calcModal .calc-tabs, #calcModal .calc-footer-right {width: 100% !important;
      justify-content: center !important;
      margin-left: 0 !important;}
}

#calcModal .calc-modal-content {max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 24px) !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 16px) !important;}
}

#calcModal .calc-tabs .calc-tab-btn, #calcModal .money-reset-btn {inline-size: var(--index-news-btn-width) !important;
    width: var(--index-news-btn-width) !important;
    min-width: var(--index-news-btn-width) !important;
    max-width: var(--index-news-btn-width) !important;
    block-size: var(--index-news-btn-height) !important;
    height: var(--index-news-btn-height) !important;
    min-height: var(--index-news-btn-height) !important;
    max-height: var(--index-news-btn-height) !important;
    flex: 0 0 var(--index-news-btn-width) !important;
    padding: 0 0.32cm !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: none !important;
    border-radius: var(--index-news-btn-radius) !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-decoration: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;}

#calcModal .calc-tabs .calc-tab-btn, #calcModal .money-reset-btn {background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;}

#calcModal .calc-tabs .calc-tab-btn:hover, #calcModal .calc-tabs .calc-tab-btn:focus-visible, #calcModal .calc-tabs .calc-tab-btn.active, #calcModal .money-reset-btn:hover, #calcModal .money-reset-btn:focus-visible {background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
    transform: translateY(-2px) !important;}

#calcModal .calc-tabs, #calcModal .calc-modal-footer-sticky {display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5mm !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs .calc-tab-btn, #calcModal .money-reset-btn {inline-size: var(--index-news-btn-width) !important;
      width: var(--index-news-btn-width) !important;
      min-width: var(--index-news-btn-width) !important;
      max-width: min(var(--index-news-btn-width), 100%) !important;
      block-size: var(--index-news-btn-height) !important;
      height: var(--index-news-btn-height) !important;
      min-height: var(--index-news-btn-height) !important;
      max-height: var(--index-news-btn-height) !important;
      flex: 0 0 var(--index-news-btn-width) !important;
      padding: 0 0.28cm !important;
      font-size: 14px !important;}
}

#calcModal .calc-modal-header-sticky {padding: 12px 54px 8px 22px !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 !important;
    padding: 0 !important;
    line-height: 1.12 !important;}

#calcModal .calc-modal-body-sticky {padding: 14px 22px !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {display: flex !important;
    visibility: visible !important;
    flex-shrink: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    padding: 12px 22px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;}

#calcModal .calc-footer-left, #calcModal .calc-footer-right, #calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    margin: 0 !important;}

#calcModal .calc-footer-left {justify-content: flex-start !important;}

#calcModal .calc-footer-right {justify-content: flex-end !important;
    margin-left: auto !important;}

#calcModal .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    height: 1.3cm !important;
    min-height: 1.3cm !important;
    max-height: 1.3cm !important;
    flex: 0 0 6.4cm !important;
    padding: 0 0.32cm !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.12 !important;
    white-space: normal !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {flex-direction: column !important;
      align-items: stretch !important;}
  #calcModal .calc-footer-left, #calcModal .calc-footer-right, #calcModal .calc-tabs {width: 100% !important;
      justify-content: center !important;
      margin-left: 0 !important;}
  #calcModal .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 0 1 min(6.4cm, 100%) !important;}
}

#calcModal .calc-modal-content {height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;}
}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 8px !important;
    padding-right: 22px !important;
    padding-bottom: 4px !important;
    padding-left: 22px !important;}

#calcModal .calc-footer-left, #calcModal .calc-footer-right, #calcModal .calc-tabs {margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;}

#calcModal .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {margin-top: 0 !important;
    margin-bottom: 0 !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 8px !important;
      padding-right: 14px !important;
      padding-bottom: 4px !important;
      padding-left: 14px !important;}
}

#calcModal .calc-footer-right, #calcModal #moneyCalcReset, #calcModal .calc-footer-right.oai-reset-drop-now, #calcModal .calc-footer-right.oai-reset-drop-final, #calcModal .calc-footer-right.oai-reset-drop-now #moneyCalcReset, #calcModal #moneyCalcReset.oai-reset-drop-final-btn {animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    will-change: auto !important;}

#calcModal #moneyCalcReset:hover, #calcModal #moneyCalcReset:focus-visible, #calcModal .calc-footer-right:hover, #calcModal .calc-footer-right:focus-within {animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;}

#calcModal.calc-mode-money .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal.calc-mode-region .calc-footer-right, #calcModal:not(.calc-mode-money) .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 5px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-footer-sticky {padding-left: 22px !important;
    padding-right: 22px !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
    margin-bottom: 0 !important;}

#calcModal .calc-modal-header-sticky #closeCalcBtn {position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-main, #111111) !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 0.2s ease !important;
    animation: none !important;
    filter: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-header-sticky #closeCalcBtn:hover, #calcModal .calc-modal-header-sticky #closeCalcBtn:focus-visible {background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 5px !important;
      padding-right: 14px !important;
      padding-bottom: 5px !important;
      padding-left: 14px !important;}
  #calcModal .calc-modal-header-sticky #closeCalcBtn {top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      min-width: 40px !important;
      min-height: 40px !important;
      max-width: 40px !important;
      max-height: 40px !important;}
}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: var(--modal-footer-btn-gap) !important;
  padding-bottom: var(--modal-footer-btn-gap) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-left: 22px !important;
  padding-right: 22px !important;}

#calcModal .calc-modal-footer-sticky {display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;}

#calcModal .calc-modal-footer-sticky > .money-reset-btn, #calcModal .calc-modal-footer-sticky > button {margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center !important;
  box-sizing: border-box !important;}

#calcModal #closeCalcBtn {position: absolute !important;
  top: 5px !important;
  right: 12px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: var(--text-main, #111111) !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  transition: color 0.2s ease !important;
  z-index: 50 !important;
  box-sizing: border-box !important;}

#calcModal #closeCalcBtn:hover, #calcModal #closeCalcBtn:focus-visible {background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  color: var(--blue-dark, #4f8df0) !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: var(--modal-footer-btn-gap) !important;
    padding-right: 14px !important;
    padding-bottom: var(--modal-footer-btn-gap) !important;
    padding-left: 14px !important;}
  #calcModal #closeCalcBtn {top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;}
}

#calcModal .calc-modal-body-sticky {padding-bottom: 0 !important;}

#calcModal .calc-modal-body-sticky > :last-child {margin-bottom: 0 !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {min-height: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
  margin-bottom: 0 !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-left: 22px !important;
    padding-right: 22px !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
    margin-bottom: 0 !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 12px !important;
      padding-right: 14px !important;
      padding-bottom: 12px !important;
      padding-left: 14px !important;}
}

#calcModal {padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;}

#calcModal .calc-modal-content {position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-header-sticky {position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;}

#calcModal #closeCalcBtn {position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;}

#calcModal #closeCalcBtn:hover, #calcModal #closeCalcBtn:focus-visible {background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {flex: 0 0 auto !important;
    padding: 12px 22px 12px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
    margin-bottom: 0 !important;}

@media (max-width: 768px) {
  #calcModal {padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;}
  #calcModal .calc-modal-content {width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;}
  #calcModal .calc-modal-header-sticky {padding: 12px 54px 8px 22px !important;}
  #calcModal .calc-modal-header-sticky h2 {font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;}
  #calcModal #closeCalcBtn {top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;}
  #calcModal .calc-modal-body-sticky {padding: 14px !important;}
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding: 12px 14px !important;
      gap: 10px !important;}
}

@media (max-width: 480px) {
  #calcModal {padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;}
  #calcModal .calc-modal-content {width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;}
}

#calcModal:not(.calc-mode-money) .calc-modal-footer-sticky, #calcModal.calc-mode-region .calc-modal-footer-sticky {justify-content: flex-start !important;
    align-items: center !important;}

#calcModal:not(.calc-mode-money) .calc-footer-left, #calcModal.calc-mode-region .calc-footer-left, #calcModal:not(.calc-mode-money) .calc-tabs, #calcModal.calc-mode-region .calc-tabs {justify-content: flex-start !important;
    align-items: center !important;
    margin-left: 0 !important;
    margin-right: auto !important;}

#calcModal:not(.calc-mode-money) .calc-footer-right, #calcModal.calc-mode-region .calc-footer-right {display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;}

#calcModal.calc-mode-money .calc-modal-footer-sticky {justify-content: space-between !important;}

#calcModal.calc-mode-money .calc-footer-left, #calcModal.calc-mode-money .calc-tabs {justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;}

#calcModal.calc-mode-money .calc-footer-right {display: flex !important;
    justify-content: flex-end !important;
    margin-left: auto !important;}

@media (max-width: 768px) {
  #calcModal:not(.calc-mode-money) .calc-modal-footer-sticky, #calcModal.calc-mode-region .calc-modal-footer-sticky {align-items: flex-start !important;}
  #calcModal:not(.calc-mode-money) .calc-footer-left, #calcModal.calc-mode-region .calc-footer-left, #calcModal:not(.calc-mode-money) .calc-tabs, #calcModal.calc-mode-region .calc-tabs {width: 100% !important;
      justify-content: flex-start !important;
      align-items: center !important;}
}

#calcModal {padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    align-items: flex-start !important;
    overflow-y: auto !important;}

#calcModal .calc-modal-content {margin-top: 0 !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;}

#calcModal .calc-modal-content {height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;}

@media (max-width: 768px) {
  #calcModal {padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
      padding-right: var(--modal-side-gap-tablet, 12px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 12px) !important;}
}

@media (max-width: 480px) {
  #calcModal {padding-right: var(--modal-side-gap-mobile, 10px) !important;
      padding-left: var(--modal-side-gap-mobile, 10px) !important;}
}

#calcModal .calc-modal-content {width: min(1240px, calc(100% - 40px)) !important;
    max-width: min(1240px, calc(100% - 40px)) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;}

#calcModal .calc-modal-header-sticky {position: relative !important;
    flex-shrink: 0 !important;
    padding: 22px 22px 16px !important;
    background: #fff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 36px 16px 0 !important;
    text-align: center !important;
    font-size: 2rem !important;}

#calcModal .calc-modal-header-sticky #closeCalcBtn {top: 14px !important;
    right: 16px !important;
    z-index: 4 !important;}

#calcModal .calc-tabs {margin: 0 !important;
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;}

#calcModal .calc-tab-btn {min-height: 54px !important;
    padding: 15px 24px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px !important;
    background: #fff !important;}

#calcModal .calc-modal-footer-sticky {flex-shrink: 0 !important;
    padding: 16px 22px 22px !important;
    background: #fff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;}

#calcModal .calc-modal-footer-sticky.is-hidden {display: none !important;}

#calcModal .money-reset-btn {width: 100% !important;
    min-height: 55px !important;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: #2f7085 !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
    margin: 0 !important;}

#calcModal .money-reset-btn:hover {background: #92cbdb !important;
    transform: translateY(-2px) !important;}

#calcModal .money-calc-full:has(#moneyCalcReset) {display: none !important;}

#calcModal .calc-panel.active {display: block !important;}

#calcModal #regionCalcPanel, #calcModal #moneyCalcPanel {overflow: visible !important;}

#calcModal .money-calc-results {top: 0 !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      max-height: calc(100vh - 12px) !important;
      margin: 6px auto !important;
      border-radius: 20px !important;}
  #calcModal .calc-modal-header-sticky {padding: 18px 14px 14px !important;}
  #calcModal .calc-modal-header-sticky h2 {font-size: 1.35rem !important;
      line-height: 1.2 !important;
      margin: 0 36px 14px 0 !important;}
  #calcModal .calc-tabs {flex-direction: column !important;
      gap: 10px !important;}
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 100% !important;
      min-height: 48px !important;
      font-size: 14px !important;}
  #calcModal .calc-modal-body-sticky {padding: 14px !important;}
  #calcModal .calc-modal-footer-sticky {padding: 14px !important;}
}

#calcModal .calc-tabs {display: grid !important;
    grid-template-columns: repeat(2, 240px) !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 0 18px !important;}

#calcModal .calc-tab-btn {width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    transform: none !important;}

#calcModal .calc-tab-btn:hover, #calcModal .calc-tab-btn.active {color: #111111 !important;
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    box-shadow: var(--shadow) !important;}

#calcModal .calc-tab-btn:hover {transform: translateY(-2px) !important;}

#calcModal .calc-tab-btn.active {transform: none !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs {grid-template-columns: 1fr !important;
      gap: 12px !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs {gap: 12px !important;
      align-items: stretch !important;}
  #calcModal .calc-tabs {display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;}
  #calcModal .calc-tab-btn {flex: 0 0 220px !important;
      width: 220px !important;
      min-width: 220px !important;
      max-width: 220px !important;
      min-height: 52px !important;
      height: 52px !important;
      margin: 0 !important;
      padding: 14px 20px !important;
      border: none !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      white-space: normal !important;
      line-height: 1.2 !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      color: #111111 !important;
      background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
      box-shadow: var(--shadow) !important;
      transform: none !important;}
  #calcModal .calc-tab-btn:hover, #calcModal .calc-tab-btn.active {color: #111111 !important;
      background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
      box-shadow: var(--shadow) !important;}
  #calcModal .calc-tab-btn:hover {transform: translateY(-2px) !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs {display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      margin: 0 !important;
      padding: 13px 16px !important;
      border-radius: 14px !important;
      text-align: center !important;
      justify-content: center !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs {display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 5mm !important;}
  #calcModal .calc-tab-btn {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.45cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.15 !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: break-word !important;
      box-sizing: border-box !important;}
  #calcModal .calc-tab-btn {font-size: 14px !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs {display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      justify-content: stretch !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 48px !important;
      height: auto !important;
      max-height: none !important;
      padding: 13px 16px !important;}
}

#calcModal .calc-tabs > .calc-tab-btn {font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    text-transform: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs > .calc-tab-btn {font-size: 16px !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;}
}

#calcModal .calc-tabs {display: grid !important;
    justify-content: center !important;
    gap: 16px !important;}

#calcModal .calc-tabs {grid-template-columns: repeat(2, 300px) !important;
    margin-bottom: 18px !important;}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;}

#calcModal .calc-tab-btn {width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;}

#calcModal .calc-tab-btn:hover, #calcModal .money-reset-btn:hover, #calcModal .calc-tab-btn.active {background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;}

#calcModal .form-group {position: relative !important;
    overflow: visible !important;}

#calcModal .calc-native-select-hidden {position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;}

#calcModal .calc-custom-select {position: relative;
    width: 100%;
    z-index: 5;}

#calcModal .calc-custom-trigger {width: 100%;
    min-height: 52px;
    padding: 13px 44px 13px 16px;
    border: 1px solid #d8dce2;
    border-radius: 14px;
    background: #ffffff;
    color: #111111;
    font-size: 15px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: 0.2s ease;}

#calcModal .calc-custom-trigger::after {content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #111111;
    border-bottom: 2px solid #111111;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;}

#calcModal .calc-custom-select.open {z-index: 40;}

#calcModal .calc-custom-select.open .calc-custom-trigger {border-color: var(--blue, #6ea8ff);
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.15);}

#calcModal .calc-custom-select.open .calc-custom-trigger::after {transform: translateY(-35%) rotate(-135deg);}

#calcModal .calc-custom-trigger.is-placeholder {color: #4f5964;}

#calcModal .calc-custom-dropdown {display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #d8dce2;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
    padding: 8px;}

#calcModal .calc-custom-select.open .calc-custom-dropdown {display: block;}

#calcModal .calc-custom-option {display: block;
    width: 100%;
    border: none;
    background: transparent;
    border-radius: 12px;
    padding: 11px 12px;
    text-align: left;
    font-size: 15px;
    line-height: 1.3;
    color: #111111;
    cursor: pointer;
    transition: 0.18s ease;}

#calcModal .calc-custom-option:hover {background: #eef5ff;}

#calcModal .calc-custom-option.is-selected {background: #dff0ff;
    font-weight: 800;}

#calcModal .calc-custom-option.is-disabled {color: #7a8591;}

@media (max-width: 768px) {
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 52px !important;
      min-height: 52px !important;
      font-size: 15px !important;}
  #calcModal .calc-tabs {grid-template-columns: 1fr !important;}
  #calcModal .calc-custom-dropdown {max-height: 220px;}
}

#calcModal .calc-tabs {display: grid !important;
    grid-template-columns: repeat(2, var(--oai-unified-btn-width)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: var(--oai-unified-btn-gap) !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;}

#calcModal .calc-tabs {column-gap: var(--oai-unified-btn-gap) !important;
    row-gap: var(--oai-unified-btn-gap) !important;}

#calcModal .calc-tab-btn {width: var(--oai-unified-btn-width) !important;
    min-width: var(--oai-unified-btn-width) !important;
    max-width: var(--oai-unified-btn-width) !important;
    height: var(--oai-unified-btn-height) !important;
    min-height: var(--oai-unified-btn-height) !important;
    max-height: var(--oai-unified-btn-height) !important;
    padding: var(--oai-unified-btn-pad-y) var(--oai-unified-btn-pad-x) !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--oai-unified-btn-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: var(--oai-unified-btn-font) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: var(--shadow) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;}

#calcModal .calc-tab-btn {background: #2f7085 !important;
    color: var(--text-main) !important;}

#calcModal .calc-tab-btn:hover {background: #92cbdb !important;
    color: var(--text-main) !important;
    transform: translateY(-2px) !important;}

#calcModal .calc-tab-btn.active {background: #92cbdb !important;
    color: var(--text-main) !important;
    box-shadow: inset 0 0 0 2px rgba(17,17,17,0.08), var(--shadow) !important;}

#calcModal .calc-tab-btn {flex: 0 0 var(--oai-unified-btn-width) !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs {grid-template-columns: 1fr !important;
      width: 100% !important;
      max-width: 100% !important;}
  #calcModal .calc-tab-btn {width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      flex-basis: 100% !important;}
}

#calcModal .calc-tab-btn {background: var(--oai-fund-btn-bg) !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;}

#calcModal .calc-tab-btn:hover, #calcModal .calc-tab-btn.active {background: var(--oai-fund-btn-bg-hover) !important;
    color: var(--text-main) !important;
    transform: translateY(-2px) !important;}

#calcModal .calc-tab-btn.active {box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow) !important;}

@media (min-width: 769px) {
  #calcModal .calc-tabs {display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      align-content: center !important;
      column-gap: 5mm !important;
      row-gap: 5mm !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      box-sizing: border-box !important;}
  #calcModal .calc-tabs > .calc-tab-btn {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      margin: 0 !important;
      padding: 0 0.42cm !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      vertical-align: middle !important;
      line-height: 1.12 !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
      align-self: center !important;}
  #calcModal .calc-tabs > .calc-tab-btn.active {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs {display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;}
  #calcModal .calc-tabs > .calc-tab-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      padding: 13px 16px !important;}
}

@media (min-width: 769px) {
  #calcModal #moneyCalcReset.money-reset-btn {flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
      padding: 0 0.42cm !important;
      margin: 0 !important;
      border-radius: 14px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      line-height: 1.12 !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
      align-self: center !important;}
  #calcModal #moneyCalcReset.money-reset-btn {display: flex !important;
      margin-left: auto !important;
      margin-right: auto !important;}
}

@media (max-width: 768px) {
  #calcModal #moneyCalcReset.money-reset-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 48px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      padding: 13px 16px !important;}
}

#calcModal .calc-tabs {gap: 5mm !important;}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    flex: 0 0 6.5cm !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs {gap: 12px !important;}
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;}
}

@media (min-width: 769px) {
  #calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      font-style: normal !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      -webkit-font-smoothing: antialiased !important;
      text-rendering: geometricPrecision !important;}
}

@media (max-width: 768px) {
  #calcModal .calc-tabs > .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      font-style: normal !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      -webkit-font-smoothing: antialiased !important;
      text-rendering: geometricPrecision !important;}
}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: var(--oai-final-btn-length) !important;
    min-width: var(--oai-final-btn-length) !important;
    max-width: var(--oai-final-btn-length) !important;
    inline-size: var(--oai-final-btn-length) !important;
    flex: 0 0 var(--oai-final-btn-length) !important;

    height: var(--oai-final-btn-height) !important;
    min-height: var(--oai-final-btn-height) !important;
    max-height: var(--oai-final-btn-height) !important;
    block-size: var(--oai-final-btn-height) !important;

    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;}

#calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex-wrap: wrap !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .money-calc-actions {display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;}

#calcModal .calc-modal-footer-sticky {justify-content: space-between !important;}

#calcModal .money-reset-btn {margin-left: auto !important;}

@media (max-width: 768px) {
  #calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: min(var(--oai-final-btn-length), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-final-btn-length), 100%) !important;
      flex: 0 1 min(var(--oai-final-btn-length), 100%) !important;
      height: var(--oai-final-btn-height) !important;
      min-height: var(--oai-final-btn-height) !important;
      max-height: var(--oai-final-btn-height) !important;}
}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: var(--oai-btn-len) !important;
    min-width: var(--oai-btn-len) !important;
    max-width: var(--oai-btn-len) !important;
    inline-size: var(--oai-btn-len) !important;
    height: var(--oai-btn-h) !important;
    min-height: var(--oai-btn-h) !important;
    max-height: var(--oai-btn-h) !important;
    block-size: var(--oai-btn-h) !important;
    flex: 0 0 var(--oai-btn-len) !important;
    padding: 0 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;
    border-radius: 14px !important;}

#calcModal .calc-tabs, #calcModal .calc-modal-footer-sticky {gap: 5mm !important;
    align-items: center !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    flex-shrink: 0 !important;
    overflow: visible !important;}

#calcModal .calc-footer-left, #calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    margin: 0 !important;}

#calcModal .calc-footer-right {margin-left: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 5mm !important;}

#calcModal.calc-mode-region .calc-footer-right, #calcModal:not(.calc-mode-money) .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal.calc-mode-money .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal.calc-mode-money .calc-footer-right.oai-reset-drop-now {animation: none !important;}

#calcModal.calc-mode-money .calc-footer-right.oai-reset-drop-now #moneyCalcReset {animation: none !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {align-items: stretch !important;}
  #calcModal .calc-footer-left, #calcModal .calc-tabs, #calcModal .calc-footer-right {width: 100% !important;
      justify-content: center !important;
      margin-left: 0 !important;}
}

#calcModal .calc-modal-content {max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 24px) !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 16px) !important;}
}

#calcModal .calc-tabs .calc-tab-btn, #calcModal .money-reset-btn {inline-size: var(--index-news-btn-width) !important;
    width: var(--index-news-btn-width) !important;
    min-width: var(--index-news-btn-width) !important;
    max-width: var(--index-news-btn-width) !important;
    block-size: var(--index-news-btn-height) !important;
    height: var(--index-news-btn-height) !important;
    min-height: var(--index-news-btn-height) !important;
    max-height: var(--index-news-btn-height) !important;
    flex: 0 0 var(--index-news-btn-width) !important;
    padding: 0 0.32cm !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: none !important;
    border-radius: var(--index-news-btn-radius) !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-decoration: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;}

#calcModal .calc-tabs .calc-tab-btn, #calcModal .money-reset-btn {background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;}

#calcModal .calc-tabs .calc-tab-btn:hover, #calcModal .calc-tabs .calc-tab-btn:focus-visible, #calcModal .calc-tabs .calc-tab-btn.active, #calcModal .money-reset-btn:hover, #calcModal .money-reset-btn:focus-visible {background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
    transform: translateY(-2px) !important;}

#calcModal .calc-tabs, #calcModal .calc-modal-footer-sticky {display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5mm !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs .calc-tab-btn, #calcModal .money-reset-btn {inline-size: var(--index-news-btn-width) !important;
      width: var(--index-news-btn-width) !important;
      min-width: var(--index-news-btn-width) !important;
      max-width: min(var(--index-news-btn-width), 100%) !important;
      block-size: var(--index-news-btn-height) !important;
      height: var(--index-news-btn-height) !important;
      min-height: var(--index-news-btn-height) !important;
      max-height: var(--index-news-btn-height) !important;
      flex: 0 0 var(--index-news-btn-width) !important;
      padding: 0 0.28cm !important;
      font-size: 14px !important;}
}

#calcModal .calc-modal-header-sticky {padding: 12px 54px 8px 22px !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 !important;
    padding: 0 !important;
    line-height: 1.12 !important;}

#calcModal .calc-modal-body-sticky {padding: 14px 22px !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {display: flex !important;
    visibility: visible !important;
    flex-shrink: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    padding: 12px 22px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;}

#calcModal .calc-footer-left, #calcModal .calc-footer-right, #calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    margin: 0 !important;}

#calcModal .calc-footer-left {justify-content: flex-start !important;}

#calcModal .calc-footer-right {justify-content: flex-end !important;
    margin-left: auto !important;}

#calcModal .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    height: 1.3cm !important;
    min-height: 1.3cm !important;
    max-height: 1.3cm !important;
    flex: 0 0 6.4cm !important;
    padding: 0 0.32cm !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.12 !important;
    white-space: normal !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {flex-direction: column !important;
      align-items: stretch !important;}
  #calcModal .calc-footer-left, #calcModal .calc-footer-right, #calcModal .calc-tabs {width: 100% !important;
      justify-content: center !important;
      margin-left: 0 !important;}
  #calcModal .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 0 1 min(6.4cm, 100%) !important;}
}

#calcModal .calc-tab-btn, #calcModal .money-reset-btn {width: var(--oai-btn-len) !important;
    min-width: var(--oai-btn-len) !important;
    max-width: var(--oai-btn-len) !important;
    inline-size: var(--oai-btn-len) !important;
    height: var(--oai-btn-h) !important;
    min-height: var(--oai-btn-h) !important;
    max-height: var(--oai-btn-h) !important;
    block-size: var(--oai-btn-h) !important;
    flex: 0 0 var(--oai-btn-len) !important;
    padding: 0 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;
    border-radius: 14px !important;}

#calcModal .calc-tabs, #calcModal .calc-modal-footer-sticky {gap: 5mm !important;
    align-items: center !important;}

#calcModal .calc-modal-content {height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-content {height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;}
}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 8px !important;
    padding-right: 22px !important;
    padding-bottom: 4px !important;
    padding-left: 22px !important;}

#calcModal .calc-footer-left, #calcModal .calc-footer-right, #calcModal .calc-tabs {margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;}

#calcModal .calc-tab-btn, #calcModal #moneyCalcReset.money-reset-btn {margin-top: 0 !important;
    margin-bottom: 0 !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 8px !important;
      padding-right: 14px !important;
      padding-bottom: 4px !important;
      padding-left: 14px !important;}
}

#calcModal .calc-footer-right, #calcModal #moneyCalcReset, #calcModal .calc-footer-right.oai-reset-drop-now, #calcModal .calc-footer-right.oai-reset-drop-final, #calcModal .calc-footer-right.oai-reset-drop-now #moneyCalcReset, #calcModal #moneyCalcReset.oai-reset-drop-final-btn {animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    will-change: auto !important;}

#calcModal #moneyCalcReset:hover, #calcModal #moneyCalcReset:focus-visible, #calcModal .calc-footer-right:hover, #calcModal .calc-footer-right:focus-within {animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;}

#calcModal.calc-mode-money .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal.calc-mode-region .calc-footer-right, #calcModal:not(.calc-mode-money) .calc-footer-right {display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 5px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-footer-sticky {padding-left: 22px !important;
    padding-right: 22px !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
    margin-bottom: 0 !important;}

#calcModal .calc-modal-header-sticky #closeCalcBtn {position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-main, #111111) !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 0.2s ease !important;
    animation: none !important;
    filter: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-header-sticky #closeCalcBtn:hover, #calcModal .calc-modal-header-sticky #closeCalcBtn:focus-visible {background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 5px !important;
      padding-right: 14px !important;
      padding-bottom: 5px !important;
      padding-left: 14px !important;}
  #calcModal .calc-modal-header-sticky #closeCalcBtn {top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      min-width: 40px !important;
      min-height: 40px !important;
      max-width: 40px !important;
      max-height: 40px !important;}
}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: var(--modal-footer-btn-gap) !important;
  padding-bottom: var(--modal-footer-btn-gap) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-left: 22px !important;
  padding-right: 22px !important;}

#calcModal .calc-modal-footer-sticky {display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;}

#calcModal .calc-modal-footer-sticky > .money-reset-btn, #calcModal .calc-modal-footer-sticky > button {margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center !important;
  box-sizing: border-box !important;}

#calcModal #closeCalcBtn {position: absolute !important;
  top: 5px !important;
  right: 12px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: var(--text-main, #111111) !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  transition: color 0.2s ease !important;
  z-index: 50 !important;
  box-sizing: border-box !important;}

#calcModal #closeCalcBtn:hover, #calcModal #closeCalcBtn:focus-visible {background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  color: var(--blue-dark, #4f8df0) !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: var(--modal-footer-btn-gap) !important;
    padding-right: 14px !important;
    padding-bottom: var(--modal-footer-btn-gap) !important;
    padding-left: 14px !important;}
  #calcModal #closeCalcBtn {top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;}
}

#calcModal .calc-modal-body-sticky {padding-bottom: 0 !important;}

#calcModal .calc-modal-body-sticky > :last-child {margin-bottom: 0 !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {min-height: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
  margin-bottom: 0 !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-left: 22px !important;
    padding-right: 22px !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
    margin-bottom: 0 !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding-top: 12px !important;
      padding-right: 14px !important;
      padding-bottom: 12px !important;
      padding-left: 14px !important;}
}

#calcModal {padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;}

#calcModal .calc-modal-content {position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-header-sticky {position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;}

#calcModal #closeCalcBtn {position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;}

#calcModal #closeCalcBtn:hover, #calcModal #closeCalcBtn:focus-visible {background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;}

#calcModal .calc-modal-body-sticky {flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {flex: 0 0 auto !important;
    padding: 12px 22px 12px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;}

#calcModal .calc-modal-footer-sticky > * {margin-top: 0 !important;
    margin-bottom: 0 !important;}

@media (max-width: 768px) {
  #calcModal {padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;}
  #calcModal .calc-modal-content {width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;}
  #calcModal .calc-modal-header-sticky {padding: 12px 54px 8px 22px !important;}
  #calcModal .calc-modal-header-sticky h2 {font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;}
  #calcModal #closeCalcBtn {top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;}
  #calcModal .calc-modal-body-sticky {padding: 14px !important;}
  #calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {padding: 12px 14px !important;
      gap: 10px !important;}
}

@media (max-width: 480px) {
  #calcModal {padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;}
  #calcModal .calc-modal-content {width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;}
}

#calcModal:not(.calc-mode-money) .calc-modal-footer-sticky, #calcModal.calc-mode-region .calc-modal-footer-sticky {justify-content: flex-start !important;
    align-items: center !important;}

#calcModal:not(.calc-mode-money) .calc-footer-left, #calcModal.calc-mode-region .calc-footer-left, #calcModal:not(.calc-mode-money) .calc-tabs, #calcModal.calc-mode-region .calc-tabs {justify-content: flex-start !important;
    align-items: center !important;
    margin-left: 0 !important;
    margin-right: auto !important;}

#calcModal:not(.calc-mode-money) .calc-footer-right, #calcModal.calc-mode-region .calc-footer-right {display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;}

#calcModal.calc-mode-money .calc-modal-footer-sticky {justify-content: space-between !important;}

#calcModal.calc-mode-money .calc-footer-left, #calcModal.calc-mode-money .calc-tabs {justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;}

#calcModal.calc-mode-money .calc-footer-right {display: flex !important;
    justify-content: flex-end !important;
    margin-left: auto !important;}

@media (max-width: 768px) {
  #calcModal:not(.calc-mode-money) .calc-modal-footer-sticky, #calcModal.calc-mode-region .calc-modal-footer-sticky {align-items: flex-start !important;}
  #calcModal:not(.calc-mode-money) .calc-footer-left, #calcModal.calc-mode-region .calc-footer-left, #calcModal:not(.calc-mode-money) .calc-tabs, #calcModal.calc-mode-region .calc-tabs {width: 100% !important;
      justify-content: flex-start !important;
      align-items: center !important;}
}

#calcModal .calc-modal-content {box-sizing: border-box !important;}

#calcModal .calc-modal-content {scrollbar-gutter: stable;}

#calcModal .calc-modal-footer-sticky .calc-tabs, #calcModal .calc-modal-footer-sticky .calc-tabs *, #calcModal .calc-modal-footer-sticky .calc-tab-btn, #calcModal .calc-modal-footer-sticky .calc-tab-btn *, #calcModal .calc-modal-footer-sticky .calc-tab-btn::before, #calcModal .calc-modal-footer-sticky .calc-tab-btn::after {transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;}

#calcModal .calc-modal-footer-sticky .calc-tab-btn, #calcModal .calc-modal-footer-sticky .calc-tab-btn:hover, #calcModal .calc-modal-footer-sticky .calc-tab-btn:focus, #calcModal .calc-modal-footer-sticky .calc-tab-btn:focus-visible, #calcModal .calc-modal-footer-sticky .calc-tab-btn:active, #calcModal .calc-modal-footer-sticky .calc-tab-btn.active, #calcModal .calc-modal-footer-sticky .calc-tab-btn.active:hover, #calcModal .calc-modal-footer-sticky .calc-tab-btn.active:focus, #calcModal .calc-modal-footer-sticky .calc-tab-btn.active:focus-visible, #calcModal .calc-modal-footer-sticky .calc-tab-btn.active:active {transform: none !important;
    filter: none !important;}

#calcModal .calc-modal-footer-sticky .calc-tab-btn:hover .info-card-cta, #calcModal .calc-modal-footer-sticky .calc-tab-btn:focus-visible .info-card-cta, #calcModal .calc-modal-footer-sticky .calc-tab-btn:hover *, #calcModal .calc-modal-footer-sticky .calc-tab-btn:focus-visible * {transform: none !important;}

#calcModal .calc-tabs .calc-tab-btn.active, #calcModal .calc-tabs .calc-tab-btn.active:hover, #calcModal .calc-tabs .calc-tab-btn.active:focus, #calcModal .calc-tabs .calc-tab-btn.active:focus-visible, #calcModal .calc-tabs .calc-tab-btn.active:active {background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07) !important;
    border: 1px solid rgba(17, 17, 17, 0.06) !important;
    transform: none !important;
    filter: none !important;}

#calcModal .calc-tabs .calc-tab-btn.active::before, #calcModal .calc-tabs .calc-tab-btn.active::after {box-shadow: none !important;
    opacity: 0 !important;}

#calcModal {--oai-calc-footer-btn-width: 6.4cm;
    --oai-calc-footer-btn-height: 1.2cm;}

#calcModal .calc-tabs > .calc-tab-btn, #calcModal .calc-modal-footer-sticky .calc-tabs > .calc-tab-btn, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {flex: 0 0 var(--oai-calc-footer-btn-width) !important;
    width: var(--oai-calc-footer-btn-width) !important;
    min-width: var(--oai-calc-footer-btn-width) !important;
    max-width: var(--oai-calc-footer-btn-width) !important;
    inline-size: var(--oai-calc-footer-btn-width) !important;
    height: var(--oai-calc-footer-btn-height) !important;
    min-height: var(--oai-calc-footer-btn-height) !important;
    max-height: var(--oai-calc-footer-btn-height) !important;
    block-size: var(--oai-calc-footer-btn-height) !important;
    padding: 0 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    border-radius: 14px !important;}

#calcModal .calc-tabs, #calcModal .calc-footer-left, #calcModal .calc-footer-right {align-items: center !important;}

@media (max-width: 768px) {
  #calcModal .calc-tabs > .calc-tab-btn, #calcModal .calc-modal-footer-sticky .calc-tabs > .calc-tab-btn, #calcModal button#moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset.money-reset-btn, #calcModal #moneyCalcReset {flex: 0 1 min(var(--oai-calc-footer-btn-width), 100%) !important;
      width: min(var(--oai-calc-footer-btn-width), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-calc-footer-btn-width), 100%) !important;}
}

#calcModal[data-calc-flow-mode="choice"] .calc-modal-body-sticky {min-height: 220px !important;}

#calcModal[data-calc-flow-mode="choice"] #regionCalcPanel, #calcModal[data-calc-flow-mode="choice"] #moneyCalcPanel, #calcModal .calc-panel[hidden], #calcModal .calc-tab-btn[hidden], #calcModal #calcModalBackBtn[hidden] {display: none !important;}

#calcModal[data-calc-flow-mode="region"] #regionCalcPanel, #calcModal[data-calc-flow-mode="money"] #moneyCalcPanel {display: block !important;}

#calcModal[data-calc-flow-mode="region"] #moneyCalcPanel, #calcModal[data-calc-flow-mode="money"] #regionCalcPanel {display: none !important;}

#calcModal[data-calc-flow-mode="choice"] .calc-tab-btn[data-tab="regionCalcPanel"], #calcModal[data-calc-flow-mode="choice"] .calc-tab-btn[data-tab="moneyCalcPanel"], #calcModal[data-calc-flow-mode="region"] .calc-tab-btn[data-tab="regionCalcPanel"], #calcModal[data-calc-flow-mode="money"] .calc-tab-btn[data-tab="moneyCalcPanel"] {display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal[data-calc-flow-mode="region"] .calc-tab-btn[data-tab="moneyCalcPanel"], #calcModal[data-calc-flow-mode="money"] .calc-tab-btn[data-tab="regionCalcPanel"] {display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;}

#calcModal[data-calc-flow-mode="choice"] .calc-tab-btn {filter: none !important;}

#calcModal[data-calc-flow-mode="choice"] .calc-tab-btn.active {transform: none !important;}

#calcModal .calc-modal-header-sticky {padding-left: 56px !important;
    padding-right: 64px !important;}

#calcModal .calc-modal-header-sticky h2 {margin: 0 !important;
    padding: 0 34px !important;
    text-align: center !important;}

#calcModal #calcModalBackBtn.modal-back-btn {position: absolute !important;
    top: 10px !important;
    left: 16px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--text-main, #111111) !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    z-index: 70 !important;
    border-radius: 0 !important;}

#calcModal #calcModalBackBtn.modal-back-btn:hover, #calcModal #calcModalBackBtn.modal-back-btn:focus-visible {color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;}

#calcModal[data-calc-flow-mode="choice"] #calcModalBackBtn {display: none !important;}

#calcModal .calc-modal-footer-sticky, #calcModal .calc-modal-footer-sticky.is-hidden {display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    gap: 5mm !important;}

#calcModal[data-calc-flow-mode="choice"] .calc-modal-footer-sticky, #calcModal[data-calc-flow-mode="region"] .calc-modal-footer-sticky {justify-content: space-between !important;}

#calcModal[data-calc-flow-mode="money"] .calc-modal-footer-sticky {justify-content: space-between !important;}

#calcModal .calc-footer-left, #calcModal .calc-tabs {display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    margin: 0 !important;}

#calcModal[data-calc-flow-mode="choice"] .calc-footer-right, #calcModal[data-calc-flow-mode="region"] .calc-footer-right {display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;}

#calcModal[data-calc-flow-mode="money"] .calc-footer-right {display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    justify-content: flex-end !important;
    margin-left: auto !important;}

@media (max-width: 768px) {
  #calcModal .calc-modal-header-sticky {padding-left: 52px !important;
      padding-right: 54px !important;}
  #calcModal .calc-modal-header-sticky h2 {padding: 0 28px !important;}
  #calcModal #calcModalBackBtn.modal-back-btn {top: 9px !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;}
  #calcModal[data-calc-flow-mode="choice"] .calc-modal-body-sticky {min-height: 160px !important;}
  #calcModal .calc-footer-left, #calcModal .calc-tabs, #calcModal .calc-footer-right {width: 100% !important;
      justify-content: flex-start !important;
      margin-left: 0 !important;}
}

#calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    gap: 5mm !important;
  }

  #calcModal[data-calc-flow-mode="choice"] .calc-modal-footer-sticky {
    justify-content: flex-start !important;
  }

  #calcModal[data-calc-flow-mode="region"] .calc-modal-footer-sticky,
  #calcModal[data-calc-flow-mode="money"] .calc-modal-footer-sticky {
    justify-content: flex-end !important;
  }

  #calcModal[data-calc-flow-mode="choice"] .calc-footer-left,
  #calcModal[data-calc-flow-mode="choice"] .calc-tabs {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #calcModal[data-calc-flow-mode="choice"] .calc-footer-right,
  #calcModal[data-calc-flow-mode="choice"] #moneyCalcReset {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #calcModal[data-calc-flow-mode="region"] .calc-footer-left,
  #calcModal[data-calc-flow-mode="region"] .calc-tabs,
  #calcModal[data-calc-flow-mode="region"] .calc-tab-btn,
  #calcModal[data-calc-flow-mode="money"] .calc-footer-left,
  #calcModal[data-calc-flow-mode="money"] .calc-tabs,
  #calcModal[data-calc-flow-mode="money"] .calc-tab-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #calcModal[data-calc-flow-mode="region"] .calc-footer-right,
  #calcModal[data-calc-flow-mode="money"] .calc-footer-right {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: auto !important;
    width: auto !important;
  }

  #calcModal[data-calc-flow-mode="region"] #moneyCalcReset,
  #calcModal[data-calc-flow-mode="money"] #moneyCalcReset {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  #calcModal[data-calc-flow-mode="choice"] #regionCalcPanel,
  #calcModal[data-calc-flow-mode="choice"] #moneyCalcPanel,
  #calcModal[data-calc-flow-mode="region"] #moneyCalcPanel,
  #calcModal[data-calc-flow-mode="money"] #regionCalcPanel {
    display: none !important;
  }

  #calcModal[data-calc-flow-mode="region"] #regionCalcPanel,
  #calcModal[data-calc-flow-mode="money"] #moneyCalcPanel {
    display: block !important;
  }

  #calcModal #moneyCalcReset.money-reset-btn,
  #calcModal #moneyCalcReset.money-reset-btn:hover,
  #calcModal #moneyCalcReset.money-reset-btn:focus-visible {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border: 1px solid rgba(17, 17, 17, 0.06) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07) !important;
    opacity: 1 !important;
    filter: none !important;
  }

  @media (max-width: 768px) {
    #calcModal[data-calc-flow-mode="region"] .calc-footer-right,
    #calcModal[data-calc-flow-mode="money"] .calc-footer-right {
      width: 100% !important;
      margin-left: 0 !important;
      justify-content: flex-start !important;
    }
  }

/* ОФИСЫ ФОНДА: Краснодар и Донецк обычными строками, по одной линии как пункты в других столбиках */
  .site-footer .footer-col--offices,
  .footer-col--offices {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .site-footer .footer-col--offices ul,
  .footer-col--offices ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .site-footer .footer-col--offices li,
  .footer-col--offices li {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .site-footer .footer-col--offices li:last-child,
  .footer-col--offices li:last-child {
    margin-bottom: 0 !important;
  }

  .site-footer .footer-col--offices a.office-city-btn,
  .footer-col--offices a.office-city-btn,
  a.office-city-btn {
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    inline-size: auto !important;
    block-size: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #d3d9e4 !important;
    font: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    filter: none !important;
  }

  .site-footer .footer-col--offices a.office-city-btn:hover,
  .site-footer .footer-col--offices a.office-city-btn:focus-visible,
  .footer-col--offices a.office-city-btn:hover,
  .footer-col--offices a.office-city-btn:focus-visible,
  a.office-city-btn:hover,
  a.office-city-btn:focus-visible {
    color: #ffffff !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
    text-decoration: none !important;
    outline: none !important;
  }

/* Футер: Краснодар / Донецк — такой же размер, как у пунктов в других столбиках */
  .site-footer .footer-col--offices a.office-city-btn,
  .footer-col--offices a.office-city-btn,
  a.office-city-btn {
    font-size: inherit !important;
    line-height: 1.55 !important;
    font-weight: inherit !important;
  }

  .site-footer .footer-col--offices li,
  .footer-col--offices li {
    line-height: 1.55 !important;
    margin-bottom: 10px !important;
  }

/* 1) Кнопки «Краснодар» и «Донецк» в футере — визуально как бывшие <a>.
     При наведении: БЕЛЫЙ цвет (как в остальных пунктах футера), без подчёркивания. */
  .footer-col--offices button.office-city-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s ease;
  }
  .footer-col--offices button.office-city-btn:hover,
  .footer-col--offices button.office-city-btn:focus-visible {
    color: #fff !important;
    text-decoration: none !important;
    outline: none;
  }

  .footer-col--offices ul {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
  }

  .footer-col--offices li {
    margin-bottom: 0;
  }

  /* 2) Сетка внутри модалки: слева карта, справа контакты */
  .office-map-modal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: stretch;
    height: 100%;
  }

  /* Левая часть — карта (зафиксирована, не скроллится) */
  .office-map-frame {
    position: sticky;
    top: 0;
    align-self: flex-start;
    min-width: 0;
    height: 100%;
    min-height: 500px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--line, rgba(0, 0, 0, 0.08));
    background: var(--bg-soft, #f4f7fb);
  }
  .office-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }

  /* Правая часть — контакты с независимым скроллом */
  .office-map-contacts-wrapper {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-height: 100%;
  }
  .office-contacts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    overflow-y: auto;
  }
  .office-contacts-block {
    background: var(--bg-soft, #f4f7fb);
    border: 1px solid var(--line, rgba(0, 0, 0, 0.08));
    border-radius: 16px;
    padding: 16px 18px;
  }
  .office-contacts-block h3 {
    margin: 0 0 10px 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-main, #111);
    line-height: 1.3;
  }
  .office-contacts-block .office-addr {
    margin: 0 0 10px 0;
    color: var(--text-main, #111);
    font-size: 0.95rem;
    line-height: 1.4;
  }
  .office-contacts-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .office-contacts-block li {
    font-size: 0.95rem;
    color: var(--text-main, #111);
    line-height: 1.4;
    word-break: normal;
  }
  .office-contacts-block a {
    color: var(--blue-dark, #4f8df0);
    text-decoration: none;
    word-break: normal;
  }
  .office-contacts-block a:hover { text-decoration: underline; }

  /* Адаптив: телефон — колонки друг под другом */
  @media (max-width: 780px) {
    .office-map-modal-grid {
      grid-template-columns: 1fr;
      gap: 14px;
    }
    .office-map-frame {
      min-height: 260px;
      aspect-ratio: 4 / 3;
    }
    .office-contacts-block { padding: 14px; }
  }

  /* Отмена uppercase только для нашей кнопки «Обратная связь».
     Базовый класс .social-legal-submit-btn апперкейсит текст.
     Используем !important и несколько селекторов для гарантии — в проекте есть
     media-правила с !important, которые могут переопределять обычную специфичность. */
  #officeFeedbackBtn,
  #officeMapModal #officeFeedbackBtn,
  .social-legal-modal-footer #officeFeedbackBtn,
  button#officeFeedbackBtn.social-legal-submit-btn {
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  /* === modal top gap under header: 8mm === */
  :root {
    --modal-gap-from-header: 8mm;
    --site-header-height: 0px;
  }

  .modal,
  .social-legal-modal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header)) !important;
    padding-bottom: 12px !important;
  }

  .modal-content,
  .social-legal-modal-dialog {
    margin: 0 auto 12px !important;
  }

  #calcModal .calc-modal-content {
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 24px) !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header)) !important;
      padding-bottom: 8px !important;
    }

    .modal-content,
    .service-modal-content,
    .benefit-modal-content,
    .contract-modal-content,
    .social-legal-modal-dialog {
      margin: 0 auto 8px !important;
    }

    #calcModal .calc-modal-content {
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 16px) !important;
    }
  }

html.oai-modal-scroll-locked,
  body.oai-modal-scroll-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.oai-modal-scroll-locked {
    position: fixed !important;
    top: var(--oai-scroll-lock-top, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  .modal,
  .social-legal-modal,
  .help-popup {
    overscroll-behavior: contain;
  }

/* "Политика конфиденциальности" в футере — в одну строку, без переноса */
  .footer-col--legal-info li,
  .footer-col--legal-info a {
    white-space: nowrap;
  }

:root {
    --runtime-header-height: 96px;
    --modal-gap-final: 8mm;
    --modal-top-final: calc(var(--runtime-header-height) + var(--modal-gap-final));
  }

  .modal,
  .social-legal-modal {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    padding-top: var(--modal-top-final) !important;
    padding-right: 12px !important;
    padding-bottom: 12px !important;
    padding-left: 12px !important;
  }

  .modal-content,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content,
  .social-legal-modal-dialog {
    margin: 0 auto !important;
    max-height: calc(100dvh - var(--modal-top-final) - 12px) !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding-top: var(--modal-top-final) !important;
      padding-right: 8px !important;
      padding-bottom: 8px !important;
      padding-left: 8px !important;
    }

    .modal-content,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content,
    .social-legal-modal-dialog {
      max-height: calc(100dvh - var(--modal-top-final) - 8px) !important;
    }
  }

/*
    Эталон: #benefitModal.benefit-modal-housing («ЛЬГОТЫ В СФЕРЕ ЖКХ»).
    Ниже выравниваем по нему именно размер белого листа и видимую область:
    - #calcModal: «РЕГИОНАЛЬНЫЕ ВЫПЛАТЫ И ДЕНЕЖНОЕ ДОВОЛЬСТВИЕ»;
    - #officeMapModal: окна городов «Краснодар» и «Донецк».
  */

  #calcModal,
  #officeMapModal,
  #officeFeedbackModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  #calcModal .calc-modal-content,
  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #officeMapModal .social-legal-form-card,
  #officeMapModal .social-legal-modal-content,
  #officeFeedbackModal .social-legal-form-card,
  #officeFeedbackModal .social-legal-modal-content,
  #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-header-sticky,
  #officeMapModal .social-legal-modal-header,
  #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-header-sticky h2,
  #officeMapModal .social-legal-modal-header h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #officeMapModal .social-legal-form-subtitle,
  #officeFeedbackModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
  }

  #calcModal #closeCalcBtn,
  #officeMapModal #officeMapModalClose,
  #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #calcModal #closeCalcBtn:hover,
  #calcModal #closeCalcBtn:focus-visible,
  #officeMapModal #officeMapModalClose:hover,
  #officeMapModal #officeMapModalClose:focus-visible,
  #officeFeedbackModal #officeFeedbackModalClose:hover,
  #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #calcModal .calc-modal-body-sticky,
  #officeMapModal .social-legal-modal-body,
  #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #officeMapModal .office-map-modal-grid {
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-frame {
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-contacts-wrapper,
  #officeMapModal .office-contacts {
    min-height: 0 !important;
  }

  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    padding: 12px 22px 12px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-footer-sticky > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  @media (max-width: 768px) {
    #calcModal,
    #officeMapModal,
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #calcModal .calc-modal-content,
    #officeMapModal .social-legal-modal-dialog,
    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #officeMapModal .social-legal-form-card,
    #officeMapModal .social-legal-modal-content,
    #officeFeedbackModal .social-legal-form-card,
    #officeFeedbackModal .social-legal-modal-content,
    #officeFeedbackModal #officeFeedbackForm {
      border-radius: 22px !important;
    }

    #calcModal .calc-modal-header-sticky,
    #officeMapModal .social-legal-modal-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #calcModal .calc-modal-header-sticky h2,
    #officeMapModal .social-legal-modal-header h2,
    #officeFeedbackModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;
    }

    #calcModal #closeCalcBtn,
    #officeMapModal #officeMapModalClose,
    #officeFeedbackModal #officeFeedbackModalClose {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #calcModal .calc-modal-body-sticky,
    #officeMapModal .social-legal-modal-body,
    #officeFeedbackModal .social-legal-modal-body {
      padding: 14px !important;
    }

    #calcModal .calc-modal-footer-sticky,
    #calcModal .calc-modal-footer-sticky.is-hidden,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      padding: 12px 14px !important;
      gap: 10px !important;
    }

    #officeMapModal .office-map-frame {
      min-height: 260px !important;
      height: auto !important;
    }
  }

  @media (max-width: 480px) {
    #calcModal,
    #officeMapModal,
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #calcModal .calc-modal-content,
    #officeMapModal .social-legal-modal-dialog,
    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

/*
    Финальное выравнивание модальных окон:
    расстояние от низа фиксированной шапки до верха модалки = расстоянию от низа модалки до низа экрана.
    Особенно важно для окон городов «Краснодар» / «Донецк» и формы обратной связи.
  */
  :root {
    --modal-equal-edge-gap: 8mm;
    --modal-header-height-final: var(--runtime-header-height, var(--site-header-height, 96px));
  }

  .modal,
  .social-legal-modal,
  #officeMapModal,
  #officeFeedbackModal {
    padding-top: calc(var(--modal-header-height-final) + var(--modal-equal-edge-gap)) !important;
    padding-bottom: var(--modal-equal-edge-gap) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  .modal-content,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content,
  .social-legal-modal-dialog,
  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-height: calc(100dvh - var(--modal-header-height-final) - (var(--modal-equal-edge-gap) * 2)) !important;
  }

  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    height: calc(100dvh - var(--modal-header-height-final) - (var(--modal-equal-edge-gap) * 2)) !important;
  }

  @media (max-width: 768px) {
    :root {
      --modal-equal-edge-gap: 8px;
    }
  }

:root {
    --oai-news-button-width: 6.4cm;
    --oai-news-button-padding-y: 14px;
    --oai-news-button-radius: 14px;
    --oai-news-button-font-size: 15px;
    --oai-news-button-line-height: 1.35;
  }

  #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    inline-size: var(--oai-news-button-width) !important;
    width: var(--oai-news-button-width) !important;
    min-width: var(--oai-news-button-width) !important;
    max-width: var(--oai-news-button-width) !important;
    flex: 0 0 var(--oai-news-button-width) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: var(--oai-news-button-padding-y) 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--oai-news-button-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-size: var(--oai-news-button-font-size) !important;
    font-weight: 800 !important;
    line-height: var(--oai-news-button-line-height) !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-transform: none !important;
  }

  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    justify-content: center !important;
  }

  @media (max-width: 768px) {
    #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
    #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
    #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
    #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      inline-size: var(--oai-news-button-width) !important;
      width: var(--oai-news-button-width) !important;
      min-width: var(--oai-news-button-width) !important;
      max-width: var(--oai-news-button-width) !important;
      flex: 0 0 var(--oai-news-button-width) !important;
      padding: var(--oai-news-button-padding-y) 0 !important;
      font-size: var(--oai-news-button-font-size) !important;
      border-radius: var(--oai-news-button-radius) !important;
    }
  }

#officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

  #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  @media (max-width: 768px) {
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      justify-content: flex-start !important;
      align-items: center !important;
      text-align: left !important;
    }
  }

:root {
    --help-modal-equal-gap: 8mm;
    --site-header-height: 96px;
  }

  #fundPlFinancialModal,
  #fundPlMaterialModal {
    padding-top: calc(var(--site-header-height, 96px) + var(--help-modal-equal-gap)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--help-modal-equal-gap) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal {
    height: calc(100vh - var(--site-header-height, 96px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
    max-height: calc(100vh - var(--site-header-height, 96px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
    margin: 0 auto !important;
  }

  @media (max-width: 768px) {
    :root {
      --help-modal-equal-gap: 16px;
      --site-header-height: 84px;
    }

    #fundPlFinancialModal,
    #fundPlMaterialModal {
      padding-top: calc(var(--site-header-height, 84px) + var(--help-modal-equal-gap)) !important;
      padding-right: 8px !important;
      padding-bottom: var(--help-modal-equal-gap) !important;
      padding-left: 8px !important;
    }

    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal {
      height: calc(100vh - var(--site-header-height, 84px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
      max-height: calc(100vh - var(--site-header-height, 84px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
      margin: 0 auto !important;
    }
  }

  @media (max-width: 480px) {
    :root {
      --site-header-height: 78px;
    }
  }

#fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn,
  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back,
  #officeFeedbackModal #officeFeedbackModalBack {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #officeFeedbackModal .social-legal-modal-header {
    padding-left: 54px !important;
    padding-right: 54px !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    text-align: center !important;
  }

  @media (max-width: 480px) {
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding-left: 50px !important;
      padding-right: 50px !important;
    }
  }

/*
    Только раскладка карты в #officeMapModal:
    слева карта, справа контактные карточки с собственным скроллом.
    Визуальные стили карточек, кнопок, шапки, футера и JS-логика не меняются.
  */
  #officeMapModal .social-legal-modal-body {
    overflow: hidden !important;
  }

  #officeMapModal .office-map-modal-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-frame {
    position: sticky !important;
    top: 0 !important;
    align-self: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #officeMapModal .office-map-frame iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    display: block !important;
  }

  #officeMapModal .office-map-contacts-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  #officeMapModal .office-contacts {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  @media (max-width: 780px) {
    #officeMapModal .social-legal-modal-body {
      overflow-y: auto !important;
    }

    #officeMapModal .office-map-modal-grid {
      grid-template-columns: 1fr !important;
      gap: 14px !important;
      height: auto !important;
    }

    #officeMapModal .office-map-frame {
      height: auto !important;
      min-height: 260px !important;
      aspect-ratio: 4 / 3 !important;
    }

    #officeMapModal .office-map-contacts-wrapper,
    #officeMapModal .office-contacts {
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    padding: 12px 54px 8px 56px !important;
  }

  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back,
  #officeFeedbackModal #officeFeedbackModalBack {
    position: absolute !important;
    top: 5px !important;
    left: 12px !important;
    right: auto !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    z-index: 60 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal .modal-back-btn:hover,
  #officeFeedbackModal .modal-back-btn:focus-visible,
  #officeFeedbackModal .social-legal-modal-back:hover,
  #officeFeedbackModal .social-legal-modal-back:focus-visible,
  #officeFeedbackModal #officeFeedbackModalBack[hidden],
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack:hover,
  #officeFeedbackModal #officeFeedbackModalBack:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
    translate: none !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 48px !important;
    }

    #officeFeedbackModal .modal-back-btn,
    #officeFeedbackModal .social-legal-modal-back,
    #officeFeedbackModal #officeFeedbackModalBack {
      top: 5px !important;
      left: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header {
    padding: 12px 54px 8px 56px !important;
  }

  #officeFeedbackModal .social-legal-modal-header h2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    right: auto !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    z-index: 60 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal .modal-back-btn:hover,
  #officeFeedbackModal .modal-back-btn:focus-visible,
  #officeFeedbackModal .social-legal-modal-back:hover,
  #officeFeedbackModal .social-legal-modal-back:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
  }

  #officeFeedbackModal .modal-back-btn[hidden],
  #officeFeedbackModal .social-legal-modal-back[hidden] {
    display: none !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal .modal-back-btn,
    #officeFeedbackModal .social-legal-modal-back {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }

    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 48px !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    padding-left: 56px !important;
    padding-right: 64px !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack,
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
    position: absolute !important;
    top: 10px !important;
    left: 16px !important;
    right: auto !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    z-index: 70 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack[hidden],
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack:hover,
  #officeFeedbackModal #officeFeedbackModalBack:focus-visible,
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back:hover,
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal .social-legal-modal-header {
      padding-left: 52px !important;
      padding-right: 54px !important;
    }

    #officeFeedbackModal #officeFeedbackModalBack,
    #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
      top: 9px !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }
  }

#officeFeedbackModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-card,
  #officeFeedbackModal .social-legal-modal-content,
  #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal #officeFeedbackForm {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-modal-header > h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalClose:hover,
  #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack,
  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back,
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    right: auto !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    z-index: 60 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack[hidden],
  #officeFeedbackModal .modal-back-btn[hidden],
  #officeFeedbackModal .social-legal-modal-back[hidden],
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack:hover,
  #officeFeedbackModal #officeFeedbackModalBack:focus-visible,
  #officeFeedbackModal .modal-back-btn:hover,
  #officeFeedbackModal .modal-back-btn:focus-visible,
  #officeFeedbackModal .social-legal-modal-back:hover,
  #officeFeedbackModal .social-legal-modal-back:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
  }

  #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-group {
    margin-bottom: 18px !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-group label:not(.social-legal-consent-label) {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--text-main, #111111) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
  }

  #officeFeedbackModal .social-legal-form-group input:not([type="checkbox"]):not([type="radio"]),
  #officeFeedbackModal .social-legal-form-group textarea,
  #officeFeedbackModal .social-legal-form-group select {
    width: 100% !important;
    padding: 13px 14px !important;
    background: #ffffff !important;
    border: 1px solid #d8dce2 !important;
    color: #111111 !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    outline: none !important;
    transition: 0.2s ease !important;
    box-sizing: border-box !important;
  }

  #officeFeedbackModal .social-legal-form-group textarea {
    min-height: 170px !important;
    resize: vertical !important;
  }

  #officeFeedbackModal .social-legal-consent-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    line-height: 1.45 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
  }

  #officeFeedbackModal .social-legal-consent-label input[type="checkbox"] {
    margin-top: 3px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    text-align: start !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.08 !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #officeFeedbackModal .social-legal-form-card,
    #officeFeedbackModal .social-legal-modal-content,
    #officeFeedbackModal #officeFeedbackForm {
      border-radius: 22px !important;
    }

    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #officeFeedbackModal .social-legal-modal-header > h2,
    #officeFeedbackModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }

    #officeFeedbackModal #officeFeedbackModalClose {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #officeFeedbackModal #officeFeedbackModalBack,
    #officeFeedbackModal .modal-back-btn,
    #officeFeedbackModal .social-legal-modal-back,
    #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }

    #officeFeedbackModal .social-legal-modal-body {
      padding: 14px !important;
    }

    #officeFeedbackModal .social-legal-modal-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

  @media (max-width: 480px) {
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header button#officeFeedbackModalBack.modal-back-btn.social-legal-modal-back {
    height: var(--fixed-button-height, 1.3cm) !important;
    min-height: var(--fixed-button-height, 1.3cm) !important;
    max-height: var(--fixed-button-height, 1.3cm) !important;
    line-height: 1.1 !important;
  }

  #officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.08 !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
    #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

@media (min-width: 769px) {
    #officeFeedbackModal {
      --site-header-height: 85px !important;
    }
  }

#divisionDocsModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    font-weight: 700 !important;
  }

  #divisionDocsModal .social-legal-modal-dialog {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #divisionDocsModal .social-legal-form-card,
  #divisionDocsModal .social-legal-modal-content {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  #divisionDocsModal .social-legal-modal-header {
    flex: 0 0 auto !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 54px 8px 22px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-weight: 700 !important;
  }

  #divisionDocsModal .social-legal-modal-header > h2,
  #divisionDocsModal .social-legal-modal-header h2 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
  }

  #divisionDocsModal #closeDivisionDocsModal {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #divisionDocsModal #closeDivisionDocsModal:hover,
  #divisionDocsModal #closeDivisionDocsModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #divisionDocsModal .social-legal-modal-body,
  #divisionDocsModal .division-doc-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #divisionDocsModal .division-doc-frame {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  @media (min-width: 769px) {
    #divisionDocsModal {
      --site-header-height: 85px !important;
    }
  }

  @media (max-width: 768px) {
    #divisionDocsModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #divisionDocsModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #divisionDocsModal .social-legal-form-card,
    #divisionDocsModal .social-legal-modal-content {
      border-radius: 22px !important;
    }

    #divisionDocsModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #divisionDocsModal .social-legal-modal-header > h2,
    #divisionDocsModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }

    #divisionDocsModal #closeDivisionDocsModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #divisionDocsModal .social-legal-modal-body,
    #divisionDocsModal .division-doc-modal-body {
      padding: 14px !important;
    }
  }

  @media (max-width: 480px) {
    #divisionDocsModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #divisionDocsModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

html {
    min-height: 100%;
  }

  body {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  body > .under-development-page {
    flex: 1 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body > .site-footer {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    width: 100% !important;
  }

body.oai-send-notice-open {
    overflow: hidden !important;
  }

  .oai-form-success-host {
    position: relative !important;
  }

  .oai-form-success-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 8px !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: auto !important;
  }

  .oai-form-success-layer.oai-form-success-layer--viewport {
    position: fixed !important;
  }

  .oai-form-success-box {
    width: min(352px, calc(100% - 16px)) !important;
    max-height: calc(100% - 16px) !important;
    min-height: 141px !important;
    border-radius: 18px !important;
    padding: 20px 22px 18px !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    box-shadow: 0 7px 21px rgba(0, 0, 0, 0.22) !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: auto !important;
  }

  .oai-form-success-title {
    display: none !important;
    margin: 0 0 5px !important;
    color: #111111 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  .oai-form-success-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 4px !important;
    margin: 0 0 8px !important;
    color: #111111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .oai-form-success-icon {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
    align-items: initial !important;
    justify-content: initial !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  .oai-form-success-text {
    width: 100% !important;
    margin: 0 0 10px !important;
    color: #111111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .oai-form-success-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .oai-form-success-ok {
    width: 96px !important;
    min-width: 96px !important;
    height: 30px !important;
    min-height: 30px !important;
    border: 1px solid #14141a !important;
    border-radius: 6px !important;
    padding: 0 10px !important;
    background: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    background-image: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 32, 36, 0.30) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
  }

  .oai-form-success-ok:hover,
  .oai-form-success-ok:focus-visible {
    background: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    background-image: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    transform: none !important;
    outline: none !important;
    box-shadow: 0 16px 34px rgba(31, 32, 36, 0.36) !important;
  }

  @media (max-width: 640px) {
    .oai-form-success-layer {
      padding: 8px 6px !important;
    }

    .oai-form-success-box {
      width: min(352px, calc(100vw - 12px)) !important;
      min-height: 0 !important;
      border-radius: 16px !important;
      padding: 14px 14px 14px !important;
    }

    .oai-form-success-title {
      font-size: 16px !important;
    }

    .oai-form-success-actions {
      justify-content: center !important;
    }

    .oai-form-success-ok {
      width: 100% !important;
      min-width: 0 !important;
    }
  }

:root {
    --oai-send-notice-width: 440px;
    --oai-send-notice-min-height: 176px;
    --oai-send-notice-radius: 18px;
    --oai-send-notice-btn-width: var(--oai-btn-len, var(--oai-final-btn-length, 6.4cm));
    --oai-send-notice-btn-height: var(--oai-btn-h, var(--oai-final-btn-height, 1.3cm));
  }

  .oai-form-success-box {
    width: min(var(--oai-send-notice-width), calc(100% - 20px)) !important;
    min-height: var(--oai-send-notice-min-height) !important;
    padding: 25px 28px 23px !important;
    border-radius: var(--oai-send-notice-radius) !important;
    box-shadow: 0 9px 27px rgba(0, 0, 0, 0.24) !important;
  }

  .oai-form-success-line {
    gap: 6px !important;
    margin-bottom: 10px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .oai-form-success-icon {
    font-size: 18px !important;
  }

  .oai-form-success-text {
    margin-bottom: 18px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .oai-form-success-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .oai-form-success-ok {
    width: var(--oai-send-notice-btn-width) !important;
    min-width: var(--oai-send-notice-btn-width) !important;
    max-width: min(var(--oai-send-notice-btn-width), 100%) !important;
    inline-size: var(--oai-send-notice-btn-width) !important;
    height: var(--oai-send-notice-btn-height) !important;
    min-height: var(--oai-send-notice-btn-height) !important;
    max-height: var(--oai-send-notice-btn-height) !important;
    block-size: var(--oai-send-notice-btn-height) !important;
    flex: 0 0 var(--oai-send-notice-btn-width) !important;
    box-sizing: border-box !important;
    padding: 0 12px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    background-image: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 32, 36, 0.30) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  .oai-form-success-ok:hover,
  .oai-form-success-ok:focus-visible {
    background: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    background-image: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(31, 32, 36, 0.36) !important;
    outline: none !important;
  }

  @media (max-width: 640px) {
    .oai-form-success-box {
      width: min(var(--oai-send-notice-width), calc(100vw - 12px)) !important;
      min-height: 160px !important;
      padding: 18px 16px 18px !important;
      border-radius: 16px !important;
    }

    .oai-form-success-line {
      font-size: 15px !important;
    }

    .oai-form-success-text {
      font-size: 15px !important;
      margin-bottom: 16px !important;
    }

    .oai-form-success-ok {
      width: min(var(--oai-send-notice-btn-width), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-send-notice-btn-width), 100%) !important;
      flex: 0 1 min(var(--oai-send-notice-btn-width), 100%) !important;
      height: var(--oai-send-notice-btn-height) !important;
      min-height: var(--oai-send-notice-btn-height) !important;
      max-height: var(--oai-send-notice-btn-height) !important;
    }
  }

/*
    Правка по запросу пользователя:
    - логотип: «СИЛА ЖИТЬ» заглавными буквами;
    - логотип, кнопки ГЛАВНАЯ / НОВОСТИ, бургер-меню и кнопки навигации
      окрашены в синий градиент, взятый по тону с предоставленного фона.
    Исходное изображение не редактируется, не улучшается и не генерируется заново.
  */
  :root {
    --oai-picture-blue-dark: #2f7085;
    --oai-picture-blue-mid: #3f93ad;
    --oai-picture-blue-light: #92cbdb;
    --oai-picture-blue-gradient: linear-gradient(
      135deg,
      var(--oai-picture-blue-dark) 0%,
      var(--oai-picture-blue-mid) 52%,
      var(--oai-picture-blue-light) 100%
    );
    --oai-picture-blue-gradient-hover: linear-gradient(
      135deg,
      #1f4b5b 0%,
      #2f7892 52%,
      #75adbc 100%
    );
    --oai-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --oai-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background-image: var(--oai-picture-blue-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.70))
      drop-shadow(0 3px 6px rgba(0, 0, 0, 0.24)) !important;
  }

  .site-header .header-actions .home-link.top-news-btn,
  .site-header .header-actions .home-link.top-home-btn,
  .site-header .burger,
  .side-nav a,
  .side-nav button {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: var(--oai-picture-blue-shadow) !important;
  }

  .site-header .header-actions .home-link.top-news-btn:hover,
  .site-header .header-actions .home-link.top-news-btn:focus-visible,
  .site-header .header-actions .home-link.top-news-btn:active,
  .site-header .header-actions .home-link.top-home-btn:hover,
  .site-header .header-actions .home-link.top-home-btn:focus-visible,
  .site-header .header-actions .home-link.top-home-btn:active,
  .site-header .burger:hover,
  .site-header .burger:focus-visible,
  .side-nav a:hover,
  .side-nav a:focus-visible,
  .side-nav button:hover,
  .side-nav button:focus-visible,
  .side-nav a.active {
    background: var(--oai-picture-blue-gradient-hover) !important;
    background-image: var(--oai-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    box-shadow: var(--oai-picture-blue-shadow-hover) !important;
  }

  .site-header .burger span {
    background: #ffffff !important;
  }

  .site-header .header-actions .home-link.top-news-btn::before,
  .site-header .header-actions .home-link.top-news-btn::after,
  .site-header .header-actions .home-link.top-home-btn::before,
  .site-header .header-actions .home-link.top-home-btn::after,
  .site-header .burger::before,
  .site-header .burger::after,
  .side-nav a::before,
  .side-nav a::after,
  .side-nav button::before,
  .side-nav button::after {
    display: none !important;
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    внешний левый край рамки «Выбор направления службы» совпадает
    с внешним левым краем кликабельных карточек.
  */
  html body section.positions-choice-hero {
    --oai-positions-card-frame-left: -18px;
    --oai-positions-card-frame-right: -18px;
    --oai-positions-card-frame-width: calc(100% + 36px);
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
    width: var(--oai-positions-card-frame-width) !important;
    max-width: none !important;
    margin-left: var(--oai-positions-card-frame-left) !important;
    margin-right: var(--oai-positions-card-frame-right) !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.hero-badge.positions-choice-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: var(--oai-positions-card-frame-left) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-self: flex-start !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero {
      --oai-positions-card-frame-left: 6px;
      --oai-positions-card-frame-right: 6px;
      --oai-positions-card-frame-width: calc(100% - 12px);
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero {
      --oai-positions-card-frame-left: -4px;
      --oai-positions-card-frame-right: -4px;
      --oai-positions-card-frame-width: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero {
      --oai-positions-card-frame-left: 0px;
      --oai-positions-card-frame-right: 0px;
      --oai-positions-card-frame-width: 100%;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ».
    Внешний левый край рамки «Выбор направления службы» ставим
    на ту же вертикальную линию, что и внешний левый край кликабельных карточек.
  */
  html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
    width: calc(100% + 36px) !important;
    max-width: none !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
    margin-left: -18px !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-self: flex-start !important;
    width: fit-content !important;
    max-width: calc(100% + 36px) !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
    transform: none !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: calc(100% - 12px) !important;
      max-width: none !important;
      margin-left: 6px !important;
      margin-right: 6px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: 6px !important;
      max-width: calc(100% - 12px) !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: calc(100% + 8px) !important;
      max-width: none !important;
      margin-left: -4px !important;
      margin-right: -4px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: -4px !important;
      max-width: calc(100% + 8px) !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: 0 !important;
      max-width: 100% !important;
    }
  }

/*
    Финальная правка по запросу пользователя:
    все перечисленные кнопки и зеленые градиентные кнопки окрашены
    тем же синим градиентом, что и кнопка «НОВОСТИ» в шапке страницы.
  */
  :root {
    --oai-picture-blue-dark: #2f7085;
    --oai-picture-blue-mid: #3f93ad;
    --oai-picture-blue-light: #92cbdb;
    --oai-picture-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --oai-picture-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --oai-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --oai-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);

    --flow-gradient: var(--oai-picture-blue-gradient) !important;
    --flow-gradient-hover: var(--oai-picture-blue-gradient-hover) !important;
    --oai-fund-btn-bg: var(--oai-picture-blue-gradient) !important;
    --oai-fund-btn-bg-hover: var(--oai-picture-blue-gradient-hover) !important;
    --oai-financial-news-gradient: var(--oai-picture-blue-gradient) !important;
    --oai-financial-news-gradient-hover: var(--oai-picture-blue-gradient-hover) !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .site-header .header-actions .home-link.top-news-btn,
    .site-header .header-actions .home-link.top-home-btn,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn.primary,
    .site-header .header-actions .top-btn.secondary,
    .site-header .burger,
    .side-nav a,
    .side-nav button,
    a.contract-btn,
    button.contract-btn,
    .contract-btn,
    .contract-btn-placeholder,
    .fund-action-row .contract-btn,
    .fund-action-row .contract-btn-placeholder,
    .fund-choice-link,
    .hero-card-btn,
    .hero-service-card,
    .hero-service-card-btn,
    .history-action-btn,
    .history-action-btn-placeholder,
    .character-choice-section .history-action-btn,
    .submit-btn,
    .submit-btn.is-sending,
    .social-legal-submit-btn,
    .social-legal-submit-btn.is-sending,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .benefit-modal-action .contract-btn,
    .benefit-details-btn,
    .calc-tab-btn,
    .calc-tab-btn.active,
    .money-reset-btn,
    #moneyCalcReset.money-reset-btn,
    .payment-switch-btn,
    .payment-switch-btn.active,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-btn,
    .search-action-btn,
    .video-switch-btn,
    .hero-btn.primary.callback-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .vk-btn.primary,
    .vk-btn.secondary,
    .user-news-primary-link,
    .vk-tab.active,
    .user-news-page .vk-tab.active,
    .user-news-page .vk-tab:hover,
    .user-search-card--hero .vk-tab.active,
    .user-search-card--hero .vk-tab:hover,
    .help-choice-modal-action > button,
    .help-choice-modal-action > .contract-btn,
    .help-choice-grid > button,
    .help-choice-grid > .contract-btn,
    .info-card-action,
    .scroll-top-btn,
    #scrollTopBtn,
    input[type="submit"].submit-btn,
    input[type="button"].submit-btn
  ) {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--oai-picture-blue-shadow) !important;
    text-decoration: none !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .site-header .header-actions .home-link.top-news-btn:hover,
    .site-header .header-actions .home-link.top-news-btn:focus-visible,
    .site-header .header-actions .home-link.top-news-btn:active,
    .site-header .header-actions .home-link.top-home-btn:hover,
    .site-header .header-actions .home-link.top-home-btn:focus-visible,
    .site-header .header-actions .home-link.top-home-btn:active,
    .site-header .header-actions .home-link:hover,
    .site-header .header-actions .home-link:focus-visible,
    .site-header .header-actions .home-link:active,
    .site-header .header-actions .top-btn.primary:hover,
    .site-header .header-actions .top-btn.primary:focus-visible,
    .site-header .header-actions .top-btn.secondary:hover,
    .site-header .header-actions .top-btn.secondary:focus-visible,
    .site-header .burger:hover,
    .site-header .burger:focus-visible,
    .side-nav a:hover,
    .side-nav a:focus-visible,
    .side-nav a.active,
    .side-nav button:hover,
    .side-nav button:focus-visible,
    a.contract-btn:hover,
    a.contract-btn:focus-visible,
    button.contract-btn:hover,
    button.contract-btn:focus-visible,
    .contract-btn:hover,
    .contract-btn:focus-visible,
    .contract-btn.active,
    .contract-btn-placeholder:hover,
    .fund-action-row .contract-btn:hover,
    .fund-action-row .contract-btn:focus-visible,
    .fund-choice-link:hover,
    .fund-choice-link:focus-visible,
    .hero-card-btn:hover,
    .hero-card-btn:focus-visible,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    .hero-service-card-btn:hover,
    .hero-service-card-btn:focus-visible,
    .history-action-btn:hover,
    .history-action-btn:focus-visible,
    .submit-btn:hover,
    .submit-btn:focus-visible,
    .social-legal-submit-btn:hover,
    .social-legal-submit-btn:focus-visible,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .benefit-modal-action .contract-btn:focus-visible,
    .benefit-details-btn:hover,
    .benefit-details-btn:focus-visible,
    .calc-tab-btn:hover,
    .calc-tab-btn:focus-visible,
    .calc-tab-btn.active,
    .calc-tab-btn.active:hover,
    .calc-tab-btn.active:focus-visible,
    .money-reset-btn:hover,
    .money-reset-btn:focus-visible,
    #moneyCalcReset.money-reset-btn:hover,
    #moneyCalcReset.money-reset-btn:focus-visible,
    .payment-switch-btn:hover,
    .payment-switch-btn:focus-visible,
    .payment-switch-btn.active,
    .payment-switch-btn.active:hover,
    .payment-switch-btn.active:focus-visible,
    .pay-link-btn:hover,
    .pay-link-btn:focus-visible,
    .download-btn:hover,
    .download-btn:focus-visible,
    .doc-btn:hover,
    .doc-btn:focus-visible,
    .back-link:hover,
    .back-link:focus-visible,
    .search-btn:hover,
    .search-btn:focus-visible,
    .search-action-btn:hover,
    .search-action-btn:focus-visible,
    .video-switch-btn:hover,
    .video-switch-btn:focus-visible,
    .hero-btn.primary.callback-btn:hover,
    .hero-btn.primary.callback-btn:focus-visible,
    .pdf-download-card-btn:hover,
    .pdf-download-card-btn:focus-visible,
    .pdf-modal-download-btn:hover,
    .pdf-modal-download-btn:focus-visible,
    .btn:hover,
    .btn:focus-visible,
    .btn-return-home:hover,
    .btn-return-home:focus-visible,
    .feedback-submit:hover,
    .feedback-submit:focus-visible,
    .vk-btn:hover,
    .vk-btn:focus-visible,
    .user-news-primary-link:hover,
    .user-news-primary-link:focus-visible,
    .vk-tab.active,
    .vk-tab:hover,
    .vk-tab:focus-visible,
    .user-news-page .vk-tab.active,
    .user-news-page .vk-tab:hover,
    .user-news-page .vk-tab:focus-visible,
    .user-search-card--hero .vk-tab.active,
    .user-search-card--hero .vk-tab:hover,
    .user-search-card--hero .vk-tab:focus-visible,
    .help-choice-modal-action > button:hover,
    .help-choice-modal-action > button:focus-visible,
    .help-choice-modal-action > .contract-btn:hover,
    .help-choice-modal-action > .contract-btn:focus-visible,
    .help-choice-grid > button:hover,
    .help-choice-grid > button:focus-visible,
    .help-choice-grid > .contract-btn:hover,
    .help-choice-grid > .contract-btn:focus-visible,
    .info-card-action:hover,
    .info-card-action:focus-visible,
    .scroll-top-btn:hover,
    .scroll-top-btn:focus-visible,
    #scrollTopBtn:hover,
    #scrollTopBtn:focus-visible
  ) {
    background: var(--oai-picture-blue-gradient-hover) !important;
    background-image: var(--oai-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--oai-picture-blue-shadow-hover) !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .submit-btn:disabled,
    .submit-btn.is-sending,
    .submit-btn.is-sending:disabled,
    .social-legal-submit-btn:disabled,
    .social-legal-submit-btn.is-sending,
    .social-legal-submit-btn.is-sending:disabled,
    .service-modal-footer .submit-btn.is-sending,
    .contract-modal-footer .submit-btn.is-sending,
    .payment-switch-btn.active,
    .calc-tab-btn.active,
    #moneyCalcReset.money-reset-btn[aria-disabled="true"]
  ) {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .hero-service-card,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    .info-card-action,
    .info-card-action:hover,
    .info-card-action:focus-visible,
    .contract-btn,
    .history-action-btn,
    .payment-switch-btn,
    .calc-tab-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link
  ) :is(span, strong, small, em, b, p, h1, h2, h3, h4, h5, h6, .info-card-cta, .hero-service-card-btn) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body :is(#oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC, .site-header .burger) span {
    background: #ffffff !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .contract-btn,
    .history-action-btn,
    .hero-card-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .calc-tab-btn,
    .money-reset-btn,
    .payment-switch-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link,
    .scroll-top-btn,
    #scrollTopBtn
  )::before,
  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .contract-btn,
    .history-action-btn,
    .hero-card-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .calc-tab-btn,
    .money-reset-btn,
    .payment-switch-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link,
    .scroll-top-btn,
    #scrollTopBtn
  )::after {
    background: transparent !important;
  }

:root {
    --oai-transparent-card-bg: rgba(255, 255, 255, 0.13);
    --oai-transparent-card-bg-hover: rgba(255, 255, 255, 0.18);
    --oai-transparent-card-border: rgba(255, 255, 255, 0.14);
    --oai-transparent-card-border-hover: rgba(255, 255, 255, 0.24);
    --oai-transparent-action-bg: rgba(255, 255, 255, 0.38);
    --oai-transparent-action-bg-hover: rgba(255, 255, 255, 0.52);
  }

  /* Click cards: glass/transparent style from 222.html. */
  body :is(
    #oaiTransparentCardA#oaiTransparentCardB#oaiTransparentCardC,
    .hero-card,
    button.hero-card,
    a.hero-card,
    .social-pdf-click-card,
    .hero-service-card,
    button.hero-service-card,
    a.hero-service-card,
    #openMilitaryCalcCard,
    #openContractBenefitCard,
    #openRealEstateRequestCard,
    .info-card.info-card-action,
    button.info-card.info-card-action,
    a.info-card.info-card-action
  ) {
    background: var(--oai-transparent-card-bg) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-card-bg) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid var(--oai-transparent-card-border) !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
  }

  body :is(
    #oaiTransparentCardA#oaiTransparentCardB#oaiTransparentCardC,
    .hero-card:hover,
    .hero-card:focus-visible,
    button.hero-card:hover,
    button.hero-card:focus-visible,
    a.hero-card:hover,
    a.hero-card:focus-visible,
    .social-pdf-click-card:hover,
    .social-pdf-click-card:focus-visible,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    button.hero-service-card:hover,
    button.hero-service-card:focus-visible,
    a.hero-service-card:hover,
    a.hero-service-card:focus-visible,
    #openMilitaryCalcCard:hover,
    #openMilitaryCalcCard:focus-visible,
    #openContractBenefitCard:hover,
    #openContractBenefitCard:focus-visible,
    #openRealEstateRequestCard:hover,
    #openRealEstateRequestCard:focus-visible,
    .info-card.info-card-action:hover,
    .info-card.info-card-action:focus-visible
  ) {
    background: var(--oai-transparent-card-bg-hover) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-card-bg-hover) !important;
    border-color: var(--oai-transparent-card-border-hover) !important;
    box-shadow: var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, 0.12)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body :is(
    #oaiTransparentCardA#oaiTransparentCardB#oaiTransparentCardC,
    .hero-card,
    .hero-service-card,
    .info-card.info-card-action,
    .social-pdf-click-card
  ) :is(
    .hero-card-title,
    .hero-service-card-title,
    .hero-card-text,
    .hero-service-card-text,
    .info-card-cta,
    h3,
    p,
    span,
    strong,
    small
  ) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* Inner buttons/links on click cards are transparent, as in 222.html. */
  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card .hero-card-btn,
    .hero-card-btn,
    .hero-service-card .hero-service-card-btn,
    .hero-service-card-btn.hero-card-btn,
    #openMilitaryCalcCard .hero-service-card-btn,
    #openContractBenefitCard .hero-service-card-btn,
    #openRealEstateRequestCard .hero-service-card-btn,
    .social-pdf-click-card .social-pdf-click-card-btn,
    .social-pdf-click-card-btn,
    .info-card.info-card-action .info-card-cta,
    .info-card .info-card-action:not(.info-card)
  ) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    inline-size: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin-top: auto !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card .hero-card-btn:hover,
    .hero-card .hero-card-btn:focus-visible,
    .hero-card-btn:hover,
    .hero-card-btn:focus-visible,
    .hero-service-card .hero-service-card-btn:hover,
    .hero-service-card .hero-service-card-btn:focus-visible,
    .hero-service-card-btn.hero-card-btn:hover,
    .hero-service-card-btn.hero-card-btn:focus-visible,
    #openMilitaryCalcCard .hero-service-card-btn:hover,
    #openMilitaryCalcCard .hero-service-card-btn:focus-visible,
    #openContractBenefitCard .hero-service-card-btn:hover,
    #openContractBenefitCard .hero-service-card-btn:focus-visible,
    #openRealEstateRequestCard .hero-service-card-btn:hover,
    #openRealEstateRequestCard .hero-service-card-btn:focus-visible,
    .social-pdf-click-card .social-pdf-click-card-btn:hover,
    .social-pdf-click-card .social-pdf-click-card-btn:focus-visible,
    .info-card.info-card-action .info-card-cta:hover,
    .info-card.info-card-action .info-card-cta:focus-visible,
    .info-card .info-card-action:not(.info-card):hover,
    .info-card .info-card-action:not(.info-card):focus-visible
  ) {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    border-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: translateX(2px) !important;
    opacity: 0.88 !important;
  }

  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card-btn,
    .hero-service-card-btn,
    .info-card-cta,
    .social-pdf-click-card-btn
  )::before,
  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card-btn,
    .hero-service-card-btn,
    .info-card-cta,
    .social-pdf-click-card-btn
  )::after {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* Selected action buttons with these card actions are also transparent/glass. */
  body :is(
    #oaiTransparentActionA#oaiTransparentActionB#oaiTransparentActionC,
    #openFundLifeDonateBtn,
    #openFundLifeDonateBtnMobile,
    #openFundPlHelpBtn,
    #openFundPlHelpBtnMobile,
    #openFundLabsDonateBtn,
    #openFundLabsDonateBtnMobile,
    #openBplaSchoolDonateBtn,
    #openBplaSchoolDonateBtnMobile,
    #openFundPlFeedbackBtn,
    #openFundPlFeedbackBtnMobile,
    .fund-action-row .contract-btn-placeholder
  ) {
    background: var(--oai-transparent-action-bg) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-action-bg) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(17, 17, 17, 0.12) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
  }

  body :is(
    #oaiTransparentActionA#oaiTransparentActionB#oaiTransparentActionC,
    #openFundLifeDonateBtn:hover,
    #openFundLifeDonateBtn:focus-visible,
    #openFundLifeDonateBtnMobile:hover,
    #openFundLifeDonateBtnMobile:focus-visible,
    #openFundPlHelpBtn:hover,
    #openFundPlHelpBtn:focus-visible,
    #openFundPlHelpBtnMobile:hover,
    #openFundPlHelpBtnMobile:focus-visible,
    #openFundLabsDonateBtn:hover,
    #openFundLabsDonateBtn:focus-visible,
    #openFundLabsDonateBtnMobile:hover,
    #openFundLabsDonateBtnMobile:focus-visible,
    #openBplaSchoolDonateBtn:hover,
    #openBplaSchoolDonateBtn:focus-visible,
    #openBplaSchoolDonateBtnMobile:hover,
    #openBplaSchoolDonateBtnMobile:focus-visible,
    #openFundPlFeedbackBtn:hover,
    #openFundPlFeedbackBtn:focus-visible,
    #openFundPlFeedbackBtnMobile:hover,
    #openFundPlFeedbackBtnMobile:focus-visible,
    .fund-action-row .contract-btn-placeholder:hover,
    .fund-action-row .contract-btn-placeholder:focus-visible
  ) {
    background: var(--oai-transparent-action-bg-hover) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-action-bg-hover) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border-color: rgba(17, 17, 17, 0.18) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10) !important;
  }

/*
    Эталон: font.html, первый hero-блок:
    <div class="hero-badge">Благотворительный фонда "ПлАЦДАРМ"</div>

    В positions.html у родительского .hero-content были другие итоговые стили
    (display:flex; padding:56px 30px; gap:30px), из-за чего рамка стояла левее/ниже.
    Ниже стили точечно возвращают для этого блока геометрию font.html.
  */

  body .positions-choice-hero {
    max-width: 1280px !important;
    margin: 28px auto 24px !important;
    padding: 0 20px !important;
  }

  body .positions-choice-hero > .hero-content {
    display: block !important;
    position: relative !important;
    border-radius: 34px !important;
    padding: 48px !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-lg) !important;
    gap: normal !important;
    align-items: normal !important;
    justify-content: normal !important;
  }

  body .positions-choice-hero > .hero-content > .hero-text {
    flex: 1 1 720px !important;
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    align-items: normal !important;
    justify-content: normal !important;
    margin: 0 -14px !important;
    padding: 0 !important;
  }

  body .positions-choice-hero .positions-choice-badge {
    display: inline-flex !important;
    align-items: normal !important;
    justify-content: normal !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    align-self: auto !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
  }

  @media (max-width: 1100px) {
    body .positions-choice-hero > .hero-content {
      text-align: center !important;
      padding: 40px 24px !important;
    }
  }

  @media (max-width: 768px) {
    body .positions-choice-hero {
      margin-top: 20px !important;
      padding-left: 14px !important;
      padding-right: 14px !important;
    }

    body .positions-choice-hero > .hero-content {
      padding: 28px 20px !important;
      border-radius: 24px !important;
    }

    body .positions-choice-hero .positions-choice-badge {
      font-size: 12px !important;
      line-height: 1.3 !important;
    }
  }

  @media (max-width: 480px) {
    body .positions-choice-hero {
      padding-left: 12px !important;
      padding-right: 12px !important;
    }

    body .positions-choice-hero > .hero-content {
      padding: 24px 16px !important;
      border-radius: 22px !important;
    }
  }

/* Финальная правка первого блока «КОНТРАКТ с ВС РФ». */
  html body section.positions-choice-hero > div.hero-content,
  html body section.positions-choice-hero > div.hero-content > div.hero-text {
    text-align: left !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  html body section.positions-choice-hero h1.hero-title.hero-title-split,
  html body section.positions-choice-hero h1.hero-title.hero-title-split > .hero-title-line {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    text-align: center !important;
  }

  html body section.positions-choice-hero p.hero-description.hero-subtitle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: stretch !important;
    text-align: left !important;
  }

  html body section.positions-choice-hero p.hero-description.hero-subtitle > .hero-subtitle-line {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }

  /*
    Кликабельные карточки начинаются от той же линии, что текст второго блока,
    и заканчиваются на той же линии, что правая граница изображения второго блока.
  */
  html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
    width: calc(100% + 36px) !important;
    max-width: none !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid > .hero-action-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: calc(100% - 12px) !important;
      max-width: none !important;
      margin-left: 6px !important;
      margin-right: 6px !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero p.hero-description.hero-subtitle > .hero-subtitle-line {
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: calc(100% + 8px) !important;
      max-width: none !important;
      margin-left: -4px !important;
      margin-right: -4px !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

/* Выравниваем описание и плашку "Выбор направления службы" по левому краю карточек первого блока. */
  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge {
    margin-left: -18px !important;
    align-self: flex-start !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
    width: calc(100% + 36px) !important;
    max-width: none !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    align-self: stretch !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge {
      margin-left: 6px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% - 12px) !important;
      max-width: none !important;
      margin-left: 6px !important;
      margin-right: 6px !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge {
      margin-left: -4px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% + 8px) !important;
      max-width: none !important;
      margin-left: -4px !important;
      margin-right: -4px !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge {
      margin-left: 0 !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

/* Описание и плашка первого блока начинаются по той же левой линии, что и кликабельные карточки. */
  html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge,
  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
    margin-left: -18px !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
    width: calc(100% + 36px) !important;
    max-width: none !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      margin-left: 6px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      margin-left: -4px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% + 8px) !important;
      max-width: none !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge,
    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      margin-left: 0 !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: 100% !important;
      max-width: 100% !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    левый край рамки «Выбор направления службы» и левый край описания
    совпадают с левым краем кликабельных карточек.
  */
  html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
    margin-left: -18px !important;
    align-self: flex-start !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
    width: calc(100% + 36px) !important;
    max-width: none !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    align-self: stretch !important;
    text-align: left !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle > .hero-subtitle-line {
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: 6px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% - 12px) !important;
      max-width: none !important;
      margin-left: 6px !important;
      margin-right: 6px !important;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: -4px !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: calc(100% + 8px) !important;
      max-width: none !important;
      margin-left: -4px !important;
      margin-right: -4px !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero > div.hero-content > div.hero-text > .positions-choice-badge {
      margin-left: 0 !important;
    }

    html body section.positions-choice-hero > div.hero-content > div.hero-text > p.hero-description.hero-subtitle {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    левая граница рамки «Выбор направления службы» совпадает с левой
    границей кликабельных карточек. Отступ считается именно до начала
    рамки, а не до текста внутри рамки.
  */
  html body section.positions-choice-hero {
    --oai-positions-card-edge-left: -18px;
    --oai-positions-card-edge-right: -18px;
    --oai-positions-card-row-width: calc(100% + 36px);
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
    width: var(--oai-positions-card-row-width) !important;
    max-width: none !important;
    margin-left: var(--oai-positions-card-edge-left) !important;
    margin-right: var(--oai-positions-card-edge-right) !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card {
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.hero-badge.positions-choice-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: var(--oai-positions-card-edge-left) !important;
    align-self: flex-start !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero {
      --oai-positions-card-edge-left: 6px;
      --oai-positions-card-edge-right: 6px;
      --oai-positions-card-row-width: calc(100% - 12px);
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero {
      --oai-positions-card-edge-left: -4px;
      --oai-positions-card-edge-right: -4px;
      --oai-positions-card-row-width: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero {
      --oai-positions-card-edge-left: 0px;
      --oai-positions-card-edge-right: 0px;
      --oai-positions-card-row-width: 100%;
    }
  }

/*
    Выравнивание именно внешней рамки бейджа «Выбор направления службы»:
    отступ от левого края первого блока до начала рамки равен отступу
    от левого края первого блока до начала кликабельных карточек.
  */
  html body section.positions-choice-hero {
    --oai-positions-card-left-edge: -18px;
    --oai-positions-card-right-edge: -18px;
    --oai-positions-card-row-width: calc(100% + 36px);
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
    width: var(--oai-positions-card-row-width) !important;
    max-width: none !important;
    margin-left: var(--oai-positions-card-left-edge) !important;
    margin-right: var(--oai-positions-card-right-edge) !important;
    margin-inline-start: var(--oai-positions-card-left-edge) !important;
    margin-inline-end: var(--oai-positions-card-right-edge) !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.hero-badge.positions-choice-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: var(--oai-positions-card-left-edge) !important;
    margin-right: 0 !important;
    margin-inline-start: var(--oai-positions-card-left-edge) !important;
    margin-inline-end: 0 !important;
    align-self: flex-start !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-edge: 6px;
      --oai-positions-card-right-edge: 6px;
      --oai-positions-card-row-width: calc(100% - 12px);
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-edge: -4px;
      --oai-positions-card-right-edge: -4px;
      --oai-positions-card-row-width: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-edge: 0px;
      --oai-positions-card-right-edge: 0px;
      --oai-positions-card-row-width: 100%;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    внешний левый край рамки «Выбор направления службы» принудительно
    совпадает с внешним левым краем кликабельных карточек.
  */
  html body section.positions-choice-hero {
    --oai-positions-card-left-line: -18px;
    --oai-positions-card-right-line: -18px;
    --oai-positions-card-full-width: calc(100% + 36px);
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
    width: var(--oai-positions-card-full-width) !important;
    max-width: none !important;
    margin-left: var(--oai-positions-card-left-line) !important;
    margin-right: var(--oai-positions-card-right-line) !important;
    margin-inline-start: var(--oai-positions-card-left-line) !important;
    margin-inline-end: var(--oai-positions-card-right-line) !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.hero-badge.positions-choice-badge {
    margin-left: var(--oai-positions-card-left-line) !important;
    margin-right: 0 !important;
    margin-inline-start: var(--oai-positions-card-left-line) !important;
    margin-inline-end: 0 !important;
    align-self: flex-start !important;
    justify-self: start !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    translate: none !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:first-child {
    margin-left: 0 !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-line: 6px;
      --oai-positions-card-right-line: 6px;
      --oai-positions-card-full-width: calc(100% - 12px);
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-line: -4px;
      --oai-positions-card-right-line: -4px;
      --oai-positions-card-full-width: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-line: 0px;
      --oai-positions-card-right-line: 0px;
      --oai-positions-card-full-width: 100%;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    левая граница рамки «Выбор направления службы» ставится на ту же
    вертикальную линию, что и левая граница первой кликабельной карточки.
  */
  html body section.positions-choice-hero {
    --oai-positions-card-left-edge: -18px;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > .hero-action-grid,
  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge {
    margin-left: var(--oai-positions-card-left-edge) !important;
  }

  html body section.positions-choice-hero > div.hero-content > div.hero-text > a.positions-choice-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: calc(100% - var(--oai-positions-card-left-edge)) !important;
    align-self: flex-start !important;
    box-sizing: border-box !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-edge: 6px;
    }
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-edge: -4px;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero {
      --oai-positions-card-left-edge: 0px;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ».
    Здесь выравнивается именно внешняя левая граница рамки
    «Выбор направления службы», а не текст внутри этой рамки.
    Та же величина отступа применяется к ряду кликабельных карточек.
  */
  html body section.hero.positions-choice-hero {
    --oai-first-card-left-line: -18px;
    --oai-first-card-right-line: -18px;
    --oai-first-card-row-width: calc(100% + 36px);
  }

  html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
    width: var(--oai-first-card-row-width) !important;
    max-width: none !important;
    margin-left: var(--oai-first-card-left-line) !important;
    margin-right: var(--oai-first-card-right-line) !important;
    margin-inline-start: var(--oai-first-card-left-line) !important;
    margin-inline-end: var(--oai-first-card-right-line) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:first-child {
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > a.hero-badge.positions-choice-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: calc(100% - var(--oai-first-card-left-line)) !important;
    margin-left: var(--oai-first-card-left-line) !important;
    margin-right: 0 !important;
    margin-inline-start: var(--oai-first-card-left-line) !important;
    margin-inline-end: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-self: flex-start !important;
    justify-self: start !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    transform: none !important;
    translate: none !important;
  }

  @media (max-width: 1100px) and (min-width: 769px) {
    html body section.hero.positions-choice-hero {
      --oai-first-card-left-line: 6px;
      --oai-first-card-right-line: 6px;
      --oai-first-card-row-width: calc(100% - 12px);
    }
  }

  @media (max-width: 768px) {
    html body section.hero.positions-choice-hero {
      --oai-first-card-left-line: -4px;
      --oai-first-card-right-line: -4px;
      --oai-first-card-row-width: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    html body section.hero.positions-choice-hero {
      --oai-first-card-left-line: 0px;
      --oai-first-card-right-line: 0px;
      --oai-first-card-row-width: 100%;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    увеличиваем высоту заголовочной строки карточек, чтобы описание
    «Штурмовые...» в карточке «Боевое подразделение» начиналось на одной
    горизонтальной линии с описанием «Разведка...» в соседней карточке.
  */
  @media (min-width: 769px) {
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > h3 {
      min-height: calc(1.2rem * 1.25 * 2) !important;
      display: flex !important;
      align-items: flex-start !important;
      margin-bottom: 12px !important;
      box-sizing: border-box !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > p {
      margin-top: 0 !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    описание в карточке «Боевое подразделение» начинается на той же
    горизонтальной линии, что и описание в карточке
    «Подразделение боевого обеспечения».
  */
  html body section.hero.positions-choice-hero
    > div.hero-content > div.hero-text > div.hero-action-grid
    > a.hero-action-card[data-doc-title="Боевое подразделение"] > h3,
  html body section.hero.positions-choice-hero
    > div.hero-content > div.hero-text > div.hero-action-grid
    > a.hero-action-card[data-doc-title="Подразделение боевого обеспечения"] > h3 {
    min-height: calc(1.2rem * 1.25 * 2) !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: flex-start !important;
  }

  html body section.hero.positions-choice-hero
    > div.hero-content > div.hero-text > div.hero-action-grid
    > a.hero-action-card[data-doc-title="Боевое подразделение"] > p,
  html body section.hero.positions-choice-hero
    > div.hero-content > div.hero-text > div.hero-action-grid
    > a.hero-action-card[data-doc-title="Подразделение боевого обеспечения"] > p {
    margin-top: 0 !important;
  }

  @media (max-width: 768px) {
    html body section.hero.positions-choice-hero
      > div.hero-content > div.hero-text > div.hero-action-grid
      > a.hero-action-card[data-doc-title="Боевое подразделение"] > h3,
    html body section.hero.positions-choice-hero
      > div.hero-content > div.hero-text > div.hero-action-grid
      > a.hero-action-card[data-doc-title="Подразделение боевого обеспечения"] > h3 {
      min-height: auto !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    у первых двух кликабельных карточек резервируется одинаковая высота
    под заголовки, чтобы текст описания «Боевое подразделение» начинался
    на одной горизонтальной линии с текстом описания «Подразделение боевого обеспечения».
  */
  @media (min-width: 769px) {
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:nth-child(-n + 2) > h3 {
      min-height: 2.5em !important;
      line-height: 1.25 !important;
      display: flex !important;
      align-items: flex-start !important;
      margin-bottom: 12px !important;
      box-sizing: border-box !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:nth-child(-n + 2) > p {
      margin-top: 0 !important;
    }
  }

  @media (max-width: 768px) {
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > h3 {
      min-height: 0 !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ».
    Делаем зону заголовков в первых двух кликабельных карточках одинаковой
    по высоте, чтобы описания «Штурмовые...» и «Разведка...» начинались
    на одной горизонтальной линии.
  */
  @media (min-width: 769px) {
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:nth-child(-n+2) > h3 {
      min-height: 2.5em !important;
      margin-bottom: 12px !important;
      display: flex !important;
      align-items: flex-start !important;
    }
  }

/*
    Первый блок «КОНТРАКТ с ВС РФ»:
    у карточек сделана одинаковая высота заголовочной зоны, чтобы описание
    «Штурмовые...» в карточке «Боевое подразделение» начиналось на одной
    горизонтальной линии с описанием «Разведка...» в соседней карточке.
  */
  @media (min-width: 769px) {
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > h3 {
      min-height: 3rem !important;
      line-height: 1.25 !important;
      margin-bottom: 12px !important;
      display: flex !important;
      align-items: flex-start !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > p {
      margin-top: 0 !important;
    }
  }

  @media (max-width: 768px) {
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > h3 {
      min-height: 0 !important;
    }
  }

#contractModal.contract-modal-from-division {
    z-index: 1400 !important;
  }

  #contractModal.contract-modal-has-back .contract-modal-header {
    padding-left: 56px !important;
  }

  #contractModal .contract-modal-back {
    position: absolute !important;
    top: 5px !important;
    left: 12px !important;
    right: auto !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    z-index: 70 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #contractModal .contract-modal-back[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #contractModal .contract-modal-back:hover,
  #contractModal .contract-modal-back:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
    translate: none !important;
  }

  #contractModal .contract-modal-footer {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  #contractModal .contract-modal-footer > .submit-btn {
    width: auto !important;
    min-width: 260px !important;
    max-width: min(100%, 360px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  #contractModal .contract-modal-footer > .note {
    width: 100% !important;
    text-align: left !important;
  }

  @media (max-width: 768px) {
    #contractModal.contract-modal-has-back .contract-modal-header {
      padding-left: 48px !important;
    }

    #contractModal .contract-modal-back {
      top: 5px !important;
      left: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 22px !important;
    }

    #contractModal .contract-modal-footer > .submit-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
  }

/*
    Размер заголовка первого блока "КОНТРАКТ с ВС РФ"
    синхронизирован с заголовком первого блока font.html:
    "БЛАГОТВОРИТЕЛЬНЫЙ ФОНД «ПлАЦДАРМ»".
  */
  html body section.positions-choice-hero h1.hero-title.hero-title-split {
    font-size: clamp(34px, 5vw, 64px) !important;
    line-height: 1.04 !important;
  }

  html body section.positions-choice-hero h1.hero-title.hero-title-split > .hero-title-line {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  @media (max-width: 768px) {
    html body section.positions-choice-hero h1.hero-title.hero-title-split {
      font-size: clamp(22px, 6vw, 46px) !important;
      line-height: 1.08 !important;
    }
  }

  @media (max-width: 480px) {
    html body section.positions-choice-hero h1.hero-title.hero-title-split {
      font-size: clamp(16px, 5.2vw, 24px) !important;
    }
  }

/* Правки модального окна «ВЫБОР ДОЛЖНОСТИ»: проверка обязательных полей сделана нативно, как в окне «ОБРАТНАЯ СВЯЗЬ». */

  #contractModal .contract-region-form-group {
    position: relative !important;
    z-index: 20 !important;
  }

  #contractModal .contract-region-form-group.contract-region-open {
    z-index: 140 !important;
  }

  /* Нативный select остаётся в форме для удобного выбора региона; поле региона необязательное. */
  #contractModal #regionSelect.contract-native-region-select {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: transparent !important;
    z-index: 1 !important;
  }

  #contractModal .contract-region-combobox {
    position: relative !important;
    width: 100% !important;
    z-index: 2 !important;
  }

  #contractModal .contract-region-trigger {
    width: 100% !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 13px 42px 13px 15px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #111111 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  #contractModal .contract-region-trigger::after {
    content: "" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    width: 9px !important;
    height: 9px !important;
    border-right: 2px solid #4d5a5f !important;
    border-bottom: 2px solid #4d5a5f !important;
    transform: translateY(-65%) rotate(45deg) !important;
    pointer-events: none !important;
  }

  #contractModal .contract-region-trigger:focus-visible,
  #contractModal #regionSelect.contract-native-region-select:focus + .contract-region-combobox .contract-region-trigger,
  #contractModal .contract-region-combobox.is-open .contract-region-trigger {
    border-color: var(--blue, #6ea8ff) !important;
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.18) !important;
    outline: none !important;
  }

  #contractModal .contract-region-trigger.is-placeholder {
    color: #596674 !important;
  }

  #contractModal .contract-region-list {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: 280px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 8px !important;
    margin: 0 !important;
    list-style: none !important;
    border: 1px solid #d8dce2 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16) !important;
    z-index: 160 !important;
    box-sizing: border-box !important;
  }

  #contractModal .contract-region-combobox.is-open .contract-region-list {
    display: block !important;
  }

  #contractModal .contract-region-option {
    width: 100% !important;
    display: block !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #111111 !important;
    font: inherit !important;
    line-height: 1.3 !important;
    text-align: left !important;
    cursor: pointer !important;
  }

  #contractModal .contract-region-option:hover,
  #contractModal .contract-region-option:focus-visible,
  #contractModal .contract-region-option.is-active {
    background: rgba(79, 141, 240, 0.12) !important;
    color: #111111 !important;
    outline: none !important;
  }

  #contractModal .consent-label a,
  #contractModal .consent-label a:visited,
  #contractModal .consent-label a:hover,
  #contractModal .consent-label a:focus,
  #contractModal .consent-label a:focus-visible,
  #contractModal .consent-label a:active {
    color: var(--target-modal-legal-link-blue, var(--blue-dark, #4f8df0)) !important;
    font-size: var(--contract-legal-font-size, 16px) !important;
    line-height: var(--contract-legal-line-height, 1.45) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    text-underline-offset: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  #contractModal .consent-label a:hover,
  #contractModal .consent-label a:focus-visible {
    color: var(--target-modal-legal-link-blue-hover, #2f70d7) !important;
  }

  #contractModal .contract-modal-footer .submit-btn:not(.is-sending) {
    cursor: pointer !important;
    opacity: 1 !important;
  }

  #contractModal .contract-field-error-text {
    display: none !important;
  }

html body section.hero.positions-choice-hero > div.hero-content {
    background: url("images/posit.JPG") center center / cover no-repeat !important;
    background-color: #162033 !important;
  }

  html body section.hero.positions-choice-hero > div.hero-content::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

.site-no-click-card,
  .site-no-click-card * {
    cursor: default !important;
    pointer-events: none !important;
  }

  .site-no-click-card:hover,
  .site-no-click-card:focus,
  .site-no-click-card:focus-visible {
    transform: none !important;
    outline: none !important;
  }

/* Блоки #labs, #labs-111 и #labs-333: нижний край desktop-кнопок
     выровнен с нижним краем видео, поэтому зазор до низа блока одинаковый. */
  @media (min-width: 769px) {
    #labs.history-section .content-flex,
    #labs-111.history-section .content-flex,
    #labs-333.history-section .content-flex {
      align-items: stretch !important;
      flex-wrap: nowrap !important;
    }

    #labs.history-section .text-part,
    #labs-111.history-section .text-part,
    #labs-333.history-section .text-part,
    #labs.history-section .video-part,
    #labs-111.history-section .video-part,
    #labs-333.history-section .video-part {
      align-self: stretch !important;
      display: flex !important;
      flex-direction: column !important;
      min-height: 0 !important;
    }

    #labs.history-section .history-action-row-desktop,
    #labs-111.history-section .history-action-row-desktop,
    #labs-333.history-section .history-action-row-desktop {
      margin-top: auto !important;
      margin-bottom: 0 !important;
      padding-top: 20px !important;
    }

    #labs.history-section .video-frame,
    #labs-111.history-section .video-frame,
    #labs-333.history-section .video-frame {
      margin-top: auto !important;
      margin-bottom: 0 !important;
    }
  }

@media (max-width: 768px) {
    /* Делаем расстояние от верха первого hero-блока до рамки-бейджа таким же, как в sila-zhit: 32px. */
    html body section.hero:first-of-type > .hero-content {
      padding-top: 32px !important;
    }

    /* На страницах index/laboratory дополнительный верхний отступ был у внутренней обёртки. */
    html body section.hero:first-of-type > .hero-content > .hero-inner,
    html body section.hero:first-of-type > .hero-content > .hero-text {
      margin-top: 0 !important;
      padding-top: 0 !important;
    }

    html body section.hero:first-of-type > .hero-content .hero-badge,
    html body section.hero:first-of-type > .hero-content .positions-choice-badge {
      margin-top: 0 !important;
    }
  }

/*
    Финальные правки по текущему заданию для positions.html.
    Все правила ограничены мобильной шириной, чтобы не менять настроенную ПК-версию.
  */
  @media (max-width: 768px) {
    /* 1. Калькулятор выплат: нижние кнопки строго от левого края, как в эталонном index.html. */
    html body #calcModal .calc-modal-footer-sticky,
    html body #calcModal .calc-modal-footer-sticky.is-hidden,
    html body #calcModal[data-calc-flow-mode="choice"] .calc-modal-footer-sticky,
    html body #calcModal[data-calc-flow-mode="region"] .calc-modal-footer-sticky,
    html body #calcModal[data-calc-flow-mode="money"] .calc-modal-footer-sticky,
    html body #calcModal.calc-mode-choice .calc-modal-footer-sticky,
    html body #calcModal.calc-mode-region .calc-modal-footer-sticky,
    html body #calcModal.calc-mode-money .calc-modal-footer-sticky {
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      align-content: flex-start !important;
      gap: 10px !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    html body #calcModal .calc-footer-left,
    html body #calcModal .calc-footer-right,
    html body #calcModal .calc-tabs,
    html body #calcModal[data-calc-flow-mode="choice"] .calc-footer-left,
    html body #calcModal[data-calc-flow-mode="choice"] .calc-footer-right,
    html body #calcModal[data-calc-flow-mode="choice"] .calc-tabs,
    html body #calcModal[data-calc-flow-mode="region"] .calc-footer-right,
    html body #calcModal[data-calc-flow-mode="money"] .calc-footer-right,
    html body #calcModal.calc-mode-choice .calc-footer-left,
    html body #calcModal.calc-mode-choice .calc-footer-right,
    html body #calcModal.calc-mode-choice .calc-tabs,
    html body #calcModal.calc-mode-region .calc-footer-right,
    html body #calcModal.calc-mode-money .calc-footer-right {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      align-content: flex-start !important;
      box-sizing: border-box !important;
    }

    html body #calcModal[data-calc-flow-mode="choice"] .calc-footer-right,
    html body #calcModal.calc-mode-choice .calc-footer-right,
    html body #calcModal[data-calc-flow-mode="choice"] #moneyCalcReset,
    html body #calcModal.calc-mode-choice #moneyCalcReset {
      display: flex !important;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important;
    }

    html body #calcModal .calc-tabs {
      flex-direction: column !important;
      gap: 10px !important;
    }

    html body #calcModal .calc-tabs > .calc-tab-btn,
    html body #calcModal .calc-modal-footer-sticky .calc-tabs > .calc-tab-btn,
    html body #calcModal button#moneyCalcReset.money-reset-btn,
    html body #calcModal #moneyCalcReset.money-reset-btn,
    html body #calcModal #moneyCalcReset {
      flex: 0 0 1.3cm !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      align-self: flex-start !important;
      justify-self: start !important;
      box-sizing: border-box !important;
    }

    /* 2. Окно выбора должности: кнопка отправки как «ОСТАВИТЬ ЗАЯВКУ» в окне Краснодар. */
    html body #contractModal .contract-modal-footer {
      flex: 0 0 auto !important;
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      justify-items: start !important;
      align-items: stretch !important;
      align-content: center !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 12px 14px !important;
      background: #ffffff !important;
      border-top: 1px solid #e7edf5 !important;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
      z-index: 5 !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-footer > .submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin: 0 !important;
      padding: 0 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      align-self: center !important;
      justify-self: start !important;
      text-align: center !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      line-height: 1.08 !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-footer > .note {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      justify-self: stretch !important;
      box-sizing: border-box !important;
    }

    /* 3. Окна Краснодар/Донецк и ОБРАТНАЯ СВЯЗЬ: мобильный вид синхронизирован с index.html. */
    html body #officeMapModal,
    html body #officeFeedbackModal {
      padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
      box-sizing: border-box !important;
      overflow-y: auto !important;
    }

    html body #officeMapModal .social-legal-modal-dialog,
    html body #officeFeedbackModal .social-legal-modal-dialog {
      position: relative !important;
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      min-height: 0 !important;
      margin: 0 auto !important;
      padding: 0 !important;
      border-radius: 22px !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      background: #ffffff !important;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
      box-sizing: border-box !important;
      font-size: 15px !important;
      font-weight: 700 !important;
      line-height: 1.5 !important;
    }

    html body #officeMapModal .social-legal-form-card,
    html body #officeMapModal .social-legal-modal-content,
    html body #officeFeedbackModal .social-legal-form-card,
    html body #officeFeedbackModal .social-legal-modal-content,
    html body #officeFeedbackModal #officeFeedbackForm {
      width: 100% !important;
      max-width: none !important;
      height: 100% !important;
      max-height: none !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 22px !important;
      box-shadow: none !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-modal-header,
    html body #officeFeedbackModal .social-legal-modal-header {
      position: relative !important;
      flex: 0 0 auto !important;
      padding: 12px 54px 8px 22px !important;
      margin: 0 !important;
      background: #ffffff !important;
      border-bottom: 1px solid #e7edf5 !important;
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
      z-index: 3 !important;
      text-align: center !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-modal-header h2,
    html body #officeFeedbackModal .social-legal-modal-header h2 {
      margin: 0 !important;
      padding: 0 !important;
      text-align: center !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      color: var(--text-main, #111111) !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-form-subtitle,
    html body #officeFeedbackModal .social-legal-form-subtitle {
      margin: 8px auto 0 !important;
      max-width: 760px !important;
      padding: 0 !important;
      text-align: center !important;
      font-size: 14px !important;
      font-weight: 700 !important;
      line-height: 1.25 !important;
      color: var(--text-soft, #4d5a5f) !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal #officeMapModalClose,
    html body #officeFeedbackModal #officeFeedbackModalClose {
      position: absolute !important;
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 32px !important;
      font-weight: 400 !important;
      line-height: 1 !important;
      letter-spacing: 0 !important;
      text-align: center !important;
      color: var(--text-main, #111111) !important;
      cursor: pointer !important;
      transform: none !important;
      translate: none !important;
      animation: none !important;
      filter: none !important;
      transition: color 0.2s ease !important;
      z-index: 50 !important;
      box-sizing: border-box !important;
      appearance: none !important;
      -webkit-appearance: none !important;
    }

    html body #officeMapModal #officeMapModalClose:hover,
    html body #officeMapModal #officeMapModalClose:focus-visible,
    html body #officeFeedbackModal #officeFeedbackModalClose:hover,
    html body #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
      background: transparent !important;
      box-shadow: none !important;
      transform: none !important;
      translate: none !important;
      animation: none !important;
      filter: none !important;
      color: var(--blue-dark, #4f8df0) !important;
      outline: none !important;
    }

    html body #officeMapModal .social-legal-modal-body,
    html body #officeFeedbackModal .social-legal-modal-body {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      padding: 14px !important;
      background: #ffffff !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      line-height: 1.55 !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .office-map-modal-grid {
      height: 100% !important;
      min-height: 0 !important;
    }

    html body #officeMapModal .office-map-frame {
      min-height: 260px !important;
      height: auto !important;
    }

    html body #officeMapModal .office-map-contacts-wrapper,
    html body #officeMapModal .office-contacts {
      min-height: 0 !important;
    }

    html body #officeMapModal .social-legal-modal-footer,
    html body #officeFeedbackModal .social-legal-modal-footer {
      flex: 0 0 auto !important;
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      align-content: center !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 12px 14px !important;
      background: #ffffff !important;
      border-top: 1px solid #e7edf5 !important;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
      z-index: 5 !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-modal-footer > *,
    html body #officeFeedbackModal .social-legal-modal-footer > * {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }

    html body #officeMapModal #officeFeedbackBtn.social-legal-submit-btn,
    html body #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin: 0 !important;
      padding: 0 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      align-self: center !important;
      justify-self: start !important;
      text-align: center !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      line-height: 1.08 !important;
      box-sizing: border-box !important;
    }
  }

@media (max-width: 768px) {
    html body .site-header .header-inner {
      display: flex !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 6px !important;
      padding-left: clamp(8px, 2.8vw, 14px) !important;
      padding-right: clamp(8px, 2.8vw, 14px) !important;
      min-width: 0 !important;
      overflow: visible !important;
    }

    html body .site-header .header-inner .logo {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: center !important;
      gap: 2px !important;
      flex: 0 0 auto !important;
      flex-shrink: 0 !important;
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      white-space: normal !important;
      overflow: visible !important;
      text-overflow: clip !important;
      line-height: 1 !important;
    }

    html body .site-header .header-inner .logo .logo-link {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      inline-size: auto !important;
      width: auto !important;
      min-inline-size: 0 !important;
      min-width: 0 !important;
      max-inline-size: none !important;
      max-width: none !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 1 !important;
      white-space: nowrap !important;
    }

    html body .site-header .header-inner .logo .logo-brand {
      display: block !important;
      white-space: nowrap !important;
      line-height: 1 !important;
    }

    html body .site-header .header-inner .logo .logo-separator {
      display: none !important;
      visibility: hidden !important;
      inline-size: 0 !important;
      width: 0 !important;
      min-inline-size: 0 !important;
      min-width: 0 !important;
      block-size: 0 !important;
      height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      opacity: 0 !important;
    }

    html body .site-header .header-inner .header-actions {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      justify-content: flex-end !important;
      gap: 5px !important;
      flex: 0 1 auto !important;
      width: auto !important;
      max-width: none !important;
      min-width: 0 !important;
      margin-left: auto !important;
    }

    html body .site-header .header-inner .header-actions > * {
      flex-shrink: 0 !important;
      min-width: 0 !important;
      width: auto !important;
      max-width: none !important;
    }

    html body .site-header .header-inner .header-actions > .home-link.top-news-btn,
    html body .site-header .header-inner .header-actions > a.home-link.top-news-btn,
    html body .site-header .header-inner .header-actions > .home-link.top-home-btn,
    html body .site-header .header-inner .header-actions > a.home-link.top-home-btn {
      inline-size: auto !important;
      width: auto !important;
      min-inline-size: 0 !important;
      min-width: 0 !important;
      max-inline-size: none !important;
      max-width: none !important;
      block-size: auto !important;
      height: auto !important;
      min-block-size: 36px !important;
      min-height: 36px !important;
      max-block-size: none !important;
      max-height: none !important;
      flex: 0 0 auto !important;
      flex-basis: auto !important;
      padding: 0 8px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      box-sizing: border-box !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      font-size: 12px !important;
      line-height: 1 !important;
      letter-spacing: 0 !important;
      border-radius: 10px !important;
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
    }

    html body .site-header .header-inner .burger {
      flex: 0 0 38px !important;
      flex-basis: 38px !important;
      inline-size: 38px !important;
      width: 38px !important;
      min-inline-size: 38px !important;
      min-width: 38px !important;
      max-inline-size: 38px !important;
      max-width: 38px !important;
      block-size: 38px !important;
      height: 38px !important;
      min-block-size: 38px !important;
      min-height: 38px !important;
      max-block-size: 38px !important;
      max-height: 38px !important;
      aspect-ratio: 1 / 1 !important;
      padding: 0 !important;
    }
  }

  @media (max-width: 480px) {
    html body .site-header .header-inner {
      gap: 5px !important;
      padding-left: 8px !important;
      padding-right: 8px !important;
    }

    html body .site-header .header-inner .header-actions {
      gap: 4px !important;
    }

    html body .site-header .header-inner .header-actions > .home-link.top-news-btn,
    html body .site-header .header-inner .header-actions > a.home-link.top-news-btn,
    html body .site-header .header-inner .header-actions > .home-link.top-home-btn,
    html body .site-header .header-inner .header-actions > a.home-link.top-home-btn {
      padding-left: 6px !important;
      padding-right: 6px !important;
      min-block-size: 34px !important;
      min-height: 34px !important;
      font-size: 11px !important;
      border-radius: 9px !important;
    }

    html body .site-header .header-inner .burger {
      flex-basis: 36px !important;
      inline-size: 36px !important;
      width: 36px !important;
      min-inline-size: 36px !important;
      min-width: 36px !important;
      max-inline-size: 36px !important;
      max-width: 36px !important;
      block-size: 36px !important;
      height: 36px !important;
      min-block-size: 36px !important;
      min-height: 36px !important;
      max-block-size: 36px !important;
      max-height: 36px !important;
    }
  }

  @media (max-width: 360px) {
    html body .site-header .header-inner {
      gap: 4px !important;
      padding-left: 6px !important;
      padding-right: 6px !important;
    }

    html body .site-header .header-inner .header-actions {
      gap: 3px !important;
    }

    html body .site-header .header-inner .header-actions > .home-link.top-news-btn,
    html body .site-header .header-inner .header-actions > a.home-link.top-news-btn,
    html body .site-header .header-inner .header-actions > .home-link.top-home-btn,
    html body .site-header .header-inner .header-actions > a.home-link.top-home-btn {
      padding-left: 5px !important;
      padding-right: 5px !important;
      min-block-size: 33px !important;
      min-height: 33px !important;
      font-size: 10.5px !important;
    }

    html body .site-header .header-inner .burger {
      flex-basis: 34px !important;
      inline-size: 34px !important;
      width: 34px !important;
      min-inline-size: 34px !important;
      min-width: 34px !important;
      max-inline-size: 34px !important;
      max-width: 34px !important;
      block-size: 34px !important;
      height: 34px !important;
      min-block-size: 34px !important;
      min-height: 34px !important;
      max-block-size: 34px !important;
      max-height: 34px !important;
    }
  }

/* Финальный безопасный слой мобильной адаптации.
   Правила ограничены ширинами до 768px и не меняют компьютерную версию. */
@media (max-width: 768px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  main,
  section,
  article,
  header,
  footer,
  nav,
  form,
  fieldset,
  .container,
  .wrapper,
  .inner,
  .content,
  .page,
  .page-content,
  .main-content,
  .hero,
  .hero-inner,
  .hero-content,
  .hero-text,
  .cards,
  .card-grid,
  .grid,
  .row,
  .columns,
  .form-row,
  .modal-form-layout,
  .modal-scroll-layout,
  .contract-modal-form,
  .service-modal-form,
  .office-map-modal-grid {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  img,
  picture,
  video,
  canvas,
  svg,
  iframe,
  embed,
  object {
    max-width: 100% !important;
  }

  img,
  picture,
  video,
  canvas,
  svg {
    height: auto;
  }

  iframe,
  embed,
  object {
    width: 100% !important;
  }

  p,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  a,
  span,
  strong,
  b,
  div,
  label,
  small,
  button,
  input,
  textarea,
  select {
    overflow-wrap: break-word;
    word-break: normal;
  }

  table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
  }

  th,
  td {
    min-width: 0 !important;
    overflow-wrap: break-word;
  }

  input,
  select,
  textarea {
    width: 100%;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  button,
  .btn,
  .button,
  .site-button,
  .action-button,
  .feedback-open-modal-btn,
  .hero-action-card,
  .click-card,
  .help-choice-card,
  .benefit-card,
  .document-card,
  .news-card,
  .review-card,
  .position-card,
  .lab-card,
  .school-card {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .material-sheet,
  .help-popup-card {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-height: calc(100svh - 24px);
    overflow-x: hidden;
  }

  .modal-body,
  .contract-modal-body,
  .service-modal-body,
  .benefit-modal-body,
  .social-legal-modal-body,
  .help-choice-modal-body,
  .modal-form-body,
  .pdf-downloads-modal-body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  .modal-header,
  .modal-footer,
  .modal-form-footer,
  .contract-modal-footer,
  .service-modal-footer,
  .benefit-modal-footer,
  .social-legal-modal-header,
  .social-legal-modal-footer,
  .help-choice-modal-header {
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: wrap;
  }

  .side-menu {
    width: min(360px, calc(100vw - 26px)) !important;
    max-width: calc(100vw - 26px) !important;
  }

  .side-nav a,
  .side-menu a {
    white-space: normal !important;
    overflow-wrap: break-word;
  }
}

@media (max-width: 390px) {
  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .material-sheet,
  .help-popup-card {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/*
    Правки для документа positions.html по текущему запросу.
    Основные визуальные изменения ограничены мобильной шириной, чтобы не менять
    уже настроенную компьютерную версию страницы.
  */

  @media (max-width: 768px) {
    /* 1. Карточки первого блока как эталонная карточка index.html. */
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      align-items: stretch !important;
      gap: 14px !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 212px !important;
      height: auto !important;
      padding: 22px 20px !important;
      border-radius: 22px !important;
      display: grid !important;
      grid-template-rows: auto minmax(72px, 1fr) auto !important;
      align-content: start !important;
      align-items: start !important;
      justify-content: stretch !important;
      gap: 14px !important;
      background: rgba(255, 255, 255, 0.13) !important;
      background-image: none !important;
      -webkit-backdrop-filter: blur(5px) !important;
      backdrop-filter: blur(5px) !important;
      border: 1px solid rgba(255, 255, 255, 0.14) !important;
      box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
      text-decoration: none !important;
      box-sizing: border-box !important;
      overflow: hidden !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:hover,
    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card:focus-visible {
      transform: translateY(-5px) !important;
      background: rgba(255, 255, 255, 0.18) !important;
      border-color: rgba(255, 255, 255, 0.24) !important;
      outline: none !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > h3 {
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      display: block !important;
      align-items: normal !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 18px !important;
      line-height: 1.25 !important;
      font-weight: 900 !important;
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
      text-transform: uppercase !important;
      text-align: left !important;
      overflow-wrap: break-word !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > p {
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      display: block !important;
      align-self: stretch !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 14px !important;
      line-height: 1.45 !important;
      font-weight: 400 !important;
      color: rgba(255, 255, 255, 0.86) !important;
      -webkit-text-fill-color: rgba(255, 255, 255, 0.86) !important;
      text-align: left !important;
      overflow-wrap: break-word !important;
    }

    html body section.hero.positions-choice-hero > div.hero-content > div.hero-text > div.hero-action-grid > a.hero-action-card > .hero-action-cta {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      flex: 0 0 auto !important;
      margin: 0 !important;
      padding: 0 !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      background-image: none !important;
      box-shadow: none !important;
      filter: none !important;
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      align-self: flex-start !important;
      text-align: left !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 13px !important;
      font-weight: 800 !important;
      line-height: 1.2 !important;
      text-transform: none !important;
      text-decoration: none !important;
      white-space: normal !important;
      overflow: visible !important;
    }

    /* 2. В блоках 2/3/4 калькулятор располагается под кнопкой контракта. */
    html body #labs .history-action-row-mobile,
    html body #labs-111 .history-action-row-mobile,
    html body #labs-333 .history-action-row-mobile {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      align-content: flex-start !important;
      gap: 12px !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-top: 16px !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    html body #labs .history-action-row-mobile .history-action-btn,
    html body #labs-111 .history-action-row-mobile .history-action-btn,
    html body #labs-333 .history-action-row-mobile .history-action-btn {
      flex: 0 0 1.3cm !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      margin: 0 !important;
      padding: 0 0.28cm !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      box-sizing: border-box !important;
    }

    /* 3. Калькулятор выплат: мобильная шапка и заголовок как в index.html. */
    html body div#calcModal .modal-content.calc-modal-content > div.calc-modal-header-sticky {
      padding: 12px 54px 8px 52px !important;
      box-sizing: border-box !important;
    }

    html body div#calcModal .modal-content.calc-modal-content > div.calc-modal-header-sticky > h2 {
      margin: 0 !important;
      padding: 0 28px !important;
      text-align: center !important;
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      box-sizing: border-box !important;
    }

    /* 5. Выпадающие списки выбора должности остаются внутри прокручиваемой модалки. */
    html body div#contractModal .modal-content.contract-modal-content {
      overflow-x: hidden !important;
    }

    html body div#contractModal .contract-modal-body {
      overflow-x: hidden !important;
      overflow-y: auto !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    html body div#contractModal .contract-modal-body .form-group,
    html body div#contractModal .contract-modal-body label,
    html body div#contractModal .contract-modal-body select,
    html body div#contractModal .contract-modal-body input,
    html body div#contractModal .contract-modal-body textarea {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    html body div#contractModal select#divisionSelect,
    html body div#contractModal select#roleSelect {
      display: block !important;
      white-space: normal !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      padding-right: 38px !important;
    }

    html body div#contractModal select#divisionSelect.oai-mobile-select-expanded,
    html body div#contractModal select#roleSelect.oai-mobile-select-expanded {
      height: auto !important;
      min-height: 48px !important;
      max-height: min(38vh, 320px) !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      padding-right: 8px !important;
      white-space: normal !important;
    }

    html body div#contractModal select#divisionSelect.oai-mobile-select-expanded option,
    html body div#contractModal select#roleSelect.oai-mobile-select-expanded option {
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      max-width: 100% !important;
    }

    /* 6. Окна Краснодар/Донецк и обратной связи: мобильная геометрия как в index.html. */
    html body div#officeMapModal,
    html body div#officeFeedbackModal {
      --modal-equal-edge-gap: 8mm !important;
      --modal-gap-from-header: 8mm !important;
    }

    html body div#officeMapModal > div.social-legal-modal-dialog,
    html body div#officeFeedbackModal > div.social-legal-modal-dialog {
      width: calc(100vw - 24px) !important;
      max-width: calc(100vw - 24px) !important;
      height: calc(100vh - var(--site-header-height, 61px) - (8mm * 2)) !important;
      max-height: calc(100vh - var(--site-header-height, 61px) - (8mm * 2)) !important;
      min-height: 0 !important;
      margin-top: calc(var(--site-header-height, 61px) + 8mm) !important;
      margin-right: auto !important;
      margin-bottom: 8px !important;
      margin-left: auto !important;
      padding: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      box-sizing: border-box !important;
    }

    html body div#officeMapModal .social-legal-modal-content,
    html body div#officeFeedbackModal .social-legal-modal-content,
    html body div#officeFeedbackModal form#officeFeedbackForm {
      display: flex !important;
      flex-direction: column !important;
      min-height: 0 !important;
      height: 100% !important;
      max-height: 100% !important;
      overflow: hidden !important;
    }

    html body div#officeMapModal .social-legal-modal-header,
    html body div#officeFeedbackModal .social-legal-modal-header {
      flex: 0 0 auto !important;
      padding: 12px 54px 8px 22px !important;
      box-sizing: border-box !important;
    }

    html body div#officeMapModal .social-legal-modal-header > h2,
    html body div#officeFeedbackModal .social-legal-modal-header > h2 {
      margin: 0 !important;
      padding: 0 !important;
      text-align: left !important;
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      box-sizing: border-box !important;
    }

    html body div#officeMapModal .social-legal-form-subtitle {
      font-size: 0.95rem !important;
      line-height: 1.35 !important;
      margin-top: 8px !important;
      margin-bottom: 0 !important;
      text-align: left !important;
    }

    html body div#officeMapModal .social-legal-modal-body,
    html body div#officeFeedbackModal .social-legal-modal-body {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      padding: 14px !important;
      box-sizing: border-box !important;
    }

    html body div#officeMapModal .social-legal-modal-footer,
    html body div#officeFeedbackModal .social-legal-modal-footer {
      flex: 0 0 auto !important;
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 12px 14px !important;
      background: #ffffff !important;
      border-top: 1px solid #e7edf5 !important;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
      box-sizing: border-box !important;
    }

    html body div#officeMapModal .social-legal-modal-footer .social-legal-submit-btn,
    html body div#officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      margin: 0 !important;
      padding: 0 0.28cm !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      font-size: 14px !important;
      line-height: 1.08 !important;
      box-sizing: border-box !important;
    }
  }

@media (max-width: 768px) {
    /* Финальная правка: не дублируем отступ сверху, который уже задается самим модальным слоем. */
    html body div#officeMapModal > div.social-legal-modal-dialog,
    html body div#officeFeedbackModal > div.social-legal-modal-dialog {
      margin: 0 auto !important;
      width: calc(100vw - 24px) !important;
      max-width: calc(100vw - 24px) !important;
      height: calc(100vh - var(--site-header-height, 61px) - (8mm * 2)) !important;
      max-height: calc(100vh - var(--site-header-height, 61px) - (8mm * 2)) !important;
    }

    html body div#officeMapModal .social-legal-modal-footer,
    html body div#officeFeedbackModal .social-legal-modal-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 5mm !important;
      padding: 12px 14px !important;
    }

    html body div#officeMapModal .social-legal-modal-footer button#officeFeedbackBtn.social-legal-submit-btn,
    html body div#officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
    html body div#officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
    html body div#officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin: 0 !important;
      padding: 0 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      align-self: center !important;
      text-align: center !important;
      font-size: 14px !important;
      line-height: 1.08 !important;
      box-sizing: border-box !important;
    }
  }

@media (max-width: 768px) {
    html body #calcModal .calc-modal-footer-sticky,
    html body #calcModal .calc-modal-footer-sticky.is-hidden {
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      align-content: flex-start !important;
      gap: 10px !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    html body #calcModal .calc-footer-left,
    html body #calcModal .calc-footer-right,
    html body #calcModal .calc-tabs {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      align-content: flex-start !important;
      box-sizing: border-box !important;
    }

    html body #calcModal .calc-tabs {
      flex-direction: column !important;
      gap: 10px !important;
    }

    html body #calcModal .calc-tabs > .calc-tab-btn,
    html body #calcModal .calc-modal-footer-sticky .calc-tabs > .calc-tab-btn,
    html body #calcModal button#moneyCalcReset.money-reset-btn,
    html body #calcModal #moneyCalcReset.money-reset-btn,
    html body #calcModal #moneyCalcReset {
      flex: 0 0 1.3cm !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      align-self: flex-start !important;
      justify-self: start !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-footer {
      flex: 0 0 auto !important;
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      justify-items: start !important;
      align-items: stretch !important;
      align-content: center !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 12px 14px !important;
      background: #ffffff !important;
      border-top: 1px solid #e7edf5 !important;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
      z-index: 5 !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-footer > .submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin: 0 !important;
      padding: 0 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      align-self: center !important;
      justify-self: start !important;
      text-align: center !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      line-height: 1.08 !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-footer > .note {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      justify-self: stretch !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal,
    html body #officeFeedbackModal {
      padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
      box-sizing: border-box !important;
      overflow-y: auto !important;
    }

    html body #officeMapModal .social-legal-modal-dialog,
    html body #officeFeedbackModal .social-legal-modal-dialog {
      position: relative !important;
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      min-height: 0 !important;
      margin: 0 auto !important;
      padding: 0 !important;
      border-radius: 22px !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      background: #ffffff !important;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
      box-sizing: border-box !important;
      font-size: 15px !important;
      font-weight: 700 !important;
      line-height: 1.5 !important;
    }

    html body #officeMapModal .social-legal-form-card,
    html body #officeMapModal .social-legal-modal-content,
    html body #officeFeedbackModal .social-legal-form-card,
    html body #officeFeedbackModal .social-legal-modal-content,
    html body #officeFeedbackModal #officeFeedbackForm {
      width: 100% !important;
      max-width: none !important;
      height: 100% !important;
      max-height: none !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 22px !important;
      box-shadow: none !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-modal-header,
    html body #officeFeedbackModal .social-legal-modal-header {
      position: relative !important;
      flex: 0 0 auto !important;
      padding: 12px 54px 8px 22px !important;
      margin: 0 !important;
      background: #ffffff !important;
      border-bottom: 1px solid #e7edf5 !important;
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
      z-index: 3 !important;
      text-align: center !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-modal-header h2,
    html body #officeFeedbackModal .social-legal-modal-header h2 {
      margin: 0 !important;
      padding: 0 !important;
      text-align: center !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      color: var(--text-main, #111111) !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-form-subtitle,
    html body #officeFeedbackModal .social-legal-form-subtitle {
      margin: 8px auto 0 !important;
      max-width: 760px !important;
      padding: 0 !important;
      text-align: center !important;
      font-size: 14px !important;
      font-weight: 700 !important;
      line-height: 1.25 !important;
      color: var(--text-soft, #4d5a5f) !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal #officeMapModalClose,
    html body #officeFeedbackModal #officeFeedbackModalClose {
      position: absolute !important;
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 32px !important;
      font-weight: 400 !important;
      line-height: 1 !important;
      letter-spacing: 0 !important;
      text-align: center !important;
      color: var(--text-main, #111111) !important;
      cursor: pointer !important;
      transform: none !important;
      translate: none !important;
      animation: none !important;
      filter: none !important;
      transition: color 0.2s ease !important;
      z-index: 50 !important;
      box-sizing: border-box !important;
      appearance: none !important;
      -webkit-appearance: none !important;
    }

    html body #officeMapModal .social-legal-modal-body,
    html body #officeFeedbackModal .social-legal-modal-body {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      padding: 14px !important;
      background: #ffffff !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      line-height: 1.55 !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .office-map-modal-grid {
      height: 100% !important;
      min-height: 0 !important;
    }

    html body #officeMapModal .office-map-frame {
      min-height: 260px !important;
      height: auto !important;
    }

    html body #officeMapModal .office-map-contacts-wrapper,
    html body #officeMapModal .office-contacts {
      min-height: 0 !important;
    }

    html body #officeMapModal .social-legal-modal-footer,
    html body #officeFeedbackModal .social-legal-modal-footer {
      flex: 0 0 auto !important;
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      align-content: center !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 12px 14px !important;
      background: #ffffff !important;
      border-top: 1px solid #e7edf5 !important;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
      z-index: 5 !important;
      box-sizing: border-box !important;
    }

    html body #officeMapModal .social-legal-modal-footer > *,
    html body #officeFeedbackModal .social-legal-modal-footer > * {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }

    html body #officeMapModal #officeFeedbackBtn.social-legal-submit-btn,
    html body #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: min(6.4cm, 100%) !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 1.3cm !important;
      min-height: 1.3cm !important;
      max-height: 1.3cm !important;
      block-size: 1.3cm !important;
      margin: 0 !important;
      padding: 0 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      align-self: center !important;
      justify-self: start !important;
      text-align: center !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      line-height: 1.08 !important;
      box-sizing: border-box !important;
    }
  }

/* Safe mobile-only refinement: modal sizing, map frames, long links, and scroll containment.
   Desktop styles are intentionally untouched. */
@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  body.modal-open,
  body.contract-modal-open,
  body.calc-modal-open,
  body.service-modal-open,
  body.social-legal-modal-open,
  body.help-choice-modal-open {
    overflow: hidden !important;
  }

  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    min-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .modal.active,
  .modal.show,
  .modal.open,
  .modal.is-active,
  .social-legal-modal.active,
  .social-legal-modal.show,
  .social-legal-modal.open,
  .social-legal-modal.is-active {
    display: flex !important;
  }

  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .material-sheet,
  .help-popup-card,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .fund-contract-like-modal,
  .training-application-modal,
  .feedback-modal-content {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .modal-header,
  .modal-sheet-header,
  .contract-modal-header,
  .service-modal-header,
  .benefit-modal-header,
  .help-choice-modal-header,
  .social-legal-modal-header,
  .financial-sheet-header,
  .office-map-header,
  .pdf-downloads-modal-header {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .modal-scroll-layout,
  .modal-form-layout,
  .contract-modal-form,
  .service-modal-form,
  .fund-contract-like-form,
  .financial-modal-layout,
  .training-application-form,
  .feedback-modal-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .modal-body,
  .contract-modal-body,
  .service-modal-body,
  .benefit-modal-body,
  .help-choice-modal-body,
  .social-legal-modal-body,
  .modal-form-body,
  .financial-modal-body,
  .pdf-downloads-modal-body,
  .office-map-body,
  .fund-contract-like-body,
  .training-application-body,
  .feedback-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .modal-footer,
  .modal-form-footer,
  .form-actions,
  .contract-modal-footer,
  .service-modal-footer,
  .benefit-modal-action,
  .social-legal-modal-footer,
  .help-choice-modal-action,
  .fund-contract-like-footer,
  .office-map-footer {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .modal-content a,
  .contract-modal-content a,
  .service-modal-content a,
  .social-legal-modal-content a,
  .material-sheet a,
  .form-consent a,
  .consent a,
  .privacy-consent a,
  .personal-data-consent a,
  .policy-consent a,
  [class*="consent"] a,
  [class*="policy"] a {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .form-row,
  .field-row,
  .checkbox-row,
  .consent-row,
  .policy-row,
  .agreement-row,
  .modal-form-body label,
  .contract-modal-body label,
  .service-modal-body label,
  .social-legal-modal-body label {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .office-map-modal-grid,
  .map-modal-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 12px !important;
  }

  .office-map-frame,
  .map-frame,
  .office-map-embed,
  .map-embed {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .office-map-frame iframe,
  .map-frame iframe,
  .office-map-embed iframe,
  .map-embed iframe,
  #officeMapIframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: min(42vh, 320px) !important;
    height: min(42dvh, 320px) !important;
    border: 0 !important;
  }

  .side-menu {
    height: 100vh !important;
    height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .side-menu.active {
    right: 0 !important;
  }

  table,
  .table,
  .admin-table,
  .reviews-table,
  .news-table,
  .documents-table {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .material-sheet,
  .help-popup-card,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .fund-contract-like-modal,
  .training-application-modal,
  .feedback-modal-content {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }

  .office-map-frame iframe,
  .map-frame iframe,
  .office-map-embed iframe,
  .map-embed iframe,
  #officeMapIframe {
    height: min(38vh, 260px) !important;
    height: min(38dvh, 260px) !important;
  }
}

/* High-specificity mobile map/modal guard for pages with page-level map overrides. */
@media (max-width: 768px) {
  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .map-modal-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .office-map-frame,
  html body #officeMapModal .map-frame,
  html body #officeMapModal .office-map-embed,
  html body #officeMapModal .map-embed {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .office-map-frame iframe,
  html body #officeMapModal .map-frame iframe,
  html body #officeMapModal .office-map-embed iframe,
  html body #officeMapModal .map-embed iframe,
  html body #officeMapModal #officeMapIframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: min(42vh, 320px) !important;
    height: min(42dvh, 320px) !important;
    border: 0 !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal .office-map-frame iframe,
  html body #officeMapModal .map-frame iframe,
  html body #officeMapModal .office-map-embed iframe,
  html body #officeMapModal .map-embed iframe,
  html body #officeMapModal #officeMapIframe {
    height: min(38vh, 260px) !important;
    height: min(38dvh, 260px) !important;
  }
}

/* High-specificity mobile positioning for office map/feedback modals that have page-level header-offset rules. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    min-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-modal-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }
}

/*
    Точечная мобильная правка только для positions.html.
    ПК-версия не изменяется: все визуальные переопределения ограничены max-width: 768px.
  */
  @media (max-width: 768px) {
    /* 1. «ВЫБОР ДОЛЖНОСТИ»: блок согласия приведён к виду блока согласия в «ОБРАТНАЯ СВЯЗЬ». */
    html body #contractModal .contract-modal-body .consent-group {
      margin-bottom: 18px !important;
      text-align: left !important;
      font-size: 16px !important;
      line-height: 1.55 !important;
      font-weight: 700 !important;
      min-width: 0 !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-body .consent-label {
      display: flex !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      gap: 10px !important;
      cursor: pointer !important;
      line-height: 1.45 !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      font-weight: 400 !important;
      color: var(--text-main, #111111) !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      text-align: left !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-body .consent-label input[type="checkbox"] {
      margin: 3px 0 0 0 !important;
      width: 18px !important;
      min-width: 18px !important;
      max-width: 18px !important;
      height: 18px !important;
      min-height: 18px !important;
      max-height: 18px !important;
      flex: 0 0 18px !important;
      padding: 0 !important;
      box-sizing: border-box !important;
      appearance: auto !important;
      -webkit-appearance: checkbox !important;
      cursor: pointer !important;
    }

    html body #contractModal .contract-modal-body .consent-label span {
      display: block !important;
      flex: 1 1 auto !important;
      min-width: 0 !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      line-height: 1.45 !important;
      font-weight: 400 !important;
      color: var(--text-main, #111111) !important;
      text-align: left !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      box-sizing: border-box !important;
    }

    html body #contractModal .contract-modal-body .consent-label a,
    html body #contractModal .contract-modal-body .consent-label a:visited,
    html body #contractModal .contract-modal-body .consent-label a:hover,
    html body #contractModal .contract-modal-body .consent-label a:focus,
    html body #contractModal .contract-modal-body .consent-label a:focus-visible,
    html body #contractModal .contract-modal-body .consent-label a:active {
      color: var(--blue-dark, #4f8df0) !important;
      text-decoration: none !important;
      -webkit-text-decoration: none !important;
      text-underline-offset: 3px !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 16px !important;
      line-height: 1.45 !important;
      font-weight: 700 !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      text-shadow: none !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
    }

    /* 2. Калькулятор: «СБРОС» скрыт на стартовом выборе и появляется только после нажатия «ВЫБРАТЬ РЕГИОН» или «КАЛЬКУЛЯТОР». */
    html body #calcModal:not([data-oai-mobile-reset-ready="1"]) .calc-footer-right,
    html body #calcModal[data-calc-flow-mode="choice"] .calc-footer-right,
    html body #calcModal.calc-mode-choice .calc-footer-right,
    html body #calcModal:not([data-calc-flow-mode]) .calc-footer-right,
    html body #calcModal:not([data-oai-mobile-reset-ready="1"]) #moneyCalcReset,
    html body #calcModal[data-calc-flow-mode="choice"] #moneyCalcReset,
    html body #calcModal.calc-mode-choice #moneyCalcReset,
    html body #calcModal:not([data-calc-flow-mode]) #moneyCalcReset {
      display: none !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    html body #calcModal[data-oai-mobile-reset-ready="1"][data-calc-flow-mode="region"] .calc-footer-right,
    html body #calcModal[data-oai-mobile-reset-ready="1"][data-calc-flow-mode="money"] .calc-footer-right,
    html body #calcModal[data-oai-mobile-reset-ready="1"].calc-mode-region .calc-footer-right,
    html body #calcModal[data-oai-mobile-reset-ready="1"].calc-mode-money .calc-footer-right {
      display: flex !important;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important;
    }

    html body #calcModal[data-oai-mobile-reset-ready="1"][data-calc-flow-mode="region"] #moneyCalcReset,
    html body #calcModal[data-oai-mobile-reset-ready="1"][data-calc-flow-mode="money"] #moneyCalcReset,
    html body #calcModal[data-oai-mobile-reset-ready="1"].calc-mode-region #moneyCalcReset,
    html body #calcModal[data-oai-mobile-reset-ready="1"].calc-mode-money #moneyCalcReset {
      display: inline-flex !important;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important;
      cursor: pointer !important;
    }
  }

html body .oai-all-modal-select-wrap { display: none; }

  @media (max-width: 768px) {
    html body .oai-all-modal-select-host {
      position: relative !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow: visible !important;
    }

    html body select.oai-all-modal-select-native {
      position: absolute !important;
      left: 0 !important;
      top: 0 !important;
      width: 1px !important;
      max-width: 1px !important;
      min-width: 1px !important;
      height: 1px !important;
      max-height: 1px !important;
      min-height: 1px !important;
      opacity: 0 !important;
      pointer-events: none !important;
      z-index: -1 !important;
      overflow: hidden !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
    }

    html body .oai-all-modal-select-wrap {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow: visible !important;
    }

    html body .oai-all-modal-select-wrap.open {
      position: relative !important;
      z-index: 80 !important;
    }

    html body .oai-all-modal-select-trigger {
      appearance: none !important;
      -webkit-appearance: none !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      min-height: 48px !important;
      height: auto !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 10px !important;
      padding: 11px 38px 11px 13px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      border: 1px solid #d8dce2 !important;
      border-radius: 12px !important;
      background: #ffffff !important;
      color: var(--text-main, #111111) !important;
      -webkit-text-fill-color: var(--text-main, #111111) !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 14px !important;
      font-weight: 700 !important;
      line-height: 1.28 !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      overflow: hidden !important;
      box-shadow: none !important;
      cursor: pointer !important;
      position: relative !important;
    }

    html body .oai-all-modal-select-trigger::after {
      content: "" !important;
      position: absolute !important;
      right: 14px !important;
      top: 50% !important;
      width: 9px !important;
      height: 9px !important;
      border-right: 2px solid currentColor !important;
      border-bottom: 2px solid currentColor !important;
      transform: translateY(-65%) rotate(45deg) !important;
      pointer-events: none !important;
      opacity: 0.75 !important;
    }

    html body .oai-all-modal-select-wrap.open .oai-all-modal-select-trigger::after {
      transform: translateY(-30%) rotate(225deg) !important;
    }

    html body .oai-all-modal-select-menu {
      display: none !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      max-height: min(52vh, 420px) !important;
      margin: 8px 0 0 0 !important;
      padding: 6px !important;
      box-sizing: border-box !important;
      border: 1px solid #d8dce2 !important;
      border-radius: 12px !important;
      background: #ffffff !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
    }

    html body .oai-all-modal-select-wrap.open .oai-all-modal-select-menu {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 6px !important;
    }

    html body .oai-all-modal-select-option {
      appearance: none !important;
      -webkit-appearance: none !important;
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 10px 11px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      border: 0 !important;
      border-radius: 9px !important;
      background: #f6f8fb !important;
      color: var(--text-main, #111111) !important;
      -webkit-text-fill-color: var(--text-main, #111111) !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 13px !important;
      font-weight: 700 !important;
      line-height: 1.3 !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      cursor: pointer !important;
    }

    html body .oai-all-modal-select-option.is-selected,
    html body .oai-all-modal-select-option:hover,
    html body .oai-all-modal-select-option:focus-visible {
      background: #eaf1fb !important;
      outline: none !important;
    }

    html body .oai-all-modal-select-option:disabled,
    html body .oai-all-modal-select-wrap.is-disabled .oai-all-modal-select-trigger {
      opacity: 0.6 !important;
      cursor: default !important;
    }

    html body .oai-all-modal-select-wrap.is-invalid .oai-all-modal-select-trigger {
      border-color: #b3261e !important;
      box-shadow: 0 0 0 2px rgba(179, 38, 30, 0.12) !important;
    }

    /* На страницах с уже добавленными кастомными селектами оставляем один вариант отображения. */
    html body .oai-service-select-wrap:not(.oai-all-modal-select-wrap),
    html body .oai-role-select-wrapper:not(.oai-all-modal-select-wrap) {
      display: none !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
      width: 0 !important;
      max-width: 0 !important;
      min-width: 0 !important;
      height: 0 !important;
      max-height: 0 !important;
      min-height: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      overflow: hidden !important;
    }
  }

/* Единая гарнитура сайта по эталону index.html. Меняет только семейство шрифта. */
  html,
  body,
  body *:not(svg),
  body [class],
  body [id],
  body [class] *,
  body [id] *,
  body *::before,
  body *::after,
  input,
  textarea,
  select,
  button {
    font-family: Arial, Helvetica, sans-serif !important;
  }

@media (min-width: 981px) {
    html body :is(
      #siteDesktopLogoPrivacySyncA#siteDesktopLogoPrivacySyncB#siteDesktopLogoPrivacySyncC#siteDesktopLogoPrivacySyncD#siteDesktopLogoPrivacySyncE#siteDesktopLogoPrivacySyncF#siteDesktopLogoPrivacySyncG#siteDesktopLogoPrivacySyncH#siteDesktopLogoPrivacySyncI,
      .site-header .logo .logo-separator,
      .site-header .logo:hover .logo-separator,
      .site-header .logo:focus-within .logo-separator,
      .site-header .logo-link:hover + .logo-separator,
      .site-header .logo-link:focus-visible + .logo-separator
    ) {
      background: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%) !important;
      background-image: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%) !important;
      background-size: 100% 100% !important;
      background-repeat: no-repeat !important;
      color: transparent !important;
      -webkit-text-fill-color: transparent !important;
      -webkit-background-clip: text !important;
      background-clip: text !important;
      filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.70)) drop-shadow(0 3px 6px rgba(0, 0, 0, 0.24)) !important;
      box-shadow: none !important;
      text-shadow: none !important;
      transform: none !important;
      transition: none !important;
    }
  }

/* Mobile-only sync: footer office modals (Краснодар/Донецк) and feedback modal
   use the same mobile geometry/paddings as the index.html request modal. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-tablet, 14px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-tablet, 14px) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal.social-legal-modal.active,
  html body #officeFeedbackModal.social-legal-modal.active {
    display: flex !important;
    flex-direction: column !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-form-card,
  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-form-card,
  html body #officeFeedbackModal .social-legal-modal-content,
  html body #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header,
  html body #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header h2,
  html body #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  html body #officeMapModalSubtitle,
  html body #officeMapModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(14px, 1.25vw, 16px) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    color: var(--text-soft, #5f6c7b) !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal .social-legal-modal-footer,
  html body #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    align-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-footer > *,
  html body #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body #officeMapModal #officeMapModalClose,
  html body #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .map-modal-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 12px !important;
    overflow: hidden !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-mobile, 12px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-mobile, 12px) !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
  }
}

/* Мобильная финальная синхронизация: окна футера «Краснодар», «Донецк»
   и «ОБРАТНАЯ СВЯЗЬ» повторяют размер и отступы окна
   «ОСТАВИТЬ ЗАЯВКУ» из index.html. ПК-версия не затрагивается. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding-top: calc(var(--site-header-height, 0px) + 8mm) !important;
    padding-right: 14px !important;
    padding-bottom: 8mm !important;
    padding-left: 14px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal.social-legal-modal.active,
  html body #officeFeedbackModal.social-legal-modal.active {
    display: flex !important;
    flex-direction: column !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
    height: calc(100vh - var(--site-header-height, 0px) - 16mm) !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - 16mm) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-section,
  html body #officeMapModal .social-legal-form-card,
  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-section,
  html body #officeFeedbackModal .social-legal-form-card,
  html body #officeFeedbackModal .social-legal-modal-content,
  html body #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header,
  html body #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 54px 8px 22px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    text-align: center !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header h2,
  html body #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  html body #officeMapModalSubtitle,
  html body #officeMapModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    color: var(--text-soft, #5f6c7b) !important;
  }

  html body #officeFeedbackModal .social-legal-modal-back {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 12px !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 60 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal #officeMapModalClose,
  html body #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal .social-legal-modal-footer,
  html body #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    align-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-footer > *,
  html body #officeFeedbackModal .social-legal-modal-footer > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .map-modal-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    gap: 12px !important;
  }

  html body #officeMapModal .office-map-frame {
    min-height: 260px !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-top: calc(var(--site-header-height, 0px) + 8mm) !important;
    padding-right: 12px !important;
    padding-bottom: 8mm !important;
    padding-left: 12px !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

/* Финальная мобильная синхронизация с index.html: стрелка назад в окнах
   «ОСТАВИТЬ ЗАЯВКУ» стоит на одной горизонтали с крестиком закрытия.
   ПК-версия не затрагивается. */
@media (max-width: 768px) {
  html body #officeFeedbackModal .social-legal-modal-header button#officeFeedbackModalBack.modal-back-btn.social-legal-modal-back,
  html body #officeFeedbackModal #officeFeedbackModalBack,
  html body #officeFeedbackModal .social-legal-modal-back,
  html body #serviceModal .service-modal-header button#serviceModalBackBtn.modal-back-btn,
  html body #serviceModal #serviceModalBackBtn {
    position: absolute !important;
    top: 5px !important;
    left: 8px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 60 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body #serviceModal #serviceModalBackBtn[hidden],
  html body #officeFeedbackModal #officeFeedbackModalBack[hidden] {
    display: none !important;
  }

  html body #officeMapModal #officeMapModalClose,
  html body #officeFeedbackModal #officeFeedbackModalClose,
  html body #serviceModal #closeServiceBtn {
    top: 5px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  html body #officeFeedbackModal .social-legal-modal-header,
  html body #serviceModal .service-modal-header {
    padding-left: 54px !important;
    padding-right: 54px !important;
  }

  html body #officeFeedbackModal #officeFeedbackQuestion,
  html body #officeFeedbackModal #officeFeedbackQuestion option,
  html body #officeFeedbackModal .index-modal-select-trigger,
  html body #officeFeedbackModal button.index-modal-select-trigger,
  html body #officeFeedbackModal .index-modal-select-option,
  html body #officeFeedbackModal button.index-modal-select-option,
  html body .index-modal-select-dropdown[data-for-select="officeFeedbackQuestion"] .index-modal-select-option,
  html body #officeFeedbackModal .oai-all-modal-select-trigger,
  html body #officeFeedbackModal .oai-all-modal-select-option {
    text-align: left !important;
    text-align-last: left !important;
    direction: ltr !important;
  }

  html body #officeFeedbackModal .index-modal-select-trigger,
  html body #officeFeedbackModal button.index-modal-select-trigger,
  html body #officeFeedbackModal .oai-all-modal-select-trigger {
    justify-content: flex-start !important;
    padding-left: 13px !important;
    padding-right: 38px !important;
  }

  html body #officeFeedbackModal .index-modal-select-option,
  html body #officeFeedbackModal button.index-modal-select-option,
  html body .index-modal-select-dropdown[data-for-select="officeFeedbackQuestion"] .index-modal-select-option,
  html body #officeFeedbackModal .oai-all-modal-select-option {
    display: block !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    justify-items: start !important;
    width: 100% !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}

/* Мобильная синхронизация размеров шрифта в футерных окнах
   «Краснодар» и «Донецк» с эталоном index.html.
   Работает только на мобильной ширине, ПК-версию не меняет. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeMapModal.social-legal-modal * {
    font-family: Arial, Helvetica, sans-serif !important;
  }

  html body #officeMapModal .social-legal-modal-header h2,
  html body #officeMapModal #officeMapModalTitle {
    font-size: 21.6px !important;
    font-weight: 700 !important;
    line-height: 25.92px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModalSubtitle,
  html body #officeMapModal .social-legal-form-subtitle {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 17.5px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModal .office-contacts-block h3 {
    font-size: 16.8px !important;
    font-weight: 800 !important;
    line-height: 21.84px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModal .office-contacts-block .office-addr,
  html body #officeMapModal .office-contacts-block p.office-addr,
  html body #officeMapModal .office-contacts-block li,
  html body #officeMapModal .office-contacts-block li *,
  html body #officeMapModal .office-contacts-block a {
    font-size: 16px !important;
    line-height: 22.4px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModal #officeFeedbackBtn.social-legal-submit-btn,
  html body #officeMapModal .social-legal-modal-footer button#officeFeedbackBtn.social-legal-submit-btn {
    font-size: 14px !important;
    line-height: 1.12 !important;
  }
}

/*
    Точечная мобильная правка positions.html.
    ПК-версия не меняется: все визуальные изменения ограничены шириной до 768px.
  */
  @media (max-width: 768px) {
    /* 1. Заголовок первого блока синхронизирован с мобильным размером заголовка index.html. */
    html body section.hero.positions-choice-hero h1.hero-title.hero-title-split,
    html body section.hero.positions-choice-hero h1.hero-title.hero-title-split > .hero-title-line {
      font-size: 34px !important;
      line-height: 1.05 !important;
    }

    /* 2. В поле региона оставляем верхний универсальный селект, а нижний дубль старого списка убираем. */
    html body #contractModal .contract-region-form-group > .contract-region-combobox {
      display: none !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
      width: 0 !important;
      max-width: 0 !important;
      min-width: 0 !important;
      height: 0 !important;
      max-height: 0 !important;
      min-height: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      overflow: hidden !important;
    }

    html body #contractModal .contract-region-form-group > .oai-all-modal-select-wrap {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    /* Нативный select нужен только как источник значения формы; мобильное нижнее системное окно не открывается. */
    html body #contractModal #regionSelect,
    html body #contractModal #regionSelect.contract-native-region-select,
    html body #contractModal #regionSelect.oai-all-modal-select-native {
      position: absolute !important;
      left: -10000px !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      display: block !important;
      width: 1px !important;
      max-width: 1px !important;
      min-width: 1px !important;
      height: 1px !important;
      max-height: 1px !important;
      min-height: 1px !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      opacity: 0 !important;
      color: transparent !important;
      background: transparent !important;
      pointer-events: none !important;
      overflow: hidden !important;
      z-index: -1 !important;
      appearance: none !important;
      -webkit-appearance: none !important;
    }

    /* 3. Все выбранные значения и пункты выпадающих меню в окне «ВЫБОР ДОЛЖНОСТИ» выровнены слева. */
    html body #contractModal .contract-modal-body select,
    html body #contractModal .contract-modal-body select option,
    html body #contractModal #regionSelect,
    html body #contractModal #regionSelect option,
    html body #contractModal #divisionSelect,
    html body #contractModal #divisionSelect option,
    html body #contractModal #roleSelect,
    html body #contractModal #roleSelect option,
    html body #contractModal .oai-all-modal-select-trigger,
    html body #contractModal .oai-all-modal-select-option,
    html body #contractModal .contract-region-trigger,
    html body #contractModal .contract-region-option {
      text-align: left !important;
      text-align-last: left !important;
      direction: ltr !important;
    }

    html body #contractModal .oai-all-modal-select-trigger,
    html body #contractModal .contract-region-trigger {
      justify-content: flex-start !important;
      align-items: center !important;
      padding-left: 13px !important;
      padding-right: 38px !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
    }

    html body #contractModal .oai-all-modal-select-menu,
    html body #contractModal .contract-region-list {
      text-align: left !important;
      justify-items: stretch !important;
      align-items: stretch !important;
    }

    html body #contractModal .oai-all-modal-select-option,
    html body #contractModal .contract-region-option {
      display: block !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      justify-items: start !important;
      width: 100% !important;
      max-width: 100% !important;
      padding-left: 11px !important;
      padding-right: 11px !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
    }
  }

  @media (max-width: 380px) {
    html body section.hero.positions-choice-hero h1.hero-title.hero-title-split,
    html body section.hero.positions-choice-hero h1.hero-title.hero-title-split > .hero-title-line {
      font-size: clamp(28px, 8.8vw, 34px) !important;
      line-height: 1.05 !important;
    }
  }