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

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

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

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

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

* {
      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:
        linear-gradient(135deg, rgba(15, 20, 32, 0.82), rgba(32, 38, 52, 0.66)),
        /* Фоновое изображение для блока "Благотворительный фонд «ПлАЦДАРМ»" хранится в папке images: images/bg-index-placdarm1.JPG */
        url("images/bg-index-placdarm1.JPG") center center / 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: linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.08) 45%, rgba(255, 255, 255, 0.04) 100%);
      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.16);
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.2);
    }

    .about-section.about-section-placdarm h2,
    .about-section.about-section-placdarm .about-lead,
    .about-section.about-section-placdarm .about-lead p {
      color: #ffffff;
    }

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

  /* === universal top bar alignment + logo font sync 2026-04-04 === */
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 1.6vw, 16px) !important;
    min-width: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /* === word-based wrapping fix 2026-04 === */
    html, body {
      overflow-x: hidden;
    }

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

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

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

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

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

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

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

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

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

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

  

  /* Карточки первого блока "ПлАЦДАРМ": весь текст по левому краю */
  .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%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: Arial, Helvetica, sans-serif;
      background: var(--bg-main);
      color: var(--text-main);
      font-size: 18px;
      line-height: 1.55;
      overflow-x: hidden;
    }

    a {
      color: inherit;
    }

    button,
    input[type="submit"],
    input[type="button"],
    .side-nav a,
    .contract-btn,
    .home-link {
      text-transform: uppercase;
    }

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

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

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

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

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

    .top-btn {
      border: none;
      border-radius: 14px;
      padding: 14px 22px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

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

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

    .top-btn.secondary {
      background: var(--blue);
      color: #fff;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .hero-content {
      position: relative;
      border-radius: 34px;
      padding: 48px;
      /* Фон для 1-го блока "ТВОЙ ВЫБОР — ТВОЁ БУДУЩЕЕ".
         Картинка хранится в папке images:
         images/bg-fund-placdarm1.jpg
         Этот комментарий виден только в коде и не отображается на странице. */
      background:
        linear-gradient(135deg, rgba(22, 31, 53, 0.46), rgba(31, 43, 71, 0.40)),
        url("images/bg-fund-placdarm1.jpg") center/cover no-repeat;
      box-shadow: var(--shadow-lg);
      overflow: hidden;
    }

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

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

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

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

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

    .hero-buttons {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      justify-content: flex-end;
      width: 100%;
    }

    .hero-actions-row {
      justify-content: flex-start;
      align-items: center;
    }

    .hero-actions-row .hero-btn {
      flex: 0 0 auto;
    }

    .hero-btn {
      border: none;
      border-radius: 16px;
      padding: 16px 26px;
      font-size: 16px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

    .hero-btn.primary {
      background: var(--blue);
      color: #fff;
    }

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

    .hero-btn.secondary {
      background: var(--light-btn);
      color: var(--text-main);
    }

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

    .hero-btn.primary.callback-btn {
      background: #dff0ff;
      color: var(--text-main);
    }

    .hero-btn.primary.callback-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    #fundPl .contract-btn,
    #fundLife .contract-btn {
      background: #2f7085;
      color: var(--text-main);
    }

    #fundPl .contract-btn:hover,
    #fundLife .contract-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .hero-cards {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
      margin-top: 8px;
    }

    .hero-card {
      background: rgba(255, 255, 255, 0.13);
      backdrop-filter: blur(4px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 22px;
      padding: 20px;
      min-height: 212px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 14px;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
      cursor: pointer;
    }

    .hero-card:hover {
      transform: translateY(-4px);
      background: rgba(255, 255, 255, 0.18);
    }

    .hero-card-title {
      font-size: 18px;
      line-height: 1.28;
      font-weight: 900;
      color: #ffffff;
      text-transform: uppercase;
      min-height: 46px;
    }

    .hero-card-text {
      color: rgba(255, 255, 255, 0.86);
      font-size: 14px;
      line-height: 1.45;
      flex: 1;
      min-height: 62px;
      display: flex;
      align-items: flex-start;
    }

    .hero-card-btn {
      margin-top: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      align-self: flex-start;
      gap: 6px;
      width: auto;
      text-decoration: none;
      background: transparent;
      color: #ffffff;
      border: none;
      outline: none;
      border-radius: 0;
      padding: 0;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.2;
      text-transform: none;
      box-shadow: none;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .hero-card-btn:hover,
    .hero-card-btn:focus-visible {
      transform: translateX(2px);
      background: transparent;
      box-shadow: none;
      opacity: 0.88;
    }

    .hero-services-title {
      margin: 26px 0 14px;
      font-size: 24px;
      line-height: 1.2;
      font-weight: 900;
      color: #ffffff;
      text-transform: uppercase;
    }

    .hero-services-cards {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      width: 100%;
    }

    .hero-service-card {
      background: rgba(255, 255, 255, 0.13);
      backdrop-filter: blur(4px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 22px;
      padding: 22px 20px;
      min-height: 212px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 14px;
      text-decoration: none;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
      cursor: pointer;
    }

    .hero-service-card:hover,
    .hero-service-card:focus-visible {
      transform: translateY(-4px);
      background: rgba(255, 255, 255, 0.18);
      outline: none;
    }

    .hero-service-card-title {
      font-size: 20px;
      line-height: 1.28;
      font-weight: 900;
      color: #ffffff;
      text-transform: uppercase;
      min-height: 52px;
    }

    .hero-service-card-text {
      color: rgba(255, 255, 255, 0.86);
      font-size: 14px;
      line-height: 1.5;
      flex: 1;
    }

    .hero-service-card-btn {
      text-align: left;
      text-decoration: none;
      align-self: flex-start;
      justify-content: flex-start;
      cursor: pointer;
    }

    .hero-service-card-btn:hover,
    .hero-service-card-btn:focus-visible {
      transform: translateX(2px);
      opacity: 0.88;
      outline: none;
    }

    #openMilitaryCalcCard,
    #openIndividualSupportCard {
      text-align: left;
      align-items: flex-start;
      text-transform: none;
    }

    #openMilitaryCalcCard .hero-service-card-title,
    #openMilitaryCalcCard .hero-service-card-text,
    #openIndividualSupportCard .hero-service-card-title,
    #openIndividualSupportCard .hero-service-card-text {
      width: 100%;
      text-align: left;
    }

    #openMilitaryCalcCard .hero-service-card-btn,
    #openIndividualSupportCard .hero-service-card-btn {
      width: 100%;
      justify-content: flex-start;
      text-align: left;
    }

  .social-legal-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(4px);
    padding: 12px;
    overflow-y: auto;
  }

  .social-legal-modal.active {
    display: block;
  }

  .social-legal-modal-dialog {
    position: relative;
    width: 100%;
    max-width: 860px;
    max-height: min(88vh, 920px);
    margin: 40px auto;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .social-legal-form-card {
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 920px);
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: none;
    border-radius: 24px;
    box-shadow: none;
  }

  .social-legal-form-card::before {
    display: none;
  }

  .social-legal-modal-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .social-legal-modal-header {
    position: relative;
    flex-shrink: 0;
    padding: 24px 64px 18px 22px;
    background: #fff;
    border-bottom: 1px solid #e7edf5;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
    text-align: center;
  }

  .social-legal-modal-header h2 {
    margin: 0;
    text-align: center;
    font-size: 2rem;
    color: var(--text-main);
  }

  .social-legal-form-subtitle {
    color: var(--text-soft);
    margin: 12px auto 0;
    max-width: 620px;
    font-size: 1rem;
  }

  #socialLegalForm {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .social-legal-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 22px 22px 18px;
  }

  .social-legal-modal-footer {
    flex-shrink: 0;
    padding: 18px 22px 22px;
    background: #fff;
    border-top: 1px solid #e7edf5;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
    z-index: 2;
  }

  .social-legal-modal-close {
    position: absolute;
    right: 16px;
    top: 14px;
    background: transparent;
    border: none;
    font-size: 32px;
    cursor: pointer;
    line-height: 1;
    color: var(--text-main);
    z-index: 3;
    transition: 0.2s ease;
  }

  .social-legal-modal-close:hover {
    color: var(--blue-dark);
  }

  .social-legal-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .social-legal-form-group {
    margin-bottom: 18px;
    text-align: left;
  }

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

  .social-legal-form-group input,
  .social-legal-form-group textarea,
  .social-legal-form-group select {
    width: 100%;
    padding: 13px 14px;
    background: #ffffff;
    border: 1px solid #d8dce2;
    color: #111;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    outline: none;
    transition: 0.2s ease;
  }

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

  .social-legal-form-group textarea {
    min-height: 170px;
    resize: vertical;
  }

  .social-legal-consent-label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    line-height: 1.45;
    font-weight: 400 !important;
  }

  .social-legal-consent-label input[type="checkbox"] {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    min-height: auto;
  }

  .social-legal-consent-label a,
  .social-legal-note a {
    color: var(--blue-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 700;
  }

  .social-legal-submit-btn {
    width: 100%;
    border: none;
    border-radius: 14px;
    padding: 15px 20px;
    background: var(--blue);
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    transition: 0.25s ease;
    min-height: 54px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: var(--shadow);
  }

  .social-legal-submit-btn:hover {
    background: var(--blue-dark);
    transform: translateY(-2px);
  }

  body.index-copy-flow-active .social-legal-submit-btn {
    background: #2f7085;
    color: var(--text-main);
  }

  body.index-copy-flow-active .social-legal-submit-btn:hover {
    background: #92cbdb;
  }

  .social-legal-note {
    margin-top: 18px;
    font-size: 0.92rem;
    color: var(--text-soft);
    line-height: 1.6;
  }

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

    .section {
      background: rgba(255, 255, 255, 0.62);
      border-radius: 28px;
      padding: 30px;
      margin-bottom: 28px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255, 255, 255, 0.5);
    }

    .section h2 {
      font-size: 1.85rem;
      line-height: 1.25;
      text-align: center;
      margin-bottom: 22px;
    }

    .big-title {
      font-size: 2.1rem;
      line-height: 1.2;
      text-align: center;
      margin-bottom: 18px;
    }

    .subtitle {
      font-size: 1.15rem;
      text-align: center;
      color: var(--text-soft);
      margin-bottom: 24px;
    }

    .content-flex {
      display: flex;
      gap: 28px;
      align-items: flex-start;
      flex-wrap: wrap;
    }

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

    .video-frame {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      background: #000;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    .video-frame video,
    .video-frame img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
    }
	.custom-video-player {
  position: relative;
}

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

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

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

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

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

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

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

.video-quality-option.active {
  background: var(--blue);
  color: #ffffff;
}
.video-switcher {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.video-switch-btn {
  border: none;
  background: #2f7085;
  color: #111111;
  padding: 12px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: 0.25s ease;
}

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

.video-switch-btn.active {
  background: var(--blue);
  color: #ffffff;
}

.character-choice-section .video-part {
  display: flex;
  flex-direction: column;
}
    .video-frame video {
      object-fit: cover;
      background: #000;
    }

    #fundPl .video-frame,
    #fundLife .video-frame {
      background: #ffffff;
    }

    #fundPl .content-flex,
    #fundLife .content-flex {
      align-items: stretch;
    }

    #fundPl .text-part,
    #fundLife .text-part {
      display: flex;
      flex-direction: column;
    }

    #fundPl .contract-btn,
    #fundLife .contract-btn {
      margin-top: auto;
      align-self: flex-start;
    }

    #fundPl .video-frame img {
      object-fit: cover;
      padding: 0;
    }

    #fundLife .video-frame img {
      object-fit: cover;
      padding: 0;
    }

	.fund-image {
  background-image: url("images/bg-index-placdarm.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 300px;
  border-radius: 16px;
}
	
    .fund-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .fund-card {
      background: #fff;
      border-radius: 22px;
      padding: 26px;
      box-shadow: var(--shadow);
      border: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      gap: 16px;
      min-height: 240px;
    }

    .fund-card h3 {
      font-size: 1.5rem;
      color: var(--blue-dark);
    }

    .fund-card p {
      color: var(--text-soft);
    }

    .fund-card .contract-btn {
      margin-top: auto;
      align-self: flex-start;
    }

    .fund-grid-single {
      grid-template-columns: 1fr;
      justify-items: center;
    }

    .fund-grid-single .fund-card {
      width: min(100%, 980px);
    }

    #fundPl .fund-card,
    #fundLife .fund-card {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    #fundPl .fund-card::before,
    #fundLife .fund-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,255,255,0.88)), url("images/panama.png") center/cover no-repeat;
      opacity: 0.38;
      z-index: -1;
    }

    .contract-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: none;
      border-radius: 14px;
      padding: 15px 24px;
      background: var(--blue);
      color: #fff;
      font-weight: 800;
      text-decoration: none;
      cursor: pointer;
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

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

    .inline-link-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 16px;
      border-radius: 12px;
      background: var(--blue);
      color: #fff !important;
      font-weight: 800;
      text-decoration: none;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
      margin-top: 8px;
    }

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

    .inline-link-btn.white-btn {
      display: inline;
      padding: 0;
      margin: 0;
      border-radius: 0;
      background: transparent;
      color: inherit !important;
      border: none;
      box-shadow: none;
      font-weight: inherit;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .inline-link-btn.white-btn:hover {
      background: transparent;
      transform: none;
      color: inherit !important;
      opacity: 0.85;
    }

    .home-link {
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 22px;
      border-radius: 14px;
      background: var(--accent, var(--blue, #6ea8ff));
      color: #fff;
      font-size: 15px;
      font-weight: 800;
      box-shadow: var(--shadow);
      transition: 0.25s ease;
      white-space: nowrap;
    }

    .home-link:hover {
      transform: translateY(-2px);
      filter: brightness(0.95);
    }

    .hero-card-btn {
      width: auto;
      border: none;
      cursor: pointer;
      -webkit-appearance: none;
      appearance: none;
    }

    .fund-photo-section {
      position: relative;
      overflow: hidden;
    }

    .fund-photo-section::before {
      content: "";
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      opacity: 0.22;
      transform: scale(1.04);
    }

    .fund-photo-section > * {
      position: relative;
      z-index: 1;
    }

    #fundPl::before {
      /* Фон для блока "Благотворительный фонд «ПлАЦДАРМ»".
         Картинка хранится в папке images:
         images/bg-index-placdarm1.JPG */
      background-image: url("images/bg-index-placdarm1.JPG");
    }

    #fundLife::before {
      /* Фон для блока "Центр социальной поддержки «Сила Жить»".
         Картинка хранится в папке images:
         images/bg-fund-sila-zhit12.jpg */
      background-image: url("images/bg-fund-sila-zhit12.jpg");
    }

    .character-choice-section {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .character-choice-section::before {
      content: "";
      position: absolute;
      inset: 0;
      /* Фоновая картинка для 4-го блока хранится в папке images:
         images/4bloc.jpg */
      background:
        linear-gradient(135deg, rgba(10, 16, 30, 0.82), rgba(10, 16, 30, 0.54)),
        url("images/4bloc.jpg") center/cover no-repeat;
      opacity: 0.96;
      z-index: -1;
      transform: scale(1.03);
    }

    .character-choice-section > * {
      position: relative;
      z-index: 1;
    }

    .character-choice-section .big-title {
      color: #ffffff;
      text-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
    }

    .character-choice-section .text-part {
      background: transparent;
      border-radius: 0;
      padding: 0;
      box-shadow: none;
      backdrop-filter: none;
      color: #ffffff;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    }

    .character-choice-section .text-part p,
    .character-choice-section .text-part strong {
      color: #ffffff;
    }

    .character-choice-section .video-frame {
      box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
    }

.character-choice-section .history-action-row {
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
  position: relative;
  z-index: 1;
}

.character-choice-section .history-action-btn {
  border: none;
  background: #2f7085;
  color: #111111;
  padding: 14px 24px;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: 0.25s ease;
}

.character-choice-section .history-action-btn:hover {
  transform: translateY(-2px);
  background: #92cbdb;
}

.character-choice-section .history-action-row-desktop {
  display: flex;
}

.character-choice-section .history-action-row-mobile {
  display: none;
}

@media (max-width: 768px) {
  .character-choice-section .history-action-row-desktop {
    display: none;
  }

  .character-choice-section .history-action-row-mobile {
    display: flex;
    width: 100%;
  }
}

    .fund-card {
      background: rgba(255,255,255,0.9);
      backdrop-filter: blur(2px);
    }

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

    .modal-content {
      position: relative;
      width: 100%;
      max-width: 720px;
      margin: 40px auto;
      background: #fff;
      border-radius: 24px;
      padding: 26px 22px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
    }

    .calc-modal-content {
      max-width: 1180px;
    }

    .benefit-modal-content {
      max-width: 860px;
      max-height: min(88vh, 900px);
      padding: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .benefit-modal-header {
      position: relative;
      flex-shrink: 0;
      padding: 26px 64px 18px 22px;
      background: #fff;
      border-bottom: 1px solid #e7edf5;
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .benefit-modal-body {
      flex: 1;
      overflow-y: auto;
      padding: 22px 22px 18px;
    }

    .close-btn {
      position: absolute;
      right: 16px;
      top: 12px;
      background: transparent;
      border: none;
      font-size: 32px;
      cursor: pointer;
      line-height: 1;
      color: var(--text-main);
    }

    .modal h2 {
      text-align: center;
      margin-bottom: 22px;
      font-size: 2rem;
    }

    .benefit-modal-title {
      color: var(--blue-dark);
      margin: 0;
      padding-right: 8px;
    }

    .benefit-modal-text {
      font-size: 1rem;
      line-height: 1.7;
      color: var(--text-main);
    }

    .benefit-modal-text p,
    .benefit-modal-text ul,
    .benefit-modal-text ol {
      margin-bottom: 16px;
    }

    .benefit-modal-text ul,
    .benefit-modal-text ol {
      padding-left: 24px;
    }

    .benefit-modal-text a {
      color: var(--blue-dark);
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
      word-break: normal;
    }

    .benefit-modal-text code {
      display: inline-block;
      background: #eef3fa;
      border-radius: 8px;
      padding: 2px 8px;
      font-size: 0.92rem;
      color: #1f2b47;
    }

    .benefit-modal-action {
      flex-shrink: 0;
      padding: 18px 22px 22px;
      background: #fff;
      border-top: 1px solid #e7edf5;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .benefit-modal-action .contract-btn {
      min-width: 0;
      width: 100%;
      min-height: 56px;
      padding: 16px 20px;
      justify-content: center;
      text-align: center;
      white-space: normal;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: 0;
      background: #2f7085;
      color: var(--text-main);
    }

    .benefit-modal-action .contract-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .benefit-modal-action .benefit-details-btn {
      background: var(--light-btn);
      color: var(--text-main);
    }

    .benefit-modal-action .benefit-details-btn:hover {
      background: #dde5ef;
      color: var(--text-main);
    }

    .benefit-modal-content .close-btn {
      top: 18px;
      right: 16px;
      z-index: 3;
    }

    .service-modal-content {
      max-width: 860px;
      max-height: min(88vh, 920px);
      padding: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .service-modal-header {
      position: relative;
      flex-shrink: 0;
      padding: 24px 64px 18px 22px;
      background: #fff;
      border-bottom: 1px solid #e7edf5;
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .service-modal-title {
      margin: 0;
      text-align: center;
      font-size: 2rem;
    }

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

    .service-modal-body {
      flex: 1;
      overflow-y: auto;
      padding: 22px 22px 18px;
    }

    .service-modal-footer {
      flex-shrink: 0;
      padding: 18px 22px 22px;
      background: #fff;
      border-top: 1px solid #e7edf5;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
      z-index: 2;
    }

    .service-modal-footer .submit-btn {
      margin: 0;
      background: #2f7085;
      color: var(--text-main);
    }

    .service-modal-footer .submit-btn:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

    .service-modal-content .close-btn {
      top: 14px;
      right: 16px;
      z-index: 3;
    }

.contract-modal-content {
  max-width: 860px;
  max-height: min(88vh, 920px);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.contract-modal-header {
  position: relative;
  flex-shrink: 0;
  padding: 24px 64px 18px 22px;
  background: #fff;
  border-bottom: 1px solid #e7edf5;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
  z-index: 2;
}

.contract-modal-title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  line-height: 1.12;
  color: var(--text-main);
}

.contract-modal-form {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  gap: 0;
}

.contract-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 22px 22px 18px;
}

.form-group select:focus,
.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--blue-dark);
  box-shadow: 0 0 0 4px rgba(79, 141, 240, 0.15);
}

.form-group select:disabled,
.form-group input:disabled,
.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #eef2f7;
  color: #7a8694;
  box-shadow: none;
}

.contract-modal-footer {
  position: static;
  flex-shrink: 0;
  margin-top: 0;
  padding: 18px 22px 22px;
  background: #fff;
  border-top: 1px solid #e7edf5;
  box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
  z-index: 2;
}

.contract-modal-content .close-btn {
  top: 14px;
  right: 16px;
  z-index: 3;
}

.note {
  margin-top: 10px;
  text-align: center;
  color: var(--text-soft);
  font-size: 0.92rem;
  min-height: 1em;
}

    .fund-choice-list {
      display: grid;
      gap: 16px;
      max-width: 560px;
      margin: 0 auto;
    }

    .fund-choice-note {
      margin: -6px auto 20px;
      max-width: 560px;
      text-align: center;
      color: var(--text-soft);
      line-height: 1.6;
    }

    .fund-choice-link {
      width: 100%;
      min-height: 58px;
      text-align: center;
      background: #2f7085;
      color: var(--text-main);
    }

    .fund-choice-link:hover {
      background: #92cbdb;
      color: var(--text-main);
    }

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

    .form-group label {
      display: block;
      margin-bottom: 8px;
      font-weight: 800;
      font-size: 0.98rem;
    }

    .form-group select,
    .form-group input,
    .form-group textarea {
      width: 100%;
      padding: 13px 14px;
      border: 1px solid #d8dce2;
      border-radius: 12px;
      font-size: 15px;
      background: #fff;
      color: #000;
      outline: none;
    }

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

    .calc-box {
      background: #f7f9fc;
      border: 1px solid #e1e7ef;
      border-radius: 14px;
      padding: 14px 16px;
      min-height: 56px;
      display: flex;
      align-items: center;
      line-height: 1.5;
    }

    .calc-box strong {
      color: var(--blue-dark);
      font-size: 1.05rem;
    }

    .consent-label {
      display: flex !important;
      align-items: flex-start;
      gap: 10px;
      cursor: pointer;
      line-height: 1.45;
      font-weight: 400 !important;
    }

    .consent-label input[type="checkbox"] {
      margin-top: 3px;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }

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

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

    .calc-tabs {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 20px;
    }

    .calc-tab-btn {
      border: none;
      border-radius: 14px;
      padding: 15px 24px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      background: #2f7085;
      color: var(--text-main);
      box-shadow: var(--shadow);
      transition: 0.25s ease;
    }

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

    .calc-tab-btn.active {
      background: #92cbdb;
      color: var(--text-main);
      box-shadow: inset 0 0 0 2px rgba(17, 17, 17, 0.08), var(--shadow);
    }

    .calc-panel {
      display: none;
    }

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

    .region-calc-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: start;
    }

    .region-info-card {
      background: #eef6ff;
      border-radius: 18px;
      padding: 18px;
      box-shadow: var(--shadow);
    }

    .region-info-card strong {
      display: block;
      margin-bottom: 10px;
      font-size: 16px;
    }

    .region-value {
      font-size: 22px;
      line-height: 1.35;
      font-weight: 900;
      color: var(--blue-dark);
      white-space: pre-line;
    }

    .region-value.total-value {
      color: #3f93ad;
    }

    .region-info-card-full {
      grid-column: 1 / -1;
    }

    .money-calc-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.9fr);
      gap: 24px;
      align-items: start;
    }

    .money-calc-panel {
      background: #eef6ff;
      border-radius: 22px;
      box-shadow: var(--shadow);
      padding: 22px;
    }

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

    .money-calc-inline-row {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      align-items: end;
    }

    .money-calc-inline-row .form-group {
      margin-bottom: 0;
    }

    .money-calc-full {
      grid-column: 1 / -1;
    }

    .money-calc-group-title {
      font-size: 1.08rem;
      font-weight: 900;
      color: var(--blue-dark);
      margin: 2px 0 4px;
    }

    .money-calc-help {
      color: var(--text-soft);
      font-size: 0.95rem;
      margin-bottom: 6px;
    }

    .money-calc-note {
      margin-top: 16px;
      color: var(--text-soft);
      font-size: 0.94rem;
    }

    .money-calc-results {
      display: grid;
      gap: 14px;
      position: sticky;
      top: 18px;
      align-self: start;
    }

    .money-result {
      background: #fff;
      border-radius: 18px;
      padding: 16px 18px;
      box-shadow: var(--shadow);
      border: 1px solid #edf1f6;
    }

    .money-result strong {
      display: block;
      font-size: 0.95rem;
      margin-bottom: 8px;
      color: var(--text-soft);
    }

    .money-result span {
      display: block;
      font-size: 1.45rem;
      line-height: 1.18;
      font-weight: 900;
      color: var(--text-main);
    }

    .money-result.accent span {
      color: var(--blue-dark);
    }

    #moneyResOds {
      color: var(--text-main) !important;
    }

    .money-result.warn span {
      color: #d96a1b;
    }

    .money-result.success span {
      color: #3f93ad;
    }

    .field-help {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      margin-left: 8px;
      border-radius: 50%;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 900;
      line-height: 1;
      cursor: help;
      vertical-align: middle;
      box-shadow: var(--shadow);
    }

    .field-help:hover {
      background: var(--blue-dark);
    }

    .help-popup {
      position: fixed;
      inset: 0;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(0, 0, 0, 0.45);
      z-index: 1200;
    }

    .help-popup.active {
      display: flex;
    }

    .help-popup-card {
      width: min(100%, 560px);
      background: #fff;
      border-radius: 20px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
      padding: 22px 20px 18px;
      position: relative;
    }

    .help-popup-title {
      font-size: 1.2rem;
      font-weight: 900;
      color: var(--blue-dark);
      margin-bottom: 12px;
      padding-right: 34px;
    }

    .help-popup-text {
      color: var(--text-main);
      line-height: 1.6;
    }

    .help-popup-close {
      position: absolute;
      top: 10px;
      right: 12px;
      border: none;
      background: transparent;
      font-size: 30px;
      line-height: 1;
      color: var(--text-main);
      cursor: pointer;
    }

    .money-reset-btn {
      border: none;
      border-radius: 14px;
      padding: 15px 24px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      background: #2f7085;
      color: var(--text-main);
      transition: 0.25s ease;
      box-shadow: var(--shadow);
    }

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

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

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

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

