:root {
    --site-picture-blue-dark: #2f7085;
    --site-picture-blue-mid: #3f93ad;
    --site-picture-blue-light: #92cbdb;
    --site-picture-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --site-picture-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --site-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --site-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
    --flow-gradient: var(--site-picture-blue-gradient) !important;
    --flow-gradient-hover: var(--site-picture-blue-gradient-hover) !important;
    --flow-button-shadow: var(--site-picture-blue-shadow) !important;
    --flow-button-shadow-hover: var(--site-picture-blue-shadow-hover) !important;
    --site-fund-btn-bg: var(--site-picture-blue-gradient) !important;
    --site-fund-btn-bg-hover: var(--site-picture-blue-gradient-hover) !important;
    --site-financial-news-gradient: var(--site-picture-blue-gradient) !important;
    --site-financial-news-gradient-hover: var(--site-picture-blue-gradient-hover) !important;
  }

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

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

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

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

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    :root {
      --bg-main: #eef5ff;
      --bg-soft: #f4f7fb;
      --card: #ffffff;
      --text-main: #111111;
      --text-soft: #52606d;
      --hero-bg: #161f35;
      --hero-bg-2: #1f2b47;
      --line: rgba(0, 0, 0, 0.08);
      --blue: #6ea8ff;
      --blue-dark: #4f8df0;
      --light-btn: #e9eef5;
      --orange: #ef8b1e;
      --orange-dark: #d77409;
      --mint: #dcefe7;
      --white: #ffffff;
      --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
      --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.12);
      --danger: #ff5038;
    }

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

    body {
      font-family: Arial, Helvetica, sans-serif;
      background: var(--bg-main);
      color: var(--text-main);
      font-size: 18px;
      line-height: 1.55;
      -webkit-text-size-adjust: 100%;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 200;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--line);
    }

    .header-inner {
      max-width: 1280px;
      margin: 0 auto;
      padding: 16px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
    }

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

    .logo small {
      font-size: inherit;
      font-weight: inherit;
      color: inherit;
      letter-spacing: 0.5px;
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }

	 .text-part,
    .video-part {
      flex: 1 1 420px;
      min-width: 280px;
    }
	.video-part {
  display: flex;
  flex-direction: column;
}

.video-frame {
  position: relative;
  width: 100%;
  background: #000;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.custom-video-player {
  position: relative;
}

#characterVideo {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  object-fit: cover;
  border-radius: 20px;
}

