/* Stable first-paint colors for the header. Prevents older green/mint header rules
     from appearing while the browser continues parsing the page. */
  :root {
    --site-stable-header-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --site-stable-header-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --site-stable-header-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --site-stable-header-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .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: var(--site-stable-header-blue-gradient) !important;
    background-image: var(--site-stable-header-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;
    text-shadow: none !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;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .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(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    background-image: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
    filter: none !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .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,
    .site-header .header-actions a,
    .site-header .header-actions button,
    .site-header .burger,
    .side-nav a,
    .side-nav button
  ) {
    background: var(--site-stable-header-blue-gradient) !important;
    background-image: var(--site-stable-header-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-stable-header-blue-shadow) !important;
    filter: none !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .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:hover,
    .site-header .header-actions .top-btn:focus-visible,
    .site-header .header-actions .top-btn:active,
    .site-header .header-actions a:hover,
    .site-header .header-actions a:focus-visible,
    .site-header .header-actions a:active,
    .site-header .header-actions button:hover,
    .site-header .header-actions button:focus-visible,
    .site-header .header-actions button:active,
    .site-header .burger:hover,
    .site-header .burger:focus-visible,
    .site-header .burger:active,
    .side-nav a:hover,
    .side-nav a:focus-visible,
    .side-nav a.active,
    .side-nav button:hover,
    .side-nav button:focus-visible
  ) {
    background: var(--site-stable-header-blue-gradient-hover) !important;
    background-image: var(--site-stable-header-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(--site-stable-header-blue-shadow-hover) !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .burger
  ) span {
    background: #ffffff !important;
    background-image: none !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn,
    .site-header .header-actions a,
    .site-header .header-actions button,
    .site-header .burger,
    .side-nav a,
    .side-nav button
  )::before,
  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn,
    .site-header .header-actions a,
    .site-header .header-actions button,
    .site-header .burger,
    .side-nav a,
    .side-nav button
  )::after {
    background: transparent !important;
    background-image: none !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;
      -webkit-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 !important;
        -webkit-hyphens: none !important;
      }

      .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;
        hyphens: none !important;
        -webkit-hyphens: none !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(calc(92vw / 1.5), calc(360px / 1.5)) !important;
        max-width: calc(92vw / 1.5) !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 .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 .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-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;
  }

@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;
    }
  }

#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-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 .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 .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-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{
    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;
  }

@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;
    }}

.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;
  }
}

.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;
    }
  }

#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;
    }
  }

#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;
    }
  }

#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;
  }

/* Базовое исправление для модальных окон контактов/обратной связи:
     окно должно быть фиксированным 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;
  }

: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;
    }
  }

#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;
    }
  }

#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;
    }
  }

@media (min-width: 769px) {
    #officeFeedbackModal {
      --site-header-height: 85px !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;
    }
  }

@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;
    hyphens: none;
    -webkit-hyphens: none;
  }

  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;
    word-break: normal;
    hyphens: none;
    -webkit-hyphens: none;
  }

  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(calc(360px / 1.5), calc((100vw - 26px) / 1.5)) !important;
    max-width: calc((100vw - 26px) / 1.5) !important;
  }

  .side-nav a,
  .side-menu a {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
    -webkit-hyphens: none;
  }
}

@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;
  }
}

/* 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;
    hyphens: none !important;
    -webkit-hyphens: none !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;
  }
}

/* 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 .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 .oai-all-modal-select-trigger {
    justify-content: flex-start !important;
    padding-left: 13px !important;
    padding-right: 38px !important;
  }

  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;
  }
}