@media (min-width: 981px) {
  .footer-col--offices {
    grid-column: 1;
  }

  .footer-col--contacts-placdarm {
    grid-column: 2;
    position: relative;
    left: 0.5cm;
  }

  .footer-col--contacts-life {
    grid-column: 3;
    position: relative;
    left: 0.5cm;
  }

  .footer-col--info {
    grid-column: 5;
    position: relative;
    left: 1.5cm;
  }

  .footer-col--legal-info {
    grid-column: 4;
    position: relative;
    left: 0.5cm;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

    #benefitModalLink {
      padding: 16px 20px;
      font-size: 16px;
      border-radius: 14px;
      margin: 0;
    }

    @media (min-width: 769px) {
      .hero-cards,
      .hero-services-cards {
        margin-left: -18px;
        margin-right: -18px;
      }
    }

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

      .hero-services-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 980px) {
      .footer-col--offices {
        order: 1;
      }

      .footer-col--contacts-placdarm {
        order: 2;
      }

      .footer-col--contacts-life {
        order: 3;
      }

      .footer-col--info {
        order: 5;
      }

      .footer-col--legal-info {
        order: 4;
      }

      .fund-grid,
      .money-calc-layout,
      .region-calc-grid {
        grid-template-columns: 1fr;
      }

      .money-calc-results {
        position: static;
      }

      .footer-container {
        grid-template-columns: 1fr;
      }

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

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

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

      .logo {
        font-size: 22px;
        flex-wrap: wrap;
      }

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

      .top-btn {
        padding: 12px 16px;
        font-size: 14px;
      }

      .burger {
        width: 48px;
        height: 48px;
      }

      .hero {
        padding: 0 14px;
      }

      .hero-content {
        padding: 28px 18px;
      }

      .hero-title {
        font-size: 34px;
      }

      .hero-buttons {
        flex-direction: column;
        align-items: stretch;
      }

      .hero-actions-row {
        flex-direction: row;
        align-items: stretch;
      }

      .hero-actions-row .hero-btn {
        flex: 1 1 220px;
      }

      .hero-cards {
        grid-template-columns: 1fr;
      }

      .hero-services-cards {
        grid-template-columns: 1fr;
      }

      .hero-services-title {
        font-size: 20px;
      }

      .hero-service-card {
        min-height: auto;
        padding-bottom: 18px;
      }

      .hero-card {
        min-height: auto;
        padding-bottom: 18px;
      }

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

      .home-link {
        order: 0;
      }

      .fund-grid-single .fund-card {
        width: 100%;
      }

      .container {
        padding: 0 12px 28px;
      }

      .section {
        padding: 22px 18px;
      }

      .big-title {
        font-size: 1.7rem;
      }

      .content-flex {
        flex-direction: column;
      }

      .modal-content {
        margin: 20px auto;
        padding: 24px 16px;
      }

      .benefit-modal-content {
        max-height: calc(100vh - 24px);
        padding: 0;
      }

      .benefit-modal-header {
        padding: 22px 54px 16px 16px;
      }

      .benefit-modal-body {
        padding: 18px 16px 16px;
      }

      .benefit-modal-action {
        padding: 16px;
      }

      .service-modal-content {
        max-height: calc(100vh - 24px);
      }

      .service-modal-header {
        padding: 22px 54px 16px 16px;
      }

      .service-modal-body {
        padding: 18px 16px 16px;
      }

      .service-modal-footer {
        padding: 16px;
      }

      .money-calc-grid {
        grid-template-columns: 1fr;
      }

      .money-calc-inline-row {
        grid-template-columns: 1fr;
      }

      .footer-bottom {
        flex-direction: column;
      }
    }
  

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

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

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

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

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

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

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

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

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

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

    @media (max-width: 768px) {
      .legal-footer {
        padding: 18px 14px 24px;
      }

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

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

    /* === mobile polish patch === */
    img,
    svg,
    video,
    canvas,
    iframe {
      max-width: 100%;
      height: auto;
    }

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

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

      body {
        font-size: 16px;
        line-height: 1.5;
      }

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

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

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

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

      .top-btn,
      .hero-btn,
      .donation-btn,
      .contract-button,
      .contract-btn,
      .download-btn,
      .doc-btn,
      .cta-btn,
      .top-link,
      .top-home-btn,
      .back-link,
      .home-link {
        min-height: 46px;
        padding: 12px 16px !important;
        font-size: 14px !important;
      }

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

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

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

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

      .hero {
        margin-top: 20px;
      }

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

      .hero-title,
      .hero h1,
      h1 {
        overflow-wrap: break-word;
      }

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

      .hero-subtitle,
      .hero-description,
      .intro,
      .section-note {
        font-size: 1rem;
      }

      .hero-buttons,
      .donation-buttons,
      .form-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
      }

      .hero-buttons > *,
      .donation-buttons > *,
      .form-actions > * {
        width: 100%;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .contact-info,
      .material-sheet,
      .modal-content,
      .service-modal-content,
      .benefit-modal-content,
      .contract-modal-content {
        border-radius: 22px;
      }

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info {
        padding: 20px 16px !important;
      }

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

      .docs-grid,
      .content-grid,
      .timeline,
      .bio-layout,
      .units-grid,
      .hero-cards,
      .fund-grid,
      .info-grid,
      .money-calc-layout,
      .money-calc-grid,
      .money-calc-inline-row,
      .region-calc-grid,
      .meta,
      .requisite-info,
      .financial,
      .material,
      .legal-points {
        grid-template-columns: 1fr !important;
      }

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

      .text-part,
      .video-part,
      .hero-text {
        min-width: 0;
        width: 100%;
      }

      .photo,
      .video-frame,
      .material-sheet img,
      .doc-card img {
        width: 100%;
        max-width: 100%;
      }

      .modal {
        padding: 8px;
      }

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

      .modal-header,
      .service-modal-header,
      .benefit-modal-header,
      .contract-modal-header {
        padding: 20px 52px 16px 16px !important;
      }

      .modal-title,
      .service-modal-title,
      .benefit-modal-title,
      .contract-modal-title {
        font-size: 1.35rem !important;
        line-height: 1.2;
      }

      .service-modal-body,
      .benefit-modal-body,
      .contract-modal-body,
      .service-modal-footer,
      .contract-modal-footer,
      .benefit-modal-action,
      #contractForm,
      .modal-form-body,
      .modal-form-footer {
        padding: 16px !important;
      }

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

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

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

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

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

    @media (max-width: 640px) {
      .benefit-modal-action {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .benefit-modal-action .contract-btn {
        min-height: 52px;
        padding: 14px 12px;
        font-size: 14px;
      }
    }

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

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

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

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

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

      .section,
      .doc-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info {
        padding: 18px 14px !important;
        border-radius: 18px;
      }

      .top-btn,
      .hero-btn,
      .donation-btn,
      .contract-button,
      .contract-btn,
      .download-btn,
      .doc-btn,
      .cta-btn,
      .top-link,
      .top-home-btn,
      .back-link,
      .home-link {
        font-size: 13px !important;
        padding: 12px 14px !important;
      }

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

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

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

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

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

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

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

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

    @media (max-width: 768px) {
      .scroll-top-btn {
        right: 16px;
        bottom: 16px;
        width: 52px;
        height: 52px;
      }
    }

    /* === adaptive mobile patch 2026-04 === */
    img,
    svg,
    video,
    canvas,
    iframe {
      max-width: 100%;
      height: auto;
    }

    picture {
      display: block;
      max-width: 100%;
    }

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

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

      body {
        font-size: 16px !important;
        line-height: 1.5 !important;
        -webkit-text-size-adjust: 100%;
      }

      .site-header {
        width: 100%;
      }

      .header-inner {
        width: min(100%, 1280px);
        padding: 14px 16px !important;
        gap: 12px !important;
        align-items: flex-start !important;
        flex-wrap: wrap;
      }

      .logo {
        font-size: 22px !important;
        max-width: calc(100% - 64px);
        white-space: normal !important;
        word-break: normal;
        line-height: 1.15;
        flex-wrap: wrap;
        gap: 6px;
      }

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

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

      .top-btn,
      .home-link,
      .top-link {
        min-height: 46px;
        padding: 12px 16px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
      }

      .burger {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px;
        padding: 0 13px !important;
        border-radius: 12px !important;
      }

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

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

      .search {
        flex-direction: column !important;
      }

      .page-search-controls {
        grid-template-columns: 1fr !important;
      }

      .search input,
      .page-search-controls input,
      .page-search-controls button,
      .search-btn,
      .search-nav-btn {
        width: 100%;
      }

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

      .hero,
      .index-copy-hero {
        margin-top: 20px !important;
      }

      .hero-content,
      .hero-inner,
      .social-legal-hero-content,
      .hero-glass-card,
      .card {
        padding: 26px 18px !important;
        border-radius: 24px !important;
      }

      .hero-title,
      .hero h1,
      .modal-title,
      .contract-modal-title,
      .social-legal-top h2,
      .social-legal-hero-title,
      .card h1,
      h1 {
        font-size: clamp(24px, 7vw, 34px) !important;
        line-height: 1.12 !important;
      }

      .hero-description,
      .hero-subtitle,
      .social-legal-description,
      .social-legal-hero-subtitle,
      .card p {
        font-size: 16px !important;
      }

      .hero-badge,
      .badge,
      .section-eyebrow,
      .pill,
      .legal-badge {
        font-size: 12px !important;
        line-height: 1.3;
      }

      [class*="grid"],
      [class*="cards"],
      .hero-buttons,
      .intro-cards,
      .fund-choice-list,
      .social-legal-form-row,
      .social-legal-points,
      .social-legal-hero-cards,
      .hero-calc-buttons,
      .calc-tabs,
      .page-search-controls,
      .money-calc-inline-row,
      .benefit-modal-action,
      .form-row,
      .legal-points,
      .legal-links-list {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
      }

      .content-flex,
      .footer-container,
      .footer-inner,
      .bio-layout,
      .hero-inner,
      .requisite-info,
      .about-section,
      .modal-form-layout,
      .hero-buttons,
      .search,
      .doc-actions {
        flex-direction: column !important;
        gap: 18px !important;
      }

      .text-part,
      .video-part,
      .photo-part,
      .hero-text,
      .hero-media,
      .hero-card,
      .hero-service-card,
      .hero-action-card,
      .info-card,
      .content-card,
      .doc-card,
      .accent-card,
      .timeline-card,
      .intro-card,
      .about-card,
      .material-sheet,
      .requisite-item,
      .download-box,
      .social-legal-point,
      .social-legal-hero-card,
      .legal-card,
      .card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: auto !important;
      }

      .section,
      .doc-section,
      .social-legal-section,
      .fund-card,
      .info-card,
      .intro-card,
      .legal-card,
      .payment-legal-card,
      .material-sheet,
      .contact-info,
      .content-card,
      .doc-card,
      .accent-card,
      .timeline-card,
      .about-card,
      .requisite-item,
      .risk-table-wrapper,
      .download-box,
      .hero-action-card,
      .card {
        padding: 20px 16px !important;
        border-radius: 20px !important;
      }

      .social-legal-form-card {
        padding: 0 !important;
        border-radius: 22px !important;
        max-height: calc(100vh - 24px) !important;
      }

      .social-legal-modal-header {
        padding: 22px 54px 16px 16px !important;
      }

      .social-legal-modal-header h2 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
      }

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

      .video-frame,
      .photo,
      .bio-photo,
      .bio-photo-card img {
        border-radius: 18px !important;
      }

      .video-frame,
      video,
      iframe {
        width: 100% !important;
      }

      .photo,
      img {
        max-width: 100%;
        height: auto;
      }

      .form-group,
      .social-legal-form-group {
        margin-bottom: 14px !important;
      }

      input:not([type="checkbox"]):not([type="radio"]),
      select,
      textarea {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
      }

      textarea {
        min-height: 110px !important;
      }

      .consent-label {
        align-items: flex-start !important;
        gap: 10px !important;
      }

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

      .form-actions,
      .modal-form-footer,
      .contract-modal-footer,
      .doc-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
      }

      .submit-btn,
      .contract-btn,
      .contract-button,
      .hero-btn,
      .donation-btn,
      .download-btn,
      .doc-btn,
      .history-action-btn,
      .info-card-cta,
      .info-card-action,
      .back-link,
      .hero-action-cta,
      .fund-choice-link,
      .doc-link-chip {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
        padding: 14px 16px !important;
        font-size: 14px !important;
        text-align: center !important;
        border-radius: 14px !important;
      }

      .hero-card-btn,
      .hero-service-card-btn {
        font-size: 14px !important;
        line-height: 1.35 !important;
        align-self: flex-start;
      }

      .modal {
        padding: 12px !important;
      }

      .modal-content,
      .contract-modal-content,
      .benefit-modal-content,
      .social-legal-modal-dialog {
        width: calc(100% - 8px) !important;
        max-width: none !important;
        margin: 12px auto !important;
        max-height: calc(100vh - 24px) !important;
        border-radius: 22px !important;
      }

      .modal-header,
      .contract-modal-header,
      .benefit-modal-header {
        padding: 20px 54px 16px 16px !important;
      }

      .close-btn,
      .sheet-close-btn,
      .close-side-menu {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .benefit-modal-body,
      .benefit-modal-action {
        padding: 16px !important;
      }

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

      .legal-footer,
      .site-footer {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      .legal-footer__inner,
      .legal-footer__links {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
      }

      .risk-table-wrapper,
      .table-wrap,
      .table-responsive,
      .download-box,
      .doc-frame-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
      }

      table {
        width: 100%;
      }
    }

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

      .header-inner {
        padding: 12px !important;
      }

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

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

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

      .hero-content,
      .hero-inner,
      .social-legal-hero-content,
      .card {
        padding: 22px 16px !important;
        border-radius: 22px !important;
      }

      .hero-title,
      .hero h1,
      .modal-title,
      .contract-modal-title,
      .social-legal-top h2,
      .social-legal-hero-title,
      .card h1,
      h1 {
        font-size: clamp(22px, 8vw, 30px) !important;
      }

      .section,
      .doc-section,
      .social-legal-section,
      .content-card,
      .doc-card,
      .accent-card,
      .timeline-card,
      .about-card,
      .requisite-item,
      .risk-table-wrapper,
      .download-box,
      .hero-action-card,
      .card {
        padding: 18px 14px !important;
        border-radius: 18px !important;
      }

      .social-legal-form-card {
        padding: 0 !important;
        border-radius: 20px !important;
        max-height: calc(100vh - 16px) !important;
      }

      .social-legal-modal-header {
        padding: 18px 50px 14px 14px !important;
      }

      .social-legal-modal-header h2 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
      }

      .social-legal-modal-body,
      .social-legal-modal-footer {
        padding: 14px !important;
      }

      .top-btn,
      .home-link,
      .top-link,
      .submit-btn,
      .contract-btn,
      .contract-button,
      .hero-btn,
      .download-btn,
      .doc-btn,
      .back-link,
      .fund-choice-link,
      .doc-link-chip {
        font-size: 13px !important;
        min-height: 46px !important;
        padding: 13px 14px !important;
      }

      .burger {
        width: 46px !important;
        height: 46px !important;
      }

      .side-menu {
        max-width: 94vw !important;
      }

      .social-legal-modal-dialog {
        max-height: calc(100vh - 16px);
        margin: 8px auto;
        border-radius: 22px;
      }

      .social-legal-form-card {
        padding: 0 !important;
        border-radius: 20px !important;
        max-height: calc(100vh - 16px) !important;
      }

      .social-legal-modal-header {
        padding: 18px 50px 14px 14px !important;
      }

      .social-legal-modal-header h2 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
      }

      .social-legal-modal-body,
      .social-legal-modal-footer {
        padding: 14px !important;
      }

      .modal {
        padding: 8px !important;
      }

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

      .modal-header,
      .contract-modal-header,
      .benefit-modal-header {
        padding: 18px 50px 14px 14px !important;
      }

      .contract-modal-form,
      .modal-form-body,
      .contract-modal-body,
      .benefit-modal-body,
      .benefit-modal-action {
        padding: 14px !important;
      }

      .risk-table,
      .rank-table,
      .tariff-table,
      .norm-table,
      .parachute-table,
      .act-table {
        min-width: 560px !important;
        font-size: 0.82rem !important;
      }
    }

  

  /* === universal top bar alignment + logo font sync 2026-04-04 === */
  .site-header .header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 1.6vw, 16px) !important;
    min-width: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /* === word-based wrapping fix 2026-04 === */
    html, body {
      overflow-x: hidden;
    }

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

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

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

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

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

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

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

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

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

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

  
/* === tighter modal sizing to match first block more closely === */
@media (min-width: 769px) {
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .social-legal-modal-dialog {
    width: min(100% - 160px, 980px) !important;
    max-width: 980px !important;
    max-height: calc(100vh - 84px) !important;
    margin: 42px auto !important;
  }

  .modal-content:not(.calc-modal-content):not(.benefit-modal-content):not(.service-modal-content):not(.contract-modal-content) {
    width: min(100% - 160px, 980px) !important;
    max-width: 980px !important;
    max-height: calc(100vh - 84px) !important;
    margin: 42px auto !important;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Конкретно карточки реквизитов/инструкций/контактов не должны оставлять 14px снизу перед кнопкой. */
.modal .modal-form-body > .requisites-box:last-child,
.modal .modal-form-body > .requisite-info:last-child,
.modal .modal-form-body > .okved-info:last-child,
.modal .modal-form-body > .contact-info:last-child,
.modal .fund-donate-body > .requisites-box:last-child,
.modal .fund-donate-body > .requisite-info:last-child,
.modal .fund-donate-body > .okved-info:last-child,
.modal .fund-donate-body > .contact-info:last-child,
.modal .fund-contract-like-body > .requisites-box:last-child,
.modal .fund-contract-like-body > .requisite-info:last-child,
.modal .fund-contract-like-body > .okved-info:last-child,
.modal .fund-contract-like-body > .contact-info:last-child,
#fundLifeDonateModal .payment-legal-card,
#fundPlDonateModal .payment-legal-card,
#fundPlFinancialModal .payment-legal-card {
  margin-bottom: 0 !important;
}

/* Финальная фиксация самой нижней панели: строго 5px от листа до кнопки и 5px от кнопки до низа. */
.modal .benefit-modal-action,
.modal .service-modal-footer,
.modal .contract-modal-footer,
.modal .modal-form-footer,
.modal .fund-contract-like-footer,
.modal .fund-donate-footer,
.social-legal-modal .social-legal-modal-footer,
#calcModal .calc-modal-footer-sticky,
#calcModal .calc-modal-footer-sticky.is-hidden {
  min-height: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;
}

.modal .benefit-modal-action > *,
.modal .service-modal-footer > *,
.modal .contract-modal-footer > *,
.modal .modal-form-footer > *,
.modal .fund-contract-like-footer > *,
.modal .fund-donate-footer > *,
.social-legal-modal .social-legal-modal-footer > *,
#calcModal .calc-modal-footer-sticky > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/*
    В перечисленных модалках делаем одинаковое расстояние:
    верх нижней панели -> кнопка = 12px,
    низ кнопки -> низ модального окна = 12px.
    12px соответствует текущему верхнему отступу от края модалки до заголовка.
  */
  :root {
    --modal-footer-btn-gap: 12px;
  }

  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer,
  .modal .benefit-modal-action,
  .modal .service-modal-footer,
  .modal .contract-modal-footer,
  .modal .modal-form-footer,
  .modal .fund-contract-like-footer,
  .modal .fund-donate-footer,
  .social-legal-modal .social-legal-modal-footer,
  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  #benefitModal .benefit-modal-action,
  #serviceModal .service-modal-footer,
  #contractModal .contract-modal-footer,
  #socialLegalModal .social-legal-modal-footer,
  #fundPlFinancialModal .contract-modal-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .contract-modal-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #fundLifeDonateModal .contract-modal-footer,
  #fundLifeDonateModal .fund-contract-like-footer,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer,
  .modal .benefit-modal-action,
  .modal .service-modal-footer,
  .modal .contract-modal-footer,
  .modal .modal-form-footer,
  .modal .fund-contract-like-footer,
  .modal .fund-donate-footer,
  .social-legal-modal .social-legal-modal-footer,
  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  #benefitModal .benefit-modal-action > *,
  #serviceModal .service-modal-footer > *,
  #contractModal .contract-modal-footer > *,
  #socialLegalModal .social-legal-modal-footer > *,
  #fundPlFinancialModal .contract-modal-footer > *,
  #fundPlFinancialModal .fund-contract-like-footer > *,
  #fundPlMaterialModal .contract-modal-footer > *,
  #fundPlMaterialModal .fund-contract-like-footer > *,
  #fundLifeDonateModal .contract-modal-footer > *,
  #fundLifeDonateModal .fund-contract-like-footer > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > *,
  .modal .benefit-modal-action > *,
  .modal .service-modal-footer > *,
  .modal .contract-modal-footer > *,
  .modal .modal-form-footer > *,
  .modal .fund-contract-like-footer > *,
  .modal .fund-donate-footer > *,
  .social-legal-modal .social-legal-modal-footer > *,
  #calcModal .calc-modal-footer-sticky > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Кнопка внутри панели оплаты по QR тоже получает симметричный зазор 12px. */
  #fundPlFinancialModal .pay-actions {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  @media (max-width: 768px) {
    #benefitModal .benefit-modal-action,
    #serviceModal .service-modal-footer,
    #contractModal .contract-modal-footer,
    #socialLegalModal .social-legal-modal-footer,
    #fundPlFinancialModal .contract-modal-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .contract-modal-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #fundLifeDonateModal .contract-modal-footer,
    #fundLifeDonateModal .fund-contract-like-footer,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer,
    .modal .benefit-modal-action,
    .modal .service-modal-footer,
    .modal .contract-modal-footer,
    .modal .modal-form-footer,
    .modal .fund-contract-like-footer,
    .modal .fund-donate-footer,
    .social-legal-modal .social-legal-modal-footer,
    #calcModal .calc-modal-footer-sticky,
    #calcModal .calc-modal-footer-sticky.is-hidden {
      padding-top: 12px !important;
      padding-right: 14px !important;
      padding-bottom: 12px !important;
      padding-left: 14px !important;
    }
  }

/*
    Точечная правка только для трёх модалок:
    - ГУМАНИТАРНАЯ ПОМОЩЬ
    - ФИНАНСОВАЯ ПОМОЩЬ
    - ВЫБОР ДОЛЖНОСТИ

    Берём геометрию от эталона #calcModal, но НЕ переносим кнопки оплаты
    и НЕ перестраиваем HTML через JavaScript — чтобы не ломать содержимое.
  */

  @media (min-width: 769px) {
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: min(1240px, calc(100% - 40px)) !important;
      max-width: min(1240px, calc(100% - 40px)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      margin: var(--modal-gap-from-header, 8mm) auto var(--modal-gap-bottom, 8mm) !important;
      padding: 0 !important;
      border-radius: 24px !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      background: #ffffff !important;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    }
  }

  #fundPlMaterialModal .fund-contract-like-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #contractModal .contract-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 22px 64px 16px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-header h2,
  #fundPlFinancialModal .fund-contract-like-header h2,
  #contractModal .contract-modal-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    color: var(--text-main, #111111) !important;
  }

  /* В финансовой модалке кнопки оплаты оставляем на прежнем месте под заголовком,
     но выравниваем их аккуратно, без изменения структуры. */
  #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, 280px) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 16px auto 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .sheet-close-btn,
  #fundPlFinancialModal .sheet-close-btn,
  #contractModal #closeContractModal {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundPlMaterialModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:hover,
  #contractModal #closeContractModal:hover,
  #fundPlMaterialModal .sheet-close-btn:focus-visible,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #contractModal #closeContractModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
    transform: none !important;
  }

  #fundPlMaterialModal .fund-contract-like-form,
  #fundPlFinancialModal .fund-contract-like-form,
  #contractModal .contract-modal-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  #fundPlMaterialModal .fund-contract-like-body,
  #fundPlFinancialModal .fund-contract-like-body,
  #contractModal .contract-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #contractModal .contract-modal-footer {
    flex: 0 0 auto !important;
    padding: 5px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer .submit-btn,
  #fundPlFinancialModal .fund-contract-like-footer .submit-btn,
  #contractModal .contract-modal-footer .submit-btn {
    margin: 0 !important;
  }

  @media (max-width: 768px) {
    #fundPlMaterialModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: calc(100vw - 16px) !important;
      max-width: calc(100vw - 16px) !important;
      height: calc(100vh - 16px) !important;
      max-height: calc(100vh - 16px) !important;
      margin: 8px auto !important;
      border-radius: 22px !important;
      padding: 0 !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
    }

    #fundPlMaterialModal .fund-contract-like-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #contractModal .contract-modal-header {
      padding: 20px 52px 16px 16px !important;
    }

    #fundPlMaterialModal .fund-contract-like-header h2,
    #fundPlFinancialModal .fund-contract-like-header h2,
    #contractModal .contract-modal-title {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlMaterialModal .sheet-close-btn,
    #fundPlFinancialModal .sheet-close-btn,
    #contractModal #closeContractModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      font-size: 32px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
      grid-template-columns: 1fr 1fr !important;
      gap: 10px !important;
      max-width: none !important;
      margin-top: 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: 52px !important;
      padding: 0 8px !important;
      font-size: 13px !important;
    }

    #fundPlMaterialModal .fund-contract-like-body,
    #fundPlFinancialModal .fund-contract-like-body,
    #contractModal .contract-modal-body {
      padding: 16px !important;
    }

    #fundPlMaterialModal .fund-contract-like-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #contractModal .contract-modal-footer {
      padding: 5px 16px !important;
      gap: 10px !important;
    }
  }