.video-quality-menu {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.video-quality-toggle {
  border: none;
  background: rgba(17, 17, 17, 0.78);
  color: #fff;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: 0.25s ease;
}

.video-quality-toggle:hover {
  background: rgba(17, 17, 17, 0.92);
}

.video-quality-list {
  display: none;
  flex-direction: column;
  gap: 6px;
  min-width: 100px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(17, 17, 17, 0.86);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.video-quality-list.open {
  display: flex;
}

.video-quality-option {
  border: none;
  background: transparent;
  color: #fff;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}

.video-quality-option:hover {
  background: rgba(255, 255, 255, 0.14);
}

.video-quality-option.active {
  background: var(--blue);
  color: #fff;
}
	
    .top-btn {
      border: none;
      border-radius: 14px;
      padding: 14px 22px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .top-btn.primary {
      background: var(--light-btn);
      color: var(--text-main);
    }

    .top-btn.primary:hover {
      background: #dde5ef;
      transform: translateY(-2px);
    }

    .burger {
      width: 52px;
      height: 52px;
      border: none;
      border-radius: 14px;
      background: #2f7085;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 6px;
      padding: 0 14px;
      cursor: pointer;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
    }

    .burger:hover {
      transform: translateY(-2px);
      background: #92cbdb;
    }

    .burger span {
      display: block;
      width: 100%;
      height: 3px;
      background: #111111;
      border-radius: 999px;
    }

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

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

    .menu-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.35);
      opacity: 0;
      visibility: hidden;
      transition: 0.25s ease;
      z-index: 250;
    }

    .menu-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .side-menu-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 24px;
    }

    .side-menu-title {
      font-size: 24px;
      font-weight: 900;
    }

    .close-side-menu {
      border: none;
      background: transparent;
      font-size: 34px;
      cursor: pointer;
      line-height: 1;
      color: var(--text-main);
    }

    .side-nav {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

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

    .side-nav a:hover,
    .side-nav button:hover,
    .side-nav a.active {
      background: #2f7085;
      color: var(--text-main);
    }

    .hero {
      max-width: 1280px;
      margin: 28px auto 20px;
      padding: 0 20px;
    }

    .hero-content {
      position: relative;
      border-radius: 34px;
      padding: 48px;
      background:
        linear-gradient(135deg, rgba(22, 31, 53, 0.46), rgba(31, 43, 71, 0.40)),
        url("images/bg-fund-placdarm1.JPG") right center / cover no-repeat;
      box-shadow: var(--shadow-lg);
      overflow: hidden;
    }

    .hero-content::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(10, 16, 30, 0.48) 0%, rgba(10, 16, 30, 0.34) 45%, rgba(10, 16, 30, 0.18) 100%);
      pointer-events: none;
    }

    .hero-text {
      flex: 1 1 720px;
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      gap: 28px;
    }

    .hero-badge {
      display: inline-flex;
      width: fit-content;
      padding: 10px 16px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.15);
      font-size: 14px;
      font-weight: 800;
    }

    .hero h1 {
      max-width: 800px;
      color: #fff;
      font-size: clamp(34px, 5vw, 64px);
      font-weight: 900;
      line-height: 1.04;
      text-transform: none;
    }

    .hero-description {
      max-width: 880px;
      color: rgba(255, 255, 255, 0.95);
      font-size: clamp(16px, 2vw, 23px);
      line-height: 1.5;
    }

    .container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 20px 44px;
      width: 100%;
    }

    .about-section {
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid var(--line);
      border-radius: 30px;
      padding: 34px;
      margin: 0 0 30px;
      box-shadow: var(--shadow);
      backdrop-filter: blur(8px);
    }

    .about-section.about-section-placdarm {
      position: relative;
      overflow: hidden;
      
      background: url("images/font_2fon.JPG") center top / cover no-repeat;
      border: 1px solid rgba(255, 255, 255, 0.14);
      backdrop-filter: none;
    }

    .about-section.about-section-placdarm::before {
      content: "";
      position: absolute;
      inset: 0;
      background: none;
      pointer-events: none;
    }

    .about-section.about-section-placdarm > * {
      position: relative;
      z-index: 1;
    }

    .section-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: var(--mint);
      color: var(--text-main);
      font-size: 0.92rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: none;
      margin-bottom: 16px;
    }

    .about-section h2 {
      font-size: clamp(2rem, 3vw, 3rem);
      line-height: 1.08;
      margin-bottom: 16px;
    }

    .about-section.about-section-placdarm .section-eyebrow {
      background: rgba(255, 255, 255, 0.78);
      color: var(--text-main);
      border: 1px solid rgba(0, 0, 0, 0.08);
    }

    .about-section.about-section-placdarm h2,
    .about-section.about-section-placdarm .about-lead,
    .about-section.about-section-placdarm .about-lead p {
      color: var(--text-main);
    }

    .about-lead {
      max-width: 980px;
      color: var(--text-soft);
      margin-bottom: 26px;
      font-size: 18px;
    }

    .about-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .about-card {
      background: #fff;
      border-radius: 24px;
      padding: 26px;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
    }

    .about-card h3 {
      font-size: 1.18rem;
      margin-bottom: 14px;
      color: var(--blue-dark);
    }

    .about-card ul {
      margin: 0;
      padding-left: 22px;
      color: var(--text-soft);
    }

    .about-card li + li {
      margin-top: 12px;
    }

    .about-card-black-text,
    .about-card-black-text h3,
    .about-card-black-text ul,
    .about-card-black-text li,
    .about-card-black-text p {
      color: var(--text-main);
    }

    .donation-intro {
      text-align: center;
      font-size: 1.15rem;
      margin: 0 auto 24px;
      color: var(--text-soft);
      max-width: 800px;
    }

    .info-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-bottom: 28px;
    }

    .hero-content .info-grid {
      position: relative;
      z-index: 1;
      margin-top: 12px;
      margin-bottom: 0;
    }

    .info-card {
      background: rgba(255, 255, 255, 0.13);
      backdrop-filter: blur(4px);
      border-radius: 22px;
      padding: 26px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255, 255, 255, 0.12);
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
    }

    .info-card-action {
      width: 100%;
      border: none;
      cursor: pointer;
      text-align: left;
      font: inherit;
      color: inherit;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      height: 100%;
      background: transparent;
    }

    .info-card-action:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-lg);
      background: rgba(255, 255, 255, 0.18);
      border-color: rgba(255, 255, 255, 0.22);
    }

    .info-card-action:focus-visible {
      outline: 3px solid rgba(255, 255, 255, 0.35);
      outline-offset: 3px;
    }

    .info-card h3 {
      font-size: 1.2rem;
      margin-bottom: 12px;
      color: #ffffff;
    }

    .info-card p {
      color: rgba(255, 255, 255, 0.86);
      font-size: 0.98rem;
    }

    .info-card-cta {
      margin-top: auto;
      padding-top: 18px;
      display: inline-flex;
      align-items: center;
      align-self: flex-start;
      gap: 6px;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.2;
      color: #ffffff;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .info-card-action:hover .info-card-cta,
    .info-card-action:focus-visible .info-card-cta {
      transform: translateX(2px);
      opacity: 0.88;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      inset: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.68);
      backdrop-filter: blur(4px);
      padding: 10px;
      overflow-y: auto;
    }

    .modal-content {
      background: #fff;
      margin: 3% auto;
      padding: 30px 24px;
      width: 100%;
      max-width: 760px;
      border-radius: 24px;
      position: relative;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
      animation: fadeIn 0.3s;
      max-height: 90vh;
      overflow-y: auto;
    }

    .material-sheet {
      display: flex;
      flex-direction: column;
      padding: 0;
      overflow: hidden;
    }

    .modal-sheet-header {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      min-height: 84px;
      padding: 24px 72px 20px 24px;
      background: #fff;
      border-bottom: 1px solid var(--line);
      flex-shrink: 0;
    }

    .modal-sheet-header h2 {
      margin: 0;
      text-align: center;
    }

    .financial-sheet-header {
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      padding: 24px 72px 20px 24px;
    }

    .financial-sheet-header h2 {
      width: 100%;
    }

    .financial-sheet-header .payment-switcher {
      width: 100%;
      margin: 0;
    }

    .modal-scroll-layout {
      display: flex;
      flex: 1;
      min-height: 0;
      flex-direction: column;
    }

    .sheet-close-btn {
      position: absolute;
      top: 50%;
      right: 18px;
      transform: translateY(-50%);
      margin: 0;
    }

    .modal-form-layout {
      display: flex;
      flex: 1;
      min-height: 0;
      flex-direction: column;
    }

    .modal-form-body {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      padding: 24px 24px 10px;
    }

    .modal-form-footer {
      flex-shrink: 0;
      padding: 16px 24px 22px;
      background: #fff;
      border-top: 1px solid var(--line);
      box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.06);
    }

    .modal-form-footer .submit-btn {
      margin-top: 0;
    }

    .modal-form-footer .note {
      margin-top: 12px;
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .close-btn {
      color: var(--text-main);
      position: absolute;
      right: 18px;
      top: 12px;
      font-size: 34px;
      font-weight: 900;
      cursor: pointer;
      line-height: 1;
      z-index: 10;
    }

    .close-btn:hover {
      color: var(--blue-dark);
    }

    h2 {
      color: var(--text-main);
      font-size: 1.7rem;
      margin-bottom: 15px;
    }

    .form-group {
      margin-bottom: 20px;
    }

    .form-group label {
      display: block;
      margin-bottom: 8px;
      font-weight: 700;
      font-size: 1rem;
      color: var(--text-main);
    }

    .form-group input,
    .form-group textarea,
    .form-group select {
      width: 100%;
      padding: 13px 15px;
      border: 1px solid #d8d8d8;
      border-radius: 14px;
      font-size: 1rem;
      background: #fff;
      color: #000;
      font-family: inherit;
      outline: none;
      transition: 0.2s ease;
    }

    .form-group input:focus,
    .form-group textarea:focus,
    .form-group select:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.18);
    }

    .form-group textarea {
      min-height: 120px;
      resize: vertical;
    }

    .submit-btn {
      background-color: var(--blue);
      color: #fff;
      padding: 16px 25px;
      border: none;
      border-radius: 14px;
      cursor: pointer;
      width: 100%;
      font-size: 1rem;
      font-weight: 900;
      margin-top: 15px;
      transition: 0.25s ease;
      min-height: 55px;
    }

    .submit-btn:hover {
      background: var(--blue-dark);
    }

    .note {
      margin-top: 15px;
      font-size: 0.92rem;
      text-align: center;
      color: var(--text-soft);
    }

    .requisites-box {
      background: #f9fbff;
      border: 1px solid #dfe9f5;
      border-radius: 18px;
      padding: 24px;
      margin: 25px 0;
    }

    .requisites-box h3 {
      font-size: 1.3rem;
      margin-bottom: 20px;
      color: var(--text-main);
      padding-bottom: 10px;
      border-bottom: 1px solid #dfe9f5;
    }

    .requisite-item {
      margin-bottom: 15px;
    }

    .requisite-item strong {
      display: block;
      margin-bottom: 5px;
      color: var(--text-main);
    }

    .requisite-item span {
      font-size: 1.02rem;
      color: var(--text-soft);
      word-break: break-all;
    }

    .requisite-info,
    .contact-info,
    .okved-info {
      border-radius: 18px;
      padding: 20px;
      margin: 20px 0;
    }

    .requisite-info {
      background: #f8fbff;
      border: 1px solid #dfe9f5;
    }

    .contact-info {
      background: #eef8ff;
      border: 1px solid #dff0ff;
    }

    .okved-info {
      background: #fff7ec;
      border: 1px solid #f1d2a8;
    }

    .requisite-info h4,
    .contact-info h4,
    .okved-info h4 {
      font-size: 1.05rem;
      margin-bottom: 12px;
      color: var(--text-main);
    }

    .requisite-info ul {
      list-style: disc;
      padding-left: 22px;
      margin-bottom: 15px;
    }

    .requisite-info li,
    .requisite-info p,
    .contact-info p,
    .okved-info p {
      font-size: 0.95rem;
      line-height: 1.6;
      color: var(--text-soft);
      margin-bottom: 8px;
    }

    .download-btn {
      display: inline-block;
      padding: 12px 22px;
      background: #2f7085;
      color: var(--text-main);
      border-radius: 12px;
      text-decoration: none;
      font-weight: 700;
      font-size: 1rem;
      margin-top: 10px;
      transition: 0.25s ease;
    }

    .download-btn:hover {
      background: #2f7085;
    }

    .payment-switcher {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin: 10px 0 22px;
    }

    .payment-switch-btn {
      border: none;
      border-radius: 16px;
      padding: 18px 18px;
      font-size: 1rem;
      font-weight: 900;
      cursor: pointer;
      transition: 0.25s ease;
      background: #eef3fa;
      color: var(--text-main);
      box-shadow: var(--shadow);
      min-height: 140px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .payment-switch-btn:hover {
      transform: translateY(-2px);
    }

    .payment-switch-btn.active {
      background: #2f7085;
      color: var(--text-main);
    }

    .payment-switch-btn-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      width: 100%;
      flex-wrap: nowrap;
      text-align: center;
    }

    .payment-switch-btn-inner span {
      display: block;
      width: 100%;
      line-height: 1.25;
      white-space: nowrap;
    }

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

    .payment-switch-logo.psb-logo {
      height: 56px !important;
      max-height: 56px !important;
    }

    .payment-title-with-logo {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: nowrap;
      text-align: center;
      margin-bottom: 16px;
      white-space: nowrap;
    }

    .payment-title-with-logo h3 {
      margin-bottom: 0;
      font-size: 1.2rem;
      line-height: 1.2;
      white-space: nowrap;
    }

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

    .payment-box-logo.psb-inline {
      display: block;
      height: 42px;
      max-height: 42px;
      width: auto;
      max-width: none;
    }

    .payment-box-logo.psb-requisites {
      display: block;
      height: 68px;
      max-height: 68px;
      width: auto;
      max-width: none;
    }

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

    .payment-title-with-logo-combo {
      gap: 14px;
    }

    .payment-title-with-logo.double-logo {
      gap: 10px;
    }

    .requisites-brand-box {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 0 14px;
    }

    .requisites-brand-box img {
      width: auto;
      height: 68px;
      max-height: 68px;
      max-width: none;
      object-fit: contain;
    }

    @media (max-width: 768px) {
      .payment-switch-btn {
        min-height: 120px;
        padding: 16px 14px;
      }

      .payment-switch-btn-inner {
        gap: 10px;
      }

      .payment-switch-btn-inner span {
        white-space: nowrap;
      }

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

      .payment-switch-logo.psb-logo {
        height: 46px !important;
        max-height: 46px !important;
      }

      .payment-title-with-logo {
        flex-wrap: nowrap;
        gap: 8px;
      }

      .payment-box-logo {
        height: 28px;
        max-height: 28px;
        max-width: none;
      }

      .payment-box-logo.psb-inline {
        height: 34px;
        max-height: 34px;
        width: auto;
        max-width: none;
      }

      .payment-box-logo.psb-requisites {
        height: 56px;
        max-height: 56px;
        width: auto;
        max-width: none;
      }

      .payment-box-logo-combo {
        height: 34px;
        max-height: 34px;
        width: auto;
        max-width: none;
      }

      .requisites-brand-box img {
        height: 56px;
        max-height: 56px;
        max-width: none;
      }
    }

    .payment-panel {
      display: none;
    }

    .payment-panel.active {
      display: block;
    }

    .payment-empty-state {
      display: none;
      padding: 28px 24px;
      margin: 24px 0;
      border-radius: 20px;
      background: #f8fbff;
      border: 1px solid #dfe9f5;
      text-align: center;
      color: var(--text-soft);
    }

    .payment-empty-state.active {
      display: block;
    }

    .payment-empty-state h3 {
      margin-bottom: 10px;
      color: var(--text-main);
      font-size: 1.2rem;
    }

    .qr-box {
      background: #f9fbff;
      border: 1px solid #dfe9f5;
      border-radius: 20px;
      padding: 24px;
      margin: 24px 0;
      text-align: center;
    }

    .qr-box h3 {
      font-size: 1.25rem;
      margin-bottom: 16px;
    }

    .qr-image-wrap {
      width: 100%;
      display: flex;
      justify-content: center;
      margin-bottom: 18px;
    }

    .qr-image {
      width: 100%;
      max-width: 260px;
      aspect-ratio: 1 / 1;
      object-fit: contain;
      background: #fff;
      border: 1px solid #dfe9f5;
      border-radius: 18px;
      padding: 12px;
      box-shadow: var(--shadow);
    }

    .qr-note {
      font-size: 0.96rem;
      color: var(--text-soft);
      margin-bottom: 18px;
    }

    .pay-actions {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 18px;
    }

    .pay-link-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      text-decoration: none;
      border: none;
      border-radius: 16px;
      padding: 16px 20px;
      font-size: 1rem;
      font-weight: 900;
      cursor: pointer;
      transition: 0.25s ease;
      min-height: 56px;
      background: var(--blue);
      color: #fff;
      width: 100%;
    }

    .pay-link-btn:hover {
      background: var(--blue-dark);
      transform: translateY(-2px);
    }

    .consent-label a,
    .legal-links-inline a,
    .footer-legal-links a,
    .legal-footer a,
    .legal-note a {
      color: var(--accent-teal, var(--blue-dark, #3f93ba));
      text-decoration: underline;
      text-underline-offset: 3px;
      font-weight: 700;
    }

    .consent-help,
    .legal-note,
    .legal-links-inline {
      margin-top: 10px;
      font-size: 0.94rem;
      line-height: 1.6;
      color: var(--text-soft, #4d5a5f);
    }

    .legal-links-inline {
      padding: 14px 16px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(0, 0, 0, 0.08);
    }

    .legal-footer {
      margin-top: 32px;
      padding: 18px 20px 26px;
      background: rgba(17, 17, 17, 0.92);
      color: #fff;
    }

    .legal-footer__inner {
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      flex-wrap: wrap;
    }

    .legal-footer__brand {
      font-size: 0.98rem;
      font-weight: 800;
      letter-spacing: 0.3px;
    }

    .legal-footer__links {
      display: flex;
      gap: 16px 22px;
      flex-wrap: wrap;
    }

    .legal-footer__links a {
      color: #d7e7ff;
      text-decoration: underline;
      text-underline-offset: 3px;
      font-size: 0.94rem;
    }

    .legal-footer__links a:hover,
    .footer-legal-links a:hover,
    .consent-label a:hover,
    .legal-links-inline a:hover,
    .legal-note a:hover {
      color: #ffffff;
      opacity: 0.95;
    }

    .payment-legal-card {
      background: #f8fbff;
      border: 1px solid #dfe9f5;
    }

    img,
    svg,
    video,
    canvas,
    iframe {
      max-width: 100%;
      height: auto;
    }

    input,
    select,
    textarea,
    button {
      font: inherit;
    }

    .video-showcase {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
      gap: 30px;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(135deg, rgba(15, 20, 32, 0.84), rgba(32, 38, 52, 0.68)),
        url("images/bg-font-placdarm1.JPG") center center / cover no-repeat;
      border: 1px solid rgba(255, 255, 255, 0.14);
      backdrop-filter: none;
    }

    .video-showcase::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, 0.24) 0%, rgba(0, 0, 0, 0.12) 45%, rgba(255, 255, 255, 0.04) 100%);
      pointer-events: none;
    }

    .video-showcase > * {
      position: relative;
      z-index: 1;
    }

    .video-showcase .section-eyebrow {
      background: rgba(255, 255, 255, 0.16);
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.2);
    }

    .video-showcase__text {
      min-width: 0;
    }

    .video-showcase__text h2 {
      font-size: clamp(1.8rem, 2.4vw, 2.6rem);
      line-height: 1.1;
      margin-bottom: 14px;
      color: #ffffff;
    }

    .video-showcase__text p {
      color: rgba(255, 255, 255, 0.92);
      font-size: 18px;
      line-height: 1.7;
      margin-bottom: 16px;
    }

    .video-showcase__media {
      width: 100%;
      max-width: 560px;
      justify-self: end;
    }

    .video-showcase__frame {
      position: relative;
      overflow: hidden;
      border-radius: 26px;
      background: #0b1220;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(17, 17, 17, 0.08);
    }

    .video-showcase__video {
      display: block;
      width: 100%;
      aspect-ratio: 16 / 9;
      background: #000;
      object-fit: cover;
    }

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

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

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

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

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

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

    @media (max-width: 1100px) {
      .hero-content {
        flex-direction: column;
        text-align: center;
        padding: 40px 24px;
      }

      .about-grid,
      .info-grid {
        grid-template-columns: 1fr;
      }
    }

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

      .video-showcase__media {
        justify-self: stretch;
        max-width: none;
      }
    }

    @media (max-width: 768px) {
      body {
        font-size: 16px;
        line-height: 1.5;
      }

      .header-inner {
        padding: 14px 16px !important;
        align-items: flex-start;
        gap: 12px;
      }

      .header-actions {
        width: 100%;
        justify-content: flex-end;
        gap: 10px;
      }

      .logo {
        font-size: 22px !important;
        max-width: calc(100% - 60px);
        white-space: normal;
        word-break: normal;
      }

      .logo small {
        font-size: 13px !important;
      }

      .top-btn,
      .pay-link-btn,
      .submit-btn,
      .download-btn {
        min-height: 46px;
        padding: 12px 16px !important;
        font-size: 14px !important;
      }

      .burger {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px;
      }

      .side-menu {
        width: min(88vw, 360px);
        max-width: 88vw;
        padding: 20px 16px;
      }

      .side-nav a,
      .side-nav button {
        min-height: 46px;
        padding: 13px 14px;
      }

      .hero,
      .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      .hero {
        margin-top: 20px;
      }

      .hero-content {
        padding: 28px 20px !important;
        border-radius: 24px;
      }

      .hero h1 {
        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.08;
      }

      .hero-description {
        font-size: 1rem;
      }

      .about-section,
      .contact-info,
      .requisite-info,
      .okved-info,
      .requisites-box,
      .modal-content,
      .material-sheet {
        padding: 20px 16px !important;
        border-radius: 22px;
      }

      .about-section h2 {
        font-size: clamp(1.25rem, 5vw, 1.65rem) !important;
        line-height: 1.25;
      }

      .content-flex,
      .footer-bottom {
        flex-direction: column;
        gap: 18px;
      }

      .modal {
        padding: 8px;
      }

      .modal-content {
        width: 100%;
        max-height: calc(100vh - 16px);
        margin: 8px auto;
      }

      .modal-sheet-header {
        min-height: 74px;
        padding: 20px 58px 16px 16px !important;
      }

      .modal-form-body,
      .modal-form-footer {
        padding: 16px !important;
      }

      .close-btn {
        font-size: 30px;
        right: 14px;
        top: 10px;
      }

      .sheet-close-btn {
        top: 50%;
        right: 14px;
      }

      .form-group input,
      .form-group textarea,
      .form-group select,
      input,
      select,
      textarea {
        font-size: 16px !important;
        padding: 12px;
      }

      .legal-footer {
        padding: 18px 14px 24px !important;
      }

      .legal-footer__inner {
        align-items: flex-start;
      }

      .legal-footer__links {
        flex-direction: column;
        gap: 10px;
      }

      .payment-switcher,
      .info-grid {
        grid-template-columns: 1fr;
      }

      table {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
      }

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

    @media (max-width: 480px) {
      body {
        font-size: 15px;
      }

      .logo {
        font-size: 18px !important;
        max-width: calc(100% - 56px);
      }

      .logo small {
        font-size: 12px !important;
      }

      .hero,
      .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
      }

      .hero-content {
        padding: 24px 16px !important;
        border-radius: 22px;
      }

      .hero h1 {
        font-size: clamp(24px, 8vw, 32px) !important;
      }

      .about-section,
      .contact-info,
      .requisite-info,
      .okved-info,
      .requisites-box,
      .material-sheet {
        padding: 18px 14px !important;
        border-radius: 18px;
      }

      .top-btn,
      .pay-link-btn,
      .submit-btn,
      .download-btn {
        font-size: 13px !important;
        padding: 12px 14px !important;
      }

      .side-menu {
        width: 100vw;
        max-width: 100vw;
        right: -100vw;
        border-radius: 0;
      }

      .about-section h2 {
        font-size: 1.15rem !important;
      }
    }

    @media (hover: none) and (pointer: coarse) {
      .top-btn,
      .pay-link-btn,
      .submit-btn,
      .close-btn,
      .download-btn {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .form-group input,
      .form-group textarea,
      .form-group select {
        min-height: 48px;
      }
    }
  

  
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 1.6vw, 16px) !important;
    min-width: 0 !important;
  }

  .site-header .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-header .logo,
  .site-header .logo small,
  .site-header .logo span {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
  }

  .site-header .logo small {
    white-space: nowrap !important;
    font-size: inherit !important;
  }

  .site-header .header-inner > .header-actions,
  .site-header .header-inner > .back-link,
  .site-header .header-inner > .home-link,
  .site-header .header-inner > .top-link {
    margin-left: auto !important;
  }

  .site-header .header-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(6px, 1.4vw, 12px) !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .site-header .header-actions > * {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: center !important;
  }

  .site-header .top-btn,
  .site-header .home-link,
  .site-header .top-link,
  .site-header .back-link,
  .site-header .cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .site-header .burger {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    aspect-ratio: 1 / 1 !important;
  }

  @media (max-width: 900px) {
    .site-header .header-inner {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    .site-header .logo {
      font-size: clamp(18px, 3.4vw, 24px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 14px !important;
      padding-right: 14px !important;
      font-size: 14px !important;
    }
  }

  @media (max-width: 640px) {
    .site-header .header-inner {
      padding-left: 12px !important;
      padding-right: 12px !important;
      gap: 8px !important;
    }

    .site-header .logo {
      font-size: clamp(15px, 4.2vw, 20px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .header-actions {
      gap: 8px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 10px !important;
      padding-right: 10px !important;
      min-height: 42px !important;
      font-size: 12px !important;
      border-radius: 12px !important;
    }

    .site-header .burger {
      flex-basis: 42px !important;
      width: 42px !important;
      min-width: 42px !important;
      height: 42px !important;
    }
  }

  @media (max-width: 420px) {
    .site-header .header-inner {
      padding-left: 8px !important;
      padding-right: 8px !important;
      gap: 6px !important;
    }

    .site-header .logo {
      font-size: clamp(13px, 4vw, 16px) !important;
      letter-spacing: 0 !important;
    }

    .site-header .header-actions {
      gap: 6px !important;
    }

    .site-header .top-btn,
    .site-header .home-link,
    .site-header .top-link,
    .site-header .back-link,
    .site-header .cta-btn {
      padding-left: 8px !important;
      padding-right: 8px !important;
      min-height: 38px !important;
      font-size: 11px !important;
      border-radius: 10px !important;
    }

    .site-header .burger {
      flex-basis: 38px !important;
      width: 38px !important;
      min-width: 38px !important;
      height: 38px !important;
    }
  }

    
    html, body {
      overflow-x: hidden;
    }

    .header-inner,
    .header-actions,
    .hero-buttons,
    .list-actions,
    .form-row,
    .units-grid,
    .info-grid,
    .region-calc-grid,
    .money-calc-grid,
    .content-flex,
    .docnav,
    .topnav {
      flex-wrap: wrap;
    }

    .header-inner > *,
    .header-actions > *,
    .hero-buttons > *,
    .list-actions > *,
    .form-row > *,
    .units-grid > *,
    .info-grid > *,
    .region-calc-grid > *,
    .money-calc-grid > *,
    .content-flex > *,
    .docnav > *,
    .topnav > * {
      min-width: 0 !important;
      max-width: 100%;
    }

    h1, h2, h3, h4, h5, h6,
    p, li, label,
    .big-title,
    .subtitle,
    .section h2,
    .hero-title,
    .hero-subtitle,
    .hero-description,
    .hero-card-title,
    .hero-card-text,
    .list-title,
    .list-content,
    .sublist-title,
    .sublist-content,
    .info-card,
    .intro-card,
    .hero-card,
    .region-info-card,
    .region-info-card-full,
    .legal-card,
    .requisite-item,
    .contact-info,
    .form-subtitle,
    .form-group label,
    .side-nav a,
    .side-nav button,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn,
    nav a,
    .logo,
    .docnav a,
    .topnav a {
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      hyphens: manual !important;
      max-width: 100%;
    }

    button,
    [type="button"],
    [type="submit"],
    a[class*="btn"],
    .list-title,
    .sublist-title,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn,
    nav a,
    .side-nav a,
    .side-nav button,
    .docnav a,
    .topnav a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      min-width: 0;
      max-width: 100%;
      line-height: 1.35;
    }

    .list-title,
    .sublist-title,
    .top-btn,
    .hero-btn,
    .hero-card-btn,
    .contract-btn,
    .submit-btn,
    .list-link-btn,
    .download-btn,
    .donation-btn,
    .cta-btn,
    .calc-tab-btn,
    .calc-open-btn,
    .money-reset-btn {
      height: auto;
    }

    [class*="card"],
    .list-item,
    .list-content,
    .sublist-item,
    .sublist-content,
    .form-block,
    .modal-content,
    .contact-info,
    .requisite-item {
      min-width: 0;
      max-width: 100%;
    }

    .form-group,
    .form-group input,
    .form-group select,
    .form-group textarea,
    .search,
    .search input,
    .search-btn {
      min-width: 0;
      max-width: 100%;
    }

    @media (max-width: 768px) {
      .logo {
        white-space: normal !important;
        text-align: center;
      }

      .header-actions,
      .hero-buttons,
      .list-actions,
      .form-row,
      .docnav,
      .topnav {
        justify-content: center;
      }

      .top-btn,
      .hero-btn,
      .hero-card-btn,
      .contract-btn,
      .submit-btn,
      .list-link-btn,
      .download-btn,
      .donation-btn,
      .cta-btn,
      .calc-tab-btn,
      .calc-open-btn,
      .money-reset-btn,
      nav a,
      .side-nav a,
      .side-nav button,
      .docnav a,
      .topnav a {
        width: 100%;
      }
    }

  

  
  .hero .info-grid .info-card-action,
  .hero .info-grid .info-card-action h3,
  .hero .info-grid .info-card-action p,
  .hero .info-grid .info-card-action .info-card-cta {
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  .hero .info-grid .info-card-action h3,
  .hero .info-grid .info-card-action p,
  .hero .info-grid .info-card-action .info-card-cta {
    width: 100%;
  }

    #fundPl .video-frame img,
    .fund-photo-section .video-frame img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      display: block;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

button,
  input[type="submit"],
  input[type="button"],
  .side-nav a,
  .contract-btn,
  .home-link,
  .top-btn,
  .hero-btn,
  .hero-card-btn,
  .hero-service-card-btn,
  .scroll-top-btn,
  .fund-choice-link,
  .submit-btn,
  .calc-tab-btn,
  .money-reset-btn {
    text-transform: none !important;
  }

  
  .hero-card-btn,
  .hero-service-card-btn {
    align-self: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto !important;
  }

  
  @media (max-width: 768px) {
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

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

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

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

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

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

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

  
  .fund-action-row,
  .character-choice-section .history-action-row {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

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

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

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

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

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

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

  @media (max-width: 768px) {
    
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

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

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

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

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

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

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

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

  
  .fund-action-row,
  .character-choice-section .history-action-row {
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

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

  @media (max-width: 768px) {
    
    #fundPl .content-flex,
    #fundLife .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

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

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

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

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

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

    
    .character-choice-section .content-flex {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
    }

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

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

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

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

@media (max-width: 768px) {
    
    #fundPl .text-part,
    #fundLife .text-part,
    #fundPl .video-part,
    #fundLife .video-part {
      flex: 0 0 auto !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.site-header .logo {
    grid-template-columns: max-content 50px max-content !important;
    column-gap: 18px !important;
    gap: 0 !important;
  }

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

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

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

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

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

#fundPlHelpChoiceModal .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

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

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

.modal,
  .social-legal-modal {
    padding: calc(96px + 1cm) 0 1cm !important;
    box-sizing: border-box !important;
  }

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

  
  .benefit-modal-action {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 52px !important;
    grid-template-columns: none !important;
    padding-top: 14px !important;
    padding-bottom: 18px !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#fundPlHelpChoiceModal .contract-btn,
  #fundPlFinancialModal .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hero .info-grid {
    margin-left: -14px;
    margin-right: -14px;
  }

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

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

.hero .hero-content .hero-text {
    margin-left: -14px;
    margin-right: -14px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.side-menu .side-nav a,
  .side-menu .side-nav button {
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

#fundPlHelpChoiceModal .modal-content {
    max-width: 760px !important;
  }

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

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

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

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

  
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal,
  #fundLifeDonateModal .fund-contract-like-modal {
    max-width: 860px !important;
    max-height: min(88vh, 920px) !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

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

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

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

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

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

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

  
  #fundPlFinancialModal .payment-switcher {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 12px !important;
    width: 100% !important;
  }

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

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

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

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

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

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

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

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

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

  
  .requisites-box,
  .requisite-info,
  .okved-info,
  .contact-info {
    background: #f9fbff;
    border: 1px solid #dfe9f5;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 14px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#fundPlHelpChoiceModal .help-choice-grid button.contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid button {
    background-color: transparent !important;
    background-image: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow) !important;
  }

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

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

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

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

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

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

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

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

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

@media (min-width: 769px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 5mm !important;
    }

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

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

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

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

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

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

#fundPlFinancialModal .fund-contract-like-modal {
    height: min(88vh, 920px) !important;
    max-height: min(88vh, 920px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

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

:root {
    --modal-side-gap-desktop: 20px;
    --modal-side-gap-tablet: 14px;
    --modal-side-gap-mobile: 12px;
  }

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

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

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

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

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

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

:root {
    --blocks-2-4-modal-gap: 8mm;
  }

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

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

  
  #fundPlFinancialModal .payment-switcher {
    display: grid !important;
    justify-content: center !important;
    align-items: stretch !important;
    align-content: start !important;
    gap: 16px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 12px auto 0 !important;
    box-sizing: border-box !important;
  }

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

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

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

#fundPl .fund-action-row,
  #fundLife .fund-action-row {
    gap: 16px !important;
    align-items: stretch !important;
  }

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

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

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

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

  
  #fundPlHelpChoiceModal .help-choice-grid,
  #fundPlFinancialModal .payment-switcher,
  #calcModal .calc-tabs {
    display: grid !important;
    justify-content: center !important;
    gap: 16px !important;
  }

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

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

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

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

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

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

  
  #calcModal .form-group {
    position: relative !important;
    overflow: visible !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#fundPlHelpChoiceModal .help-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 246px) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

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

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

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

@media (min-width: 769px) {
    #benefitModal .benefit-modal-action,
    #calcModal .calc-tabs,
    #fundModal .fund-choice-list,
    #fundPlHelpChoiceModal .help-choice-grid,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-contract-like-footer {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      align-content: center !important;
      column-gap: 5mm !important;
      row-gap: 5mm !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      box-sizing: border-box !important;
    }

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

    
    #calcModal .calc-tabs > .calc-tab-btn.active {
      flex: 0 0 6.5cm !important;
      width: 6.5cm !important;
      min-width: 6.5cm !important;
      max-width: 6.5cm !important;
      height: 1.5cm !important;
      min-height: 1.5cm !important;
      max-height: 1.5cm !important;
    }
  }

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

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

@media (min-width: 769px) {
    #fundPlFinancialModal .payment-switcher {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      align-content: center !important;
      column-gap: 5mm !important;
      row-gap: 5mm !important;
      gap: 5mm !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 12px auto 0 !important;
      box-sizing: border-box !important;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#fundPlHelpChoiceModal {
    padding-top: 0 !important;
  }

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

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

:root {
    --index-news-btn-width: 6.4cm;
    --index-news-btn-height: 1.3cm;
    --index-news-btn-radius: 14px;
  }

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

  
  .hero-card .hero-card-btn,
  .hero-service-card .hero-service-card-btn,
  .fund-action-row .contract-btn,
  .character-choice-section .history-action-row .history-action-btn,
  #benefitModal .benefit-modal-action .contract-btn,
  #calcModal .calc-tabs .calc-tab-btn,
  #calcModal .money-reset-btn,
  #fundPlHelpChoiceModal .help-choice-grid .contract-btn,
  #fundPlFinancialModal .payment-switcher .payment-switch-btn,
  #fundPlFinancialModal .pay-link-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundLifeDonateModal .fund-contract-like-footer .submit-btn,
  #serviceModal .service-modal-footer .submit-btn,
  #contractModal .contract-modal-footer .submit-btn,
  #socialLegalModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeMapModal .social-legal-modal-footer .social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
  }

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

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

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

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

:root {
    --fixed-button-height: 1.3cm;
  }

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

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

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

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

  
  .site-footer .footer-col--offices ul,
  .footer-col--offices ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

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

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

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

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

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

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

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

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

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

#benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    padding-top: 8px !important;
    padding-right: 22px !important;
    padding-bottom: 4px !important;
    padding-left: 22px !important;
    margin-top: 0 !important;
    align-items: center !important;
  }

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

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

#fundPlHelpChoiceModal .help-choice-modal-content {
    padding-top: 12px !important;
  }

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

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

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

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

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

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

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

  
  .modal .close-btn,
  .social-legal-modal .social-legal-modal-close,
  #calcModal .calc-modal-header-sticky #closeCalcBtn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-main, #111111) !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 0.2s ease !important;
    animation: none !important;
    filter: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
  }

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

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

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

:root {
  --modal-footer-btn-gap: 5px;
}

.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  padding-top: var(--modal-footer-btn-gap) !important;
  padding-bottom: var(--modal-footer-btn-gap) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;
}