/*
    Эталон: #calcModal «РЕГИОНАЛЬНЫЕ ВЫПЛАТЫ И ДЕНЕЖНОЕ ДОВОЛЬСТВИЕ».
    Эти правила идут последними и переопределяют более ранние частичные патчи.
  */

  #fundLifeDonateModal,
  #fundPlFinancialModal,
  #fundPlMaterialModal,
  #contractModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
  }

  #fundLifeDonateModal .fund-contract-like-modal,
  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal,
  #contractModal .contract-modal-content {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #contractModal .contract-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-header h2,
  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #contractModal .contract-modal-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    color: var(--text-main, #111111) !important;
  }

  #fundLifeDonateModal .sheet-close-btn,
  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn,
  #contractModal #closeContractModal {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundLifeDonateModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:hover,
  #fundPlMaterialModal .sheet-close-btn:hover,
  #contractModal #closeContractModal:hover,
  #fundLifeDonateModal .sheet-close-btn:focus-visible,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #fundPlMaterialModal .sheet-close-btn:focus-visible,
  #contractModal #closeContractModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
    transform: none !important;
  }

  #fundLifeDonateModal .fund-contract-like-form,
  #fundPlFinancialModal .fund-contract-like-form,
  #fundPlMaterialModal .fund-contract-like-form,
  #contractModal .contract-modal-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  #fundLifeDonateModal .fund-contract-like-body,
  #fundLifeDonateModal .fund-donate-body,
  #fundPlFinancialModal .fund-contract-like-body,
  #fundPlMaterialModal .fund-contract-like-body,
  #contractModal .contract-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-footer,
  #fundLifeDonateModal .fund-donate-footer,
  #fundPlFinancialModal .fund-contract-like-footer,
  #fundPlMaterialModal .fund-contract-like-footer,
  #contractModal .contract-modal-footer {
    flex: 0 0 auto !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-footer > *,
  #fundLifeDonateModal .fund-donate-footer > *,
  #fundPlFinancialModal .fund-contract-like-footer > *,
  #fundPlMaterialModal .fund-contract-like-footer > *,
  #contractModal .contract-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 280px)) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 16px auto 0 !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
    width: 280px !important;
    min-width: 0 !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundLifeDonateModal,
    #fundPlFinancialModal,
    #fundPlMaterialModal,
    #contractModal {
      padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #fundLifeDonateModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      margin: 0 auto !important;
      border-radius: 22px !important;
    }

    #fundLifeDonateModal .fund-contract-like-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #contractModal .contract-modal-header {
      padding: 20px 52px 16px 16px !important;
    }

    #fundLifeDonateModal .fund-contract-like-header h2,
    #fundPlFinancialModal .fund-contract-like-header h2,
    #fundPlMaterialModal .fund-contract-like-header h2,
    #contractModal .contract-modal-title {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundLifeDonateModal .sheet-close-btn,
    #fundPlFinancialModal .sheet-close-btn,
    #fundPlMaterialModal .sheet-close-btn,
    #contractModal #closeContractModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      height: 40px !important;
      font-size: 32px !important;
    }

    #fundLifeDonateModal .fund-contract-like-body,
    #fundLifeDonateModal .fund-donate-body,
    #fundPlFinancialModal .fund-contract-like-body,
    #fundPlMaterialModal .fund-contract-like-body,
    #contractModal .contract-modal-body {
      padding: 16px 16px 0 !important;
    }

    #fundLifeDonateModal .fund-contract-like-footer,
    #fundLifeDonateModal .fund-donate-footer,
    #fundPlFinancialModal .fund-contract-like-footer,
    #fundPlMaterialModal .fund-contract-like-footer,
    #contractModal .contract-modal-footer {
      padding: 12px 16px !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switcher {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px !important;
      max-width: none !important;
      margin-top: 14px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switch-btn {
      width: 100% !important;
      max-width: none !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: 52px !important;
      padding: 0 8px !important;
      font-size: 13px !important;
    }
  }

  @media (max-width: 480px) {
    #fundLifeDonateModal,
    #fundPlFinancialModal,
    #fundPlMaterialModal,
    #contractModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #fundLifeDonateModal .fund-contract-like-modal,
    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal,
    #contractModal .contract-modal-content {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

/* Финальная правка поверх v5: шапка, заголовок и крестик совпадают с #calcModal. */

  #fundLifeDonateModal .fund-contract-like-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #contractModal .contract-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundLifeDonateModal .fund-contract-like-header > h2,
  #fundPlFinancialModal .fund-contract-like-header > h2,
  #fundPlMaterialModal .fund-contract-like-header > h2,
  #contractModal .contract-modal-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #fundLifeDonateModal .sheet-close-btn,
  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn,
  #contractModal #closeContractModal {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-main, #111111) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 0.2s ease !important;
    animation: none !important;
    filter: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundLifeDonateModal .sheet-close-btn:hover,
  #fundLifeDonateModal .sheet-close-btn:focus-visible,
  #fundPlFinancialModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #fundPlMaterialModal .sheet-close-btn:hover,
  #fundPlMaterialModal .sheet-close-btn:focus-visible,
  #contractModal #closeContractModal:hover,
  #contractModal #closeContractModal:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    #fundLifeDonateModal .fund-contract-like-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #contractModal .contract-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #fundLifeDonateModal .fund-contract-like-header > h2,
    #fundPlFinancialModal .fund-contract-like-header > h2,
    #fundPlMaterialModal .fund-contract-like-header > h2,
    #contractModal .contract-modal-title {
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }

    #fundLifeDonateModal .sheet-close-btn,
    #fundPlFinancialModal .sheet-close-btn,
    #fundPlMaterialModal .sheet-close-btn,
    #contractModal #closeContractModal {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }
  }

/* Эталон размеров: #benefitModal.benefit-modal-housing для окна «ТРУДОВЫЕ ГАРАНТИИ». */
  #fundPlHelpChoiceModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 12px 54px 8px 22px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    text-align: center !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    color: var(--text-main, #111111) !important;
    box-sizing: border-box !important;
    z-index: 2 !important;
  }

  #fundPlHelpChoiceModal .close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 30 !important;
  }

  #fundPlHelpChoiceModal .close-btn:hover,
  #fundPlHelpChoiceModal .close-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #fundPlHelpChoiceModal .help-choice-note,
  #fundPlHelpChoiceModal .help-choice-grid {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    flex: 0 0 auto !important;
    margin-top: 22px !important;
    margin-bottom: 20px !important;
    padding: 0 22px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid {
    flex: 0 0 auto !important;
    padding: 0 22px 22px !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
      padding: 12px 54px 8px 22px !important;
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlHelpChoiceModal .close-btn {
      top: 5px !important;
      right: 8px !important;
    }
  }

  @media (max-width: 480px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

.modal-back-btn {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    z-index: 60 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .modal-back-btn:hover,
  .modal-back-btn:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
  }

  .modal-back-btn[hidden] {
    display: none !important;
  }

  /* Точечный режим: заявка по недвижимости без стрелки назад и без выбора услуги. */
  #serviceModal.service-modal-real-estate-request .modal-back-btn {
    display: none !important;
  }

  #serviceModal.service-modal-real-estate-request .service-modal-header {
    padding-left: 22px !important;
  }

  #serviceModal .service-modal-header,
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #officeFeedbackModal .social-legal-modal-header {
    padding: 12px 54px 8px 56px !important;
  }

  #officeFeedbackModal .social-legal-modal-header h2,
  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #serviceModal .service-modal-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  @media (max-width: 768px) {
    .modal-back-btn {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }

    #serviceModal .service-modal-header,
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 48px !important;
    }

    #serviceModal.service-modal-real-estate-request .service-modal-header {
      padding-left: 16px !important;
    }
  }

/*
    В прошлой версии менялся только gap, но более ранние стили оставляли
    grid-template-columns: repeat(2, 280px). Из-за лишней ширины колонок
    визуальный зазор между самими кнопками почти не менялся.
    Здесь повторяем схему кнопок окна «ВЫБЕРИТЕ ВИД ПОМОЩИ»: flex + gap 5mm.
  */
  #fundPlFinancialModal .fund-contract-like-header .payment-switcher,
  #fundPlFinancialModal .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
    grid-template-columns: none !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin: 16px auto 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-header .payment-switcher > .payment-switch-btn,
  #fundPlFinancialModal .payment-switcher > .payment-switch-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    margin: 0 !important;
    justify-self: center !important;
    align-self: center !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .fund-contract-like-header .payment-switcher,
    #fundPlFinancialModal .payment-switcher {
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      width: min(100%, 560px) !important;
      max-width: 560px !important;
      padding: 0 22px !important;
      gap: 5mm !important;
    }

    #fundPlFinancialModal .fund-contract-like-header .payment-switcher > .payment-switch-btn,
    #fundPlFinancialModal .payment-switcher > .payment-switch-btn {
      width: min(var(--oai-btn-len, 6.4cm), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 0 0 var(--oai-btn-h, 1.3cm) !important;
    }
  }

#fundPlHelpChoiceModal .help-choice-modal-content {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content > h2 {
    flex: 0 0 auto !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 22px 22px 18px !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    align-self: center !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 5px 22px 5px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
  }

  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid > button {
    margin: 0 !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-note {
      padding: 18px 16px 16px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #fundPlHelpChoiceModal .help-choice-grid {
      padding: 16px !important;
    }
  }

#fundPlHelpChoiceModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-content {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #fundPlHelpChoiceModal .close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundPlHelpChoiceModal .close-btn:hover,
  #fundPlHelpChoiceModal .close-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  #fundPlHelpChoiceModal .help-choice-note {
    flex: 0 1 auto !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin: 8px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
    color: var(--text-soft, #52606d) !important;
    line-height: 1.6 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
    flex: 0 0 6.5cm !important;
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    background: #2f7085 !important;
    color: var(--text-main, #111111) !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,0.08)) !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:focus-visible {
    background: #92cbdb !important;
    color: var(--text-main, #111111) !important;
    transform: translateY(-2px) !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #fundPlHelpChoiceModal .help-choice-title {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
    }

    #fundPlHelpChoiceModal .close-btn {
      top: 5px !important;
      right: 8px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-body {
      padding: 14px 16px !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-action,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 16px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-modal-action > button,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }
  }

  @media (max-width: 480px) {
    #fundPlHelpChoiceModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-content {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

#fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid > button {
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    border: none !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:hover,
  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-modal-action > button:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button:hover,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn:hover,
  #fundPlHelpChoiceModal .help-choice-grid > button:hover,
  #fundPlHelpChoiceModal .help-choice-grid > .contract-btn:focus-visible,
  #fundPlHelpChoiceModal .help-choice-grid > button:focus-visible {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
    filter: none !important;
    outline: none !important;
  }

/* ФИНАНСОВАЯ ПОМОЩЬ: перенос выбора способа оплаты в нижнюю панель модального окна
     по геометрии нижней части модалки «Региональные выплаты и денежное довольствие». */
  #fundPlFinancialModal .financial-payment-footer {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, 280px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    box-shadow: var(--shadow) !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn:hover,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn:focus-visible,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: none !important;
    outline: none !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer {
      padding: 12px 14px !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      grid-template-columns: 1fr !important;
      width: 100% !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      height: 52px !important;
      min-height: 52px !important;
      max-height: none !important;
      font-size: 14px !important;
    }
  }

/*
    В окне «ВЫБЕРИТЕ ВИД ПОМОЩИ» нижние кнопки стоят во flex-контейнере
    с gap: 5mm и размером 6.5cm × 1.5cm. Повторяем эту же геометрию
    для кнопок выбора способа оплаты в окне «ФИНАНСОВАЯ ПОМОЩЬ».
  */
  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 5mm !important;
    row-gap: 5mm !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    flex: 0 0 6.5cm !important;
    width: 6.5cm !important;
    min-width: 6.5cm !important;
    max-width: 6.5cm !important;
    height: 1.5cm !important;
    min-height: 1.5cm !important;
    max-height: 1.5cm !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      flex: 1 1 auto !important;
    }
  }

/*
    Эталон: нижняя панель #calcModal в режиме «ВЫБРАТЬ РЕГИОН».
    Кнопки в окне «ВЫБЕРИТЕ ВИД ПОМОЩИ» закреплены в той же нижней
    зоне и прижаты к левому краю панели, как вкладки калькулятора.
  */
  #fundPlHelpChoiceModal .help-choice-modal-action,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-modal-action,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-modal-action > button,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
      flex: 1 1 auto !important;
    }
  }

/*
    Эталон: #calcModal в режиме «ВЫБРАТЬ РЕГИОН» — нижняя панель
    находится внизу модального окна, а две кнопки/вкладки прижаты к левому краю.
    Здесь повторяем это расположение для выбора способа оплаты в «ФИНАНСОВАЯ ПОМОЩЬ».
  */
  #fundPlFinancialModal .financial-payment-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
  #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer {
      padding: 12px 14px !important;
      align-items: flex-start !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      width: 100% !important;
      max-width: 100% !important;
      gap: 10px !important;
      margin: 0 !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn,
    #fundPlFinancialModal .financial-payment-footer .payment-switch-btn.active {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

#fundPlFinancialModal .financial-payment-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 12px 22px !important;
  }

  #fundPlFinancialModal .financial-payment-footer .payment-switcher {
    flex: 0 1 auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5mm !important;
    width: auto !important;
    max-width: calc(100% - var(--oai-btn-len, 6.4cm) - 5mm) !important;
    margin: 0 !important;
  }

  #fundPlFinancialModal .financial-payment-submit-actions {
    flex: 0 0 auto !important;
    display: none !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
  }

  #fundPlFinancialModal.fund-pl-payment-mode-qr .financial-payment-submit-actions {
    display: flex !important;
  }

  #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .financial-payment-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      align-items: stretch !important;
      justify-content: stretch !important;
      gap: 10px !important;
      padding: 12px 14px !important;
    }

    #fundPlFinancialModal .financial-payment-footer .payment-switcher {
      display: grid !important;
      grid-template-columns: 1fr !important;
      width: 100% !important;
      max-width: 100% !important;
      gap: 10px !important;
    }

    #fundPlFinancialModal .financial-payment-submit-actions {
      width: 100% !important;
      justify-content: stretch !important;
      margin-left: 0 !important;
    }

    #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      flex: 1 1 auto !important;
      min-height: 52px !important;
      height: auto !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

/*
    Эталон размера — кнопки в 3-м блоке «Благотворительный фонд „ПлАЦДАРМ“».
    Этот финальный блок стоит в конце файла, чтобы перебить ранние правки модалки.
  */
  #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-modal-action > button,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
  #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #fundPlHelpChoiceModal .help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-modal-action > button,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > .contract-btn,
    #fundPlHelpChoiceModal .help-choice-grid.help-choice-modal-action > button {
      width: min(var(--oai-btn-len, 6.4cm), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-btn-len, 6.4cm), 100%) !important;
      height: var(--oai-btn-h, 1.3cm) !important;
      min-height: var(--oai-btn-h, 1.3cm) !important;
      max-height: var(--oai-btn-h, 1.3cm) !important;
      block-size: var(--oai-btn-h, 1.3cm) !important;
      flex: 0 0 var(--oai-btn-h, 1.3cm) !important;
      justify-self: start !important;
    }
  }

/*
    Эталон: первая кнопка «ФИНАНСОВАЯ ПОМОЩЬ» в нижней панели окна
    «ВЫБЕРИТЕ ВИД ПОМОЩИ». Повторяем для submit-кнопки формы:
    тот же нижний footer, левый отступ, размер и поведение на мобильных.
  */
  #fundPlMaterialModal .fund-contract-like-footer {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer > .submit-btn {
    flex: 0 0 var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    width: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    min-width: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    max-width: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    inline-size: var(--oai-material-submit-ref-width, var(--oai-btn-len, 6.4cm)) !important;
    height: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    min-height: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    max-height: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    block-size: var(--oai-material-submit-ref-height, var(--oai-btn-h, 1.3cm)) !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer > .note:empty {
    display: none !important;
  }

  #fundPlMaterialModal .fund-contract-like-footer > .note:not(:empty) {
    flex: 1 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  @media (max-width: 768px) {
    #fundPlMaterialModal .fund-contract-like-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      padding: 12px 16px !important;
    }

    #fundPlMaterialModal .fund-contract-like-footer > .submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

/*
    Убираем визуальное выделение юридических фраз в целевых модальных окнах:
    - Политика конфиденциальности / политика конфиденциальности;
    - Согласие на обработку персональных данных;
    - Условия приема платежей.

    Фразы остаются кликабельными, но визуально выглядят как обычный текст:
    без синего цвета, подчеркивания, жирности, фона, рамок и подсветки при наведении/фокусе.
  */
  #serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal .service-consent-grid-text a:focus,
  #serviceModal .service-consent-grid-text a:focus-visible,
  #serviceModal .service-consent-grid-text a:active,
  #serviceModal a.service-policy-trigger,
  #serviceModal a.service-policy-trigger:hover,
  #serviceModal a.service-policy-trigger:focus,
  #serviceModal a.service-policy-trigger:focus-visible,
  #serviceModal a.service-policy-trigger:active,
  #serviceModal .service-consent-static,

  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-consent-label a:focus,
  #socialLegalModal .social-legal-consent-label a:focus-visible,
  #socialLegalModal .social-legal-consent-label a:active,
  #socialLegalModal .social-legal-note a,
  #socialLegalModal .social-legal-note a:hover,
  #socialLegalModal .social-legal-note a:focus,
  #socialLegalModal .social-legal-note a:focus-visible,
  #socialLegalModal .social-legal-note a:active,

  #fundLifeDonateModal .payment-legal-card a,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .payment-legal-card a:focus,
  #fundLifeDonateModal .payment-legal-card a:focus-visible,
  #fundLifeDonateModal .payment-legal-card a:active,
  #fundLifeDonateModal .consent-label a,
  #fundLifeDonateModal .consent-label a:hover,
  #fundLifeDonateModal .consent-label a:focus,
  #fundLifeDonateModal .consent-label a:focus-visible,
  #fundLifeDonateModal .consent-label a:active,

  #fundPlFinancialModal .payment-legal-card a,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .payment-legal-card a:focus,
  #fundPlFinancialModal .payment-legal-card a:focus-visible,
  #fundPlFinancialModal .payment-legal-card a:active,
  #fundPlFinancialModal .consent-label a,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlFinancialModal .consent-label a:focus,
  #fundPlFinancialModal .consent-label a:focus-visible,
  #fundPlFinancialModal .consent-label a:active,

  #fundPlMaterialModal .consent-label a,
  #fundPlMaterialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:focus,
  #fundPlMaterialModal .consent-label a:focus-visible,
  #fundPlMaterialModal .consent-label a:active,

  #contractModal .consent-label a,
  #contractModal .consent-label a:hover,
  #contractModal .consent-label a:focus,
  #contractModal .consent-label a:focus-visible,
  #contractModal .consent-label a:active,

  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:focus,
  #officeFeedbackModal .social-legal-consent-label a:focus-visible,
  #officeFeedbackModal .social-legal-consent-label a:active,
  #officeFeedbackModal .social-legal-note a,
  #officeFeedbackModal .social-legal-note a:hover,
  #officeFeedbackModal .social-legal-note a:focus,
  #officeFeedbackModal .social-legal-note a:focus-visible,
  #officeFeedbackModal .social-legal-note a:active {
    color: inherit !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    font-weight: 400 !important;
    outline: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    -webkit-text-decoration: none !important;
  }

  #serviceModal .service-consent-static {
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    font-weight: 400 !important;
    outline: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    -webkit-text-decoration: none !important;
  }

/*
    REDO 2026-04-28:
    Юридические фразы в целевых модальных окнах выравниваются по размеру
    с блоком согласия в модальном окне «ВЫБОР ДОЛЖНОСТИ».

    Эталон: #contractModal .consent-label / #contractModal .consent-label span / ссылки внутри него.
    Целевые окна:
    - #serviceModal: «ЗАЯВКА» и «ЗАДАТЬ ВОПРОС»;
    - #fundLifeDonateModal: «БАНКОВСКИЕ РЕКВИЗИТЫ»;
    - #fundPlFinancialModal: «ФИНАНСОВАЯ ПОМОЩЬ»;
    - #fundPlMaterialModal: «ГУМАНИТАРНАЯ ПОМОЩЬ»;
    - #socialLegalModal и #officeFeedbackModal: «Обратная связь» / юридическое обращение.
  */

  :root {
    --contract-legal-font-size: 16px;
    --contract-legal-line-height: 1.45;
  }

  #contractModal .consent-label,
  #contractModal .consent-label span,
  #contractModal .consent-label a,
  #serviceModal .service-consent-grid-text,
  #serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-static,
  #socialLegalModal .social-legal-consent-label,
  #socialLegalModal .social-legal-consent-label span,
  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-note,
  #socialLegalModal .social-legal-note a,
  #fundLifeDonateModal .payment-legal-card .legal-note,
  #fundLifeDonateModal .payment-legal-card .legal-note a,
  #fundLifeDonateModal .consent-label,
  #fundLifeDonateModal .consent-label span,
  #fundLifeDonateModal .consent-label a,
  #fundPlFinancialModal .payment-legal-card .legal-note,
  #fundPlFinancialModal .payment-legal-card .legal-note a,
  #fundPlFinancialModal .consent-label,
  #fundPlFinancialModal .consent-label span,
  #fundPlFinancialModal .consent-label a,
  #fundPlMaterialModal .consent-label,
  #fundPlMaterialModal .consent-label span,
  #fundPlMaterialModal .consent-label a,
  #officeFeedbackModal .social-legal-consent-label,
  #officeFeedbackModal .social-legal-consent-label span,
  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-note,
  #officeFeedbackModal .social-legal-note a {
    font-size: var(--contract-legal-font-size) !important;
    line-height: var(--contract-legal-line-height) !important;
  }

/*
    PATCH 2026-04-28:
    В указанных модальных окнах юридические фразы снова выделены синим цветом
    и приведены к единому читаемому размеру шрифта.

    Окна:
    - «ЗАЯВКА» / «ЗАДАТЬ ВОПРОС» (#serviceModal);
    - «БАНКОВСКИЕ РЕКВИЗИТЫ» (#fundLifeDonateModal);
    - «ФИНАНСОВАЯ ПОМОЩЬ» (#fundPlFinancialModal);
    - «ГУМАНИТАРНАЯ ПОМОЩЬ» (#fundPlMaterialModal);
    - «Обратная связь» (#socialLegalModal, #officeFeedbackModal).
  */
  :root {
    --target-modal-legal-link-blue: var(--blue-dark, #4f8df0);
    --target-modal-legal-link-blue-hover: #2f70d7;
    --target-modal-legal-link-size: var(--contract-legal-font-size, 16px);
    --target-modal-legal-link-line-height: var(--contract-legal-line-height, 1.45);
  }

  #serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-grid-text a:visited,
  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal .service-consent-grid-text a:focus,
  #serviceModal .service-consent-grid-text a:focus-visible,
  #serviceModal .service-consent-grid-text a:active,
  #serviceModal a.service-policy-trigger,
  #serviceModal a.service-policy-trigger:visited,
  #serviceModal a.service-policy-trigger:hover,
  #serviceModal a.service-policy-trigger:focus,
  #serviceModal a.service-policy-trigger:focus-visible,
  #serviceModal a.service-policy-trigger:active,
  #serviceModal .service-consent-static,

  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-consent-label a:visited,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-consent-label a:focus,
  #socialLegalModal .social-legal-consent-label a:focus-visible,
  #socialLegalModal .social-legal-consent-label a:active,
  #socialLegalModal .social-legal-note a,
  #socialLegalModal .social-legal-note a:visited,
  #socialLegalModal .social-legal-note a:hover,
  #socialLegalModal .social-legal-note a:focus,
  #socialLegalModal .social-legal-note a:focus-visible,
  #socialLegalModal .social-legal-note a:active,

  #fundLifeDonateModal .payment-legal-card a,
  #fundLifeDonateModal .payment-legal-card a:visited,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .payment-legal-card a:focus,
  #fundLifeDonateModal .payment-legal-card a:focus-visible,
  #fundLifeDonateModal .payment-legal-card a:active,
  #fundLifeDonateModal .consent-label a,
  #fundLifeDonateModal .consent-label a:visited,
  #fundLifeDonateModal .consent-label a:hover,
  #fundLifeDonateModal .consent-label a:focus,
  #fundLifeDonateModal .consent-label a:focus-visible,
  #fundLifeDonateModal .consent-label a:active,

  #fundPlFinancialModal .payment-legal-card a,
  #fundPlFinancialModal .payment-legal-card a:visited,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .payment-legal-card a:focus,
  #fundPlFinancialModal .payment-legal-card a:focus-visible,
  #fundPlFinancialModal .payment-legal-card a:active,
  #fundPlFinancialModal .consent-label a,
  #fundPlFinancialModal .consent-label a:visited,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlFinancialModal .consent-label a:focus,
  #fundPlFinancialModal .consent-label a:focus-visible,
  #fundPlFinancialModal .consent-label a:active,

  #fundPlMaterialModal .consent-label a,
  #fundPlMaterialModal .consent-label a:visited,
  #fundPlMaterialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:focus,
  #fundPlMaterialModal .consent-label a:focus-visible,
  #fundPlMaterialModal .consent-label a:active,

  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-consent-label a:visited,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:focus,
  #officeFeedbackModal .social-legal-consent-label a:focus-visible,
  #officeFeedbackModal .social-legal-consent-label a:active,
  #officeFeedbackModal .social-legal-note a,
  #officeFeedbackModal .social-legal-note a:visited,
  #officeFeedbackModal .social-legal-note a:hover,
  #officeFeedbackModal .social-legal-note a:focus,
  #officeFeedbackModal .social-legal-note a:focus-visible,
  #officeFeedbackModal .social-legal-note a:active {
    color: var(--target-modal-legal-link-blue) !important;
    font-size: var(--target-modal-legal-link-size) !important;
    line-height: var(--target-modal-legal-link-line-height) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline-offset: 3px !important;
  }

  #serviceModal .service-consent-static {
    display: inline !important;
  }

  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal a.service-policy-trigger:hover,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-note a:hover,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .consent-label a:hover,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-note a:hover {
    color: var(--target-modal-legal-link-blue-hover) !important;
  }

#serviceModal a.privacy-policy-link,
  #socialLegalModal a.privacy-policy-link,
  #fundLifeDonateModal a.privacy-policy-link,
  #fundPlMaterialModal a.privacy-policy-link,
  #fundPlFinancialModal a.privacy-policy-link,
  #contractModal a.privacy-policy-link,
  #officeFeedbackModal a.privacy-policy-link {
    cursor: pointer !important;
  }

#fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn,
  #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:hover,
  #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:focus-visible,
  #fundPlFinancialModal.fund-pl-payment-mode-qr #fundPlRequisitesTabBtn:active {
    background: #d9dde4 !important;
    color: #111111 !important;
    box-shadow: var(--shadow) !important;
    filter: none !important;
    transform: none !important;
    outline: none !important;
  }

#serviceModal .service-consent-grid-text a,
  #serviceModal .service-consent-grid-text a:visited,
  #serviceModal .service-consent-grid-text a:hover,
  #serviceModal .service-consent-grid-text a:focus,
  #serviceModal .service-consent-grid-text a:focus-visible,
  #serviceModal .service-consent-grid-text a:active,
  #serviceModal a.service-policy-trigger,
  #serviceModal a.service-policy-trigger:visited,
  #serviceModal a.service-policy-trigger:hover,
  #serviceModal a.service-policy-trigger:focus,
  #serviceModal a.service-policy-trigger:focus-visible,
  #serviceModal a.service-policy-trigger:active,

  #socialLegalModal .social-legal-consent-label a,
  #socialLegalModal .social-legal-consent-label a:visited,
  #socialLegalModal .social-legal-consent-label a:hover,
  #socialLegalModal .social-legal-consent-label a:focus,
  #socialLegalModal .social-legal-consent-label a:focus-visible,
  #socialLegalModal .social-legal-consent-label a:active,
  #socialLegalModal .social-legal-note a,
  #socialLegalModal .social-legal-note a:visited,
  #socialLegalModal .social-legal-note a:hover,
  #socialLegalModal .social-legal-note a:focus,
  #socialLegalModal .social-legal-note a:focus-visible,
  #socialLegalModal .social-legal-note a:active,

  #fundLifeDonateModal .payment-legal-card a,
  #fundLifeDonateModal .payment-legal-card a:visited,
  #fundLifeDonateModal .payment-legal-card a:hover,
  #fundLifeDonateModal .payment-legal-card a:focus,
  #fundLifeDonateModal .payment-legal-card a:focus-visible,
  #fundLifeDonateModal .payment-legal-card a:active,
  #fundLifeDonateModal .consent-label a,
  #fundLifeDonateModal .consent-label a:visited,
  #fundLifeDonateModal .consent-label a:hover,
  #fundLifeDonateModal .consent-label a:focus,
  #fundLifeDonateModal .consent-label a:focus-visible,
  #fundLifeDonateModal .consent-label a:active,

  #fundPlFinancialModal .payment-legal-card a,
  #fundPlFinancialModal .payment-legal-card a:visited,
  #fundPlFinancialModal .payment-legal-card a:hover,
  #fundPlFinancialModal .payment-legal-card a:focus,
  #fundPlFinancialModal .payment-legal-card a:focus-visible,
  #fundPlFinancialModal .payment-legal-card a:active,
  #fundPlFinancialModal .consent-label a,
  #fundPlFinancialModal .consent-label a:visited,
  #fundPlFinancialModal .consent-label a:hover,
  #fundPlFinancialModal .consent-label a:focus,
  #fundPlFinancialModal .consent-label a:focus-visible,
  #fundPlFinancialModal .consent-label a:active,

  #fundPlMaterialModal .consent-label a,
  #fundPlMaterialModal .consent-label a:visited,
  #fundPlMaterialModal .consent-label a:hover,
  #fundPlMaterialModal .consent-label a:focus,
  #fundPlMaterialModal .consent-label a:focus-visible,
  #fundPlMaterialModal .consent-label a:active,

  #contractModal .consent-label a,
  #contractModal .consent-label a:visited,
  #contractModal .consent-label a:hover,
  #contractModal .consent-label a:focus,
  #contractModal .consent-label a:focus-visible,
  #contractModal .consent-label a:active,

  #officeFeedbackModal .social-legal-consent-label a,
  #officeFeedbackModal .social-legal-consent-label a:visited,
  #officeFeedbackModal .social-legal-consent-label a:hover,
  #officeFeedbackModal .social-legal-consent-label a:focus,
  #officeFeedbackModal .social-legal-consent-label a:focus-visible,
  #officeFeedbackModal .social-legal-consent-label a:active,
  #officeFeedbackModal .social-legal-note a,
  #officeFeedbackModal .social-legal-note a:visited,
  #officeFeedbackModal .social-legal-note a:hover,
  #officeFeedbackModal .social-legal-note a:focus,
  #officeFeedbackModal .social-legal-note a:focus-visible,
  #officeFeedbackModal .social-legal-note a:active {
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    text-underline-offset: 0 !important;
    border-bottom: 0 !important;
  }

#serviceModal .service-modal-footer .submit-btn:disabled:not(.is-sending),
  #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn:disabled:not(.is-sending),
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:disabled:not(.is-sending),
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn:disabled:not(.is-sending) {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%)) !important;
    color: var(--text-main, #111111) !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
  }

  #serviceModal .service-modal-footer .submit-btn:disabled:not(.is-sending):hover,
  #fundPlFinancialModal .financial-payment-submit-actions .pay-link-btn:disabled:not(.is-sending):hover,
  #fundPlMaterialModal .fund-contract-like-footer .submit-btn:disabled:not(.is-sending):hover,
  #officeFeedbackModal .social-legal-modal-footer .social-legal-submit-btn:disabled:not(.is-sending):hover {
    background: var(--flow-gradient, linear-gradient(135deg, #2f7085 0%, #92cbdb 50%, #2f7085 100%)) !important;
    color: var(--text-main, #111111) !important;
    box-shadow: none !important;
    transform: none !important;
  }

/* Повторяем финальную геометрию и визуальный стиль шапки окна «ОБРАТНАЯ СВЯЗЬ». */
  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header {
    position: relative !important;
    display: block !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    padding: 12px 54px 8px 56px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  /* Крестик в этих окнах теперь стоит и выглядит как в шапке «ОБРАТНАЯ СВЯЗЬ». */
  #fundPlFinancialModal .sheet-close-btn,
  #fundPlMaterialModal .sheet-close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #fundPlFinancialModal .sheet-close-btn:hover,
  #fundPlFinancialModal .sheet-close-btn:focus-visible,
  #fundPlMaterialModal .sheet-close-btn:hover,
  #fundPlMaterialModal .sheet-close-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  /* Стрелка назад остаётся слева и получает такие же отступы относительно новой шапки. */
  #fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn {
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    right: auto !important;
  }

  @media (max-width: 768px) {
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header {
      padding: 12px 54px 8px 48px !important;
    }

    #fundPlFinancialModal .fund-contract-like-header h2,
    #fundPlMaterialModal .fund-contract-like-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;
    }

    #fundPlFinancialModal .sheet-close-btn,
    #fundPlMaterialModal .sheet-close-btn {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #fundPlFinancialModal .modal-back-btn,
    #fundPlMaterialModal .modal-back-btn {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
    }
  }

#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;
    }
  }

/* Размеры кнопок навигации во всплывающем меню приведены к sila-zhit.html. */
  #sideMenu .side-nav {
    gap: 14px !important;
  }

  #sideMenu .side-nav a,
  #sideMenu .side-nav button {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height:  112px !important;
    max-height: none !important;
    flex: 0 1 auto !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    #sideMenu .side-nav a,
    #sideMenu .side-nav button {
      min-height:  112px !important;
      border-radius: 14px !important;
    }
  }

  @media (max-width: 480px) {
    #sideMenu {
      width: min(92vw, 360px) !important;
      max-width: 92vw !important;
    }

    #sideMenu .side-nav a,
    #sideMenu .side-nav button {
      min-height:  112px !important;
      padding: 12px 14px !important;
    }
  }

:root { --radius: 22px; }

/* v5: chrome rules removed; .btn and content selectors kept */
.main-shell {
      flex: 1;
      width: 100%;
    }
.page-section {
      max-width: 1280px;
      margin: 22px auto 0;
      padding: 0 20px 44px;
      width: 100%;
    }
.vk-page-shell {
      display: grid;
      grid-template-columns: minmax(220px, 248px) minmax(0, 1fr) minmax(240px, 286px);
      gap: 18px;
      align-items: start;
    }
.vk-leftbar, .vk-rightbar {
      display: grid;
      gap: 14px;
      position: sticky;
      top: 92px;
    }
.vk-card, .vk-composer, .vk-feed-card, .vk-empty {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }
.vk-card { padding: 16px; }
.vk-community-card {
      overflow: hidden;
      padding: 0;
    }