.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.modal .benefit-modal-action {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.modal .benefit-modal-action > .contract-btn,
.modal .service-modal-footer > .submit-btn,
.modal .contract-modal-footer > .submit-btn,
.modal .modal-form-footer > .submit-btn,
.modal .fund-contract-like-footer > .submit-btn,
.modal .fund-donate-footer > .submit-btn,
.social-legal-modal .social-legal-modal-footer > .social-legal-submit-btn,
#calcModal .calc-modal-footer-sticky > .money-reset-btn,
#calcModal .calc-modal-footer-sticky > button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center !important;
  box-sizing: border-box !important;
}

.modal .contract-modal-footer > .note:empty,
.modal .modal-form-footer > .note:empty,
.modal .fund-contract-like-footer > .note:empty,
.modal .fund-donate-footer > .note:empty {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.modal .contract-modal-footer > .note:not(:empty),
.modal .modal-form-footer > .note:not(:empty),
.modal .fund-contract-like-footer > .note:not(:empty),
.modal .fund-donate-footer > .note:not(:empty) {
  flex: 0 0 100% !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#fundPlFinancialModal .pay-actions {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

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

.modal .close-btn,
.modal .sheet-close-btn,
.social-legal-modal .social-legal-modal-close,
#calcModal #closeCalcBtn,
#contractModal #closeContractModal,
#serviceModal #closeServiceBtn,
#benefitModal #closeBenefitBtn,
#fundModal #closeFundBtn {
  position: absolute !important;
  top: 5px !important;
  right: 12px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: var(--text-main, #111111) !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  filter: none !important;
  transition: color 0.2s ease !important;
  z-index: 50 !important;
  box-sizing: border-box !important;
}

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

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

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

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

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

.modal .modal-form-body > .requisites-box:last-child,
.modal .modal-form-body > .requisite-info:last-child,
.modal .modal-form-body > .okved-info:last-child,
.modal .modal-form-body > .contact-info:last-child,
.modal .fund-donate-body > .requisites-box:last-child,
.modal .fund-donate-body > .requisite-info:last-child,
.modal .fund-donate-body > .okved-info:last-child,
.modal .fund-donate-body > .contact-info:last-child,
.modal .fund-contract-like-body > .requisites-box:last-child,
.modal .fund-contract-like-body > .requisite-info:last-child,
.modal .fund-contract-like-body > .okved-info:last-child,
.modal .fund-contract-like-body > .contact-info:last-child,
#fundLifeDonateModal .payment-legal-card,
#fundPlDonateModal .payment-legal-card,
#fundPlFinancialModal .payment-legal-card {
  margin-bottom: 0 !important;
}

.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  min-height: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;
}

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

:root {
    --modal-footer-btn-gap: 12px;
  }

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

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

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

  
  #fundPlFinancialModal .pay-actions {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  
  #serviceModal.service-modal-real-estate-request .modal-back-btn {
    display: none !important;
  }

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

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

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

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

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

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

#fundPlFinancialModal .fund-contract-like-header .payment-switcher,
  #fundPlFinancialModal .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
    grid-template-columns: none !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin: 16px auto 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#fundPlFinancialModal .financial-payment-footer {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#fundPlFinancialModal .financial-payment-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

:root {
    --target-modal-legal-link-blue: var(--blue-dark, #4f8df0);
    --target-modal-legal-link-blue-hover: #2f70d7;
    --target-modal-legal-link-size: var(--contract-legal-font-size, 16px);
    --target-modal-legal-link-line-height: var(--contract-legal-line-height, 1.45);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  
  #fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn {
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    right: auto !important;
  }

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

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

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

    #fundPlFinancialModal .modal-back-btn,
    #fundPlMaterialModal .modal-back-btn {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
    }
  }

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

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

  #sideMenu .side-nav a,
  #sideMenu .side-nav button {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height:  112px !important;
    max-height: none !important;
    flex: 0 1 auto !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #sideMenu .side-nav a,
    #sideMenu .side-nav button {
      min-height:  112px !important;
      border-radius: 14px !important;
    }
  }

  @media (max-width: 480px) {
    #sideMenu {
      width: min(92vw, 360px) !important;
      max-width: 92vw !important;
    }

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

.fund-placdarm-main-image-frame {
    aspect-ratio: 1280 / 738;
    background: #c8f7ff;
    overflow: hidden !important;
  }

  .fund-placdarm-main-image-frame .fund-placdarm-main-image {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: scale(1.035) !important;
    transform-origin: center center !important;
    filter: none !important;
  }

.hero > .hero-content {
    background-image:
      linear-gradient(135deg, rgba(22, 31, 53, 0.46), rgba(31, 43, 71, 0.40)),
      url("images/bg-fund-placdarm1(2).JPG") !important;
    background-position: center center, right center !important;
    background-size: auto, cover !important;
    background-repeat: no-repeat, no-repeat !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;
  }