.vk-community-cover {
      height: 84px;
      background: linear-gradient(135deg, #4f7fd9 0%, #6ea8ff 42%, #92cbdb 100%);
    }
.vk-community-body {
      padding: 0 16px 16px;
      margin-top: -26px;
    }
.vk-community-avatar, .vk-avatar-big, .vk-post-avatar {
      background: linear-gradient(135deg, #4f7fd9, #6ea8ff);
      color: #ffffff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 900;
      box-shadow: 0 10px 22px rgba(40, 84, 150, 0.22);
    }
.vk-community-avatar {
      width: 68px;
      height: 68px;
      border-radius: 20px;
      border: 4px solid #ffffff;
      font-size: 28px;
      margin-bottom: 10px;
    }
.vk-community-title {
      font-size: 21px;
      line-height: 1.15;
      margin-bottom: 8px;
    }
.vk-community-text, .vk-card p, .vk-card li {
      font-size: 14px;
      line-height: 1.55;
      color: #5c6675;
      list-style: none;
    }
.vk-stat-row, .vk-composer-inline-meta, .vk-attach-row, .vk-tabs, .vk-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
.vk-stat-pill, .vk-inline-chip, .vk-attach-pill, .vk-type-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 10px;
      border-radius: 999px;
      background: #f1f5fb;
      color: #385898;
      font-size: 12px;
      font-weight: 700;
    }
.vk-menu-title, .vk-side-title, .vk-form-group label, .field-caption {
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #677487;
    }
.vk-menu {
      display: grid;
      gap: 6px;
    }
.vk-menu-link {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      color: #202b38;
      padding: 11px 12px;
      border-radius: 12px;
      font-size: 15px;
      font-weight: 700;
      transition: 0.2s ease;
    }
.vk-menu-link:hover, .vk-menu-link.active {
      background: #edf3fb;
      color: #2d5ead;
    }
.vk-main-column {
      display: grid;
      gap: 14px;
      min-width: 0;
    }
.vk-feed-header {
      padding: 0 2px;
    }
.vk-feed-title {
      font-size: clamp(30px, 4vw, 44px);
      line-height: 1.05;
      margin-bottom: 10px;
      text-transform: uppercase;
    }
.vk-feed-subtitle {
      max-width: 760px;
      color: #5f6b7b;
      font-size: 16px;
      line-height: 1.6;
    }
.vk-composer {
      padding: 16px;
    }
.vk-composer-top {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      margin-bottom: 14px;
    }
.vk-avatar-big {
      width: 48px;
      height: 48px;
      border-radius: 16px;
      font-size: 18px;
      flex: 0 0 auto;
    }
.vk-composer-box {
      flex: 1 1 auto;
      min-width: 0;
    }
.vk-composer-placeholder {
      display: block;
      width: 100%;
      border: 1px solid #e0e7f0;
      background: #f5f8fc;
      border-radius: 16px;
      padding: 14px 16px;
      color: #637186;
      font-size: 15px;
      line-height: 1.45;
      margin-bottom: 12px;
      cursor: text;
    }
.vk-composer-form {
      display: grid;
      gap: 12px;
    }
.vk-composer-grid, .vk-input-row {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
.vk-composer-grid--first {
      grid-template-columns: minmax(0, 1fr) minmax(170px, 200px);
    }
.vk-form-group {
      display: grid;
      gap: 7px;
    }
.vk-composer-form input, .vk-composer-form select, .vk-composer-form textarea {
      width: 100%;
      border: 1px solid #dce4ef;
      border-radius: 14px;
      padding: 13px 14px;
      font: inherit;
      background: #f8fbff;
      color: #1a2430;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }
.vk-composer-form textarea {
      min-height: 120px;
      resize: vertical;
    }
.vk-composer-form input:focus, .vk-composer-form select:focus, .vk-composer-form textarea:focus {
      outline: none;
      border-color: #6ea8ff;
      box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.16);
      background: #ffffff;
    }
.vk-helper {
      font-size: 12px;
      color: #7b8797;
    }
.composer-details {
      display: grid;
      gap: 12px;
      max-height: 1500px;
      opacity: 1;
      overflow: hidden;
      transform: translateY(0);
      transition: max-height 0.35s ease, opacity 0.28s ease, transform 0.28s ease, margin-top 0.28s ease;
    }
.composer-details.is-hidden {
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      transform: translateY(-10px);
      margin-top: -4px;
      pointer-events: none;
    }
.composer-closed-note {
      font-size: 13px;
      color: #6c7a8b;
      padding: 2px 2px 0;
    }
.composer-closed-note.hidden {
      display: none;
    }
.vk-composer-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      border-top: 1px solid #edf1f6;
      padding-top: 12px;
    }
.vk-button-row {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
.vk-btn, .file-trigger {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: none;
      border-radius: 12px;
      padding: 12px 16px;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.2s ease;
      text-decoration: none;
      line-height: 1;
    }
.vk-btn.primary {
      background: var(--blue);
      color: #ffffff;
    }
.vk-btn.primary:hover {
      background: var(--blue-dark);
      transform: translateY(-1px);
    }
.vk-btn.secondary {
      background: var(--light-btn);
      color: #243242;
    }
.vk-btn.secondary:hover {
      background: #e4ebf3;
    }
.file-control {
      position: relative;
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 52px;
      padding: 8px 10px;
      border: 1px solid #dce4ef;
      border-radius: 14px;
      background: #f8fbff;
      overflow: hidden;
      flex-wrap: wrap;
    }
.file-control input[type="file"] {
      position: absolute;
      inset: 0;
      opacity: 0;
      cursor: pointer;
    }
.file-trigger {
      background: var(--mint);
      color: #1a2430;
      box-shadow: 0 6px 16px rgba(0,0,0,0.06);
      pointer-events: none;
    }
.file-name {
      font-size: 14px;
      color: #546274;
      min-width: 0;
      word-break: normal;
    }
input[type="file"]::file-selector-button {
      background: var(--mint);
      color: #1a2430;
      border: none;
      border-radius: 12px;
      padding: 12px 16px;
      font-weight: 800;
      cursor: pointer;
      margin-right: 12px;
    }
.vk-status {
      min-height: 20px;
      font-size: 13px;
      color: #5470a5;
      margin-top: 6px;
      font-weight: 700;
    }
.vk-status.error { color: #b42318; }
.vk-status.success { color: #2f7892; }
.vk-status.warning { color: #9a6700; }
.vk-status:empty {
      display: none;
    }
.vk-action-button {
      border: none;
      cursor: pointer;
      transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    }
.vk-action-button:hover {
      background: #e8eef5;
      transform: translateY(-1px);
    }
.vk-action-button.active, .vk-action-button:disabled {
      background: #ffe8ee;
      color: #c23558;
      cursor: default;
      transform: none;
    }
.vk-action-button.is-open:not(:disabled) {
      background: #edf4fb;
      color: #2d5ead;
    }
.vk-feed-card.is-target {
      border-color: rgba(45, 129, 224, 0.35);
      box-shadow: 0 0 0 4px rgba(45, 129, 224, 0.12), var(--shadow);
    }
.vk-comments {
      margin-top: 14px;
      border-top: 1px solid #eef2f6;
      padding-top: 14px;
      display: grid;
      gap: 12px;
    }
.vk-comments[hidden] {
      display: none !important;
    }
.vk-comments-title {
      font-size: 14px;
      font-weight: 800;
      color: #314152;
    }
.vk-comment-list {
      display: grid;
      gap: 10px;
    }
.vk-comment {
      background: #f7faff;
      border: 1px solid #e5edf7;
      border-radius: 14px;
      padding: 12px 14px;
    }
.vk-comment-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 6px;
    }
.vk-comment-author {
      font-size: 14px;
      font-weight: 800;
      color: #1c2940;
    }
.vk-comment-date {
      font-size: 12px;
      color: #7a8797;
    }
.vk-comment-text {
      font-size: 14px;
      line-height: 1.6;
      color: #334255;
      white-space: pre-wrap;
      word-break: normal;
    }
.vk-comment-empty {
      font-size: 14px;
      color: #738195;
    }
.vk-comment-form {
      display: grid;
      gap: 10px;
      background: #f9fbff;
      border: 1px solid #e5edf7;
      border-radius: 14px;
      padding: 12px;
    }
.vk-comment-grid {
      display: grid;
      grid-template-columns: minmax(0, 180px) minmax(0, 1fr) auto;
      gap: 10px;
      align-items: start;
    }
.vk-comment-form input, .vk-comment-form textarea {
      width: 100%;
      border: 1px solid #dce4ef;
      border-radius: 12px;
      padding: 12px 13px;
      font: inherit;
      background: #ffffff;
      color: #1a2430;
    }
.vk-comment-form textarea {
      min-height: 46px;
      resize: vertical;
    }
.vk-comment-form input:focus, .vk-comment-form textarea:focus {
      outline: none;
      border-color: #6ea8ff;
      box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.16);
    }
.vk-comment-submit {
      min-width: 130px;
      align-self: stretch;
    }
.vk-comment-status {
      min-height: 18px;
      font-size: 12px;
      color: #b42318;
      font-weight: 700;
    }
.vk-comment-status:empty {
      display: none;
    }
.vk-tab {
      border: 1px solid rgba(19, 29, 41, 0.08);
      background: #ffffff;
      color: #4b596d;
      border-radius: 12px;
      padding: 10px 13px;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: 0.2s ease;
    }
.vk-tab.active, .vk-tab:hover {
      background: #edf4fb;
      color: #2d5ead;
      border-color: rgba(45, 94, 173, 0.16);
    }
.vk-feed-list {
      display: grid;
      gap: 14px;
    }
.vk-feed-card {
      padding: 16px;
      overflow: hidden;
    }
.vk-post-header {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      margin-bottom: 12px;
    }
.vk-post-avatar {
      width: 46px;
      height: 46px;
      border-radius: 14px;
      font-size: 18px;
      flex: 0 0 auto;
    }
.vk-post-meta {
      flex: 1 1 auto;
      min-width: 0;
    }
.vk-post-author-row {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
      margin-bottom: 4px;
    }
.vk-post-author {
      font-size: 16px;
      font-weight: 800;
      color: #182433;
    }
.vk-post-type {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 8px;
      border-radius: 999px;
      background: #edf4fb;
      color: #2d5ead;
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
.vk-post-date {
      font-size: 13px;
      color: #718093;
    }
.vk-post-menu {
      color: #8592a4;
      font-size: 22px;
      line-height: 1;
      padding: 3px 0 0 4px;
      user-select: none;
    }
.vk-post-title {
      font-size: 25px;
      line-height: 1.18;
      margin-bottom: 10px;
      color: #16202f;
    }
.vk-post-text {
      color: #334255;
      font-size: 16px;
      line-height: 1.65;
      margin-bottom: 12px;
      white-space: pre-wrap;
    }
.vk-post-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      text-decoration: none;
      color: #2d5ead;
      font-weight: 700;
      margin-bottom: 12px;
    }
.vk-post-link:hover { color: #224988; }
.vk-gallery {
      display: grid;
      gap: 8px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-bottom: 12px;
    }
.vk-gallery.single { grid-template-columns: 1fr; }
.vk-gallery img {
      width: 100%;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      border-radius: 14px;
      display: block;
      background: #edf2f8;
    }
.vk-post-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border-top: 1px solid #eef2f6;
      padding-top: 12px;
      flex-wrap: wrap;
    }
.vk-action {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #f3f6fa;
      color: #516171;
      border-radius: 999px;
      padding: 10px 12px;
      font-size: 13px;
      font-weight: 700;
    }
.vk-post-source {
      font-size: 12px;
      color: #8a96a6;
    }
.vk-empty {
      padding: 24px 18px;
      color: #617081;
      font-size: 15px;
    }
.vk-right-list {
      display: grid;
      gap: 10px;
      list-style: none;
    }
.vk-right-list li { display: grid; gap: 4px; }
.vk-right-list strong { color: #1c2940; font-size: 14px; }
.btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 4px;
      padding: 17px 24px;
      border-radius: 14px;
      background: var(--blue);
      color: #fff;
      text-decoration: none;
      font-weight: 800;
      transition: .25s ease;
      box-shadow: var(--shadow);
    }
.btn:hover {
      background: var(--blue-dark);
      transform: translateY(-2px);
    }
.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);
    }
@media (max-width: 980px) {
.footer-col h3 {
        white-space: normal;
      }
}
@media (max-width: 1180px) {
.vk-page-shell { grid-template-columns: 230px minmax(0, 1fr); }
.vk-rightbar { display: none; }
}
@media (max-width: 900px) {
.vk-page-shell { grid-template-columns: 1fr; }
.vk-leftbar, .vk-rightbar { position: static; }
.vk-leftbar { order: 2; }
.vk-main-column { order: 1; }
}
@media (max-width: 768px) {
.page-section { padding: 0 14px 30px; }
.vk-composer-grid, .vk-input-row { grid-template-columns: 1fr; }
.vk-feed-title { font-size: 28px; }
.vk-post-title { font-size: 21px; }
.vk-gallery { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
.vk-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
.vk-action { justify-content: center; }
}

/* Прижимаем футер к низу экрана на коротких страницах */
  html, body {
    min-height: 100vh;
  }
  body {
    display: flex !important;
    flex-direction: column !important;
  }
  body > .site-header,
  body > header.site-header { flex: 0 0 auto; }
  body > .site-footer,
  body > footer.site-footer {
    margin-top: auto !important;
    flex: 0 0 auto;
  }
  /* main или первая section после aside растягивается */
  body > main,
  body > main.main-shell,
  body > section.hero,
  body > .container {
    flex: 1 0 auto;
  }

/* v6: контентные кнопки = зелёные кнопки шапки */
  .back-link,
  .btn,
  .btn-return-home,
  .feedback-submit,
  .doc-btn,
  .vk-btn,
  .vk-btn.primary,
  .vk-btn.secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    width: 6.4cm !important;
    min-width: 6.4cm !important;
    max-width: 6.4cm !important;
    flex: 0 0 6.4cm !important;
    padding: 14px 0 !important;
    border-radius: 14px !important;
    border: none !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 100%) !important;
    color: #111111 !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,0.08)) !important;
    transition: 0.25s ease !important;
    filter: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
            appearance: none !important;
  }

  .back-link:hover,
  .btn:hover,
  .btn-return-home:hover,
  .feedback-submit:hover,
  .doc-btn:hover,
  .vk-btn:hover {
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 100%) !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
    filter: none !important;
  }

  @media (max-width: 480px) {
    .back-link,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .doc-btn,
    .vk-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      flex: 0 0 auto !important;
    }
  }

  /* v6: hero выровнен с .container */
  .hero,
  .container,
  main.container {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .hero > .hero-card {
    width: 100% !important;
    box-sizing: border-box !important;
  }

.user-news-page .user-news-shell {
    align-items: start;
  }

  .user-news-hero {
    padding: 6px 4px 2px;
  }

  .user-search-card {
    display: grid;
    gap: 16px;
  }

  .user-search-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    flex-wrap: wrap;
  }

  .user-search-eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 10px;
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--mint, #dcefe7);
    color: #172536;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .user-search-head h2 {
    margin: 0 0 6px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.12;
  }

  .user-search-head p {
    margin: 0;
    max-width: 680px;
    color: #5f6b7b;
    font-size: 15px;
    line-height: 1.55;
  }

  .user-search-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #f3f6fa;
    color: #314152;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
  }

  .user-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
    gap: 12px;
    align-items: end;
  }

  .user-search-field,
  .user-sort-field {
    display: grid;
    gap: 8px;
  }

  .user-search-field label,
  .user-sort-field label {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #677487;
  }

  .user-search-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }

  .user-search-form input,
  .user-search-form select {
    width: 100%;
    min-height: 52px;
    border: 1px solid #dce4ef;
    border-radius: 14px;
    padding: 13px 14px;
    font: inherit;
    background: #f8fbff;
    color: #1a2430;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }

  .user-search-form input:focus,
  .user-search-form select:focus {
    border-color: var(--blue, #6ea8ff);
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.16);
    background: #ffffff;
  }

  .user-search-card .vk-btn.user-clear-btn,
  .vk-comment-submit {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .user-filter-tabs {
    padding-top: 2px;
  }

  .user-feed-info {
    padding: 13px 16px;
    background: rgba(255, 255, 255, 0.82);
  }

  .user-feed-info-text {
    color: #5f6b7b;
    font-size: 14px;
    font-weight: 700;
  }

  .user-feed-info-text.error {
    color: #b42318;
  }

  .user-feed-info-text.success {
    color: #2f7892;
  }

  .user-feed-info-text.warning {
    color: #9a6700;
  }

  .user-news-page .vk-post-menu {
    display: none;
  }

  .user-news-page .vk-action-button {
    min-height: 40px !important;
    height: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    padding: 10px 13px !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  .user-news-page .vk-action-button:not(:disabled):hover {
    transform: translateY(-1px);
  }

  .user-news-page .vk-action-button.active,
  .user-news-page .vk-action-button:disabled.active {
    background: #ffe8ee !important;
    color: #c23558 !important;
  }

  .user-news-page .vk-comments {
    scroll-margin-top: 110px;
  }

  .user-news-page .vk-comment-form .comment-policy-note {
    margin-top: -2px;
    color: #7b8797;
    font-size: 12px;
    line-height: 1.45;
  }

  .user-news-note-card .vk-right-list span {
    color: #5c6675;
  }

  @media (max-width: 900px) {
    .user-search-form {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 640px) {
    .user-search-input-row {
      grid-template-columns: 1fr;
    }

    .user-search-card .vk-btn.user-clear-btn {
      width: 100% !important;
      max-width: 100% !important;
    }

    .user-news-page .vk-actions {
      grid-template-columns: 1fr;
    }

    .user-news-page .vk-action-button {
      width: 100% !important;
      justify-content: center !important;
    }
  }

:root {
    --user-news-ink: #102033;
    --user-news-muted: #627186;
    --user-news-blue: #5b94ff;
    --user-news-green: #92cbdb;
    --user-news-lime: #2f7085;
    --user-news-panel: rgba(255, 255, 255, 0.88);
    --user-news-border: rgba(79, 118, 173, 0.16);
    --user-news-shadow: 0 20px 55px rgba(28, 60, 105, 0.13);
    --user-news-shadow-hover: 0 28px 70px rgba(28, 60, 105, 0.20);
  }

  body {
    background:
      radial-gradient(circle at 12% 8%, rgba(212, 252, 182, 0.72) 0, rgba(212, 252, 182, 0) 28vw),
      radial-gradient(circle at 88% 14%, rgba(143, 231, 197, 0.72) 0, rgba(143, 231, 197, 0) 30vw),
      radial-gradient(circle at 50% 100%, rgba(110, 168, 255, 0.34) 0, rgba(110, 168, 255, 0) 38vw),
      linear-gradient(180deg, #eaf7ff 0%, #dcefff 44%, #f5fbff 100%) !important;
  }

  .main-shell {
    position: relative;
    isolation: isolate;
  }

  .page-section.user-news-page {
    max-width: 1360px !important;
    margin-top: 26px !important;
    padding-bottom: 58px !important;
  }

  .user-news-page .user-news-shell {
    grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) minmax(250px, 305px);
    gap: 22px;
  }

  .user-news-page .vk-leftbar,
  .user-news-page .vk-rightbar {
    gap: 18px;
    top: 112px;
  }

  .user-news-page .vk-card,
  .user-news-page .vk-feed-card,
  .user-news-page .vk-empty {
    position: relative;
    border: 1px solid var(--user-news-border) !important;
    border-radius: 26px !important;
    background: var(--user-news-panel) !important;
    box-shadow: var(--user-news-shadow) !important;
    backdrop-filter: blur(14px);
  }

  .user-news-page .vk-card {
    padding: 18px !important;
  }

  .user-news-page .vk-community-card {
    padding: 0 !important;
    overflow: hidden;
  }

  .user-news-page .vk-community-cover {
    height: 112px;
    background:
      radial-gradient(circle at 22% 20%, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) 34%),
      linear-gradient(135deg, #5b94ff 0%, #92cbdb 48%, #2f7085 100%) !important;
  }

  .user-news-page .vk-community-body {
    padding: 0 18px 20px;
    margin-top: -34px;
  }

  .user-news-page .vk-community-avatar,
  .user-news-page .vk-post-avatar {
    background: linear-gradient(135deg, #5b94ff 0%, #92cbdb 50%, #2f7085 100%) !important;
    color: #102033 !important;
    box-shadow: 0 14px 28px rgba(55, 112, 164, 0.24) !important;
  }

  .user-news-page .vk-community-avatar {
    width: 76px;
    height: 76px;
    border-radius: 24px;
    border: 5px solid rgba(255, 255, 255, 0.95);
    font-size: 32px;
  }

  .user-news-page .vk-community-title {
    color: var(--user-news-ink);
    font-size: 24px;
    letter-spacing: -0.02em;
  }

  .user-news-page .vk-community-text,
  .user-news-page .vk-card p,
  .user-news-page .vk-card li,
  .user-news-note-card .vk-right-list span {
    color: var(--user-news-muted) !important;
  }

  .user-news-page .vk-stat-pill,
  .user-news-page .vk-inline-chip,
  .user-news-page .vk-attach-pill,
  .user-news-page .vk-type-chip {
    background: rgba(255, 255, 255, 0.72) !important;
    color: #24415f !important;
    border: 1px solid rgba(79, 118, 173, 0.12);
    box-shadow: 0 8px 20px rgba(39, 82, 130, 0.08);
  }

  .user-news-page .vk-menu-title,
  .user-news-page .vk-side-title {
    color: #41536b !important;
    margin-bottom: 10px;
  }

  .user-news-page .vk-menu {
    gap: 9px;
  }

  .user-news-page .vk-menu-link {
    min-height: 46px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid transparent;
    color: #213247;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  }

  .user-news-page .vk-menu-link:hover,
  .user-news-page .vk-menu-link.active {
    background: linear-gradient(135deg, rgba(212, 252, 182, 0.82), rgba(143, 231, 197, 0.78)) !important;
    border-color: rgba(67, 132, 120, 0.18);
    color: #102033 !important;
    box-shadow: 0 14px 28px rgba(67, 132, 120, 0.14);
    transform: translateY(-1px);
  }

  .user-news-page .vk-main-column {
    gap: 18px;
  }

  .user-news-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(26px, 4vw, 44px) !important;
    border-radius: 34px !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 86% 14%, rgba(212, 252, 182, 0.44), rgba(212, 252, 182, 0) 32%),
      radial-gradient(circle at 12% 86%, rgba(91, 148, 255, 0.56), rgba(91, 148, 255, 0) 34%),
      linear-gradient(135deg, rgba(12, 25, 44, 0.98), rgba(25, 62, 94, 0.91) 48%, rgba(36, 118, 113, 0.82)) !important;
    box-shadow: 0 34px 90px rgba(12, 34, 65, 0.24) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

  .user-news-hero::before,
  .user-news-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
  }

  .user-news-hero::before {
    width: 340px;
    height: 340px;
    right: -110px;
    top: -140px;
    background: radial-gradient(circle, rgba(212, 252, 182, 0.64), rgba(212, 252, 182, 0));
  }

  .user-news-hero::after {
    width: 220px;
    height: 220px;
    left: -90px;
    bottom: -100px;
    background: radial-gradient(circle, rgba(143, 231, 197, 0.42), rgba(143, 231, 197, 0));
  }

  .user-news-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
    gap: clamp(20px, 4vw, 36px);
    align-items: center;
  }

  .user-news-kicker,
  .user-search-eyebrow {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .user-news-kicker {
    margin-bottom: 14px;
    color: #102033;
    background: linear-gradient(135deg, #2f7085, #92cbdb);
    box-shadow: 0 12px 26px rgba(143, 231, 197, 0.28);
  }

  .user-news-hero .vk-feed-title {
    margin: 0 0 16px !important;
    color: #ffffff !important;
    font-size: clamp(40px, 6vw, 70px) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.055em;
    text-transform: none !important;
    text-wrap: balance;
  }

  .user-news-hero .vk-feed-subtitle {
    max-width: 780px;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: clamp(16px, 2vw, 20px) !important;
    line-height: 1.62 !important;
  }

  .user-news-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
  }

  .user-news-primary-link,
  .user-news-ghost-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 20px;
    border-radius: 16px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
  }

  .user-news-primary-link {
    background: linear-gradient(135deg, #2f7085, #92cbdb);
    color: #102033;
    box-shadow: 0 16px 34px rgba(143, 231, 197, 0.24);
  }

  .user-news-ghost-link {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(10px);
  }

  .user-news-primary-link:hover,
  .user-news-ghost-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.18);
  }

  .user-news-hero-panel {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 24px 55px rgba(0, 0, 0, 0.16);
  }

  .user-news-mini-stat {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas: "icon title" "icon text";
    column-gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.13);
  }

  .user-news-mini-icon {
    grid-area: icon;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 20px;
  }

  .user-news-mini-stat strong {
    grid-area: title;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.15;
  }

  .user-news-mini-stat small {
    grid-area: text;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    line-height: 1.35;
  }

  .user-search-card {
    overflow: hidden;
    padding: clamp(20px, 3vw, 28px) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(143, 231, 197, 0.25), rgba(143, 231, 197, 0) 38%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 255, 0.88)) !important;
  }

  .user-search-card::before {
    content: "";
    position: absolute;
    top: -70px;
    right: -70px;
    width: 210px;
    height: 210px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(212, 252, 182, 0.52), rgba(212, 252, 182, 0));
    pointer-events: none;
  }

  .user-search-card > * {
    position: relative;
    z-index: 1;
  }

  .user-search-head {
    align-items: center;
  }

  .user-search-eyebrow {
    margin-bottom: 12px !important;
    color: #2f7085 !important;
    background: linear-gradient(135deg, rgba(212, 252, 182, 0.95), rgba(143, 231, 197, 0.92)) !important;
  }

  .user-search-head h2 {
    color: var(--user-news-ink);
    font-size: clamp(28px, 3vw, 40px) !important;
    letter-spacing: -0.035em;
  }

  .user-search-head p {
    color: var(--user-news-muted) !important;
    font-size: 16px !important;
  }

  .user-search-count {
    min-height: 48px;
    padding: 12px 16px;
    color: #1f4b5b !important;
    background: linear-gradient(135deg, rgba(212, 252, 182, 0.95), rgba(143, 231, 197, 0.84)) !important;
    border: 1px solid rgba(67, 132, 120, 0.18);
    box-shadow: 0 14px 28px rgba(67, 132, 120, 0.13);
  }

  .user-search-form {
    gap: 14px;
  }

  .user-search-field label,
  .user-sort-field label {
    color: #43556d !important;
  }

  .user-search-form input,
  .user-search-form select,
  .vk-comment-form input,
  .vk-comment-form textarea {
    border-radius: 18px !important;
    border: 1px solid rgba(79, 118, 173, 0.18) !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 8px 20px rgba(41, 78, 122, 0.06);
  }

  .user-search-form input,
  .user-search-form select {
    min-height: 58px !important;
    padding: 15px 16px !important;
  }

  .user-search-form input:focus,
  .user-search-form select:focus,
  .vk-comment-form input:focus,
  .vk-comment-form textarea:focus {
    border-color: rgba(91, 148, 255, 0.58) !important;
    box-shadow: 0 0 0 5px rgba(91, 148, 255, 0.15), 0 12px 28px rgba(41, 78, 122, 0.10) !important;
  }

  .user-search-card .vk-btn.user-clear-btn,
  .vk-comment-submit {
    min-height: 58px !important;
    border-radius: 18px !important;
    background: #102033 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(16, 32, 51, 0.16) !important;
  }

  .user-search-card .vk-btn.user-clear-btn:hover,
  .vk-comment-submit:hover {
    background: #1b3654 !important;
    transform: translateY(-1px);
  }

  .user-filter-tabs {
    gap: 10px !important;
  }

  .user-news-page .vk-tab {
    min-height: 42px;
    padding: 11px 15px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: #3d4d62 !important;
    border: 1px solid rgba(79, 118, 173, 0.14) !important;
    box-shadow: 0 8px 20px rgba(41, 78, 122, 0.06);
  }

  .user-news-page .vk-tab.active,
  .user-news-page .vk-tab:hover {
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    color: #102033 !important;
    border-color: rgba(67, 132, 120, 0.18) !important;
    transform: translateY(-1px);
  }

  .user-feed-info {
    padding: 15px 18px !important;
    background: rgba(255, 255, 255, 0.68) !important;
  }

  .user-feed-info::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    border-radius: 999px;
    background: #92cbdb;
    box-shadow: 0 0 0 5px rgba(143, 231, 197, 0.18);
    vertical-align: middle;
  }

  .user-feed-info-text {
    display: inline;
    color: #46586f !important;
  }

  .user-news-page .vk-feed-list {
    gap: 18px !important;
  }

  .user-news-page #vkFeed > .vk-feed-card {
    --post-accent: #5b94ff;
    --post-accent-2: #92cbdb;
    padding: clamp(18px, 2.6vw, 26px) !important;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(249, 252, 255, 0.91)) !important;
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
  }

  .user-news-page #vkFeed > .vk-feed-card[data-post-type="article"] {
    --post-accent: #7f7cff;
    --post-accent-2: #b6a7ff;
  }

  .user-news-page #vkFeed > .vk-feed-card[data-post-type="photo"] {
    --post-accent: #ff9a62;
    --post-accent-2: #ffd08a;
  }

  .user-news-page #vkFeed > .vk-feed-card[data-post-type="post"] {
    --post-accent: #3f93ad;
    --post-accent-2: #2f7085;
  }

  .user-news-page #vkFeed > .vk-feed-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--post-accent), var(--post-accent-2));
  }

  .user-news-page #vkFeed > .vk-feed-card::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -90px;
    width: 210px;
    height: 210px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(143, 231, 197, 0.34), rgba(143, 231, 197, 0) 68%);
    opacity: 0.55;
    pointer-events: none;
  }

  .user-news-page #vkFeed > .vk-feed-card[data-post-type="article"]::after {
    background: radial-gradient(circle, rgba(182, 167, 255, 0.34), rgba(182, 167, 255, 0) 68%);
  }

  .user-news-page #vkFeed > .vk-feed-card[data-post-type="photo"]::after {
    background: radial-gradient(circle, rgba(255, 208, 138, 0.38), rgba(255, 208, 138, 0) 68%);
  }

  .user-news-page #vkFeed > .vk-feed-card[data-post-type="post"]::after {
    background: radial-gradient(circle, rgba(212, 252, 182, 0.34), rgba(212, 252, 182, 0) 68%);
  }

  .user-news-page #vkFeed > .vk-feed-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--user-news-shadow-hover) !important;
    border-color: rgba(91, 148, 255, 0.22) !important;
  }

  .user-news-page #vkFeed > .vk-feed-card > * {
    position: relative;
    z-index: 1;
  }

  .user-news-page .vk-post-header {
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
  }

  .user-news-page .vk-post-avatar {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    color: #102033 !important;
    background: linear-gradient(135deg, var(--post-accent), var(--post-accent-2)) !important;
  }

  .user-news-page .vk-post-author {
    color: var(--user-news-ink) !important;
    font-size: 17px !important;
  }

  .user-news-page .vk-post-type {
    color: #102033 !important;
    background: linear-gradient(135deg, rgba(212, 252, 182, 0.9), rgba(143, 231, 197, 0.75)) !important;
    border: 1px solid rgba(67, 132, 120, 0.15);
  }

  .user-news-page .vk-post-date {
    color: #748298 !important;
  }

  .user-news-page .vk-post-title {
    margin-bottom: 12px !important;
    color: var(--user-news-ink) !important;
    font-size: clamp(23px, 2.6vw, 32px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em;
    text-wrap: balance;
  }

  .user-news-page .vk-post-text {
    max-width: 850px;
    color: #34455b !important;
    font-size: 16.5px !important;
    line-height: 1.75 !important;
  }

  .user-news-page .vk-post-link {
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #102033 !important;
    background: rgba(212, 252, 182, 0.48);
    border: 1px solid rgba(67, 132, 120, 0.16);
    transition: transform 0.2s ease, background 0.2s ease;
  }

  .user-news-page .vk-post-link:hover {
    transform: translateY(-1px);
    background: rgba(143, 231, 197, 0.55);
  }

  .user-news-page .vk-gallery {
    gap: 10px !important;
    margin: 16px 0 !important;
  }

  .user-news-page .vk-gallery img {
    border-radius: 22px !important;
    box-shadow: 0 18px 38px rgba(28, 60, 105, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.75);
  }

  .user-news-page .vk-post-footer {
    margin-top: 18px;
    padding: 12px !important;
    border: 1px solid rgba(79, 118, 173, 0.12) !important;
    border-radius: 22px;
    background: rgba(245, 250, 255, 0.82);
  }

  .user-news-page .vk-actions {
    gap: 10px !important;
  }

  .user-news-page .vk-action-button {
    border-radius: 999px !important;
    border: 1px solid rgba(79, 118, 173, 0.12) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: #3f5068 !important;
    box-shadow: 0 8px 18px rgba(28, 60, 105, 0.07);
  }

  .user-news-page .vk-action-button:not(:disabled):hover {
    background: linear-gradient(135deg, rgba(212, 252, 182, 0.92), rgba(143, 231, 197, 0.86)) !important;
    color: #102033 !important;
    transform: translateY(-2px);
  }

  .user-news-page .vk-action-button.active,
  .user-news-page .vk-action-button:disabled.active {
    background: linear-gradient(135deg, #ffe6ee, #ffd4e1) !important;
    color: #b91f4b !important;
    border-color: rgba(255, 108, 150, 0.22) !important;
  }

  .user-news-page .vk-action-button.is-open:not(:disabled) {
    background: linear-gradient(135deg, #e9f5ff, #dceeff) !important;
    color: #255ea8 !important;
  }

  .user-news-page .vk-comments {
    margin-top: 18px;
    padding: 18px !important;
    border: 1px solid rgba(79, 118, 173, 0.12) !important;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(247, 251, 255, 0.92), rgba(255, 255, 255, 0.82));
  }

  .user-news-page .vk-comments-title {
    color: var(--user-news-ink) !important;
    font-size: 16px !important;
  }

  .user-news-page .vk-comment {
    border-radius: 18px !important;
    border: 1px solid rgba(79, 118, 173, 0.12) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 10px 24px rgba(28, 60, 105, 0.07);
  }

  .user-news-page .vk-comment-form {
    padding: 14px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(79, 118, 173, 0.12) !important;
    background: rgba(255, 255, 255, 0.70) !important;
  }

  .user-news-page .comment-policy-note {
    color: #728198 !important;
  }

  .user-news-page .vk-empty {
    padding: 28px 22px !important;
    color: #485a70 !important;
    text-align: center;
    background: rgba(255, 255, 255, 0.78) !important;
  }

  .user-news-page .vk-empty::before {
    content: "🔎";
    display: block;
    margin-bottom: 10px;
    font-size: 28px;
  }

  .user-news-page .vk-right-list {
    gap: 12px;
  }

  .user-news-page .vk-right-list li {
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid rgba(79, 118, 173, 0.10);
  }

  .user-news-page .vk-right-list strong {
    color: var(--user-news-ink) !important;
  }

  @supports not (backdrop-filter: blur(10px)) {
    .user-news-page .vk-card,
    .user-news-page .vk-feed-card,
    .user-news-page .vk-empty,
    .user-news-hero-panel {
      background: #ffffff !important;
    }
  }

  @media (max-width: 1180px) {
    .user-news-page .user-news-shell {
      grid-template-columns: minmax(220px, 250px) minmax(0, 1fr);
    }
  }

  @media (max-width: 900px) {
    .page-section.user-news-page {
      margin-top: 18px !important;
    }

    .user-news-page .user-news-shell,
    .user-news-hero-inner {
      grid-template-columns: 1fr !important;
    }

    .user-news-page .vk-leftbar {
      order: 2;
    }

    .user-news-page .vk-main-column {
      order: 1;
    }

    .user-news-hero-panel {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .user-news-mini-stat {
      grid-template-columns: 1fr;
      grid-template-areas: "icon" "title" "text";
      justify-items: start;
    }
  }

  @media (max-width: 700px) {
    .user-news-hero {
      padding: 24px !important;
      border-radius: 26px !important;
    }

    .user-news-hero .vk-feed-title {
      font-size: clamp(34px, 11vw, 48px) !important;
    }

    .user-news-hero-actions,
    .user-search-input-row,
    .user-news-hero-panel {
      grid-template-columns: 1fr !important;
    }

    .user-news-primary-link,
    .user-news-ghost-link,
    .user-search-card .vk-btn.user-clear-btn {
      width: 100% !important;
    }

    .user-news-page .vk-post-footer,
    .user-news-page .vk-actions {
      width: 100%;
    }

    .user-news-page .vk-actions {
      display: grid !important;
      grid-template-columns: 1fr !important;
    }

    .user-news-page .vk-action-button {
      width: 100% !important;
      justify-content: center !important;
    }

    .user-news-page .vk-comment-grid {
      grid-template-columns: 1fr !important;
    }
  }

  @media (max-width: 480px) {
    .page-section.user-news-page {
      padding-left: 12px !important;
      padding-right: 12px !important;
    }

    .user-news-hero,
    .user-search-card,
    .user-news-page #vkFeed > .vk-feed-card {
      border-radius: 22px !important;
    }

    .user-news-page .vk-card,
    .user-news-page .vk-feed-card,
    .user-news-page .vk-empty {
      border-radius: 20px !important;
    }

    .user-news-page .vk-post-header {
      align-items: flex-start;
    }

    .user-news-page .vk-post-avatar {
      width: 48px;
      height: 48px;
      border-radius: 16px;
    }
  }

/* 1) Белый фон всей пользовательской страницы */
  html,
  body {
    background: #ffffff !important;
    background-color: #ffffff !important;
  }

  body::before,
  body::after,
  .main-shell::before,
  .main-shell::after {
    background: transparent !important;
  }

  .main-shell,
  .page-section.user-news-page {
    background: #ffffff !important;
  }

  /* 2) Верхние боковые карточки выровнены с основным блоком "Новости сайта" */
  @media (min-width: 901px) {
    .page-section.user-news-page {
      margin-top: 18px !important;
    }

    .user-news-page .user-news-shell {
      align-items: start !important;
    }

    .user-news-page .vk-leftbar,
    .user-news-page .vk-main-column,
    .user-news-page .vk-rightbar {
      align-self: start !important;
      margin-top: 0 !important;
    }

    .user-news-page .vk-leftbar,
    .user-news-page .vk-rightbar {
      position: static !important;
      top: auto !important;
    }

    .user-news-page .vk-leftbar > .vk-card:first-child,
    .user-news-page .vk-main-column > .user-news-hero:first-child,
    .user-news-page .vk-rightbar > .vk-card:first-child {
      margin-top: 0 !important;
    }
  }

  /* 3) Кнопки в первом блоке по размеру как кнопка "ГЛАВНАЯ" */
  .user-news-hero-actions {
    align-items: center !important;
  }

  .user-news-primary-link,
  .user-news-ghost-link {
    inline-size: var(--index-news-btn-width, 6.4cm) !important;
    width: var(--index-news-btn-width, 6.4cm) !important;
    min-width: var(--index-news-btn-width, 6.4cm) !important;
    max-width: var(--index-news-btn-width, 6.4cm) !important;
    block-size: var(--index-news-btn-height, 1.3cm) !important;
    height: var(--index-news-btn-height, 1.3cm) !important;
    min-height: var(--index-news-btn-height, 1.3cm) !important;
    max-height: var(--index-news-btn-height, 1.3cm) !important;
    flex: 0 0 var(--index-news-btn-width, 6.4cm) !important;
    padding: 0 0.32cm !important;
    border-radius: var(--index-news-btn-radius, 14px) !important;
    box-sizing: border-box !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;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: center !important;
  }

  /* 4) Страховка: если плашка где-то появится повторно, она будет скрыта */
  .user-news-kicker {
    display: none !important;
  }

  .user-news-hero .vk-feed-title {
    margin-top: 0 !important;
  }

  @media (max-width: 768px) {
    .user-news-primary-link,
    .user-news-ghost-link {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      flex: 1 1 100% !important;
    }
  }

/* Правки по запросу: убрана лишняя боковая колонка, поиск встроен в нижнюю часть блока "НОВОСТИ САЙТА". */
  .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .user-news-page .vk-leftbar {
    display: none !important;
  }

  .user-news-page .user-news-shell {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    gap: 22px !important;
    align-items: start !important;
  }

  .user-news-page .vk-rightbar {
    display: grid !important;
  }

  .user-news-hero {
    display: grid !important;
    gap: 24px !important;
  }

  .user-news-hero-inner {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .user-news-hero-panel {
    display: none !important;
  }

  .user-news-page .user-search-card--hero {
    overflow: hidden !important;
    padding: clamp(16px, 2vw, 22px) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px) !important;
  }

  .user-news-page .user-search-card--hero::before {
    content: none !important;
    display: none !important;
  }

  .user-news-page .user-search-card--hero > * {
    position: relative !important;
    z-index: 1 !important;
  }

  .user-news-page .user-search-compact-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-bottom: 12px !important;
  }

  .user-news-page .user-search-compact-head h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(20px, 2.4vw, 28px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  .user-news-page .user-search-card--hero .user-search-count {
    min-height: 38px !important;
    padding: 8px 12px !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: none !important;
  }

  .user-news-page .user-search-card--hero .user-search-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 220px) !important;
    gap: 10px !important;
    align-items: end !important;
  }

  .user-news-page .user-search-card--hero .user-search-input-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .user-news-page .user-search-card--hero .user-search-form input,
  .user-news-page .user-search-card--hero .user-search-form select {
    min-height: 50px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #102033 !important;
    box-shadow: none !important;
  }

  .user-news-page .user-search-card--hero .vk-btn.user-clear-btn {
    min-height: 50px !important;
    padding: 12px 16px !important;
    border-radius: 14px !important;
    background: #102033 !important;
    color: #ffffff !important;
    box-shadow: none !important;
  }

  .user-news-page .user-search-card--hero .user-filter-tabs {
    margin-top: 12px !important;
    padding-top: 0 !important;
    gap: 8px !important;
  }

  .user-news-page .user-search-card--hero .vk-tab {
    min-height: 38px !important;
    padding: 9px 13px !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: none !important;
  }

  .user-news-page .user-search-card--hero .vk-tab.active,
  .user-news-page .user-search-card--hero .vk-tab:hover {
    color: #102033 !important;
    background: linear-gradient(135deg, #2f7085, #92cbdb) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
  }

  @media (max-width: 1180px) and (min-width: 901px) {
    .user-news-page .user-news-shell {
      grid-template-columns: minmax(0, 1fr) minmax(240px, 300px) !important;
    }

    .user-news-page .vk-rightbar {
      display: grid !important;
    }
  }

  @media (max-width: 900px) {
    .user-news-page .user-news-shell {
      grid-template-columns: 1fr !important;
    }

    .user-news-page .vk-main-column {
      order: 1 !important;
    }

    .user-news-page .vk-rightbar {
      display: grid !important;
      order: 2 !important;
      position: static !important;
      top: auto !important;
    }
  }

  @media (max-width: 700px) {
    .user-news-page .user-search-card--hero .user-search-form,
    .user-news-page .user-search-card--hero .user-search-input-row {
      grid-template-columns: 1fr !important;
    }

    .user-news-page .user-search-card--hero .vk-btn.user-clear-btn,
    .user-news-page .user-search-card--hero .user-search-form select {
      width: 100% !important;
    }
  }

/* Финальные правки страницы новостей: удалены лишние блоки, правая колонка синхронизирована с блоком "НОВОСТИ САЙТА". */
  .user-news-page .vk-rightbar {
    gap: 22px !important;
    align-self: start !important;
  }

  .user-news-page .user-side-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .user-news-page .user-ad-placeholder,
  .user-news-page .user-safety-card p {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.55 !important;
  }

  .user-news-page .user-ad-placeholder {
    min-height: 116px !important;
    padding: 18px 14px !important;
    border-radius: 20px !important;
    color: #102033 !important;
    font-size: clamp(18px, 1.8vw, 23px) !important;
    font-weight: 900 !important;
    background: linear-gradient(135deg, rgba(212, 252, 182, 0.86), rgba(143, 231, 197, 0.78)) !important;
    border: 1px solid rgba(67, 132, 120, 0.16) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42) !important;
  }

  .user-news-page .user-safety-card p {
    padding: 14px 0 0 !important;
    color: var(--user-news-muted, #5c6675) !important;
    font-size: 14px !important;
  }

  @media (min-width: 901px) {
    .user-news-page .vk-rightbar {
      height: var(--user-news-hero-height, auto) !important;
      min-height: var(--user-news-hero-height, 0px) !important;
      grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
      align-items: stretch !important;
    }

    .user-news-page .vk-rightbar > .vk-card {
      height: 100% !important;
    }
  }

  @media (max-width: 900px) {
    .user-news-page .vk-rightbar {
      height: auto !important;
      min-height: 0 !important;
      grid-template-rows: none !important;
    }

    .user-news-page .user-ad-placeholder {
      min-height: 96px !important;
    }
  }

/* Блок "Безопасность" заменён в разметке на полную копию блока "Информационнй блог".
     Правая колонка закреплена при прокрутке основной ленты на экранах, где она находится справа. */
  @media (min-width: 901px) {
    html,
    body {
      overflow-x: clip !important;
      overflow-y: visible !important;
    }

    .user-news-page .vk-rightbar {
      position: sticky !important;
      top: 112px !important;
      align-self: start !important;
      z-index: 20 !important;
    }
  }

  @media (max-width: 900px) {
    .user-news-page .vk-rightbar {
      position: static !important;
      top: auto !important;
      z-index: auto !important;
    }
  }

/* Ширина блоков страницы новостей синхронизирована с эталонной страницей font.html: 1280px + те же боковые отступы. */
  .page-section.user-news-page {
    width: 100% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .user-news-page .user-news-shell {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .user-news-page .vk-main-column,
  .user-news-page .vk-rightbar,
  .user-news-page .user-news-hero,
  .user-news-page .vk-feed-list,
  .user-news-page .vk-feed-card,
  .user-news-page .vk-card,
  .user-news-page .vk-empty {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  @media (max-width: 768px) {
    .page-section.user-news-page {
      padding-left: 14px !important;
      padding-right: 14px !important;
    }
  }

  @media (max-width: 480px) {
    .page-section.user-news-page {
      padding-left: 12px !important;
      padding-right: 12px !important;
    }
  }

/* Заголовок первого блока "НОВОСТИ САЙТА": размер и стиль шрифта синхронизированы с первым блоком font.html. */
  .user-news-page .user-news-hero .vk-feed-title {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(34px, 5vw, 64px) !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    color: #ffffff !important;
    text-transform: none !important;
    text-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: manual !important;
  }

  @media (max-width: 768px) {
    .user-news-page .user-news-hero .vk-feed-title {
      font-size: clamp(22px, 6vw, 46px) !important;
      line-height: 1.08 !important;
    }
  }

  @media (max-width: 480px) {
    .user-news-page .user-news-hero .vk-feed-title {
      font-size: clamp(16px, 5.2vw, 24px) !important;
    }
  }

.user-news-page .user-ad-image-wrap {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  .user-news-page .user-ad-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

/* Карточки "Информационный блог": заголовок центрирован относительно ширины карточки и слегка увеличен. */
  .user-news-page .user-info-ad-card .vk-side-title {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 12px !important;
    padding: 0 4px !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(14px, 1vw, 15px) !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    color: #102033 !important;
  }

  /* Текст внутри публикаций сделан таким же по размеру, как описание в первом блоке "Новости сайта". */
  .user-news-page .vk-post-text {
    font-size: clamp(16px, 2vw, 20px) !important;
    line-height: 1.62 !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;
  }

/* Stable first-paint colors for the header. Prevents older green/mint header rules
     from appearing while the browser continues parsing the page. */
  :root {
    --site-stable-header-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --site-stable-header-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --site-stable-header-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --site-stable-header-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .logo .logo-brand,
    .site-header .logo .logo-brand-primary,
    .site-header .logo .logo-brand-secondary,
    .site-header .logo-link:hover .logo-brand,
    .site-header .logo-link:focus-visible .logo-brand,
    .site-header .logo-link:active .logo-brand
  ) {
    background: var(--site-stable-header-blue-gradient) !important;
    background-image: var(--site-stable-header-blue-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    text-shadow: none !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.70))
      drop-shadow(0 3px 6px rgba(0, 0, 0, 0.24)) !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .logo .logo-separator,
    .site-header .logo:hover .logo-separator,
    .site-header .logo:focus-within .logo-separator,
    .site-header .logo-link:hover + .logo-separator,
    .site-header .logo-link:focus-visible + .logo-separator
  ) {
    background: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    background-image: linear-gradient(180deg, #e9f8fd 0%, #2f7085 28%, #3f93ad 62%, #1a1a1a 100%) !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
    filter: none !important;
    box-shadow:
      1px 2px 0 rgba(18, 18, 18, 0.42),
      0 0 1px rgba(255, 255, 255, 0.28) inset !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .header-actions .home-link.top-news-btn,
    .site-header .header-actions .home-link.top-home-btn,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn,
    .site-header .header-actions a,
    .site-header .header-actions button,
    .site-header .burger,
    .side-nav a,
    .side-nav button
  ) {
    background: var(--site-stable-header-blue-gradient) !important;
    background-image: var(--site-stable-header-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--site-stable-header-blue-shadow) !important;
    filter: none !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .header-actions .home-link.top-news-btn:hover,
    .site-header .header-actions .home-link.top-news-btn:focus-visible,
    .site-header .header-actions .home-link.top-news-btn:active,
    .site-header .header-actions .home-link.top-home-btn:hover,
    .site-header .header-actions .home-link.top-home-btn:focus-visible,
    .site-header .header-actions .home-link.top-home-btn:active,
    .site-header .header-actions .home-link:hover,
    .site-header .header-actions .home-link:focus-visible,
    .site-header .header-actions .home-link:active,
    .site-header .header-actions .top-btn:hover,
    .site-header .header-actions .top-btn:focus-visible,
    .site-header .header-actions .top-btn:active,
    .site-header .header-actions a:hover,
    .site-header .header-actions a:focus-visible,
    .site-header .header-actions a:active,
    .site-header .header-actions button:hover,
    .site-header .header-actions button:focus-visible,
    .site-header .header-actions button:active,
    .site-header .burger:hover,
    .site-header .burger:focus-visible,
    .site-header .burger:active,
    .side-nav a:hover,
    .side-nav a:focus-visible,
    .side-nav a.active,
    .side-nav button:hover,
    .side-nav button:focus-visible
  ) {
    background: var(--site-stable-header-blue-gradient-hover) !important;
    background-image: var(--site-stable-header-blue-gradient-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--site-stable-header-blue-shadow-hover) !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .burger
  ) span {
    background: #ffffff !important;
    background-image: none !important;
  }

  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn,
    .site-header .header-actions a,
    .site-header .header-actions button,
    .site-header .burger,
    .side-nav a,
    .side-nav button
  )::before,
  html body :is(
    #siteHeaderBlueStableA#siteHeaderBlueStableB#siteHeaderBlueStableC#siteHeaderBlueStableD#siteHeaderBlueStableE#siteHeaderBlueStableF#siteHeaderBlueStableG#siteHeaderBlueStableH,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn,
    .site-header .header-actions a,
    .site-header .header-actions button,
    .site-header .burger,
    .side-nav a,
    .side-nav button
  )::after {
    background: transparent !important;
    background-image: none !important;
  }

@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;
    }
  }

@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;
    }
  }