.site-footer .footer-col--offices,
  .footer-col--offices {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .site-footer .footer-col--offices ul,
  .footer-col--offices ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

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

  .site-footer .footer-col--offices li:last-child,
  .footer-col--offices li:last-child {
    margin-bottom: 0 !important;
  }

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

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

.site-footer .footer-col--offices a.office-city-btn,
  .footer-col--offices a.office-city-btn,
  a.office-city-btn {
    font-size: inherit !important;
    line-height: 1.55 !important;
    font-weight: inherit !important;
  }

  .site-footer .footer-col--offices li,
  .footer-col--offices li {
    line-height: 1.55 !important;
    margin-bottom: 10px !important;
  }

.footer-col--offices button.office-city-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s ease;
  }
  .footer-col--offices button.office-city-btn:hover,
  .footer-col--offices button.office-city-btn:focus-visible {
    color: #fff !important;
    text-decoration: none !important;
    outline: none;
  }

  .footer-col--offices ul {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
  }

  .footer-col--offices li {
    margin-bottom: 0;
  }

  
  .office-map-modal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: stretch;
    height: 100%;
  }

  
  .office-map-frame {
    position: sticky;
    top: 0;
    align-self: flex-start;
    min-width: 0;
    height: 100%;
    min-height: 500px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--line, rgba(0, 0, 0, 0.08));
    background: var(--bg-soft, #f4f7fb);
  }
  .office-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }

  
  .office-map-contacts-wrapper {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-height: 100%;
  }
  .office-contacts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    overflow-y: auto;
  }
  .office-contacts-block {
    background: var(--bg-soft, #f4f7fb);
    border: 1px solid var(--line, rgba(0, 0, 0, 0.08));
    border-radius: 16px;
    padding: 16px 18px;
  }
  .office-contacts-block h3 {
    margin: 0 0 10px 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-main, #111);
    line-height: 1.3;
  }
  .office-contacts-block .office-addr {
    margin: 0 0 10px 0;
    color: var(--text-main, #111);
    font-size: 0.95rem;
    line-height: 1.4;
  }
  .office-contacts-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .office-contacts-block li {
    font-size: 0.95rem;
    color: var(--text-main, #111);
    line-height: 1.4;
    word-break: normal;
  }
  .office-contacts-block a {
    color: var(--blue-dark, #4f8df0);
    text-decoration: none;
    word-break: normal;
  }
  .office-contacts-block a:hover { text-decoration: underline; }

  
  @media (max-width: 780px) {
    .office-map-modal-grid {
      grid-template-columns: 1fr;
      gap: 14px;
    }
    .office-map-frame {
      min-height: 260px;
      aspect-ratio: 4 / 3;
    }
    .office-contacts-block { padding: 14px; }
  }

  
  #officeFeedbackBtn,
  #officeMapModal #officeFeedbackBtn,
  .social-legal-modal-footer #officeFeedbackBtn,
  button#officeFeedbackBtn.social-legal-submit-btn {
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  
  :root {
    --modal-gap-from-header: 8mm;
    --site-header-height: 0px;
  }

  .modal,
  .social-legal-modal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header)) !important;
    padding-bottom: 12px !important;
  }

  .modal-content,
  .social-legal-modal-dialog {
    margin: 0 auto 12px !important;
  }

  #calcModal .calc-modal-content {
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 24px) !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header)) !important;
      padding-bottom: 8px !important;
    }

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

    #calcModal .calc-modal-content {
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header) - 16px) !important;
    }
  }

.footer-col--legal-info li,
  .footer-col--legal-info a {
    white-space: nowrap;
  }

:root {
    --runtime-header-height: 96px;
    --modal-gap-final: 8mm;
    --modal-top-final: calc(var(--runtime-header-height) + var(--modal-gap-final));
  }

  .modal,
  .social-legal-modal {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    padding-top: var(--modal-top-final) !important;
    padding-right: 12px !important;
    padding-bottom: 12px !important;
    padding-left: 12px !important;
  }

  .modal-content,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content,
  .social-legal-modal-dialog {
    margin: 0 auto !important;
    max-height: calc(100dvh - var(--modal-top-final) - 12px) !important;
  }

  @media (max-width: 768px) {
    .modal,
    .social-legal-modal {
      padding-top: var(--modal-top-final) !important;
      padding-right: 8px !important;
      padding-bottom: 8px !important;
      padding-left: 8px !important;
    }

    .modal-content,
    .benefit-modal-content,
    .service-modal-content,
    .contract-modal-content,
    .calc-modal-content,
    .social-legal-modal-dialog {
      max-height: calc(100dvh - var(--modal-top-final) - 8px) !important;
    }
  }

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

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

  #officeMapModal .social-legal-form-card,
  #officeMapModal .social-legal-modal-content,
  #officeFeedbackModal .social-legal-form-card,
  #officeFeedbackModal .social-legal-modal-content,
  #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

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

  #calcModal .calc-modal-header-sticky h2,
  #officeMapModal .social-legal-modal-header h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #officeMapModal .social-legal-form-subtitle,
  #officeFeedbackModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
  }

  #calcModal #closeCalcBtn,
  #officeMapModal #officeMapModalClose,
  #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #calcModal #closeCalcBtn:hover,
  #calcModal #closeCalcBtn:focus-visible,
  #officeMapModal #officeMapModalClose:hover,
  #officeMapModal #officeMapModalClose:focus-visible,
  #officeFeedbackModal #officeFeedbackModalClose:hover,
  #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #calcModal .calc-modal-body-sticky,
  #officeMapModal .social-legal-modal-body,
  #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #officeMapModal .office-map-modal-grid {
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-frame {
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-contacts-wrapper,
  #officeMapModal .office-contacts {
    min-height: 0 !important;
  }

  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    padding: 12px 22px 12px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-footer-sticky > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

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

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

    #officeMapModal .social-legal-form-card,
    #officeMapModal .social-legal-modal-content,
    #officeFeedbackModal .social-legal-form-card,
    #officeFeedbackModal .social-legal-modal-content,
    #officeFeedbackModal #officeFeedbackForm {
      border-radius: 22px !important;
    }

    #calcModal .calc-modal-header-sticky,
    #officeMapModal .social-legal-modal-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #calcModal .calc-modal-header-sticky h2,
    #officeMapModal .social-legal-modal-header h2,
    #officeFeedbackModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;
    }

    #calcModal #closeCalcBtn,
    #officeMapModal #officeMapModalClose,
    #officeFeedbackModal #officeFeedbackModalClose {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #calcModal .calc-modal-body-sticky,
    #officeMapModal .social-legal-modal-body,
    #officeFeedbackModal .social-legal-modal-body {
      padding: 14px !important;
    }

    #calcModal .calc-modal-footer-sticky,
    #calcModal .calc-modal-footer-sticky.is-hidden,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      padding: 12px 14px !important;
      gap: 10px !important;
    }

    #officeMapModal .office-map-frame {
      min-height: 260px !important;
      height: auto !important;
    }
  }

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

    #calcModal .calc-modal-content,
    #officeMapModal .social-legal-modal-dialog,
    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

:root {
    --modal-equal-edge-gap: 8mm;
    --modal-header-height-final: var(--runtime-header-height, var(--site-header-height, 96px));
  }

  .modal,
  .social-legal-modal,
  #officeMapModal,
  #officeFeedbackModal {
    padding-top: calc(var(--modal-header-height-final) + var(--modal-equal-edge-gap)) !important;
    padding-bottom: var(--modal-equal-edge-gap) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  .modal-content,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content,
  .social-legal-modal-dialog,
  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-height: calc(100dvh - var(--modal-header-height-final) - (var(--modal-equal-edge-gap) * 2)) !important;
  }

  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    height: calc(100dvh - var(--modal-header-height-final) - (var(--modal-equal-edge-gap) * 2)) !important;
  }

  @media (max-width: 768px) {
    :root {
      --modal-equal-edge-gap: 8px;
    }
  }

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

:root {
    --site-news-button-width: 6.4cm;
    --site-news-button-padding-y: 14px;
    --site-news-button-radius: 14px;
    --site-news-button-font-size: 15px;
    --site-news-button-line-height: 1.35;
  }

  #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    inline-size: var(--site-news-button-width) !important;
    width: var(--site-news-button-width) !important;
    min-width: var(--site-news-button-width) !important;
    max-width: var(--site-news-button-width) !important;
    flex: 0 0 var(--site-news-button-width) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: var(--site-news-button-padding-y) 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--site-news-button-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-size: var(--site-news-button-font-size) !important;
    font-weight: 800 !important;
    line-height: var(--site-news-button-line-height) !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-transform: none !important;
  }

  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    justify-content: center !important;
  }

  @media (max-width: 768px) {
    #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
    #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
    #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
    #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      inline-size: var(--site-news-button-width) !important;
      width: var(--site-news-button-width) !important;
      min-width: var(--site-news-button-width) !important;
      max-width: var(--site-news-button-width) !important;
      flex: 0 0 var(--site-news-button-width) !important;
      padding: var(--site-news-button-padding-y) 0 !important;
      font-size: var(--site-news-button-font-size) !important;
      border-radius: var(--site-news-button-radius) !important;
    }
  }

#officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

  #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  @media (max-width: 768px) {
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      justify-content: flex-start !important;
      align-items: center !important;
      text-align: left !important;
    }
  }

:root {
    --help-modal-equal-gap: 8mm;
    --site-header-height: 96px;
  }

  #fundPlFinancialModal,
  #fundPlMaterialModal {
    padding-top: calc(var(--site-header-height, 96px) + var(--help-modal-equal-gap)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--help-modal-equal-gap) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal {
    height: calc(100vh - var(--site-header-height, 96px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
    max-height: calc(100vh - var(--site-header-height, 96px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
    margin: 0 auto !important;
  }

  @media (max-width: 768px) {
    :root {
      --help-modal-equal-gap: 16px;
      --site-header-height: 84px;
    }

    #fundPlFinancialModal,
    #fundPlMaterialModal {
      padding-top: calc(var(--site-header-height, 84px) + var(--help-modal-equal-gap)) !important;
      padding-right: 8px !important;
      padding-bottom: var(--help-modal-equal-gap) !important;
      padding-left: 8px !important;
    }

    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal {
      height: calc(100vh - var(--site-header-height, 84px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
      max-height: calc(100vh - var(--site-header-height, 84px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
      margin: 0 auto !important;
    }
  }

  @media (max-width: 480px) {
    :root {
      --site-header-height: 78px;
    }
  }

#fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn,
  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back,
  #officeFeedbackModal #officeFeedbackModalBack {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #officeFeedbackModal .social-legal-modal-header {
    padding-left: 54px !important;
    padding-right: 54px !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    text-align: center !important;
  }

  @media (max-width: 480px) {
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding-left: 50px !important;
      padding-right: 50px !important;
    }
  }

#officeMapModal .social-legal-modal-body {
    overflow: hidden !important;
  }

  #officeMapModal .office-map-modal-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-frame {
    position: sticky !important;
    top: 0 !important;
    align-self: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #officeMapModal .office-map-frame iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    display: block !important;
  }

  #officeMapModal .office-map-contacts-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  #officeMapModal .office-contacts {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  @media (max-width: 780px) {
    #officeMapModal .social-legal-modal-body {
      overflow-y: auto !important;
    }

    #officeMapModal .office-map-modal-grid {
      grid-template-columns: 1fr !important;
      gap: 14px !important;
      height: auto !important;
    }

    #officeMapModal .office-map-frame {
      height: auto !important;
      min-height: 260px !important;
      aspect-ratio: 4 / 3 !important;
    }

    #officeMapModal .office-map-contacts-wrapper,
    #officeMapModal .office-contacts {
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    padding-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;
    }
  }

.hero .hero-content .info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

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

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

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

  #officeFeedbackModal .social-legal-form-card,
  #officeFeedbackModal .social-legal-modal-content,
  #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal #officeFeedbackForm {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

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

  #officeFeedbackModal .social-legal-modal-header > h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

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

  #officeFeedbackModal #officeFeedbackModalClose:hover,
  #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

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

  #officeFeedbackModal #officeFeedbackModalBack[hidden],
  #officeFeedbackModal .modal-back-btn[hidden],
  #officeFeedbackModal .social-legal-modal-back[hidden],
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

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

  #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-group {
    margin-bottom: 18px !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-group label:not(.social-legal-consent-label) {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--text-main, #111111) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
  }

  #officeFeedbackModal .social-legal-form-group input:not([type="checkbox"]):not([type="radio"]),
  #officeFeedbackModal .social-legal-form-group textarea,
  #officeFeedbackModal .social-legal-form-group select {
    width: 100% !important;
    padding: 13px 14px !important;
    background: #ffffff !important;
    border: 1px solid #d8dce2 !important;
    color: #111111 !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    outline: none !important;
    transition: 0.2s ease !important;
    box-sizing: border-box !important;
  }

  #officeFeedbackModal .social-legal-form-group textarea {
    min-height: 170px !important;
    resize: vertical !important;
  }

  #officeFeedbackModal .social-legal-consent-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    line-height: 1.45 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
  }

  #officeFeedbackModal .social-legal-consent-label input[type="checkbox"] {
    margin-top: 3px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    text-align: start !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
    flex: 0 0 var(--site-btn-len, 6.4cm) !important;
    width: var(--site-btn-len, 6.4cm) !important;
    min-width: var(--site-btn-len, 6.4cm) !important;
    max-width: var(--site-btn-len, 6.4cm) !important;
    inline-size: var(--site-btn-len, 6.4cm) !important;
    height: var(--site-btn-h, 1.3cm) !important;
    min-height: var(--site-btn-h, 1.3cm) !important;
    max-height: var(--site-btn-h, 1.3cm) !important;
    block-size: var(--site-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.08 !important;
  }

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

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

    #officeFeedbackModal .social-legal-form-card,
    #officeFeedbackModal .social-legal-modal-content,
    #officeFeedbackModal #officeFeedbackForm {
      border-radius: 22px !important;
    }

    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #officeFeedbackModal .social-legal-modal-header > h2,
    #officeFeedbackModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }

    #officeFeedbackModal #officeFeedbackModalClose {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #officeFeedbackModal #officeFeedbackModalBack,
    #officeFeedbackModal .modal-back-btn,
    #officeFeedbackModal .social-legal-modal-back,
    #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }

    #officeFeedbackModal .social-legal-modal-body {
      padding: 14px !important;
    }

    #officeFeedbackModal .social-legal-modal-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

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

    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header button#officeFeedbackModalBack.modal-back-btn.social-legal-modal-back {
    height: var(--fixed-button-height, 1.3cm) !important;
    min-height: var(--fixed-button-height, 1.3cm) !important;
    max-height: var(--fixed-button-height, 1.3cm) !important;
    line-height: 1.1 !important;
  }

  #officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    flex: 0 0 var(--site-btn-len, 6.4cm) !important;
    width: var(--site-btn-len, 6.4cm) !important;
    min-width: var(--site-btn-len, 6.4cm) !important;
    max-width: var(--site-btn-len, 6.4cm) !important;
    inline-size: var(--site-btn-len, 6.4cm) !important;
    height: var(--site-btn-h, 1.3cm) !important;
    min-height: var(--site-btn-h, 1.3cm) !important;
    max-height: var(--site-btn-h, 1.3cm) !important;
    block-size: var(--site-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.08 !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
    #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

@media (min-width: 769px) {
    #officeFeedbackModal {
      --site-header-height: 85px !important;
    }
  }

#fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
  }

.hero h1.hero-title-two-lines {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: fit-content !important;
    max-width: 100% !important;
    line-height: 1.04 !important;
    text-wrap: nowrap !important;
  }

  .hero h1.hero-title-two-lines .hero-title-line {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: manual !important;
  }

  .hero h1.hero-title-two-lines .hero-title-line-second {
    align-self: center !important;
    text-align: center !important;
    margin-top: 0.06em !important;
  }

  @media (max-width: 768px) {
    .hero h1.hero-title-two-lines {
      font-size: clamp(22px, 6vw, 46px) !important;
      line-height: 1.08 !important;
    }
  }

  @media (max-width: 480px) {
    .hero h1.hero-title-two-lines {
      font-size: clamp(16px, 5.2vw, 24px) !important;
    }
  }

body.site-send-notice-open {
    overflow: hidden !important;
  }

  .site-form-success-host {
    position: relative !important;
  }

  .site-form-success-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 8px !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: auto !important;
  }

  .site-form-success-layer.site-form-success-layer--viewport {
    position: fixed !important;
  }

  .site-form-success-box {
    width: min(352px, calc(100% - 16px)) !important;
    max-height: calc(100% - 16px) !important;
    min-height: 141px !important;
    border-radius: 18px !important;
    padding: 20px 22px 18px !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    box-shadow: 0 7px 21px rgba(0, 0, 0, 0.22) !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: auto !important;
  }

  .site-form-success-title {
    display: none !important;
    margin: 0 0 5px !important;
    color: #111111 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  .site-form-success-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 4px !important;
    margin: 0 0 8px !important;
    color: #111111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .site-form-success-icon {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
    align-items: initial !important;
    justify-content: initial !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  .site-form-success-text {
    width: 100% !important;
    margin: 0 0 10px !important;
    color: #111111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .site-form-success-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .site-form-success-ok {
    width: 96px !important;
    min-width: 96px !important;
    height: 30px !important;
    min-height: 30px !important;
    border: 1px solid #14141a !important;
    border-radius: 6px !important;
    padding: 0 10px !important;
    background: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    background-image: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 32, 36, 0.30) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
  }

  .site-form-success-ok:hover,
  .site-form-success-ok:focus-visible {
    background: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    background-image: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    transform: none !important;
    outline: none !important;
    box-shadow: 0 16px 34px rgba(31, 32, 36, 0.36) !important;
  }

  @media (max-width: 640px) {
    .site-form-success-layer {
      padding: 8px 6px !important;
    }

    .site-form-success-box {
      width: min(352px, calc(100vw - 12px)) !important;
      min-height: 0 !important;
      border-radius: 16px !important;
      padding: 14px 14px 14px !important;
    }

    .site-form-success-title {
      font-size: 16px !important;
    }

    .site-form-success-actions {
      justify-content: center !important;
    }

    .site-form-success-ok {
      width: 100% !important;
      min-width: 0 !important;
    }
  }

:root {
    --site-financial-news-gradient: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%);
    --site-financial-news-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%);
    --site-financial-dark-gray-gradient: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%);
    --site-financial-dark-gray-gradient-hover: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%);
    --site-financial-dark-gray-shadow: 0 12px 26px rgba(31, 32, 36, 0.30);
  }

  
  #fundPlFinancialModal .financial-payment-footer #fundPlRequisitesTabBtn,
  #fundPlFinancialModal .financial-payment-footer #fundPlQrTabBtn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    background: var(--site-financial-news-gradient) !important;
    background-image: var(--site-financial-news-gradient) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    filter: none !important;
    opacity: 1 !important;
    outline: none !important;
  }

  #fundPlFinancialModal .financial-payment-footer #fundPlRequisitesTabBtn:hover,
  #fundPlFinancialModal .financial-payment-footer #fundPlRequisitesTabBtn:focus-visible,
  #fundPlFinancialModal .financial-payment-footer #fundPlQrTabBtn:hover,
  #fundPlFinancialModal .financial-payment-footer #fundPlQrTabBtn:focus-visible,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active:hover,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active:focus-visible {
    background: var(--site-financial-news-gradient-hover) !important;
    background-image: var(--site-financial-news-gradient-hover) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    transform: translateY(-2px) !important;
  }

  
  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlQrTabBtn,
  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlQrTabBtn:active {
    background: var(--site-financial-dark-gray-gradient) !important;
    background-image: var(--site-financial-dark-gray-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: var(--site-financial-dark-gray-shadow) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlQrTabBtn:hover,
  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlQrTabBtn:focus-visible {
    background: var(--site-financial-dark-gray-gradient-hover) !important;
    background-image: var(--site-financial-dark-gray-gradient-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: var(--site-financial-dark-gray-shadow) !important;
    transform: translateY(-2px) !important;
  }

  
  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlRequisitesTabBtn,
  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlRequisitesTabBtn:active {
    background: var(--site-financial-dark-gray-gradient) !important;
    background-image: var(--site-financial-dark-gray-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: var(--site-financial-dark-gray-shadow) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlRequisitesTabBtn:hover,
  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlRequisitesTabBtn:focus-visible {
    background: var(--site-financial-dark-gray-gradient-hover) !important;
    background-image: var(--site-financial-dark-gray-gradient-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: var(--site-financial-dark-gray-shadow) !important;
    transform: translateY(-2px) !important;
  }

  
  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlRequisitesTabBtn,
  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlQrTabBtn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    background: var(--site-financial-news-gradient) !important;
    background-image: var(--site-financial-news-gradient) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlRequisitesTabBtn:hover,
  #fundPlFinancialModal.fund-pl-payment-mode-requisites .financial-payment-footer #fundPlRequisitesTabBtn:focus-visible,
  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlQrTabBtn:hover,
  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-footer #fundPlQrTabBtn:focus-visible,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active:hover,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active:focus-visible {
    background: var(--site-financial-news-gradient-hover) !important;
    background-image: var(--site-financial-news-gradient-hover) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    transform: translateY(-2px) !important;
  }

:root {
    --site-send-notice-width: 440px;
    --site-send-notice-min-height: 176px;
    --site-send-notice-radius: 18px;
    --site-send-notice-btn-width: var(--site-btn-len, var(--site-final-btn-length, 6.4cm));
    --site-send-notice-btn-height: var(--site-btn-h, var(--site-final-btn-height, 1.3cm));
  }

  .site-form-success-box {
    width: min(var(--site-send-notice-width), calc(100% - 20px)) !important;
    min-height: var(--site-send-notice-min-height) !important;
    padding: 25px 28px 23px !important;
    border-radius: var(--site-send-notice-radius) !important;
    box-shadow: 0 9px 27px rgba(0, 0, 0, 0.24) !important;
  }

  .site-form-success-line {
    gap: 6px !important;
    margin-bottom: 10px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .site-form-success-icon {
    font-size: 18px !important;
  }

  .site-form-success-text {
    margin-bottom: 18px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .site-form-success-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .site-form-success-ok {
    width: var(--site-send-notice-btn-width) !important;
    min-width: var(--site-send-notice-btn-width) !important;
    max-width: min(var(--site-send-notice-btn-width), 100%) !important;
    inline-size: var(--site-send-notice-btn-width) !important;
    height: var(--site-send-notice-btn-height) !important;
    min-height: var(--site-send-notice-btn-height) !important;
    max-height: var(--site-send-notice-btn-height) !important;
    block-size: var(--site-send-notice-btn-height) !important;
    flex: 0 0 var(--site-send-notice-btn-width) !important;
    box-sizing: border-box !important;
    padding: 0 12px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    background-image: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 32, 36, 0.30) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  .site-form-success-ok:hover,
  .site-form-success-ok:focus-visible {
    background: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    background-image: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(31, 32, 36, 0.36) !important;
    outline: none !important;
  }

  @media (max-width: 640px) {
    .site-form-success-box {
      width: min(var(--site-send-notice-width), calc(100vw - 12px)) !important;
      min-height: 160px !important;
      padding: 18px 16px 18px !important;
      border-radius: 16px !important;
    }

    .site-form-success-line {
      font-size: 15px !important;
    }

    .site-form-success-text {
      font-size: 15px !important;
      margin-bottom: 16px !important;
    }

    .site-form-success-ok {
      width: min(var(--site-send-notice-btn-width), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--site-send-notice-btn-width), 100%) !important;
      flex: 0 1 min(var(--site-send-notice-btn-width), 100%) !important;
      height: var(--site-send-notice-btn-height) !important;
      min-height: var(--site-send-notice-btn-height) !important;
      max-height: var(--site-send-notice-btn-height) !important;
    }
  }

#fundPl.children-help-section::before {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
  }

  #fundPl.children-help-section .children-help-main-image-frame {
    height: auto !important;
    padding-bottom: 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  #fundPl.children-help-section .children-help-main-image-frame > img.children-help-main-image {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    filter: none !important;
  }

.hero h1.hero-title-two-lines {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .hero h1.hero-title-two-lines .hero-title-line,
  .hero h1.hero-title-two-lines .hero-title-line-first,
  .hero h1.hero-title-two-lines .hero-title-line-second {
    align-self: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

:root {
    --site-picture-blue-dark: #2f7085;
    --site-picture-blue-mid: #3f93ad;
    --site-picture-blue-light: #92cbdb;
    --site-picture-blue-gradient: linear-gradient(
      135deg,
      var(--site-picture-blue-dark) 0%,
      var(--site-picture-blue-mid) 52%,
      var(--site-picture-blue-light) 100%
    );
    --site-picture-blue-gradient-hover: linear-gradient(
      135deg,
      #1f4b5b 0%,
      #2f7892 52%,
      #75adbc 100%
    );
    --site-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --site-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background-image: var(--site-picture-blue-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.70))
      drop-shadow(0 3px 6px rgba(0, 0, 0, 0.24)) !important;
  }

  .site-header .header-actions .home-link.top-news-btn,
  .site-header .header-actions .home-link.top-home-btn,
  .site-header .burger,
  .side-nav a,
  .side-nav button {
    background: var(--site-picture-blue-gradient) !important;
    background-image: var(--site-picture-blue-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: var(--site-picture-blue-shadow) !important;
  }

  .site-header .header-actions .home-link.top-news-btn:hover,
  .site-header .header-actions .home-link.top-news-btn:focus-visible,
  .site-header .header-actions .home-link.top-news-btn:active,
  .site-header .header-actions .home-link.top-home-btn:hover,
  .site-header .header-actions .home-link.top-home-btn:focus-visible,
  .site-header .header-actions .home-link.top-home-btn:active,
  .site-header .burger:hover,
  .site-header .burger:focus-visible,
  .side-nav a:hover,
  .side-nav a:focus-visible,
  .side-nav button:hover,
  .side-nav button:focus-visible,
  .side-nav a.active {
    background: var(--site-picture-blue-gradient-hover) !important;
    background-image: var(--site-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    box-shadow: var(--site-picture-blue-shadow-hover) !important;
  }

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

  .site-header .header-actions .home-link.top-news-btn::before,
  .site-header .header-actions .home-link.top-news-btn::after,
  .site-header .header-actions .home-link.top-home-btn::before,
  .site-header .header-actions .home-link.top-home-btn::after,
  .site-header .burger::before,
  .site-header .burger::after,
  .side-nav a::before,
  .side-nav a::after,
  .side-nav button::before,
  .side-nav button::after {
    display: none !important;
  }

body .hero .info-grid #openFontFinancialHelpCard.info-card.info-card-action {
    background: rgba(255, 255, 255, 0.13) !important;
    background-image: none !important;
    background-color: rgba(255, 255, 255, 0.13) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: var(--shadow) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body .hero .info-grid #openFontFinancialHelpCard.info-card.info-card-action:hover,
  body .hero .info-grid #openFontFinancialHelpCard.info-card.info-card-action:focus-visible {
    background: rgba(255, 255, 255, 0.18) !important;
    background-image: none !important;
    background-color: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    box-shadow: var(--shadow-lg) !important;
    transform: translateY(-4px) !important;
  }

@media (max-width: 768px) {
    /* Делаем расстояние от верха первого hero-блока до рамки-бейджа таким же, как в sila-zhit: 32px. */
    html body section.hero:first-of-type > .hero-content {
      padding-top: 32px !important;
    }

    /* На страницах index/laboratory дополнительный верхний отступ был у внутренней обёртки. */
    html body section.hero:first-of-type > .hero-content > .hero-inner,
    html body section.hero:first-of-type > .hero-content > .hero-text {
      margin-top: 0 !important;
      padding-top: 0 !important;
    }

    html body section.hero:first-of-type > .hero-content .hero-badge,
    html body section.hero:first-of-type > .hero-content .positions-choice-badge {
      margin-top: 0 !important;
    }
  }

/* Единая гарнитура сайта по эталону 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;
  }

/* После устранения дублирующихся id сохраняем прежний вид всех кнопок пожертвования фонда. */
  body button.contract-btn.contract-btn-placeholder[data-fundpl-help-trigger="1"] {
    background: var(--site-final-placdarm-gradient, var(--site-picture-blue-gradient, var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)))) !important;
    background-image: var(--site-final-placdarm-gradient, var(--site-picture-blue-gradient, var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)))) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-final-placdarm-shadow, var(--site-picture-blue-shadow, 0 12px 30px rgba(37, 84, 100, 0.28))) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body button.contract-btn.contract-btn-placeholder[data-fundpl-help-trigger="1"]:hover,
  body button.contract-btn.contract-btn-placeholder[data-fundpl-help-trigger="1"]:focus-visible {
    background: var(--site-final-placdarm-gradient-hover, var(--site-picture-blue-gradient-hover, var(--flow-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)))) !important;
    background-image: var(--site-final-placdarm-gradient-hover, var(--site-picture-blue-gradient-hover, var(--flow-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)))) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--site-final-placdarm-shadow-hover, var(--site-picture-blue-shadow-hover, 0 16px 36px rgba(37, 84, 100, 0.36))) !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;
    }
  }