/* ОФИСЫ ФОНДА: Краснодар и Донецк обычными строками, по одной линии как пункты в других столбиках */
  .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;
    }
  }

/*
    Эталон: #benefitModal.benefit-modal-housing («ЛЬГОТЫ В СФЕРЕ ЖКХ»).
    Ниже выравниваем по нему именно размер белого листа и видимую область:
    - #calcModal: «РЕГИОНАЛЬНЫЕ ВЫПЛАТЫ И ДЕНЕЖНОЕ ДОВОЛЬСТВИЕ»;
    - #officeMapModal: окна городов «Краснодар» и «Донецк».
  */

  #calcModal,
  #officeMapModal,
  #officeFeedbackModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  #calcModal .calc-modal-content,
  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  #officeMapModal .social-legal-form-card,
  #officeMapModal .social-legal-modal-content,
  #officeFeedbackModal .social-legal-form-card,
  #officeFeedbackModal .social-legal-modal-content,
  #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-header-sticky,
  #officeMapModal .social-legal-modal-header,
  #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-header-sticky h2,
  #officeMapModal .social-legal-modal-header h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #officeMapModal .social-legal-form-subtitle,
  #officeFeedbackModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
  }

  #calcModal #closeCalcBtn,
  #officeMapModal #officeMapModalClose,
  #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #calcModal #closeCalcBtn:hover,
  #calcModal #closeCalcBtn:focus-visible,
  #officeMapModal #officeMapModalClose:hover,
  #officeMapModal #officeMapModalClose:focus-visible,
  #officeFeedbackModal #officeFeedbackModalClose:hover,
  #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #calcModal .calc-modal-body-sticky,
  #officeMapModal .social-legal-modal-body,
  #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #officeMapModal .office-map-modal-grid {
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-frame {
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-contacts-wrapper,
  #officeMapModal .office-contacts {
    min-height: 0 !important;
  }

  #calcModal .calc-modal-footer-sticky,
  #calcModal .calc-modal-footer-sticky.is-hidden,
  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    padding: 12px 22px 12px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  #calcModal .calc-modal-footer-sticky > *,
  #officeMapModal .social-legal-modal-footer > *,
  #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  @media (max-width: 768px) {
    #calcModal,
    #officeMapModal,
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #calcModal .calc-modal-content,
    #officeMapModal .social-legal-modal-dialog,
    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #officeMapModal .social-legal-form-card,
    #officeMapModal .social-legal-modal-content,
    #officeFeedbackModal .social-legal-form-card,
    #officeFeedbackModal .social-legal-modal-content,
    #officeFeedbackModal #officeFeedbackForm {
      border-radius: 22px !important;
    }

    #calcModal .calc-modal-header-sticky,
    #officeMapModal .social-legal-modal-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #calcModal .calc-modal-header-sticky h2,
    #officeMapModal .social-legal-modal-header h2,
    #officeFeedbackModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      line-height: 1.2 !important;
      font-weight: 700 !important;
    }

    #calcModal #closeCalcBtn,
    #officeMapModal #officeMapModalClose,
    #officeFeedbackModal #officeFeedbackModalClose {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #calcModal .calc-modal-body-sticky,
    #officeMapModal .social-legal-modal-body,
    #officeFeedbackModal .social-legal-modal-body {
      padding: 14px !important;
    }

    #calcModal .calc-modal-footer-sticky,
    #calcModal .calc-modal-footer-sticky.is-hidden,
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      padding: 12px 14px !important;
      gap: 10px !important;
    }

    #officeMapModal .office-map-frame {
      min-height: 260px !important;
      height: auto !important;
    }
  }

  @media (max-width: 480px) {
    #calcModal,
    #officeMapModal,
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #calcModal .calc-modal-content,
    #officeMapModal .social-legal-modal-dialog,
    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

/*
    Финальное выравнивание модальных окон:
    расстояние от низа фиксированной шапки до верха модалки = расстоянию от низа модалки до низа экрана.
    Особенно важно для окон городов «Краснодар» / «Донецк» и формы обратной связи.
  */
  :root {
    --modal-equal-edge-gap: 8mm;
    --modal-header-height-final: var(--runtime-header-height, var(--site-header-height, 96px));
  }

  .modal,
  .social-legal-modal,
  #officeMapModal,
  #officeFeedbackModal {
    padding-top: calc(var(--modal-header-height-final) + var(--modal-equal-edge-gap)) !important;
    padding-bottom: var(--modal-equal-edge-gap) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  .modal-content,
  .benefit-modal-content,
  .service-modal-content,
  .contract-modal-content,
  .calc-modal-content,
  .social-legal-modal-dialog,
  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-height: calc(100dvh - var(--modal-header-height-final) - (var(--modal-equal-edge-gap) * 2)) !important;
  }

  #officeMapModal .social-legal-modal-dialog,
  #officeFeedbackModal .social-legal-modal-dialog {
    height: calc(100dvh - var(--modal-header-height-final) - (var(--modal-equal-edge-gap) * 2)) !important;
  }

  @media (max-width: 768px) {
    :root {
      --modal-equal-edge-gap: 8px;
    }
  }

#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 {
    --oai-news-button-width: 6.4cm;
    --oai-news-button-padding-y: 14px;
    --oai-news-button-radius: 14px;
    --oai-news-button-font-size: 15px;
    --oai-news-button-line-height: 1.35;
  }

  #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    inline-size: var(--oai-news-button-width) !important;
    width: var(--oai-news-button-width) !important;
    min-width: var(--oai-news-button-width) !important;
    max-width: var(--oai-news-button-width) !important;
    flex: 0 0 var(--oai-news-button-width) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: var(--oai-news-button-padding-y) 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--oai-news-button-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-size: var(--oai-news-button-font-size) !important;
    font-weight: 800 !important;
    line-height: var(--oai-news-button-line-height) !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-transform: none !important;
  }

  #officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    justify-content: center !important;
  }

  @media (max-width: 768px) {
    #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
    #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
    #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
    #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      inline-size: var(--oai-news-button-width) !important;
      width: var(--oai-news-button-width) !important;
      min-width: var(--oai-news-button-width) !important;
      max-width: var(--oai-news-button-width) !important;
      flex: 0 0 var(--oai-news-button-width) !important;
      padding: var(--oai-news-button-padding-y) 0 !important;
      font-size: var(--oai-news-button-font-size) !important;
      border-radius: var(--oai-news-button-radius) !important;
    }
  }

#officeMapModal .social-legal-modal-footer,
  #officeFeedbackModal .social-legal-modal-footer {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

  #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  #officeMapModal button#officeFeedbackBtn.social-legal-submit-btn,
  #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  @media (max-width: 768px) {
    #officeMapModal .social-legal-modal-footer,
    #officeFeedbackModal .social-legal-modal-footer {
      justify-content: flex-start !important;
      align-items: center !important;
      text-align: left !important;
    }
  }

:root {
    --help-modal-equal-gap: 8mm;
    --site-header-height: 96px;
  }

  #fundPlFinancialModal,
  #fundPlMaterialModal {
    padding-top: calc(var(--site-header-height, 96px) + var(--help-modal-equal-gap)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--help-modal-equal-gap) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
  }

  #fundPlFinancialModal .fund-contract-like-modal,
  #fundPlMaterialModal .fund-contract-like-modal {
    height: calc(100vh - var(--site-header-height, 96px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
    max-height: calc(100vh - var(--site-header-height, 96px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
    margin: 0 auto !important;
  }

  @media (max-width: 768px) {
    :root {
      --help-modal-equal-gap: 16px;
      --site-header-height: 84px;
    }

    #fundPlFinancialModal,
    #fundPlMaterialModal {
      padding-top: calc(var(--site-header-height, 84px) + var(--help-modal-equal-gap)) !important;
      padding-right: 8px !important;
      padding-bottom: var(--help-modal-equal-gap) !important;
      padding-left: 8px !important;
    }

    #fundPlFinancialModal .fund-contract-like-modal,
    #fundPlMaterialModal .fund-contract-like-modal {
      height: calc(100vh - var(--site-header-height, 84px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
      max-height: calc(100vh - var(--site-header-height, 84px) - var(--help-modal-equal-gap) - var(--help-modal-equal-gap)) !important;
      margin: 0 auto !important;
    }
  }

  @media (max-width: 480px) {
    :root {
      --site-header-height: 78px;
    }
  }

#fundPlFinancialModal .modal-back-btn,
  #fundPlMaterialModal .modal-back-btn,
  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back,
  #officeFeedbackModal #officeFeedbackModalBack {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #fundPlFinancialModal .fund-contract-like-header,
  #fundPlMaterialModal .fund-contract-like-header,
  #officeFeedbackModal .social-legal-modal-header {
    padding-left: 54px !important;
    padding-right: 54px !important;
  }

  #fundPlFinancialModal .fund-contract-like-header h2,
  #fundPlMaterialModal .fund-contract-like-header h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    text-align: center !important;
  }

  @media (max-width: 480px) {
    #fundPlFinancialModal .fund-contract-like-header,
    #fundPlMaterialModal .fund-contract-like-header,
    #officeFeedbackModal .social-legal-modal-header {
      padding-left: 50px !important;
      padding-right: 50px !important;
    }
  }

/*
    Только раскладка карты в #officeMapModal:
    слева карта, справа контактные карточки с собственным скроллом.
    Визуальные стили карточек, кнопок, шапки, футера и JS-логика не меняются.
  */
  #officeMapModal .social-legal-modal-body {
    overflow: hidden !important;
  }

  #officeMapModal .office-map-modal-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #officeMapModal .office-map-frame {
    position: sticky !important;
    top: 0 !important;
    align-self: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #officeMapModal .office-map-frame iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    display: block !important;
  }

  #officeMapModal .office-map-contacts-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  #officeMapModal .office-contacts {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  @media (max-width: 780px) {
    #officeMapModal .social-legal-modal-body {
      overflow-y: auto !important;
    }

    #officeMapModal .office-map-modal-grid {
      grid-template-columns: 1fr !important;
      gap: 14px !important;
      height: auto !important;
    }

    #officeMapModal .office-map-frame {
      height: auto !important;
      min-height: 260px !important;
      aspect-ratio: 4 / 3 !important;
    }

    #officeMapModal .office-map-contacts-wrapper,
    #officeMapModal .office-contacts {
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    padding-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;
    }
  }

.user-feed-info-text {
    margin: 12px 0 20px;
    color: var(--text-soft, #52606d);
    font-size: 0.95rem;
  }

  .user-feed-info-text.success,
  .reviews-admin-status.is-ok {
    color: #2f7892 !important;
  }

  .user-feed-info-text.error,
  .reviews-admin-status.is-error {
    color: #a32718 !important;
  }

  .reviews-admin-status.is-warning {
    color: #8a5a00 !important;
  }

  .news-admin-panel.reviews-admin-panel {
    margin-top: 20px !important;
    padding: 20px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(17, 17, 17, 0.08) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(248, 251, 255, 0.96)) !important;
    box-shadow: 0 14px 28px rgba(31, 64, 104, 0.07) !important;
    scroll-margin-top: 120px;
  }

  .news-admin-panel[hidden],
  #newsAdminLoginBox[hidden],
  .news-admin-workspace[hidden],
  #newsAdminCancelEditBtn[hidden] {
    display: none !important;
  }

  .reviews-admin-panel-head {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
  }

  .reviews-admin-panel-head strong {
    font-size: 1.08rem;
    font-weight: 900;
    color: #111111;
  }

  .reviews-admin-panel-head span,
  .reviews-admin-hint,
  .reviews-admin-status,
  .news-admin-muted {
    color: var(--text-soft, #52606d);
    font-size: 0.94rem;
    line-height: 1.5;
  }

  .reviews-admin-login {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px 12px;
    align-items: end;
  }

  .reviews-admin-login label,
  .news-admin-post-form label {
    font-weight: 900;
    color: #111111;
  }

  .reviews-admin-login input,
  .news-admin-post-form input,
  .news-admin-post-form textarea,
  .news-admin-post-form select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid #d8dfe8;
    background: #ffffff;
    color: #111111;
    font: inherit;
    outline: none;
  }

  .reviews-admin-login input:focus,
  .news-admin-post-form input:focus,
  .news-admin-post-form textarea:focus,
  .news-admin-post-form select:focus {
    border-color: var(--blue, #6ea8ff);
    box-shadow: 0 0 0 4px rgba(110, 168, 255, 0.16);
  }

  .reviews-admin-login .reviews-admin-login-btn {
    width: 4.6cm !important;
    min-width: 4.6cm !important;
    max-width: 4.6cm !important;
    inline-size: 4.6cm !important;
    grid-row: 2;
  }

  .reviews-admin-status {
    grid-column: 1 / -1;
    margin: 0 !important;
  }

  .reviews-admin-session p {
    margin: 0 0 12px !important;
    color: #2b3848 !important;
  }

  .reviews-admin-session-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 10px 0 12px;
  }

  .feedback-open-modal-btn,
  button.feedback-open-modal-btn.btn {
    width: var(--oai-action-width, 6.4cm) !important;
    min-width: var(--oai-action-width, 6.4cm) !important;
    max-width: var(--oai-action-width, 6.4cm) !important;
    inline-size: var(--oai-action-width, 6.4cm) !important;
    height: var(--oai-action-height, 1.3cm) !important;
    min-height: var(--oai-action-height, 1.3cm) !important;
    max-height: var(--oai-action-height, 1.3cm) !important;
    block-size: var(--oai-action-height, 1.3cm) !important;
    flex: 0 0 var(--oai-action-width, 6.4cm) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--oai-action-radius, 14px) !important;
    background: linear-gradient(135deg, #2f7085 0%, #92cbdb 52%, #2f7085 100%) !important;
    color: #111111 !important;
    font-weight: 900 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,0.08)) !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: 0.25s ease;
  }

  .feedback-open-modal-btn:hover,
  button.feedback-open-modal-btn.btn:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #1f4b5b 0%, #75adbc 52%, #1f4b5b 100%) !important;
  }

  .news-admin-editor-block {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
  }

  .news-admin-post-form {
    display: grid;
    gap: 16px;
    padding: 18px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid var(--line, rgba(0,0,0,0.08));
    margin-bottom: 22px;
  }

  .news-admin-post-form textarea {
    min-height: 150px;
    resize: vertical;
  }

  .news-admin-list-head,
  .news-admin-card-head,
  .news-admin-card-actions,
  .news-comment-admin-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
  }

  .news-admin-list-head {
    margin: 18px 0 12px;
  }

  .news-admin-list-head--top {
    margin-top: 0;
  }

  .news-admin-list-head h3 {
    margin: 0;
    color: #111111;
  }

  .news-admin-posts-list {
    display: grid;
    gap: 14px;
  }

  .news-admin-item {
    padding: 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid #dfe9f5;
  }

  .news-admin-item-title {
    font-weight: 900;
    margin-bottom: 6px;
  }

  .news-admin-comments {
    display: grid;
    gap: 8px;
    margin-top: 12px;
  }

  .news-admin-comment {
    padding: 10px 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--line, rgba(0,0,0,0.08));
  }

  .news-admin-comment-text {
    margin-top: 4px;
    color: var(--text-main, #111);
  }

  .news-card-admin-tools {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0 0;
    padding-top: 14px;
    border-top: 1px dashed rgba(79, 141, 240, 0.28);
  }

  .news-comment-admin-row {
    margin-top: 8px;
    justify-content: flex-end;
  }

  .news-admin-delete-comment {
    border-radius: 999px;
    padding: 7px 10px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 800;
  }

  .news-admin-danger,
  .vk-btn.news-admin-danger,
  .news-admin-delete-comment {
    background: rgba(255, 80, 56, 0.12) !important;
    color: #8c1c0f !important;
    border: 1px solid rgba(255, 80, 56, 0.18) !important;
  }

  .news-admin-danger:hover,
  .vk-btn.news-admin-danger:hover,
  .news-admin-delete-comment:hover {
    background: rgba(255, 80, 56, 0.18) !important;
  }

  .site-footer .footer-bottom--with-admin {
    align-items: baseline !important;
  }

  .site-footer .footer-bottom-copy {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 0.45em !important;
    max-width: 100% !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
  }

  .site-footer .footer-bottom-copy span {
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
  }

  .site-footer button.footer-admin-text-link#toggleNewsAdminPanel,
  .site-footer .footer-admin-text-link {
    all: unset !important;
    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;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    cursor: pointer !important;
    transform: none !important;
    filter: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .site-footer button.footer-admin-text-link#toggleNewsAdminPanel:hover,
  .site-footer button.footer-admin-text-link#toggleNewsAdminPanel:focus,
  .site-footer button.footer-admin-text-link#toggleNewsAdminPanel:active,
  .site-footer .footer-admin-text-link:hover,
  .site-footer .footer-admin-text-link:focus,
  .site-footer .footer-admin-text-link:active {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    text-decoration: none !important;
    transform: none !important;
    filter: none !important;
  }

  .site-footer button.footer-admin-text-link#toggleNewsAdminPanel:focus-visible {
    outline: 1px solid currentColor !important;
    outline-offset: 3px !important;
  }

  code {
    font-family: Consolas, Monaco, monospace;
    font-size: 0.92em;
  }

  @media (max-width: 900px) {
    .reviews-admin-login {
      grid-template-columns: 1fr;
    }

    .reviews-admin-login .reviews-admin-login-btn {
      grid-row: auto;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
    }
  }

  @media (max-width: 768px) {
    .news-admin-panel.reviews-admin-panel {
      padding: 16px !important;
      border-radius: 20px !important;
    }

    .reviews-admin-session-actions,
    .vk-button-row,
    .news-card-admin-tools,
    .news-admin-card-actions {
      align-items: stretch;
      flex-direction: column;
    }

    .reviews-admin-session-actions .feedback-open-modal-btn,
    .vk-button-row .feedback-open-modal-btn {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
    }

    .site-footer .footer-bottom-copy {
      flex-direction: row !important;
      align-items: baseline !important;
      justify-content: flex-start !important;
      text-align: left !important;
    }

    .site-footer button.footer-admin-text-link#toggleNewsAdminPanel {
      width: auto !important;
      max-width: 100% !important;
      text-align: left !important;
    }
  }