:root {
    --site-picture-blue-dark: #2f7085;
    --site-picture-blue-mid: #3f93ad;
    --site-picture-blue-light: #92cbdb;
    --site-picture-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --site-picture-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --site-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --site-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);

    --flow-gradient: var(--site-picture-blue-gradient) !important;
    --flow-gradient-hover: var(--site-picture-blue-gradient-hover) !important;
    --site-fund-btn-bg: var(--site-picture-blue-gradient) !important;
    --site-fund-btn-bg-hover: var(--site-picture-blue-gradient-hover) !important;
    --site-financial-news-gradient: var(--site-picture-blue-gradient) !important;
    --site-financial-news-gradient-hover: var(--site-picture-blue-gradient-hover) !important;
  }

  body :is(
    #siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC,
    .site-header .header-actions .home-link.top-news-btn,
    .site-header .header-actions .home-link.top-home-btn,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn.primary,
    .site-header .header-actions .top-btn.secondary,
    .site-header .burger,
    .side-nav a,
    .side-nav button,
    a.contract-btn,
    button.contract-btn,
    .contract-btn,
    .contract-btn-placeholder,
    .fund-action-row .contract-btn,
    .fund-action-row .contract-btn-placeholder,
    .fund-choice-link,
    .hero-card-btn,
    .hero-service-card,
    .hero-service-card-btn,
    .history-action-btn,
    .history-action-btn-placeholder,
    .character-choice-section .history-action-btn,
    .submit-btn,
    .submit-btn.is-sending,
    .social-legal-submit-btn,
    .social-legal-submit-btn.is-sending,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .benefit-modal-action .contract-btn,
    .benefit-details-btn,
    .calc-tab-btn,
    .calc-tab-btn.active,
    .money-reset-btn,
    #moneyCalcReset.money-reset-btn,
    .payment-switch-btn,
    .payment-switch-btn.active,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-btn,
    .search-action-btn,
    .video-switch-btn,
    .hero-btn.primary.callback-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .vk-btn.primary,
    .vk-btn.secondary,
    .user-news-primary-link,
    .vk-tab.active,
    .user-news-page .vk-tab.active,
    .user-news-page .vk-tab:hover,
    .user-search-card--hero .vk-tab.active,
    .user-search-card--hero .vk-tab:hover,
    .help-choice-modal-action > button,
    .help-choice-modal-action > .contract-btn,
    .help-choice-grid > button,
    .help-choice-grid > .contract-btn,
    .info-card-action,
    .scroll-top-btn,
    #scrollTopBtn,
    input[type="submit"].submit-btn,
    input[type="button"].submit-btn
  ) {
    background: var(--site-picture-blue-gradient) !important;
    background-image: var(--site-picture-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-picture-blue-shadow) !important;
    text-decoration: none !important;
  }

  body :is(
    #siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC,
    .site-header .header-actions .home-link.top-news-btn:hover,
    .site-header .header-actions .home-link.top-news-btn:focus-visible,
    .site-header .header-actions .home-link.top-news-btn:active,
    .site-header .header-actions .home-link.top-home-btn:hover,
    .site-header .header-actions .home-link.top-home-btn:focus-visible,
    .site-header .header-actions .home-link.top-home-btn:active,
    .site-header .header-actions .home-link:hover,
    .site-header .header-actions .home-link:focus-visible,
    .site-header .header-actions .home-link:active,
    .site-header .header-actions .top-btn.primary:hover,
    .site-header .header-actions .top-btn.primary:focus-visible,
    .site-header .header-actions .top-btn.secondary:hover,
    .site-header .header-actions .top-btn.secondary:focus-visible,
    .site-header .burger:hover,
    .site-header .burger:focus-visible,
    .side-nav a:hover,
    .side-nav a:focus-visible,
    .side-nav a.active,
    .side-nav button:hover,
    .side-nav button:focus-visible,
    a.contract-btn:hover,
    a.contract-btn:focus-visible,
    button.contract-btn:hover,
    button.contract-btn:focus-visible,
    .contract-btn:hover,
    .contract-btn:focus-visible,
    .contract-btn.active,
    .contract-btn-placeholder:hover,
    .fund-action-row .contract-btn:hover,
    .fund-action-row .contract-btn:focus-visible,
    .fund-choice-link:hover,
    .fund-choice-link:focus-visible,
    .hero-card-btn:hover,
    .hero-card-btn:focus-visible,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    .hero-service-card-btn:hover,
    .hero-service-card-btn:focus-visible,
    .history-action-btn:hover,
    .history-action-btn:focus-visible,
    .submit-btn:hover,
    .submit-btn:focus-visible,
    .social-legal-submit-btn:hover,
    .social-legal-submit-btn:focus-visible,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .benefit-modal-action .contract-btn:focus-visible,
    .benefit-details-btn:hover,
    .benefit-details-btn:focus-visible,
    .calc-tab-btn:hover,
    .calc-tab-btn:focus-visible,
    .calc-tab-btn.active,
    .calc-tab-btn.active:hover,
    .calc-tab-btn.active:focus-visible,
    .money-reset-btn:hover,
    .money-reset-btn:focus-visible,
    #moneyCalcReset.money-reset-btn:hover,
    #moneyCalcReset.money-reset-btn:focus-visible,
    .payment-switch-btn:hover,
    .payment-switch-btn:focus-visible,
    .payment-switch-btn.active,
    .payment-switch-btn.active:hover,
    .payment-switch-btn.active:focus-visible,
    .pay-link-btn:hover,
    .pay-link-btn:focus-visible,
    .download-btn:hover,
    .download-btn:focus-visible,
    .doc-btn:hover,
    .doc-btn:focus-visible,
    .back-link:hover,
    .back-link:focus-visible,
    .search-btn:hover,
    .search-btn:focus-visible,
    .search-action-btn:hover,
    .search-action-btn:focus-visible,
    .video-switch-btn:hover,
    .video-switch-btn:focus-visible,
    .hero-btn.primary.callback-btn:hover,
    .hero-btn.primary.callback-btn:focus-visible,
    .pdf-download-card-btn:hover,
    .pdf-download-card-btn:focus-visible,
    .pdf-modal-download-btn:hover,
    .pdf-modal-download-btn:focus-visible,
    .btn:hover,
    .btn:focus-visible,
    .btn-return-home:hover,
    .btn-return-home:focus-visible,
    .feedback-submit:hover,
    .feedback-submit:focus-visible,
    .vk-btn:hover,
    .vk-btn:focus-visible,
    .user-news-primary-link:hover,
    .user-news-primary-link:focus-visible,
    .vk-tab.active,
    .vk-tab:hover,
    .vk-tab:focus-visible,
    .user-news-page .vk-tab.active,
    .user-news-page .vk-tab:hover,
    .user-news-page .vk-tab:focus-visible,
    .user-search-card--hero .vk-tab.active,
    .user-search-card--hero .vk-tab:hover,
    .user-search-card--hero .vk-tab:focus-visible,
    .help-choice-modal-action > button:hover,
    .help-choice-modal-action > button:focus-visible,
    .help-choice-modal-action > .contract-btn:hover,
    .help-choice-modal-action > .contract-btn:focus-visible,
    .help-choice-grid > button:hover,
    .help-choice-grid > button:focus-visible,
    .help-choice-grid > .contract-btn:hover,
    .help-choice-grid > .contract-btn:focus-visible,
    .info-card-action:hover,
    .info-card-action:focus-visible,
    .scroll-top-btn:hover,
    .scroll-top-btn:focus-visible,
    #scrollTopBtn:hover,
    #scrollTopBtn:focus-visible
  ) {
    background: var(--site-picture-blue-gradient-hover) !important;
    background-image: var(--site-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--site-picture-blue-shadow-hover) !important;
  }

  body :is(
    #siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC,
    .submit-btn:disabled,
    .submit-btn.is-sending,
    .submit-btn.is-sending:disabled,
    .social-legal-submit-btn:disabled,
    .social-legal-submit-btn.is-sending,
    .social-legal-submit-btn.is-sending:disabled,
    .service-modal-footer .submit-btn.is-sending,
    .contract-modal-footer .submit-btn.is-sending,
    .payment-switch-btn.active,
    .calc-tab-btn.active,
    #moneyCalcReset.money-reset-btn[aria-disabled="true"]
  ) {
    background: var(--site-picture-blue-gradient) !important;
    background-image: var(--site-picture-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
  }

  body :is(
    #siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC,
    .hero-service-card,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    .info-card-action,
    .info-card-action:hover,
    .info-card-action:focus-visible,
    .contract-btn,
    .history-action-btn,
    .payment-switch-btn,
    .calc-tab-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link
  ) :is(span, strong, small, em, b, p, h1, h2, h3, h4, h5, h6, .info-card-cta, .hero-service-card-btn) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body :is(#siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC, .site-header .burger) span {
    background: #ffffff !important;
  }

  body :is(
    #siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC,
    .contract-btn,
    .history-action-btn,
    .hero-card-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .calc-tab-btn,
    .money-reset-btn,
    .payment-switch-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link,
    .scroll-top-btn,
    #scrollTopBtn
  )::before,
  body :is(
    #siteBlueSpecificityA#siteBlueSpecificityB#siteBlueSpecificityC,
    .contract-btn,
    .history-action-btn,
    .hero-card-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .calc-tab-btn,
    .money-reset-btn,
    .payment-switch-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link,
    .scroll-top-btn,
    #scrollTopBtn
  )::after {
    background: transparent !important;
  }

:root {
    --site-transparent-card-bg: rgba(255, 255, 255, 0.13);
    --site-transparent-card-bg-hover: rgba(255, 255, 255, 0.18);
    --site-transparent-card-border: rgba(255, 255, 255, 0.14);
    --site-transparent-card-border-hover: rgba(255, 255, 255, 0.24);
    --site-transparent-action-bg: rgba(255, 255, 255, 0.38);
    --site-transparent-action-bg-hover: rgba(255, 255, 255, 0.52);
  }

  
  body :is(
    #siteTransparentCardA#siteTransparentCardB#siteTransparentCardC,
    .hero-card,
    button.hero-card,
    a.hero-card,
    .social-pdf-click-card,
    .hero-service-card,
    button.hero-service-card,
    a.hero-service-card,
    #openMilitaryCalcCard,
    #openContractBenefitCard,
    #openRealEstateRequestCard,
    .info-card.info-card-action,
    button.info-card.info-card-action,
    a.info-card.info-card-action
  ) {
    background: var(--site-transparent-card-bg) !important;
    background-image: none !important;
    background-color: var(--site-transparent-card-bg) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid var(--site-transparent-card-border) !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
  }

  body :is(
    #siteTransparentCardA#siteTransparentCardB#siteTransparentCardC,
    .hero-card:hover,
    .hero-card:focus-visible,
    button.hero-card:hover,
    button.hero-card:focus-visible,
    a.hero-card:hover,
    a.hero-card:focus-visible,
    .social-pdf-click-card:hover,
    .social-pdf-click-card:focus-visible,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    button.hero-service-card:hover,
    button.hero-service-card:focus-visible,
    a.hero-service-card:hover,
    a.hero-service-card:focus-visible,
    #openMilitaryCalcCard:hover,
    #openMilitaryCalcCard:focus-visible,
    #openContractBenefitCard:hover,
    #openContractBenefitCard:focus-visible,
    #openRealEstateRequestCard:hover,
    #openRealEstateRequestCard:focus-visible,
    .info-card.info-card-action:hover,
    .info-card.info-card-action:focus-visible
  ) {
    background: var(--site-transparent-card-bg-hover) !important;
    background-image: none !important;
    background-color: var(--site-transparent-card-bg-hover) !important;
    border-color: var(--site-transparent-card-border-hover) !important;
    box-shadow: var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, 0.12)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body :is(
    #siteTransparentCardA#siteTransparentCardB#siteTransparentCardC,
    .hero-card,
    .hero-service-card,
    .info-card.info-card-action,
    .social-pdf-click-card
  ) :is(
    .hero-card-title,
    .hero-service-card-title,
    .hero-card-text,
    .hero-service-card-text,
    .info-card-cta,
    h3,
    p,
    span,
    strong,
    small
  ) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  
  body :is(
    #siteTransparentCardBtnA#siteTransparentCardBtnB#siteTransparentCardBtnC,
    .hero-card .hero-card-btn,
    .hero-card-btn,
    .hero-service-card .hero-service-card-btn,
    .hero-service-card-btn.hero-card-btn,
    #openMilitaryCalcCard .hero-service-card-btn,
    #openContractBenefitCard .hero-service-card-btn,
    #openRealEstateRequestCard .hero-service-card-btn,
    .social-pdf-click-card .social-pdf-click-card-btn,
    .social-pdf-click-card-btn,
    .info-card.info-card-action .info-card-cta,
    .info-card .info-card-action:not(.info-card)
  ) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    inline-size: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin-top: auto !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  body :is(
    #siteTransparentCardBtnA#siteTransparentCardBtnB#siteTransparentCardBtnC,
    .hero-card .hero-card-btn:hover,
    .hero-card .hero-card-btn:focus-visible,
    .hero-card-btn:hover,
    .hero-card-btn:focus-visible,
    .hero-service-card .hero-service-card-btn:hover,
    .hero-service-card .hero-service-card-btn:focus-visible,
    .hero-service-card-btn.hero-card-btn:hover,
    .hero-service-card-btn.hero-card-btn:focus-visible,
    #openMilitaryCalcCard .hero-service-card-btn:hover,
    #openMilitaryCalcCard .hero-service-card-btn:focus-visible,
    #openContractBenefitCard .hero-service-card-btn:hover,
    #openContractBenefitCard .hero-service-card-btn:focus-visible,
    #openRealEstateRequestCard .hero-service-card-btn:hover,
    #openRealEstateRequestCard .hero-service-card-btn:focus-visible,
    .social-pdf-click-card .social-pdf-click-card-btn:hover,
    .social-pdf-click-card .social-pdf-click-card-btn:focus-visible,
    .info-card.info-card-action .info-card-cta:hover,
    .info-card.info-card-action .info-card-cta:focus-visible,
    .info-card .info-card-action:not(.info-card):hover,
    .info-card .info-card-action:not(.info-card):focus-visible
  ) {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    border-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: translateX(2px) !important;
    opacity: 0.88 !important;
  }

  body :is(
    #siteTransparentCardBtnA#siteTransparentCardBtnB#siteTransparentCardBtnC,
    .hero-card-btn,
    .hero-service-card-btn,
    .info-card-cta,
    .social-pdf-click-card-btn
  )::before,
  body :is(
    #siteTransparentCardBtnA#siteTransparentCardBtnB#siteTransparentCardBtnC,
    .hero-card-btn,
    .hero-service-card-btn,
    .info-card-cta,
    .social-pdf-click-card-btn
  )::after {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  
  body :is(
    #siteTransparentActionA#siteTransparentActionB#siteTransparentActionC,
    #openFundLifeDonateBtn,
    #openFundLifeDonateBtnMobile,
    #openFundPlHelpBtn,
    #openFundPlHelpBtnMobile,
    #openFundLabsDonateBtn,
    #openFundLabsDonateBtnMobile,
    #openBplaSchoolDonateBtn,
    #openBplaSchoolDonateBtnMobile,
    #openFundPlFeedbackBtn,
    #openFundPlFeedbackBtnMobile,
    .fund-action-row .contract-btn-placeholder
  ) {
    background: var(--site-transparent-action-bg) !important;
    background-image: none !important;
    background-color: var(--site-transparent-action-bg) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(17, 17, 17, 0.12) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
  }

  body :is(
    #siteTransparentActionA#siteTransparentActionB#siteTransparentActionC,
    #openFundLifeDonateBtn:hover,
    #openFundLifeDonateBtn:focus-visible,
    #openFundLifeDonateBtnMobile:hover,
    #openFundLifeDonateBtnMobile:focus-visible,
    #openFundPlHelpBtn:hover,
    #openFundPlHelpBtn:focus-visible,
    #openFundPlHelpBtnMobile:hover,
    #openFundPlHelpBtnMobile:focus-visible,
    #openFundLabsDonateBtn:hover,
    #openFundLabsDonateBtn:focus-visible,
    #openFundLabsDonateBtnMobile:hover,
    #openFundLabsDonateBtnMobile:focus-visible,
    #openBplaSchoolDonateBtn:hover,
    #openBplaSchoolDonateBtn:focus-visible,
    #openBplaSchoolDonateBtnMobile:hover,
    #openBplaSchoolDonateBtnMobile:focus-visible,
    #openFundPlFeedbackBtn:hover,
    #openFundPlFeedbackBtn:focus-visible,
    #openFundPlFeedbackBtnMobile:hover,
    #openFundPlFeedbackBtnMobile:focus-visible,
    .fund-action-row .contract-btn-placeholder:hover,
    .fund-action-row .contract-btn-placeholder:focus-visible
  ) {
    background: var(--site-transparent-action-bg-hover) !important;
    background-image: none !important;
    background-color: var(--site-transparent-action-bg-hover) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border-color: rgba(17, 17, 17, 0.18) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10) !important;
  }

:root {
    --site-final-placdarm-gradient: var(--site-picture-blue-gradient, var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)));
    --site-final-placdarm-gradient-hover: var(--site-picture-blue-gradient-hover, var(--flow-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)));
    --site-final-placdarm-shadow: var(--site-picture-blue-shadow, 0 12px 30px rgba(37, 84, 100, 0.28));
    --site-final-placdarm-shadow-hover: var(--site-picture-blue-shadow-hover, 0 16px 36px rgba(37, 84, 100, 0.36));
    --site-final-home-gradient: var(--site-picture-blue-gradient, var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)));
    --site-final-home-gradient-hover: var(--site-picture-blue-gradient-hover, var(--flow-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)));
    --site-final-home-shadow: var(--site-picture-blue-shadow, 0 12px 30px rgba(37, 84, 100, 0.28));
    --site-final-home-shadow-hover: var(--site-picture-blue-shadow-hover, 0 16px 36px rgba(37, 84, 100, 0.36));
    --site-final-switch-gray: linear-gradient(135deg, #e3e6ea 0%, #c8cdd3 52%, #a7aeb7 100%);
    --site-final-switch-gray-hover: linear-gradient(135deg, #d6dbe0 0%, #bcc2c9 52%, #9aa3ad 100%);
    --site-final-switch-gray-shadow: 0 12px 26px rgba(108, 117, 125, 0.24);
  }

  
  body :is(
    #siteDonatePlacdarmA#siteDonatePlacdarmB#siteDonatePlacdarmC,
    #openFundLifeDonateBtn,
    #openFundLifeDonateBtnMobile,
    #openFundPlHelpBtn,
    #openFundPlHelpBtnMobile,
    #openFundLabsDonateBtn,
    #openFundLabsDonateBtnMobile,
    #openBplaSchoolDonateBtn,
    #openBplaSchoolDonateBtnMobile,
    .hero-info-grid button.info-card.info-card-action[aria-label="Открыть банковские реквизиты"]
  ) {
    background: var(--site-final-placdarm-gradient) !important;
    background-image: var(--site-final-placdarm-gradient) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-final-placdarm-shadow) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body :is(
    #siteDonatePlacdarmHoverA#siteDonatePlacdarmHoverB#siteDonatePlacdarmHoverC,
    #openFundLifeDonateBtn:hover,
    #openFundLifeDonateBtn:focus-visible,
    #openFundLifeDonateBtnMobile:hover,
    #openFundLifeDonateBtnMobile:focus-visible,
    #openFundPlHelpBtn:hover,
    #openFundPlHelpBtn:focus-visible,
    #openFundPlHelpBtnMobile:hover,
    #openFundPlHelpBtnMobile:focus-visible,
    #openFundLabsDonateBtn:hover,
    #openFundLabsDonateBtn:focus-visible,
    #openFundLabsDonateBtnMobile:hover,
    #openFundLabsDonateBtnMobile:focus-visible,
    #openBplaSchoolDonateBtn:hover,
    #openBplaSchoolDonateBtn:focus-visible,
    #openBplaSchoolDonateBtnMobile:hover,
    #openBplaSchoolDonateBtnMobile:focus-visible,
    .hero-info-grid button.info-card.info-card-action[aria-label="Открыть банковские реквизиты"]:hover,
    .hero-info-grid button.info-card.info-card-action[aria-label="Открыть банковские реквизиты"]:focus-visible
  ) {
    background: var(--site-final-placdarm-gradient-hover) !important;
    background-image: var(--site-final-placdarm-gradient-hover) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--site-final-placdarm-shadow-hover) !important;
  }

  body :is(
    #siteDonatePlacdarmTextA#siteDonatePlacdarmTextB#siteDonatePlacdarmTextC,
    .hero-info-grid button.info-card.info-card-action[aria-label="Открыть банковские реквизиты"]
  ) :is(h3, p, span, strong, small, .info-card-cta) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  
  body :is(
    #siteFundPlFeedbackHomeA#siteFundPlFeedbackHomeB#siteFundPlFeedbackHomeC,
    #fundPl #openFundPlFeedbackBtn,
    #fundPl #openFundPlFeedbackBtnMobile
  ) {
    background: var(--site-final-home-gradient) !important;
    background-image: var(--site-final-home-gradient) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-final-home-shadow) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body :is(
    #siteFundPlFeedbackHomeHoverA#siteFundPlFeedbackHomeHoverB#siteFundPlFeedbackHomeHoverC,
    #fundPl #openFundPlFeedbackBtn:hover,
    #fundPl #openFundPlFeedbackBtn:focus-visible,
    #fundPl #openFundPlFeedbackBtnMobile:hover,
    #fundPl #openFundPlFeedbackBtnMobile:focus-visible
  ) {
    background: var(--site-final-home-gradient-hover) !important;
    background-image: var(--site-final-home-gradient-hover) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--site-final-home-shadow-hover) !important;
  }

  
  body :is(
    #siteFinancialPlacdarmA#siteFinancialPlacdarmB#siteFinancialPlacdarmC,
    #fundPlFinancialModal #fundPlRequisitesTabBtn,
    #fundPlFinancialModal #fundPlQrTabBtn,
    #fundPlFinancialModal .payment-switch-btn,
    #fundPlFinancialModal .payment-switch-btn.active,
    #fundPlFinancialModal.fund-pl-payment-mode-empty #fundPlRequisitesTabBtn,
    #fundPlFinancialModal.fund-pl-payment-mode-empty #fundPlQrTabBtn,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlRequisitesTabBtn,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlQrTabBtn
  ) {
    background: var(--site-final-placdarm-gradient) !important;
    background-image: var(--site-final-placdarm-gradient) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-final-placdarm-shadow) !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body :is(
    #siteFinancialPlacdarmHoverA#siteFinancialPlacdarmHoverB#siteFinancialPlacdarmHoverC,
    #fundPlFinancialModal #fundPlRequisitesTabBtn:hover,
    #fundPlFinancialModal #fundPlRequisitesTabBtn:focus-visible,
    #fundPlFinancialModal #fundPlQrTabBtn:hover,
    #fundPlFinancialModal #fundPlQrTabBtn:focus-visible,
    #fundPlFinancialModal .payment-switch-btn.active:hover,
    #fundPlFinancialModal .payment-switch-btn.active:focus-visible,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlRequisitesTabBtn:hover,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlRequisitesTabBtn:focus-visible,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlQrTabBtn:hover,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlQrTabBtn:focus-visible
  ) {
    background: var(--site-final-placdarm-gradient-hover) !important;
    background-image: var(--site-final-placdarm-gradient-hover) !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--site-final-placdarm-shadow-hover) !important;
  }

  
  body :is(
    #siteFinancialGrayA#siteFinancialGrayB#siteFinancialGrayC,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlQrTabBtn,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlQrTabBtn:active,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:active
  ),
  body :is(
    #siteFinancialGrayHoverA#siteFinancialGrayHoverB#siteFinancialGrayHoverC,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlQrTabBtn:hover,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlQrTabBtn:focus-visible,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:hover,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:focus-visible
  ) {
    background: var(--site-final-switch-gray) !important;
    background-image: var(--site-final-switch-gray) !important;
    background-color: transparent !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border-color: rgba(17, 17, 17, 0.14) !important;
    box-shadow: var(--site-final-switch-gray-shadow) !important;
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body :is(
    #siteFinancialGrayHoverOnlyA#siteFinancialGrayHoverOnlyB#siteFinancialGrayHoverOnlyC,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlQrTabBtn:hover,
    #fundPlFinancialModal.fund-pl-payment-mode-requisites #fundPlQrTabBtn:focus-visible,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:hover,
    #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:focus-visible
  ) {
    background: var(--site-final-switch-gray-hover) !important;
    background-image: var(--site-final-switch-gray-hover) !important;
  }

.children-help-section {
    position: relative !important;
    overflow: hidden !important;
    /* Файл фона хранится в папке images: images/children_help_background.JPG */
    background-image: url("images/children_help_background.JPG") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;
  }

  .children-help-section > * {
    position: relative !important;
    z-index: 1 !important;
  }

  .children-help-section .children-help-main-image-frame,
  .children-help-section .children-help-main-image {
    position: relative !important;
    z-index: 2 !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;
    }
  }

/* Десктоп не меняем: сохраняем строку "БЛАГОТВОРИТЕЛЬНЫЙ ФОНД" + строку "«ПлАЦДАРМ»". */
  html body .hero h1.font-hero-title-split .font-hero-title-mobile-line { display: none !important; }
  html body .hero h1.font-hero-title-split .font-hero-title-desktop-line,
  html body .hero h1.font-hero-title-split .font-hero-title-placdarm-line { display: block !important; }

  html body #officeFeedbackModal .oai-font-feedback-select-wrap { display: none; }

  @media (max-width: 768px) {
    /* 1. Мобильный заголовок: БЛАГОТВОРИТЕЛЬНЫЙ / ФОНД / «ПлАЦДАРМ». */
    html body .hero h1.font-hero-title-split {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      text-align: center !important;
      line-height: 1.08 !important;
      letter-spacing: 0 !important;
      box-sizing: border-box !important;
    }
    html body .hero h1.font-hero-title-split .font-hero-title-desktop-line { display: none !important; }
    html body .hero h1.font-hero-title-split .font-hero-title-mobile-line,
    html body .hero h1.font-hero-title-split .font-hero-title-placdarm-line {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      text-align: center !important;
      align-self: center !important;
      white-space: nowrap !important;
      overflow-wrap: normal !important;
      word-break: normal !important;
      hyphens: none !important;
    }
    html body .hero h1.font-hero-title-split .font-hero-title-mobile-line-long {
      font-size: clamp(18px, 5.55vw, 24px) !important;
      line-height: 1.12 !important;
      letter-spacing: -0.01em !important;
    }

    /* 2-3. Карточки "ОБРАТНАЯ СВЯЗЬ" и "ПОЖЕРТВОВАТЬ" как карточка "ЛЬГОТЫ..." из index. */
    html body .hero .hero-content .info-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      align-items: stretch !important;
      gap: 16px !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      box-sizing: border-box !important;
    }
    html body .hero .hero-content .info-grid > .info-card.info-card-action,
    html body .hero .hero-content .info-grid > button.info-card.info-card-action {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: 212px !important;
      min-height: 212px !important;
      max-height: 212px !important;
      padding: 22px 20px !important;
      box-sizing: border-box !important;
      display: grid !important;
      grid-template-rows: auto minmax(0, 1fr) auto !important;
      align-content: start !important;
      align-items: start !important;
      justify-content: stretch !important;
      gap: 10px !important;
      overflow: hidden !important;
    }
    html body .hero .hero-content .info-grid > .info-card.info-card-action > h3,
    html body .hero .hero-content .info-grid > button.info-card.info-card-action > h3 {
      width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 18px !important;
      line-height: 1.28 !important;
      font-weight: 900 !important;
      text-transform: uppercase !important;
      letter-spacing: 0 !important;
      text-align: left !important;
    }
    html body .hero .hero-content .info-grid > .info-card.info-card-action > p,
    html body .hero .hero-content .info-grid > button.info-card.info-card-action > p {
      width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      color: rgba(255, 255, 255, 0.86) !important;
      -webkit-text-fill-color: rgba(255, 255, 255, 0.86) !important;
      font-size: 14px !important;
      line-height: 1.45 !important;
      align-self: stretch !important;
      overflow: visible !important;
    }
    html body .hero .hero-content .info-grid > .info-card.info-card-action > .info-card-cta,
    html body .hero .hero-content .info-grid > button.info-card.info-card-action > .info-card-cta {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      min-height: 0 !important;
      height: auto !important;
      margin-top: auto !important;
      padding: 0 !important;
      justify-self: start !important;
      align-self: end !important;
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 800 !important;
      background: transparent !important;
      box-shadow: none !important;
      border: none !important;
      border-radius: 0 !important;
    }

    /* 4. Кнопки в модалках фонда — в левой части, с размером кнопки "ОСТАВИТЬ ЗАЯВКУ" из окна "Краснодар". */
    html body #fundPlFinancialModal .fund-contract-like-footer,
    html body #fundPlFinancialModal .financial-payment-footer,
    html body #fundPlMaterialModal .fund-contract-like-footer,
    html body #officeFeedbackModal .social-legal-modal-footer {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
      justify-items: start !important;
      align-items: center !important;
      align-content: center !important;
      text-align: left !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      padding: 12px 14px !important;
      box-sizing: border-box !important;
      overflow: hidden !important;
    }
    html body #fundPlFinancialModal .payment-switcher,
    html body #fundPlFinancialModal .pay-actions,
    html body #fundPlFinancialModal .financial-payment-submit-actions {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
      justify-items: start !important;
      align-items: center !important;
      align-content: center !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      box-sizing: border-box !important;
    }
    html body #fundPlFinancialModal .payment-switcher > .payment-switch-btn,
    html body #fundPlFinancialModal .payment-switch-btn,
    html body #fundPlFinancialModal .pay-actions > .pay-link-btn,
    html body #fundPlFinancialModal .financial-payment-submit-actions > .pay-link-btn,
    html body #fundPlFinancialModal .pay-link-btn,
    html body #fundPlMaterialModal .fund-contract-like-footer > .submit-btn,
    html body #officeFeedbackModal .social-legal-modal-footer > button#officeFeedbackSubmitBtn.social-legal-submit-btn,
    html body #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 0 0 min(6.4cm, 100%) !important;
      width: min(6.4cm, 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(6.4cm, 100%) !important;
      height: 48px !important;
      min-height: 48px !important;
      max-height: 48px !important;
      block-size: 48px !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      padding: 0 16px !important;
      justify-self: start !important;
      align-self: center !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 15px !important;
      line-height: 1.15 !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
      text-align: center !important;
      white-space: normal !important;
      text-transform: none !important;
    }

    /* 5. Длинные 8 пунктов темы обращения остаются внутри рамки и модального окна. */
    html body #officeFeedbackModal,
    html body #officeFeedbackModal .social-legal-modal-dialog,
    html body #officeFeedbackModal .social-legal-section,
    html body #officeFeedbackModal .social-legal-form-card,
    html body #officeFeedbackModal .social-legal-modal-content,
    html body #officeFeedbackModal .social-legal-modal-body,
    html body #officeFeedbackModal .social-legal-form-group {
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    html body #officeFeedbackModal select#officeFeedbackQuestion.oai-font-feedback-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 #officeFeedbackModal .oai-font-feedback-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 #officeFeedbackModal .oai-font-feedback-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 #officeFeedbackModal .oai-font-feedback-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 #officeFeedbackModal .oai-font-feedback-select-wrap.open .oai-font-feedback-select-trigger::after { transform: translateY(-30%) rotate(225deg) !important; }
    html body #officeFeedbackModal .oai-font-feedback-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 #officeFeedbackModal .oai-font-feedback-select-wrap.open .oai-font-feedback-select-menu {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 6px !important;
    }
    html body #officeFeedbackModal .oai-font-feedback-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 #officeFeedbackModal .oai-font-feedback-select-option.is-selected,
    html body #officeFeedbackModal .oai-font-feedback-select-option:hover,
    html body #officeFeedbackModal .oai-font-feedback-select-option:focus-visible {
      background: #eaf1fb !important;
      outline: none !important;
    }
    html body #officeFeedbackModal .oai-font-feedback-select-wrap.is-invalid .oai-font-feedback-select-trigger {
      border-color: #b3261e !important;
      box-shadow: 0 0 0 2px rgba(179, 38, 30, 0.12) !important;
    }
  }