#officeFeedbackModal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-desktop, 20px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-desktop, 20px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    max-width: min(1240px, calc(100vw - (var(--modal-side-gap-desktop, 20px) * 2))) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-card,
  #officeFeedbackModal .social-legal-modal-content,
  #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal #officeFeedbackForm {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-modal-header > h2,
  #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    transition: color 0.2s ease !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalClose:hover,
  #officeFeedbackModal #officeFeedbackModalClose:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    filter: none !important;
    color: var(--blue-dark, #4f8df0) !important;
    outline: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack,
  #officeFeedbackModal .modal-back-btn,
  #officeFeedbackModal .social-legal-modal-back,
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 16px !important;
    right: auto !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    cursor: pointer !important;
    text-transform: none !important;
    transform: none !important;
    z-index: 60 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack[hidden],
  #officeFeedbackModal .modal-back-btn[hidden],
  #officeFeedbackModal .social-legal-modal-back[hidden],
  #officeFeedbackModal .modal-back-btn.social-legal-modal-back[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #officeFeedbackModal #officeFeedbackModalBack:hover,
  #officeFeedbackModal #officeFeedbackModalBack:focus-visible,
  #officeFeedbackModal .modal-back-btn:hover,
  #officeFeedbackModal .modal-back-btn:focus-visible,
  #officeFeedbackModal .social-legal-modal-back:hover,
  #officeFeedbackModal .social-legal-modal-back:focus-visible {
    color: var(--blue-dark, #4f8df0) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
  }

  #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 22px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-group {
    margin-bottom: 18px !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal .social-legal-form-group label:not(.social-legal-consent-label) {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--text-main, #111111) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
  }

  #officeFeedbackModal .social-legal-form-group input:not([type="checkbox"]):not([type="radio"]),
  #officeFeedbackModal .social-legal-form-group textarea,
  #officeFeedbackModal .social-legal-form-group select {
    width: 100% !important;
    padding: 13px 14px !important;
    background: #ffffff !important;
    border: 1px solid #d8dce2 !important;
    color: #111111 !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    outline: none !important;
    transition: 0.2s ease !important;
    box-sizing: border-box !important;
  }

  #officeFeedbackModal .social-legal-form-group textarea {
    min-height: 170px !important;
    resize: vertical !important;
  }

  #officeFeedbackModal .social-legal-consent-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    line-height: 1.45 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
  }

  #officeFeedbackModal .social-legal-consent-label input[type="checkbox"] {
    margin-top: 3px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-content: center !important;
    gap: 5mm !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    text-align: start !important;
    font-weight: 700 !important;
  }

  #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.08 !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-tablet, 14px) !important;
      padding-bottom: var(--modal-gap-bottom, 8mm) !important;
      padding-left: var(--modal-side-gap-tablet, 14px) !important;
    }

    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
      height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
      border-radius: 22px !important;
    }

    #officeFeedbackModal .social-legal-form-card,
    #officeFeedbackModal .social-legal-modal-content,
    #officeFeedbackModal #officeFeedbackForm {
      border-radius: 22px !important;
    }

    #officeFeedbackModal .social-legal-modal-header {
      padding: 12px 54px 8px 22px !important;
    }

    #officeFeedbackModal .social-legal-modal-header > h2,
    #officeFeedbackModal .social-legal-modal-header h2 {
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }

    #officeFeedbackModal #officeFeedbackModalClose {
      top: 5px !important;
      right: 8px !important;
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
      font-size: 32px !important;
    }

    #officeFeedbackModal #officeFeedbackModalBack,
    #officeFeedbackModal .modal-back-btn,
    #officeFeedbackModal .social-legal-modal-back,
    #officeFeedbackModal .modal-back-btn.social-legal-modal-back {
      top: calc(14px - 4mm) !important;
      left: 12px !important;
      width: 30px !important;
      min-width: 30px !important;
      max-width: 30px !important;
      height: 30px !important;
      min-height: 30px !important;
      max-height: 30px !important;
      font-size: 20px !important;
    }

    #officeFeedbackModal .social-legal-modal-body {
      padding: 14px !important;
    }

    #officeFeedbackModal .social-legal-modal-footer {
      display: grid !important;
      grid-template-columns: 1fr !important;
      justify-content: stretch !important;
      align-items: stretch !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 12px 14px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    #officeFeedbackModal #officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

  @media (max-width: 480px) {
    #officeFeedbackModal {
      padding-right: var(--modal-side-gap-mobile, 12px) !important;
      padding-left: var(--modal-side-gap-mobile, 12px) !important;
    }

    #officeFeedbackModal .social-legal-modal-dialog {
      width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
      max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    }
  }

#officeFeedbackModal .social-legal-modal-header button#officeFeedbackModalBack.modal-back-btn.social-legal-modal-back {
    height: var(--fixed-button-height, 1.3cm) !important;
    min-height: var(--fixed-button-height, 1.3cm) !important;
    max-height: var(--fixed-button-height, 1.3cm) !important;
    line-height: 1.1 !important;
  }

  #officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
  #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
    flex: 0 0 var(--oai-btn-len, 6.4cm) !important;
    width: var(--oai-btn-len, 6.4cm) !important;
    min-width: var(--oai-btn-len, 6.4cm) !important;
    max-width: var(--oai-btn-len, 6.4cm) !important;
    inline-size: var(--oai-btn-len, 6.4cm) !important;
    height: var(--oai-btn-h, 1.3cm) !important;
    min-height: var(--oai-btn-h, 1.3cm) !important;
    max-height: var(--oai-btn-h, 1.3cm) !important;
    block-size: var(--oai-btn-h, 1.3cm) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.08 !important;
  }

  @media (max-width: 768px) {
    #officeFeedbackModal .social-legal-modal-footer button#officeFeedbackSubmitBtn.social-legal-submit-btn,
    #officeFeedbackModal button#officeFeedbackSubmitBtn.social-legal-submit-btn {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: 100% !important;
      height: auto !important;
      min-height: 52px !important;
      max-height: none !important;
      block-size: auto !important;
    }
  }

@media (min-width: 769px) {
    #officeFeedbackModal {
      --site-header-height: 85px !important;
    }
  }

body.oai-send-notice-open {
    overflow: hidden !important;
  }

  .oai-form-success-host {
    position: relative !important;
  }

  .oai-form-success-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 8px !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: auto !important;
  }

  .oai-form-success-layer.oai-form-success-layer--viewport {
    position: fixed !important;
  }

  .oai-form-success-box {
    width: min(352px, calc(100% - 16px)) !important;
    max-height: calc(100% - 16px) !important;
    min-height: 141px !important;
    border-radius: 18px !important;
    padding: 20px 22px 18px !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    box-shadow: 0 7px 21px rgba(0, 0, 0, 0.22) !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: auto !important;
  }

  .oai-form-success-title {
    display: none !important;
    margin: 0 0 5px !important;
    color: #111111 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  .oai-form-success-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 4px !important;
    margin: 0 0 8px !important;
    color: #111111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .oai-form-success-icon {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
    align-items: initial !important;
    justify-content: initial !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  .oai-form-success-text {
    width: 100% !important;
    margin: 0 0 10px !important;
    color: #111111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .oai-form-success-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .oai-form-success-ok {
    width: 96px !important;
    min-width: 96px !important;
    height: 30px !important;
    min-height: 30px !important;
    border: 1px solid #14141a !important;
    border-radius: 6px !important;
    padding: 0 10px !important;
    background: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    background-image: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 32, 36, 0.30) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
  }

  .oai-form-success-ok:hover,
  .oai-form-success-ok:focus-visible {
    background: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    background-image: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    transform: none !important;
    outline: none !important;
    box-shadow: 0 16px 34px rgba(31, 32, 36, 0.36) !important;
  }

  @media (max-width: 640px) {
    .oai-form-success-layer {
      padding: 8px 6px !important;
    }

    .oai-form-success-box {
      width: min(352px, calc(100vw - 12px)) !important;
      min-height: 0 !important;
      border-radius: 16px !important;
      padding: 14px 14px 14px !important;
    }

    .oai-form-success-title {
      font-size: 16px !important;
    }

    .oai-form-success-actions {
      justify-content: center !important;
    }

    .oai-form-success-ok {
      width: 100% !important;
      min-width: 0 !important;
    }
  }