/* Финальный безопасный слой мобильной адаптации.
   Правила ограничены ширинами до 768px и не меняют компьютерную версию. */
@media (max-width: 768px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

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

  main,
  section,
  article,
  header,
  footer,
  nav,
  form,
  fieldset,
  .container,
  .wrapper,
  .inner,
  .content,
  .page,
  .page-content,
  .main-content,
  .hero,
  .hero-inner,
  .hero-content,
  .hero-text,
  .cards,
  .card-grid,
  .grid,
  .row,
  .columns,
  .form-row,
  .modal-form-layout,
  .modal-scroll-layout,
  .contract-modal-form,
  .service-modal-form,
  .office-map-modal-grid {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  img,
  picture,
  video,
  canvas,
  svg,
  iframe,
  embed,
  object {
    max-width: 100% !important;
  }

  img,
  picture,
  video,
  canvas,
  svg {
    height: auto;
  }

  iframe,
  embed,
  object {
    width: 100% !important;
  }

  p,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  a,
  span,
  strong,
  b,
  div,
  label,
  small,
  button,
  input,
  textarea,
  select {
    overflow-wrap: break-word;
    word-break: normal;
  }

  table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
  }

  th,
  td {
    min-width: 0 !important;
    overflow-wrap: break-word;
  }

  input,
  select,
  textarea {
    width: 100%;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  button,
  .btn,
  .button,
  .site-button,
  .action-button,
  .feedback-open-modal-btn,
  .hero-action-card,
  .click-card,
  .help-choice-card,
  .benefit-card,
  .document-card,
  .news-card,
  .review-card,
  .position-card,
  .lab-card,
  .school-card {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .material-sheet,
  .help-popup-card {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-height: calc(100svh - 24px);
    overflow-x: hidden;
  }

  .modal-body,
  .contract-modal-body,
  .service-modal-body,
  .benefit-modal-body,
  .social-legal-modal-body,
  .help-choice-modal-body,
  .modal-form-body,
  .pdf-downloads-modal-body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  .modal-header,
  .modal-footer,
  .modal-form-footer,
  .contract-modal-footer,
  .service-modal-footer,
  .benefit-modal-footer,
  .social-legal-modal-header,
  .social-legal-modal-footer,
  .help-choice-modal-header {
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: wrap;
  }

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

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

@media (max-width: 390px) {
  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .material-sheet,
  .help-popup-card {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Safe mobile-only refinement: modal sizing, map frames, long links, and scroll containment.
   Desktop styles are intentionally untouched. */
@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  body.modal-open,
  body.contract-modal-open,
  body.calc-modal-open,
  body.service-modal-open,
  body.social-legal-modal-open,
  body.help-choice-modal-open {
    overflow: hidden !important;
  }

  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    min-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .modal.active,
  .modal.show,
  .modal.open,
  .modal.is-active,
  .social-legal-modal.active,
  .social-legal-modal.show,
  .social-legal-modal.open,
  .social-legal-modal.is-active {
    display: flex !important;
  }

  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .material-sheet,
  .help-popup-card,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .fund-contract-like-modal,
  .training-application-modal,
  .feedback-modal-content {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .modal-header,
  .modal-sheet-header,
  .contract-modal-header,
  .service-modal-header,
  .benefit-modal-header,
  .help-choice-modal-header,
  .social-legal-modal-header,
  .financial-sheet-header,
  .office-map-header,
  .pdf-downloads-modal-header {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .modal-scroll-layout,
  .modal-form-layout,
  .contract-modal-form,
  .service-modal-form,
  .fund-contract-like-form,
  .financial-modal-layout,
  .training-application-form,
  .feedback-modal-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .modal-body,
  .contract-modal-body,
  .service-modal-body,
  .benefit-modal-body,
  .help-choice-modal-body,
  .social-legal-modal-body,
  .modal-form-body,
  .financial-modal-body,
  .pdf-downloads-modal-body,
  .office-map-body,
  .fund-contract-like-body,
  .training-application-body,
  .feedback-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .modal-footer,
  .modal-form-footer,
  .form-actions,
  .contract-modal-footer,
  .service-modal-footer,
  .benefit-modal-action,
  .social-legal-modal-footer,
  .help-choice-modal-action,
  .fund-contract-like-footer,
  .office-map-footer {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .modal-content a,
  .contract-modal-content a,
  .service-modal-content a,
  .social-legal-modal-content a,
  .material-sheet a,
  .form-consent a,
  .consent a,
  .privacy-consent a,
  .personal-data-consent a,
  .policy-consent a,
  [class*="consent"] a,
  [class*="policy"] a {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .form-row,
  .field-row,
  .checkbox-row,
  .consent-row,
  .policy-row,
  .agreement-row,
  .modal-form-body label,
  .contract-modal-body label,
  .service-modal-body label,
  .social-legal-modal-body label {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .office-map-modal-grid,
  .map-modal-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 12px !important;
  }

  .office-map-frame,
  .map-frame,
  .office-map-embed,
  .map-embed {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .office-map-frame iframe,
  .map-frame iframe,
  .office-map-embed iframe,
  .map-embed iframe,
  #officeMapIframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: min(42vh, 320px) !important;
    height: min(42dvh, 320px) !important;
    border: 0 !important;
  }

  .side-menu {
    height: 100vh !important;
    height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

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

  table,
  .table,
  .admin-table,
  .reviews-table,
  .news-table,
  .documents-table {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  .modal,
  .social-legal-modal,
  .service-policy-overlay {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .modal-content,
  .contract-modal-content,
  .service-modal-content,
  .benefit-modal-content,
  .calc-modal-content,
  .help-choice-modal-content,
  .material-sheet,
  .help-popup-card,
  .social-legal-modal-dialog,
  .social-legal-modal-content,
  .fund-contract-like-modal,
  .training-application-modal,
  .feedback-modal-content {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }

  .office-map-frame iframe,
  .map-frame iframe,
  .office-map-embed iframe,
  .map-embed iframe,
  #officeMapIframe {
    height: min(38vh, 260px) !important;
    height: min(38dvh, 260px) !important;
  }
}

/* High-specificity mobile map/modal guard for pages with page-level map overrides. */
@media (max-width: 768px) {
  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .map-modal-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .office-map-frame,
  html body #officeMapModal .map-frame,
  html body #officeMapModal .office-map-embed,
  html body #officeMapModal .map-embed {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .office-map-frame iframe,
  html body #officeMapModal .map-frame iframe,
  html body #officeMapModal .office-map-embed iframe,
  html body #officeMapModal .map-embed iframe,
  html body #officeMapModal #officeMapIframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: min(42vh, 320px) !important;
    height: min(42dvh, 320px) !important;
    border: 0 !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal .office-map-frame iframe,
  html body #officeMapModal .map-frame iframe,
  html body #officeMapModal .office-map-embed iframe,
  html body #officeMapModal .map-embed iframe,
  html body #officeMapModal #officeMapIframe {
    height: min(38vh, 260px) !important;
    height: min(38dvh, 260px) !important;
  }
}

/* High-specificity mobile positioning for office map/feedback modals that have page-level header-offset rules. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    min-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-modal-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }
}

@media (max-width: 768px) {
    /* 1. В первом заголовке слово «БЛАГОТВОРИТЕЛЬНЫЙ» делаем того же размера, что и строка «ФОНД». */
    html body section.hero:first-of-type h1.font-hero-title-split .font-hero-title-mobile-line-long {
      font-size: inherit !important;
      line-height: inherit !important;
      letter-spacing: 0 !important;
    }

    /* 2. Описание первого блока ставим как в sila-zhit: та же левая граница, ширина и выравнивание текста. */
    html body section.hero:first-of-type .hero-description {
      align-self: flex-start !important;
      width: calc(100% - 8px) !important;
      max-width: calc(100% - 8px) !important;
      margin-left: 6px !important;
      margin-right: 2px !important;
      text-align: left !important;
      font-size: clamp(15px, 4vw, 18px) !important;
      line-height: 1.55 !important;
    }

    /* 3. Заголовок второго блока по размеру синхронизирован с h2 второго блока sila-zhit. */
    html body section.about-section.about-section-placdarm > h2#about-title {
      font-size: clamp(22px, 7vw, 32px) !important;
      line-height: 1.18 !important;
      letter-spacing: 0 !important;
    }

    /* 4. Во второй карточке второго блока текст отводим от левой рамки так же, как список «Основные цели». */
    html body section.about-section.about-section-placdarm .about-grid > .about-card:nth-child(2) > h3,
    html body section.about-section.about-section-placdarm .about-grid > .about-card:nth-child(2) > li {
      margin-left: 22px !important;
      width: calc(100% - 22px) !important;
      max-width: calc(100% - 22px) !important;
      box-sizing: border-box !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;
  }
}

/* Мобильная синхронизация размеров шрифта в футерных окнах
   «Краснодар» и «Донецк» с эталоном index.html.
   Работает только на мобильной ширине, ПК-версию не меняет. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeMapModal.social-legal-modal * {
    font-family: Arial, Helvetica, sans-serif !important;
  }

  html body #officeMapModal .social-legal-modal-header h2,
  html body #officeMapModal #officeMapModalTitle {
    font-size: 21.6px !important;
    font-weight: 700 !important;
    line-height: 25.92px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModalSubtitle,
  html body #officeMapModal .social-legal-form-subtitle {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 17.5px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModal .office-contacts-block h3 {
    font-size: 16.8px !important;
    font-weight: 800 !important;
    line-height: 21.84px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModal .office-contacts-block .office-addr,
  html body #officeMapModal .office-contacts-block p.office-addr,
  html body #officeMapModal .office-contacts-block li,
  html body #officeMapModal .office-contacts-block li *,
  html body #officeMapModal .office-contacts-block a {
    font-size: 16px !important;
    line-height: 22.4px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body #officeMapModal #officeFeedbackBtn.social-legal-submit-btn,
  html body #officeMapModal .social-legal-modal-footer button#officeFeedbackBtn.social-legal-submit-btn {
    font-size: 14px !important;
    line-height: 1.12 !important;
  }
}

/* Финальная мобильная правка font.html: заголовок первого блока
     повторяет размер заголовка первого блока index.html и центрируется.
     ПК-версия не затрагивается. */
  @media (max-width: 768px) {
    html body section.hero:first-of-type h1.font-hero-title-split,
    html body .hero h1.hero-title-two-lines.font-hero-title-split {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      align-self: center !important;
      justify-self: center !important;
      text-align: center !important;
      font-size: clamp(24px, 7vw, 34px) !important;
      line-height: 1.05 !important;
      font-weight: 900 !important;
      letter-spacing: 0 !important;
      box-sizing: border-box !important;
    }

    html body section.hero:first-of-type h1.font-hero-title-split .hero-title-line,
    html body section.hero:first-of-type h1.font-hero-title-split .font-hero-title-mobile-line,
    html body section.hero:first-of-type h1.font-hero-title-split .font-hero-title-mobile-line-long,
    html body section.hero:first-of-type h1.font-hero-title-split .font-hero-title-placdarm-line,
    html body .hero h1.hero-title-two-lines.font-hero-title-split .hero-title-line,
    html body .hero h1.hero-title-two-lines.font-hero-title-split .font-hero-title-mobile-line,
    html body .hero h1.hero-title-two-lines.font-hero-title-split .font-hero-title-mobile-line-long,
    html body .hero h1.hero-title-two-lines.font-hero-title-split .font-hero-title-placdarm-line {
      font-size: inherit !important;
      line-height: inherit !important;
      font-weight: inherit !important;
      letter-spacing: inherit !important;
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
      box-sizing: border-box !important;
    }
  }

  @media (max-width: 480px) {
    html body section.hero:first-of-type h1.font-hero-title-split,
    html body .hero h1.hero-title-two-lines.font-hero-title-split {
      font-size: clamp(22px, 8vw, 30px) !important;
    }
  }

  @media (max-width: 380px) {
    html body section.hero:first-of-type h1.font-hero-title-split,
    html body .hero h1.hero-title-two-lines.font-hero-title-split {
      font-size: clamp(28px, 8.8vw, 34px) !important;
    }
  }

/* Блок "Помощь детям": фоновое изображение хранится в папке images: images/children_help_background.JPG */
  html body #fundPlChildren#fundPlChildren#fundPlChildren.children-help-section {
    background: #ffffff url("images/children_help_background.JPG") center center / cover no-repeat !important;
    background-image: url("images/children_help_background.JPG") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;
  }

  /* Кнопка "ПОЖЕРТВОВАТЬ" в блоке "Помощь детям" получает тот же цвет, что и кнопка "ПОМОЩЬ ДЕТЯМ". */
  html body #fundPlChildren#fundPlChildren#fundPlChildren button#openFundPlChildrenHelpBtn.contract-btn.contract-btn-placeholder,
  html body #fundPlChildren#fundPlChildren#fundPlChildren button#openFundPlChildrenHelpBtnMobile.contract-btn.contract-btn-placeholder {
    background: var(--site-picture-blue-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)) !important;
    background-image: var(--site-picture-blue-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)) !important;
    background-color: transparent !important;
    border: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: var(--site-picture-blue-shadow, 0 12px 30px rgba(37, 84, 100, 0.28)) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  html body #fundPlChildren#fundPlChildren#fundPlChildren button#openFundPlChildrenHelpBtn.contract-btn.contract-btn-placeholder:hover,
  html body #fundPlChildren#fundPlChildren#fundPlChildren button#openFundPlChildrenHelpBtn.contract-btn.contract-btn-placeholder:focus-visible,
  html body #fundPlChildren#fundPlChildren#fundPlChildren button#openFundPlChildrenHelpBtnMobile.contract-btn.contract-btn-placeholder:hover,
  html body #fundPlChildren#fundPlChildren#fundPlChildren button#openFundPlChildrenHelpBtnMobile.contract-btn.contract-btn-placeholder:focus-visible {
    background: var(--site-picture-blue-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)) !important;
    background-image: var(--site-picture-blue-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)) !important;
    background-color: transparent !important;
    border: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: var(--site-picture-blue-shadow-hover, 0 16px 36px rgba(37, 84, 100, 0.36)) !important;
  }