:root {
    --oai-send-notice-width: 440px;
    --oai-send-notice-min-height: 176px;
    --oai-send-notice-radius: 18px;
    --oai-send-notice-btn-width: var(--oai-btn-len, var(--oai-final-btn-length, 6.4cm));
    --oai-send-notice-btn-height: var(--oai-btn-h, var(--oai-final-btn-height, 1.3cm));
  }

  .oai-form-success-box {
    width: min(var(--oai-send-notice-width), calc(100% - 20px)) !important;
    min-height: var(--oai-send-notice-min-height) !important;
    padding: 25px 28px 23px !important;
    border-radius: var(--oai-send-notice-radius) !important;
    box-shadow: 0 9px 27px rgba(0, 0, 0, 0.24) !important;
  }

  .oai-form-success-line {
    gap: 6px !important;
    margin-bottom: 10px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .oai-form-success-icon {
    font-size: 18px !important;
  }

  .oai-form-success-text {
    margin-bottom: 18px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .oai-form-success-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .oai-form-success-ok {
    width: var(--oai-send-notice-btn-width) !important;
    min-width: var(--oai-send-notice-btn-width) !important;
    max-width: min(var(--oai-send-notice-btn-width), 100%) !important;
    inline-size: var(--oai-send-notice-btn-width) !important;
    height: var(--oai-send-notice-btn-height) !important;
    min-height: var(--oai-send-notice-btn-height) !important;
    max-height: var(--oai-send-notice-btn-height) !important;
    block-size: var(--oai-send-notice-btn-height) !important;
    flex: 0 0 var(--oai-send-notice-btn-width) !important;
    box-sizing: border-box !important;
    padding: 0 12px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    background-image: linear-gradient(135deg, #2f3136 0%, #4a4d54 50%, #1f2024 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 32, 36, 0.30) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  .oai-form-success-ok:hover,
  .oai-form-success-ok:focus-visible {
    background: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    background-image: linear-gradient(135deg, #3a3d43 0%, #5a5e66 50%, #282a2f 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(31, 32, 36, 0.36) !important;
    outline: none !important;
  }

  @media (max-width: 640px) {
    .oai-form-success-box {
      width: min(var(--oai-send-notice-width), calc(100vw - 12px)) !important;
      min-height: 160px !important;
      padding: 18px 16px 18px !important;
      border-radius: 16px !important;
    }

    .oai-form-success-line {
      font-size: 15px !important;
    }

    .oai-form-success-text {
      font-size: 15px !important;
      margin-bottom: 16px !important;
    }

    .oai-form-success-ok {
      width: min(var(--oai-send-notice-btn-width), 100%) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      inline-size: min(var(--oai-send-notice-btn-width), 100%) !important;
      flex: 0 1 min(var(--oai-send-notice-btn-width), 100%) !important;
      height: var(--oai-send-notice-btn-height) !important;
      min-height: var(--oai-send-notice-btn-height) !important;
      max-height: var(--oai-send-notice-btn-height) !important;
    }
  }

/*
    Правка по запросу пользователя:
    - логотип: «СИЛА ЖИТЬ» заглавными буквами;
    - логотип, кнопки ГЛАВНАЯ / НОВОСТИ, бургер-меню и кнопки навигации
      окрашены в синий градиент, взятый по тону с предоставленного фона.
    Исходное изображение не редактируется, не улучшается и не генерируется заново.
  */
  :root {
    --oai-picture-blue-dark: #2f7085;
    --oai-picture-blue-mid: #3f93ad;
    --oai-picture-blue-light: #92cbdb;
    --oai-picture-blue-gradient: linear-gradient(
      135deg,
      var(--oai-picture-blue-dark) 0%,
      var(--oai-picture-blue-mid) 52%,
      var(--oai-picture-blue-light) 100%
    );
    --oai-picture-blue-gradient-hover: linear-gradient(
      135deg,
      #1f4b5b 0%,
      #2f7892 52%,
      #75adbc 100%
    );
    --oai-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --oai-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);
  }

  .site-header .logo .logo-brand,
  .site-header .logo .logo-brand-primary,
  .site-header .logo .logo-brand-secondary,
  .site-header .logo-link:hover .logo-brand,
  .site-header .logo-link:focus-visible .logo-brand,
  .site-header .logo-link:active .logo-brand,
  .site-header .logo .logo-separator,
  .site-header .logo:hover .logo-separator,
  .site-header .logo:focus-within .logo-separator {
    background-image: var(--oai-picture-blue-gradient) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    filter:
      drop-shadow(0 1px 0 rgba(0, 0, 0, 0.70))
      drop-shadow(0 3px 6px rgba(0, 0, 0, 0.24)) !important;
  }

  .site-header .header-actions .home-link.top-news-btn,
  .site-header .header-actions .home-link.top-home-btn,
  .site-header .burger,
  .side-nav a,
  .side-nav button {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: var(--oai-picture-blue-shadow) !important;
  }

  .site-header .header-actions .home-link.top-news-btn:hover,
  .site-header .header-actions .home-link.top-news-btn:focus-visible,
  .site-header .header-actions .home-link.top-news-btn:active,
  .site-header .header-actions .home-link.top-home-btn:hover,
  .site-header .header-actions .home-link.top-home-btn:focus-visible,
  .site-header .header-actions .home-link.top-home-btn:active,
  .site-header .burger:hover,
  .site-header .burger:focus-visible,
  .side-nav a:hover,
  .side-nav a:focus-visible,
  .side-nav button:hover,
  .side-nav button:focus-visible,
  .side-nav a.active {
    background: var(--oai-picture-blue-gradient-hover) !important;
    background-image: var(--oai-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    box-shadow: var(--oai-picture-blue-shadow-hover) !important;
  }

  .site-header .burger span {
    background: #ffffff !important;
  }

  .site-header .header-actions .home-link.top-news-btn::before,
  .site-header .header-actions .home-link.top-news-btn::after,
  .site-header .header-actions .home-link.top-home-btn::before,
  .site-header .header-actions .home-link.top-home-btn::after,
  .site-header .burger::before,
  .site-header .burger::after,
  .side-nav a::before,
  .side-nav a::after,
  .side-nav button::before,
  .side-nav button::after {
    display: none !important;
  }

/* 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 positioning for office map/feedback modals that have page-level header-offset rules. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    min-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: calc(var(--oai-mobile-vh, 1vh) * 100) !important;
    max-height: 100dvh !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-modal-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc((var(--oai-mobile-vh, 1vh) * 100) - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }
}

/* Mobile-only sync: footer office modals (Краснодар/Донецк) and feedback modal
   use the same mobile geometry/paddings as the index.html request modal. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-tablet, 14px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-tablet, 14px) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal.social-legal-modal.active,
  html body #officeFeedbackModal.social-legal-modal.active {
    display: flex !important;
    flex-direction: column !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - (var(--modal-side-gap-tablet, 14px) * 2)) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-form-card,
  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-form-card,
  html body #officeFeedbackModal .social-legal-modal-content,
  html body #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header,
  html body #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    padding: 12px 54px 8px 22px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header h2,
  html body #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  html body #officeMapModalSubtitle,
  html body #officeMapModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(14px, 1.25vw, 16px) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    color: var(--text-soft, #5f6c7b) !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal .social-legal-modal-footer,
  html body #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    align-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-footer > *,
  html body #officeFeedbackModal .social-legal-modal-footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body #officeMapModal #officeMapModalClose,
  html body #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .map-modal-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 12px !important;
    overflow: hidden !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-top: calc(var(--site-header-height, 0px) + var(--modal-gap-from-header, 8mm)) !important;
    padding-right: var(--modal-side-gap-mobile, 12px) !important;
    padding-bottom: var(--modal-gap-bottom, 8mm) !important;
    padding-left: var(--modal-side-gap-mobile, 12px) !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    max-width: calc(100vw - (var(--modal-side-gap-mobile, 12px) * 2)) !important;
    height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - var(--modal-gap-from-header, 8mm) - var(--modal-gap-bottom, 8mm)) !important;
  }
}

/* Мобильная финальная синхронизация: окна футера «Краснодар», «Донецк»
   и «ОБРАТНАЯ СВЯЗЬ» повторяют размер и отступы окна
   «ОСТАВИТЬ ЗАЯВКУ» из index.html. ПК-версия не затрагивается. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding-top: calc(var(--site-header-height, 0px) + 8mm) !important;
    padding-right: 14px !important;
    padding-bottom: 8mm !important;
    padding-left: 14px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal.social-legal-modal.active,
  html body #officeFeedbackModal.social-legal-modal.active {
    display: flex !important;
    flex-direction: column !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
    height: calc(100vh - var(--site-header-height, 0px) - 16mm) !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--site-header-height, 0px) - 16mm) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-section,
  html body #officeMapModal .social-legal-form-card,
  html body #officeMapModal .social-legal-modal-content,
  html body #officeFeedbackModal .social-legal-section,
  html body #officeFeedbackModal .social-legal-form-card,
  html body #officeFeedbackModal .social-legal-modal-content,
  html body #officeFeedbackModal #officeFeedbackForm {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header,
  html body #officeFeedbackModal .social-legal-modal-header {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 54px 8px 22px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7edf5 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04) !important;
    text-align: center !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-header h2,
  html body #officeFeedbackModal .social-legal-modal-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
  }

  html body #officeMapModalSubtitle,
  html body #officeMapModal .social-legal-form-subtitle {
    margin: 8px auto 0 !important;
    max-width: 760px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    color: var(--text-soft, #5f6c7b) !important;
  }

  html body #officeFeedbackModal .social-legal-modal-back {
    position: absolute !important;
    top: calc(14px - 4mm) !important;
    left: 12px !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 60 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal #officeMapModalClose,
  html body #officeFeedbackModal #officeFeedbackModalClose {
    position: absolute !important;
    top: 5px !important;
    right: 8px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--text-main, #111111) !important;
    transform: none !important;
    z-index: 50 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body #officeMapModal .social-legal-modal-footer,
  html body #officeFeedbackModal .social-legal-modal-footer {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    align-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e7edf5 !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04) !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-footer > *,
  html body #officeFeedbackModal .social-legal-modal-footer > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .map-modal-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    gap: 12px !important;
  }

  html body #officeMapModal .office-map-frame {
    min-height: 260px !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-top: calc(var(--site-header-height, 0px) + 8mm) !important;
    padding-right: 12px !important;
    padding-bottom: 8mm !important;
    padding-left: 12px !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

/* Только мобильная версия index.html: выравниваем текст выбранного пункта
   и пунктов списка в модальных окнах «ОБРАТНАЯ СВЯЗЬ»,
   «ВЫБОР ДОЛЖНОСТИ» и «ОСТАВИТЬ ЗАЯВКУ» по левому краю. */
@media (max-width: 768px) {
  html body #serviceModal #serviceSelect,
  html body #serviceModal #serviceSelect option,
  html body #contractModal #divisionSelect,
  html body #contractModal #divisionSelect option,
  html body #officeFeedbackModal #officeFeedbackQuestion,
  html body #officeFeedbackModal #officeFeedbackQuestion option {
    text-align: left !important;
    text-align-last: left !important;
    direction: ltr !important;
  }

  html body #serviceModal .oai-all-modal-select-trigger,
  html body #contractModal .oai-all-modal-select-trigger,
  html body #officeFeedbackModal .oai-all-modal-select-trigger {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    text-align-last: left !important;
    direction: ltr !important;
    padding-left: 13px !important;
    padding-right: 38px !important;
  }

  html body #serviceModal .oai-all-modal-select-trigger::after,
  html body #contractModal .oai-all-modal-select-trigger::after,
  html body #officeFeedbackModal .oai-all-modal-select-trigger::after {
    right: 14px !important;
    left: auto !important;
  }

  html body #serviceModal .oai-all-modal-select-option,
  html body #contractModal .oai-all-modal-select-option,
  html body #officeFeedbackModal .oai-all-modal-select-option {
    display: block !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    justify-items: start !important;
    width: 100% !important;
    text-align: left !important;
    text-align-last: left !important;
    direction: ltr !important;
    padding-left: 11px !important;
    padding-right: 11px !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;
  }
}

html body .oai-all-modal-select-wrap { display: none; }

  @media (max-width: 768px) {
    html body .oai-all-modal-select-host {
      position: relative !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow: visible !important;
    }

    html body select.oai-all-modal-select-native {
      position: absolute !important;
      left: 0 !important;
      top: 0 !important;
      width: 1px !important;
      max-width: 1px !important;
      min-width: 1px !important;
      height: 1px !important;
      max-height: 1px !important;
      min-height: 1px !important;
      opacity: 0 !important;
      pointer-events: none !important;
      z-index: -1 !important;
      overflow: hidden !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
    }

    html body .oai-all-modal-select-wrap {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow: visible !important;
    }

    html body .oai-all-modal-select-wrap.open {
      position: relative !important;
      z-index: 80 !important;
    }

    html body .oai-all-modal-select-trigger {
      appearance: none !important;
      -webkit-appearance: none !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      min-height: 48px !important;
      height: auto !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 10px !important;
      padding: 11px 38px 11px 13px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      border: 1px solid #d8dce2 !important;
      border-radius: 12px !important;
      background: #ffffff !important;
      color: var(--text-main, #111111) !important;
      -webkit-text-fill-color: var(--text-main, #111111) !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 14px !important;
      font-weight: 700 !important;
      line-height: 1.28 !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      overflow: hidden !important;
      box-shadow: none !important;
      cursor: pointer !important;
      position: relative !important;
    }

    html body .oai-all-modal-select-trigger::after {
      content: "" !important;
      position: absolute !important;
      right: 14px !important;
      top: 50% !important;
      width: 9px !important;
      height: 9px !important;
      border-right: 2px solid currentColor !important;
      border-bottom: 2px solid currentColor !important;
      transform: translateY(-65%) rotate(45deg) !important;
      pointer-events: none !important;
      opacity: 0.75 !important;
    }

    html body .oai-all-modal-select-wrap.open .oai-all-modal-select-trigger::after {
      transform: translateY(-30%) rotate(225deg) !important;
    }

    html body .oai-all-modal-select-menu {
      display: none !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      max-height: min(52vh, 420px) !important;
      margin: 8px 0 0 0 !important;
      padding: 6px !important;
      box-sizing: border-box !important;
      border: 1px solid #d8dce2 !important;
      border-radius: 12px !important;
      background: #ffffff !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
    }

    html body .oai-all-modal-select-wrap.open .oai-all-modal-select-menu {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 6px !important;
    }

    html body .oai-all-modal-select-option {
      appearance: none !important;
      -webkit-appearance: none !important;
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 10px 11px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      border: 0 !important;
      border-radius: 9px !important;
      background: #f6f8fb !important;
      color: var(--text-main, #111111) !important;
      -webkit-text-fill-color: var(--text-main, #111111) !important;
      font-family: Arial, Helvetica, sans-serif !important;
      font-size: 13px !important;
      font-weight: 700 !important;
      line-height: 1.3 !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
      cursor: pointer !important;
    }

    html body .oai-all-modal-select-option.is-selected,
    html body .oai-all-modal-select-option:hover,
    html body .oai-all-modal-select-option:focus-visible {
      background: #eaf1fb !important;
      outline: none !important;
    }

    html body .oai-all-modal-select-option:disabled,
    html body .oai-all-modal-select-wrap.is-disabled .oai-all-modal-select-trigger {
      opacity: 0.6 !important;
      cursor: default !important;
    }

    html body .oai-all-modal-select-wrap.is-invalid .oai-all-modal-select-trigger {
      border-color: #b3261e !important;
      box-shadow: 0 0 0 2px rgba(179, 38, 30, 0.12) !important;
    }

    /* На страницах с уже добавленными кастомными селектами оставляем один вариант отображения. */
    html body .oai-service-select-wrap:not(.oai-all-modal-select-wrap),
    html body .oai-role-select-wrapper:not(.oai-all-modal-select-wrap) {
      display: none !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
      width: 0 !important;
      max-width: 0 !important;
      min-width: 0 !important;
      height: 0 !important;
      max-height: 0 !important;
      min-height: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      overflow: hidden !important;
    }
  }

/* 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;
  }
}

/*
    Финальная правка по запросу пользователя:
    все перечисленные кнопки и зеленые градиентные кнопки окрашены
    тем же синим градиентом, что и кнопка «НОВОСТИ» в шапке страницы.
  */
  :root {
    --oai-picture-blue-dark: #2f7085;
    --oai-picture-blue-mid: #3f93ad;
    --oai-picture-blue-light: #92cbdb;
    --oai-picture-blue-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
    --oai-picture-blue-gradient-hover: linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%);
    --oai-picture-blue-shadow: 0 12px 30px rgba(37, 84, 100, 0.28);
    --oai-picture-blue-shadow-hover: 0 16px 36px rgba(37, 84, 100, 0.36);

    --flow-gradient: var(--oai-picture-blue-gradient) !important;
    --flow-gradient-hover: var(--oai-picture-blue-gradient-hover) !important;
    --oai-fund-btn-bg: var(--oai-picture-blue-gradient) !important;
    --oai-fund-btn-bg-hover: var(--oai-picture-blue-gradient-hover) !important;
    --oai-financial-news-gradient: var(--oai-picture-blue-gradient) !important;
    --oai-financial-news-gradient-hover: var(--oai-picture-blue-gradient-hover) !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .site-header .header-actions .home-link.top-news-btn,
    .site-header .header-actions .home-link.top-home-btn,
    .site-header .header-actions .home-link,
    .site-header .header-actions .top-btn.primary,
    .site-header .header-actions .top-btn.secondary,
    .site-header .burger,
    .side-nav a,
    .side-nav button,
    a.contract-btn,
    button.contract-btn,
    .contract-btn,
    .contract-btn-placeholder,
    .fund-action-row .contract-btn,
    .fund-action-row .contract-btn-placeholder,
    .fund-choice-link,
    .hero-card-btn,
    .hero-service-card,
    .hero-service-card-btn,
    .history-action-btn,
    .history-action-btn-placeholder,
    .character-choice-section .history-action-btn,
    .submit-btn,
    .submit-btn.is-sending,
    .social-legal-submit-btn,
    .social-legal-submit-btn.is-sending,
    .service-modal-footer .submit-btn,
    .contract-modal-footer .submit-btn,
    .benefit-modal-action .contract-btn,
    .benefit-details-btn,
    .calc-tab-btn,
    .calc-tab-btn.active,
    .money-reset-btn,
    #moneyCalcReset.money-reset-btn,
    .payment-switch-btn,
    .payment-switch-btn.active,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-btn,
    .search-action-btn,
    .video-switch-btn,
    .hero-btn.primary.callback-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .vk-btn.primary,
    .vk-btn.secondary,
    .user-news-primary-link,
    .vk-tab.active,
    .user-news-page .vk-tab.active,
    .user-news-page .vk-tab:hover,
    .user-search-card--hero .vk-tab.active,
    .user-search-card--hero .vk-tab:hover,
    .help-choice-modal-action > button,
    .help-choice-modal-action > .contract-btn,
    .help-choice-grid > button,
    .help-choice-grid > .contract-btn,
    .info-card-action,
    .scroll-top-btn,
    #scrollTopBtn,
    input[type="submit"].submit-btn,
    input[type="button"].submit-btn
  ) {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: var(--oai-picture-blue-shadow) !important;
    text-decoration: none !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .site-header .header-actions .home-link.top-news-btn:hover,
    .site-header .header-actions .home-link.top-news-btn:focus-visible,
    .site-header .header-actions .home-link.top-news-btn:active,
    .site-header .header-actions .home-link.top-home-btn:hover,
    .site-header .header-actions .home-link.top-home-btn:focus-visible,
    .site-header .header-actions .home-link.top-home-btn:active,
    .site-header .header-actions .home-link:hover,
    .site-header .header-actions .home-link:focus-visible,
    .site-header .header-actions .home-link:active,
    .site-header .header-actions .top-btn.primary:hover,
    .site-header .header-actions .top-btn.primary:focus-visible,
    .site-header .header-actions .top-btn.secondary:hover,
    .site-header .header-actions .top-btn.secondary:focus-visible,
    .site-header .burger:hover,
    .site-header .burger:focus-visible,
    .side-nav a:hover,
    .side-nav a:focus-visible,
    .side-nav a.active,
    .side-nav button:hover,
    .side-nav button:focus-visible,
    a.contract-btn:hover,
    a.contract-btn:focus-visible,
    button.contract-btn:hover,
    button.contract-btn:focus-visible,
    .contract-btn:hover,
    .contract-btn:focus-visible,
    .contract-btn.active,
    .contract-btn-placeholder:hover,
    .fund-action-row .contract-btn:hover,
    .fund-action-row .contract-btn:focus-visible,
    .fund-choice-link:hover,
    .fund-choice-link:focus-visible,
    .hero-card-btn:hover,
    .hero-card-btn:focus-visible,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    .hero-service-card-btn:hover,
    .hero-service-card-btn:focus-visible,
    .history-action-btn:hover,
    .history-action-btn:focus-visible,
    .submit-btn:hover,
    .submit-btn:focus-visible,
    .social-legal-submit-btn:hover,
    .social-legal-submit-btn:focus-visible,
    .service-modal-footer .submit-btn:hover,
    .contract-modal-footer .submit-btn:hover,
    .benefit-modal-action .contract-btn:hover,
    .benefit-modal-action .contract-btn:focus-visible,
    .benefit-details-btn:hover,
    .benefit-details-btn:focus-visible,
    .calc-tab-btn:hover,
    .calc-tab-btn:focus-visible,
    .calc-tab-btn.active,
    .calc-tab-btn.active:hover,
    .calc-tab-btn.active:focus-visible,
    .money-reset-btn:hover,
    .money-reset-btn:focus-visible,
    #moneyCalcReset.money-reset-btn:hover,
    #moneyCalcReset.money-reset-btn:focus-visible,
    .payment-switch-btn:hover,
    .payment-switch-btn:focus-visible,
    .payment-switch-btn.active,
    .payment-switch-btn.active:hover,
    .payment-switch-btn.active:focus-visible,
    .pay-link-btn:hover,
    .pay-link-btn:focus-visible,
    .download-btn:hover,
    .download-btn:focus-visible,
    .doc-btn:hover,
    .doc-btn:focus-visible,
    .back-link:hover,
    .back-link:focus-visible,
    .search-btn:hover,
    .search-btn:focus-visible,
    .search-action-btn:hover,
    .search-action-btn:focus-visible,
    .video-switch-btn:hover,
    .video-switch-btn:focus-visible,
    .hero-btn.primary.callback-btn:hover,
    .hero-btn.primary.callback-btn:focus-visible,
    .pdf-download-card-btn:hover,
    .pdf-download-card-btn:focus-visible,
    .pdf-modal-download-btn:hover,
    .pdf-modal-download-btn:focus-visible,
    .btn:hover,
    .btn:focus-visible,
    .btn-return-home:hover,
    .btn-return-home:focus-visible,
    .feedback-submit:hover,
    .feedback-submit:focus-visible,
    .vk-btn:hover,
    .vk-btn:focus-visible,
    .user-news-primary-link:hover,
    .user-news-primary-link:focus-visible,
    .vk-tab.active,
    .vk-tab:hover,
    .vk-tab:focus-visible,
    .user-news-page .vk-tab.active,
    .user-news-page .vk-tab:hover,
    .user-news-page .vk-tab:focus-visible,
    .user-search-card--hero .vk-tab.active,
    .user-search-card--hero .vk-tab:hover,
    .user-search-card--hero .vk-tab:focus-visible,
    .help-choice-modal-action > button:hover,
    .help-choice-modal-action > button:focus-visible,
    .help-choice-modal-action > .contract-btn:hover,
    .help-choice-modal-action > .contract-btn:focus-visible,
    .help-choice-grid > button:hover,
    .help-choice-grid > button:focus-visible,
    .help-choice-grid > .contract-btn:hover,
    .help-choice-grid > .contract-btn:focus-visible,
    .info-card-action:hover,
    .info-card-action:focus-visible,
    .scroll-top-btn:hover,
    .scroll-top-btn:focus-visible,
    #scrollTopBtn:hover,
    #scrollTopBtn:focus-visible
  ) {
    background: var(--oai-picture-blue-gradient-hover) !important;
    background-image: var(--oai-picture-blue-gradient-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: var(--oai-picture-blue-shadow-hover) !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .submit-btn:disabled,
    .submit-btn.is-sending,
    .submit-btn.is-sending:disabled,
    .social-legal-submit-btn:disabled,
    .social-legal-submit-btn.is-sending,
    .social-legal-submit-btn.is-sending:disabled,
    .service-modal-footer .submit-btn.is-sending,
    .contract-modal-footer .submit-btn.is-sending,
    .payment-switch-btn.active,
    .calc-tab-btn.active,
    #moneyCalcReset.money-reset-btn[aria-disabled="true"]
  ) {
    background: var(--oai-picture-blue-gradient) !important;
    background-image: var(--oai-picture-blue-gradient) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .hero-service-card,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    .info-card-action,
    .info-card-action:hover,
    .info-card-action:focus-visible,
    .contract-btn,
    .history-action-btn,
    .payment-switch-btn,
    .calc-tab-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link
  ) :is(span, strong, small, em, b, p, h1, h2, h3, h4, h5, h6, .info-card-cta, .hero-service-card-btn) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body :is(#oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC, .site-header .burger) span {
    background: #ffffff !important;
  }

  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .contract-btn,
    .history-action-btn,
    .hero-card-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .calc-tab-btn,
    .money-reset-btn,
    .payment-switch-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link,
    .scroll-top-btn,
    #scrollTopBtn
  )::before,
  body :is(
    #oaiBlueSpecificityA#oaiBlueSpecificityB#oaiBlueSpecificityC,
    .contract-btn,
    .history-action-btn,
    .hero-card-btn,
    .submit-btn,
    .social-legal-submit-btn,
    .calc-tab-btn,
    .money-reset-btn,
    .payment-switch-btn,
    .pay-link-btn,
    .download-btn,
    .doc-btn,
    .back-link,
    .search-action-btn,
    .pdf-download-card-btn,
    .pdf-modal-download-btn,
    .btn,
    .btn-return-home,
    .feedback-submit,
    .vk-btn,
    .user-news-primary-link,
    .scroll-top-btn,
    #scrollTopBtn
  )::after {
    background: transparent !important;
  }

:root {
    --oai-transparent-card-bg: rgba(255, 255, 255, 0.13);
    --oai-transparent-card-bg-hover: rgba(255, 255, 255, 0.18);
    --oai-transparent-card-border: rgba(255, 255, 255, 0.14);
    --oai-transparent-card-border-hover: rgba(255, 255, 255, 0.24);
    --oai-transparent-action-bg: rgba(255, 255, 255, 0.38);
    --oai-transparent-action-bg-hover: rgba(255, 255, 255, 0.52);
  }

  /* Click cards: glass/transparent style from 222.html. */
  body :is(
    #oaiTransparentCardA#oaiTransparentCardB#oaiTransparentCardC,
    .hero-card,
    button.hero-card,
    a.hero-card,
    .social-pdf-click-card,
    .hero-service-card,
    button.hero-service-card,
    a.hero-service-card,
    #openMilitaryCalcCard,
    #openContractBenefitCard,
    #openRealEstateRequestCard,
    .info-card.info-card-action,
    button.info-card.info-card-action,
    a.info-card.info-card-action
  ) {
    background: var(--oai-transparent-card-bg) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-card-bg) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid var(--oai-transparent-card-border) !important;
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, 0.08)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
  }

  body :is(
    #oaiTransparentCardA#oaiTransparentCardB#oaiTransparentCardC,
    .hero-card:hover,
    .hero-card:focus-visible,
    button.hero-card:hover,
    button.hero-card:focus-visible,
    a.hero-card:hover,
    a.hero-card:focus-visible,
    .social-pdf-click-card:hover,
    .social-pdf-click-card:focus-visible,
    .hero-service-card:hover,
    .hero-service-card:focus-visible,
    button.hero-service-card:hover,
    button.hero-service-card:focus-visible,
    a.hero-service-card:hover,
    a.hero-service-card:focus-visible,
    #openMilitaryCalcCard:hover,
    #openMilitaryCalcCard:focus-visible,
    #openContractBenefitCard:hover,
    #openContractBenefitCard:focus-visible,
    #openRealEstateRequestCard:hover,
    #openRealEstateRequestCard:focus-visible,
    .info-card.info-card-action:hover,
    .info-card.info-card-action:focus-visible
  ) {
    background: var(--oai-transparent-card-bg-hover) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-card-bg-hover) !important;
    border-color: var(--oai-transparent-card-border-hover) !important;
    box-shadow: var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, 0.12)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body :is(
    #oaiTransparentCardA#oaiTransparentCardB#oaiTransparentCardC,
    .hero-card,
    .hero-service-card,
    .info-card.info-card-action,
    .social-pdf-click-card
  ) :is(
    .hero-card-title,
    .hero-service-card-title,
    .hero-card-text,
    .hero-service-card-text,
    .info-card-cta,
    h3,
    p,
    span,
    strong,
    small
  ) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* Inner buttons/links on click cards are transparent, as in 222.html. */
  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card .hero-card-btn,
    .hero-card-btn,
    .hero-service-card .hero-service-card-btn,
    .hero-service-card-btn.hero-card-btn,
    #openMilitaryCalcCard .hero-service-card-btn,
    #openContractBenefitCard .hero-service-card-btn,
    #openRealEstateRequestCard .hero-service-card-btn,
    .social-pdf-click-card .social-pdf-click-card-btn,
    .social-pdf-click-card-btn,
    .info-card.info-card-action .info-card-cta,
    .info-card .info-card-action:not(.info-card)
  ) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    inline-size: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    block-size: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin-top: auto !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card .hero-card-btn:hover,
    .hero-card .hero-card-btn:focus-visible,
    .hero-card-btn:hover,
    .hero-card-btn:focus-visible,
    .hero-service-card .hero-service-card-btn:hover,
    .hero-service-card .hero-service-card-btn:focus-visible,
    .hero-service-card-btn.hero-card-btn:hover,
    .hero-service-card-btn.hero-card-btn:focus-visible,
    #openMilitaryCalcCard .hero-service-card-btn:hover,
    #openMilitaryCalcCard .hero-service-card-btn:focus-visible,
    #openContractBenefitCard .hero-service-card-btn:hover,
    #openContractBenefitCard .hero-service-card-btn:focus-visible,
    #openRealEstateRequestCard .hero-service-card-btn:hover,
    #openRealEstateRequestCard .hero-service-card-btn:focus-visible,
    .social-pdf-click-card .social-pdf-click-card-btn:hover,
    .social-pdf-click-card .social-pdf-click-card-btn:focus-visible,
    .info-card.info-card-action .info-card-cta:hover,
    .info-card.info-card-action .info-card-cta:focus-visible,
    .info-card .info-card-action:not(.info-card):hover,
    .info-card .info-card-action:not(.info-card):focus-visible
  ) {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    border-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: translateX(2px) !important;
    opacity: 0.88 !important;
  }

  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card-btn,
    .hero-service-card-btn,
    .info-card-cta,
    .social-pdf-click-card-btn
  )::before,
  body :is(
    #oaiTransparentCardBtnA#oaiTransparentCardBtnB#oaiTransparentCardBtnC,
    .hero-card-btn,
    .hero-service-card-btn,
    .info-card-cta,
    .social-pdf-click-card-btn
  )::after {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* Selected action buttons with these card actions are also transparent/glass. */
  body :is(
    #oaiTransparentActionA#oaiTransparentActionB#oaiTransparentActionC,
    #openFundLifeDonateBtn,
    #openFundLifeDonateBtnMobile,
    #openFundPlHelpBtn,
    #openFundPlHelpBtnMobile,
    #openFundLabsDonateBtn,
    #openFundLabsDonateBtnMobile,
    #openBplaSchoolDonateBtn,
    #openBplaSchoolDonateBtnMobile,
    #openFundPlFeedbackBtn,
    #openFundPlFeedbackBtnMobile,
    .fund-action-row .contract-btn-placeholder
  ) {
    background: var(--oai-transparent-action-bg) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-action-bg) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(17, 17, 17, 0.12) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
  }

  body :is(
    #oaiTransparentActionA#oaiTransparentActionB#oaiTransparentActionC,
    #openFundLifeDonateBtn:hover,
    #openFundLifeDonateBtn:focus-visible,
    #openFundLifeDonateBtnMobile:hover,
    #openFundLifeDonateBtnMobile:focus-visible,
    #openFundPlHelpBtn:hover,
    #openFundPlHelpBtn:focus-visible,
    #openFundPlHelpBtnMobile:hover,
    #openFundPlHelpBtnMobile:focus-visible,
    #openFundLabsDonateBtn:hover,
    #openFundLabsDonateBtn:focus-visible,
    #openFundLabsDonateBtnMobile:hover,
    #openFundLabsDonateBtnMobile:focus-visible,
    #openBplaSchoolDonateBtn:hover,
    #openBplaSchoolDonateBtn:focus-visible,
    #openBplaSchoolDonateBtnMobile:hover,
    #openBplaSchoolDonateBtnMobile:focus-visible,
    #openFundPlFeedbackBtn:hover,
    #openFundPlFeedbackBtn:focus-visible,
    #openFundPlFeedbackBtnMobile:hover,
    #openFundPlFeedbackBtnMobile:focus-visible,
    .fund-action-row .contract-btn-placeholder:hover,
    .fund-action-row .contract-btn-placeholder:focus-visible
  ) {
    background: var(--oai-transparent-action-bg-hover) !important;
    background-image: none !important;
    background-color: var(--oai-transparent-action-bg-hover) !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border-color: rgba(17, 17, 17, 0.18) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10) !important;
  }

/* Must stay at the physical end of the HTML files: several legacy style blocks are placed after </html>. */
@media (max-width: 768px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    --site-header-height: 61px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 22.5px !important;
    padding-top: calc(61px + 8mm) !important;
    padding-right: 14px !important;
    padding-bottom: 8mm !important;
    padding-left: 14px !important;
  }

  html body #officeMapModal .social-legal-modal-dialog,
  html body #officeFeedbackModal .social-legal-modal-dialog {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    height: calc(100vh - 61px - 16mm) !important;
    max-height: calc(100vh - 61px - 16mm) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 22.5px !important;
  }

  html body #officeMapModal .social-legal-modal-header,
  html body #officeFeedbackModal .social-legal-modal-header,
  html body #officeMapModal .social-legal-modal-footer,
  html body #officeFeedbackModal .social-legal-modal-footer {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 22.5px !important;
  }

  html body #officeMapModal .social-legal-modal-body,
  html body #officeFeedbackModal .social-legal-modal-body,
  html body #officeMapModal .office-map-modal-grid,
  html body #officeMapModal .office-map-frame,
  html body #officeMapModal .office-map-contacts-wrapper,
  html body #officeMapModal #officeContacts {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
  }

  html body #officeMapModal .office-map-modal-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 260px minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    gap: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .office-map-frame {
    width: 100% !important;
    max-width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    max-height: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .office-map-contacts-wrapper {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal #officeContacts {
    display: flex !important;
    flex: 1 1 0% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: auto !important;
    box-sizing: border-box !important;
  }

  html body #officeFeedbackModal .social-legal-form-group {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
  }

  html body #officeFeedbackModal .social-legal-form-group > label:not(.social-legal-consent-label) {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
  }

  html body #officeFeedbackModal .social-legal-form-group label.social-legal-consent-label,
  html body #officeFeedbackModal label.social-legal-consent-label,
  html body #officeFeedbackModal .social-legal-consent-label {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 23.2px !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  html body #officeFeedbackModal select#officeFeedbackQuestion.oai-all-modal-select-native,
  html body #officeFeedbackModal #officeFeedbackQuestion.oai-all-modal-select-native {
    position: absolute !important;
    display: block !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
  }

  html body #officeFeedbackModal .oai-all-modal-select-trigger {
    height: 49.1339px !important;
    min-height: 49.1339px !important;
    max-height: 49.1339px !important;
    padding-top: 0 !important;
    padding-right: 38px !important;
    padding-bottom: 0 !important;
    padding-left: 13px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 15.4px !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  html body #officeFeedbackModal .oai-all-modal-select-menu,
  html body #officeFeedbackModal .oai-all-modal-select-option {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
  }

  html body #officeFeedbackModal #officeFeedbackFio,
  html body #officeFeedbackModal #officeFeedbackPhone {
    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;
    padding: 12px 14px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    box-sizing: border-box !important;
  }

  html body #officeFeedbackModal #officeFeedbackMessage {
    width: 100% !important;
    height: 110px !important;
    min-height: 110px !important;
    max-height: none !important;
    padding: 12px 14px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-footer,
  html body #officeFeedbackModal .social-legal-modal-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    justify-content: stretch !important;
    justify-items: start !important;
    align-items: stretch !important;
    align-content: stretch !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  html body #officeMapModal .social-legal-modal-footer #officeFeedbackBtn,
  html body #officeMapModal #officeFeedbackBtn,
  html body #officeFeedbackModal .social-legal-modal-footer #officeFeedbackSubmitBtn,
  html body #officeFeedbackModal #officeFeedbackSubmitBtn {
    justify-self: start !important;
    align-self: stretch !important;
    flex: 1 1 auto !important;
    width: min(6.4cm, 100%) !important;
    min-width: 0 !important;
    max-width: min(6.4cm, 100%) !important;
    height: 49.1339px !important;
    min-height: 49.1339px !important;
    max-height: 49.1339px !important;
    padding: 0 10px !important;
    border-radius: 14px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 15.12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  html body #officeMapModal.social-legal-modal,
  html body #officeFeedbackModal.social-legal-modal {
    padding-top: calc(61px + 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;
    height: calc(100vh - 61px - 16mm) !important;
    max-height: calc(100vh - 61px - 16mm) !important;
  }
}

/* Last-mile mobile parity with index.html: legacy pages also set logical sizes, so width/height alone is not enough. */
@media (max-width: 768px) {
  html body #officeMapModal .social-legal-modal-footer button#officeFeedbackBtn.social-legal-submit-btn,
  html body #officeMapModal button#officeFeedbackBtn.social-legal-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: 1 1 auto !important;
    flex-basis: auto !important;
    justify-self: start !important;
    align-self: center !important;
    width: min(6.4cm, 100%) !important;
    min-width: min(6.4cm, 100%) !important;
    max-width: min(6.4cm, 100%) !important;
    inline-size: min(6.4cm, 100%) !important;
    min-inline-size: min(6.4cm, 100%) !important;
    max-inline-size: min(6.4cm, 100%) !important;
    height: 49.1339px !important;
    min-height: 49.1339px !important;
    max-height: 49.1339px !important;
    block-size: 49.1339px !important;
    min-block-size: 49.1339px !important;
    max-block-size: 49.1339px !important;
    padding: 0 10px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 15.12px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html body #officeFeedbackModal select#officeFeedbackQuestion.oai-all-modal-select-native,
  html body #officeFeedbackModal #officeFeedbackQuestion.oai-all-modal-select-native {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    inline-size: 100% !important;
    min-inline-size: 100% !important;
    max-inline-size: 100% !important;
    height: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;
    block-size: 1px !important;
    min-block-size: 1px !important;
    max-block-size: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
  }
}