/* DSTRC CSS: post 5510 | generated 2026-04-10 08:43:06 UTC */
.rf01-hero,
    .rf01-hero * {
      box-sizing: border-box;
    }

    .rf01-hero {
      --rf01-bg-1: #f7fafc;
      --rf01-bg-2: #e7edf3;
      --rf01-panel: rgba(255, 255, 255, 0.94);
      --rf01-panel-2: #ffffff;
      --rf01-ink: #0f1720;
      --rf01-muted: #5c6977;
      --rf01-line: rgba(15, 23, 32, 0.10);
      --rf01-line-soft: rgba(15, 23, 32, 0.06);
      --rf01-accent: #2f6f9f;
      --rf01-accent-2: #84b3d0;
      --rf01-steel: #cad4dd;
      --rf01-chrome: #eef3f7;
      --rf01-dark: #111a22;
      --rf01-dark-2: #18232d;

      position: relative;
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      padding: clamp(16px, 2vw, 28px);
      overflow: hidden;
      color: var(--rf01-ink);
      font-family: inherit;
      background:
        radial-gradient(circle at 88% 10%, rgba(47, 111, 159, 0.16), transparent 24%),
        radial-gradient(circle at 14% 18%, rgba(132, 179, 208, 0.12), transparent 20%),
        linear-gradient(135deg, #fbfdff 0%, var(--rf01-bg-1) 40%, var(--rf01-bg-2) 100%);
    }

    .rf01-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(15, 23, 32, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 32, 0.03) 1px, transparent 1px);
      background-size: 48px 48px;
      pointer-events: none;
      opacity: 0.55;
    }

    .rf01-hero::after {
      content: "";
      position: absolute;
      right: -12vw;
      top: -10vw;
      width: 34vw;
      height: 34vw;
      min-width: 260px;
      min-height: 260px;
      background: radial-gradient(circle, rgba(202, 212, 221, 0.24) 0%, rgba(202, 212, 221, 0) 72%);
      pointer-events: none;
    }

    .rf01-hero__shell {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: none;
      margin: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(360px, 540px);
      gap: clamp(16px, 1.8vw, 26px);
      align-items: stretch;
    }

    .rf01-hero__main,
    .rf01-hero__side {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--rf01-line);
      border-radius: 22px;
      box-shadow: 0 22px 54px rgba(17, 26, 34, 0.08);
    }

    .rf01-hero__main {
      padding: clamp(22px, 2.3vw, 36px);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 100%);
    }

    .rf01-hero__main::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 5px;
      background: linear-gradient(90deg, var(--rf01-accent), var(--rf01-accent-2), rgba(132, 179, 208, 0));
    }

    .rf01-hero__main::after {
      content: "";
      position: absolute;
      right: -80px;
      bottom: -80px;
      width: 220px;
      height: 220px;
      background: radial-gradient(circle, rgba(132, 179, 208, 0.12) 0%, rgba(132, 179, 208, 0) 70%);
      pointer-events: none;
    }

    .rf01-hero__eyebrow {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0 12px;
      margin-bottom: 16px;
      border-left: 4px solid var(--rf01-accent);
      background: rgba(47, 111, 159, 0.08);
      color: #17384f;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .rf01-hero__title {
      margin: 0;
      max-width: 900px;
      font-size: clamp(28px, 3.2vw, 46px);
      line-height: 1.03;
      letter-spacing: -0.035em;
      text-transform: uppercase;
      text-wrap: balance;
    }

    .rf01-hero__lead,
    .rf01-hero__text {
      margin: 14px 0 0;
      max-width: 880px;
      font-size: clamp(15px, 1.1vw, 16px);
      line-height: 1.72;
      color: var(--rf01-muted);
      text-wrap: pretty;
    }

    .rf01-hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 24px;
    }

    .rf01-hero__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 22px;
      border-radius: 14px;
      text-decoration: none;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.04em;
      transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
      will-change: transform;
      cursor: pointer;
      border: 0;
    }

    .rf01-hero__btn:hover {
      transform: translateY(-2px);
    }

    .rf01-hero__btn--primary {
      color: #ffffff;
      background: linear-gradient(135deg, var(--rf01-accent) 0%, var(--rf01-accent-2) 100%);
      box-shadow: 0 16px 34px rgba(47, 111, 159, 0.20);
    }

    .rf01-hero__btn--secondary {
      color: var(--rf01-dark);
      background: #ffffff;
      border: 1px solid rgba(15, 23, 32, 0.14);
      box-shadow: 0 12px 24px rgba(15, 23, 32, 0.06);
    }

    .rf01-hero__btn-form {
      display: inline-flex;
      min-width: 0;
    }

    .rf01-hero__btn-form .sfz-form,
    .rf01-hero__btn-form form,
    .rf01-hero__btn-form > div {
      margin: 0;
    }

    .rf01-hero__btn-form a,
    .rf01-hero__btn-form button,
    .rf01-hero__btn-form input[type="button"],
    .rf01-hero__btn-form input[type="submit"],
    .rf01-hero__btn-form .sfz-form button,
    .rf01-hero__btn-form .sfz-form input[type="submit"],
    .rf01-hero__btn-form [class*="button"],
    .rf01-hero__btn-form [role="button"] {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 22px;
      border-radius: 14px;
      text-decoration: none;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.04em;
      color: var(--rf01-dark);
      background: #ffffff;
      border: 1px solid rgba(15, 23, 32, 0.14);
      box-shadow: 0 12px 24px rgba(15, 23, 32, 0.06);
      transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
      cursor: pointer;
      white-space: nowrap;
      margin: 0;
    }

    .rf01-hero__btn-form a:hover,
    .rf01-hero__btn-form button:hover,
    .rf01-hero__btn-form input[type="button"]:hover,
    .rf01-hero__btn-form input[type="submit"]:hover,
    .rf01-hero__btn-form .sfz-form button:hover,
    .rf01-hero__btn-form .sfz-form input[type="submit"]:hover,
    .rf01-hero__btn-form [class*="button"]:hover,
    .rf01-hero__btn-form [role="button"]:hover {
      transform: translateY(-2px);
    }

    .rf01-hero__facts {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 28px;
    }

    .rf01-hero__fact {
      position: relative;
      overflow: hidden;
      min-height: 114px;
      padding: 16px 16px 14px;
      border: 1px solid var(--rf01-line-soft);
      border-radius: 18px;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(240, 245, 249, 0.92) 100%);
    }

    .rf01-hero__fact::before {
      content: "";
      position: absolute;
      right: -24px;
      top: -24px;
      width: 82px;
      height: 82px;
      background: linear-gradient(135deg, rgba(132, 179, 208, 0.22), rgba(202, 212, 221, 0.10));
      transform: rotate(45deg);
    }

    .rf01-hero__fact strong {
      position: relative;
      z-index: 1;
      display: block;
      margin-bottom: 8px;
      color: #17384f;
      font-size: 12px;
      line-height: 1.3;
      letter-spacing: 0.11em;
      text-transform: uppercase;
    }

    .rf01-hero__fact span {
      position: relative;
      z-index: 1;
      display: block;
      color: var(--rf01-ink);
      font-size: 14px;
      line-height: 1.6;
      text-wrap: pretty;
    }

    .rf01-hero__side {
      display: grid;
      grid-template-rows: auto 1fr;
      background:
        linear-gradient(180deg, rgba(21, 33, 43, 0.98) 0%, rgba(15, 23, 31, 0.98) 100%);
      color: #ffffff;
      border-color: rgba(255, 255, 255, 0.06);
    }

    .rf01-hero__side::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, rgba(132, 179, 208, 0.10), transparent 36%),
        repeating-linear-gradient(
          135deg,
          rgba(255, 255, 255, 0.04) 0,
          rgba(255, 255, 255, 0.04) 10px,
          rgba(255, 255, 255, 0.015) 10px,
          rgba(255, 255, 255, 0.015) 20px
        );
      pointer-events: none;
    }

    .rf01-hero__sideTop {
      position: relative;
      z-index: 1;
      display: grid;
      gap: 18px;
      align-content: start;
      padding: 22px 22px 18px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .rf01-hero__media {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 10;
      overflow: hidden;
      border-radius: 18px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background:
        linear-gradient(135deg, rgba(238, 243, 247, 0.18), rgba(202, 212, 221, 0.10));
      box-shadow: 0 22px 48px rgba(0, 0, 0, 0.24);
    }

    .rf01-hero__media::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.10), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
      pointer-events: none;
      z-index: 1;
    }

    .rf01-hero__media::after {
      content: "";
      position: absolute;
      inset: auto 0 0 0;
      height: 42%;
      background: linear-gradient(180deg, rgba(9, 14, 20, 0) 0%, rgba(9, 14, 20, 0.18) 100%);
      pointer-events: none;
      z-index: 1;
    }

    .rf01-hero__media img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .rf01-hero__sideTop h2 {
      margin: 0;
      font-size: 24px;
      line-height: 1.12;
      letter-spacing: -0.03em;
      text-wrap: balance;
    }

    .rf01-hero__sideTop p {
      margin: 0;
      color: rgba(255, 255, 255, 0.78);
      font-size: 14px;
      line-height: 1.7;
      text-wrap: pretty;
    }

    .rf01-hero__data {
      position: relative;
      z-index: 1;
      display: grid;
      gap: 10px;
      padding: 18px;
    }

    .rf01-hero__item {
      display: grid;
      grid-template-columns: 126px 1fr;
      gap: 14px;
      align-items: start;
      padding: 14px 12px;
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.05);
      backdrop-filter: blur(2px);
    }

    .rf01-hero__item strong {
      display: block;
      color: #9fc5de;
      font-size: 11px;
      line-height: 1.4;
      letter-spacing: 0.13em;
      text-transform: uppercase;
    }

    .rf01-hero__item span {
      display: block;
      color: rgba(255, 255, 255, 0.88);
      font-size: 14px;
      line-height: 1.65;
      text-wrap: pretty;
    }

    .sfz-modal-close,
    .sfz-popup-close,
    .sfz-close,
    .mfp-close,
    .fancybox-button--close,
    .fancybox-close-small,
    button[aria-label="Close"],
    button[aria-label="Закрыть"],
    [class*="close"] {
      opacity: 1 !important;
      visibility: visible !important;
    }

    .sfz-modal-close,
    .sfz-popup-close,
    .sfz-close,
    .mfp-close,
    .fancybox-button--close,
    .fancybox-close-small,
    button[aria-label="Close"],
    button[aria-label="Закрыть"] {
      color: #111 !important;
    }

    @media (max-width: 1180px) {
      .rf01-hero__shell {
        grid-template-columns: 1fr;
      }

      .rf01-hero__side {
        order: 2;
      }

      .rf01-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 760px) {
      .rf01-hero {
        padding: 14px;
      }

      .rf01-hero__main,
      .rf01-hero__side {
        border-radius: 18px;
      }

      .rf01-hero__main {
        padding: 20px 16px 18px;
      }

      .rf01-hero__sideTop {
        padding: 16px 16px 14px;
      }

      .rf01-hero__data {
        padding: 14px;
      }

      .rf01-hero__facts {
        grid-template-columns: 1fr;
      }

      .rf01-hero__item {
        grid-template-columns: 1fr;
        gap: 8px;
      }
    }

    @media (max-width: 560px) {
      .rf01-hero__actions {
        flex-direction: column;
      }

      .rf01-hero__btn,
      .rf01-hero__btn-form,
      .rf01-hero__btn-form a,
      .rf01-hero__btn-form button,
      .rf01-hero__btn-form input[type="button"],
      .rf01-hero__btn-form input[type="submit"],
      .rf01-hero__btn-form .sfz-form button,
      .rf01-hero__btn-form .sfz-form input[type="submit"],
      .rf01-hero__btn-form [class*="button"],
      .rf01-hero__btn-form [role="button"] {
        width: 100%;
      }

      .rf01-hero__title {
        font-size: 26px;
      }

      .rf01-hero__lead,
      .rf01-hero__text {
        font-size: 14px;
      }
    }

.rf02-filters,
    .rf02-filters * {
      box-sizing: border-box;
    }

    .rf02-filters {
      --rf02-bg: #f4f7fa;
      --rf02-panel: #ffffff;
      --rf02-panel-2: #edf3f8;
      --rf02-ink: #0f1720;
      --rf02-muted: #596674;
      --rf02-line: rgba(15, 23, 32, 0.10);
      --rf02-accent: #2f6f9f;
      --rf02-accent-2: #b9c7d4;
      padding: 88px 18px;
      background:
        linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
      color: var(--rf02-ink);
      font-family: inherit;
    }

    .rf02-filters__wrap {
      width: min(1280px, 100%);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.98fr);
      gap: 22px;
      align-items: start;
    }

    .rf02-filters__intro {
      padding: 0 2px;
    }

    .rf02-filters__kicker {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0 12px;
      background: rgba(47, 111, 159, 0.08);
      border-left: 4px solid var(--rf02-accent);
      color: #17354d;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 14px;
    }

    .rf02-filters__title {
      margin: 0 0 14px;
      max-width: 720px;
      font-size: clamp(28px, 3.8vw, 46px);
      line-height: 1.04;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf02-filters__lead,
    .rf02-filters__text {
      margin: 0;
      max-width: 760px;
      color: var(--rf02-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf02-filters__text {
      margin-top: 10px;
    }

    .rf02-filters__board {
      background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
      border: 1px solid var(--rf02-line);
      box-shadow: 0 20px 50px rgba(19, 30, 42, 0.06);
      padding: 22px;
      position: relative;
      overflow: hidden;
    }

    .rf02-filters__board::before {
      content: "";
      position: absolute;
      top: 0;
      right: -40px;
      width: 180px;
      height: 180px;
      background: linear-gradient(135deg, rgba(185, 199, 212, 0.34), rgba(47, 111, 159, 0.10));
      transform: rotate(45deg);
      pointer-events: none;
    }

    .rf02-filters__grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .rf02-filters__card {
      min-height: 124px;
      padding: 18px 18px 16px;
      background: linear-gradient(180deg, #ffffff 0%, var(--rf02-panel-2) 100%);
      border: 1px solid rgba(15, 23, 32, 0.08);
    }

    .rf02-filters__card strong {
      display: block;
      margin-bottom: 8px;
      font-size: 13px;
      line-height: 1.4;
      letter-spacing: 0.10em;
      text-transform: uppercase;
      color: #16344d;
    }

    .rf02-filters__card p {
      margin: 0;
      color: var(--rf02-muted);
      font-size: 15px;
      line-height: 1.65;
      text-wrap: pretty;
    }

    .rf02-filters__note {
      position: relative;
      z-index: 1;
      margin-top: 14px;
      padding: 18px 18px 16px;
      background: linear-gradient(135deg, #153149 0%, #1f5378 100%);
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.06);
    }

    .rf02-filters__note p {
      margin: 0;
      color: rgba(255,255,255,0.86);
      line-height: 1.68;
      font-size: 15px;
      text-wrap: pretty;
    }

    @media (max-width: 980px) {
      .rf02-filters__wrap {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf02-filters {
        padding: 70px 14px;
      }

      .rf02-filters__board {
        padding: 16px;
      }

      .rf02-filters__grid {
        grid-template-columns: 1fr;
      }
    }

.rf03-catalog,
    .rf03-catalog * {
      box-sizing: border-box;
    }

    .rf03-catalog {
      --rf03-ink: #101820;
      --rf03-muted: #5c6874;
      --rf03-accent: #2f6f9f;
      --rf03-accent-2: #8db1c9;
      --rf03-line: rgba(16, 24, 32, 0.10);
      --rf03-panel: #ffffff;
      --rf03-bg: #eef3f7;
      padding: 92px 18px;
      background:
        radial-gradient(circle at bottom left, rgba(141, 177, 201, 0.18), transparent 26%),
        linear-gradient(180deg, #eef3f7 0%, #f9fbfd 100%);
      color: var(--rf03-ink);
      font-family: inherit;
      overflow: hidden;
      position: relative;
    }

    .rf03-catalog::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(16, 24, 32, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16, 24, 32, 0.03) 1px, transparent 1px);
      background-size: 40px 40px;
      opacity: 0.32;
      pointer-events: none;
    }

    .rf03-catalog__wrap {
      position: relative;
      z-index: 1;
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .rf03-catalog__head {
      margin-bottom: 22px;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.92fr);
      gap: 18px;
      align-items: end;
    }

    .rf03-catalog__title {
      margin: 0 0 10px;
      font-size: clamp(28px, 3.8vw, 46px);
      line-height: 1.04;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf03-catalog__lead,
    .rf03-catalog__noteTop {
      margin: 0;
      color: var(--rf03-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf03-catalog__shortcode {
      position: relative;
      padding: 26px 24px;
      background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,250,252,0.95) 100%);
      border: 1px solid var(--rf03-line);
      box-shadow: 0 20px 40px rgba(18, 30, 43, 0.06);
      overflow: hidden;
    }

    .rf03-catalog__shortcode::before {
      content: "";
      position: absolute;
      inset: 0 auto auto 0;
      width: 100%;
      height: 4px;
      background: linear-gradient(90deg, var(--rf03-accent), var(--rf03-accent-2), transparent);
    }

    .rf03-catalog__shortcode > *:last-child {
      margin-bottom: 0;
    }

    .rf03-catalog__foot {
      margin-top: 18px;
      padding: 18px 20px;
      background: #ffffff;
      border: 1px solid var(--rf03-line);
      box-shadow: 0 16px 34px rgba(18, 30, 43, 0.05);
    }

    .rf03-catalog__foot p {
      margin: 0;
      color: var(--rf03-muted);
      line-height: 1.68;
      font-size: 15px;
      text-wrap: pretty;
    }

    @media (max-width: 1080px) {
      .rf03-catalog__head {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf03-catalog {
        padding: 74px 14px;
      }

      .rf03-catalog__shortcode {
        padding: 20px 16px;
      }
    }

.rf04-criteria,
    .rf04-criteria * {
      box-sizing: border-box;
    }

    .rf04-criteria {
      --rf04-ink: #101820;
      --rf04-muted: #5e6974;
      --rf04-accent: #2f6f9f;
      --rf04-accent-2: #85abc7;
      --rf04-dark: #14202a;
      --rf04-line: rgba(16, 24, 32, 0.10);
      padding: 92px 18px;
      background:
        linear-gradient(180deg, #ffffff 0%, #eef3f7 100%);
      color: var(--rf04-ink);
      font-family: inherit;
    }

    .rf04-criteria__wrap {
      width: min(1280px, 100%);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
      gap: 22px;
      align-items: start;
    }

    .rf04-criteria__intro {
      position: sticky;
      top: 18px;
      padding: 28px 26px;
      background: linear-gradient(180deg, #162431 0%, #101820 100%);
      color: #ffffff;
      box-shadow: 0 26px 54px rgba(17, 27, 36, 0.16);
      overflow: hidden;
    }

    .rf04-criteria__intro::before {
      content: "";
      position: absolute;
      right: -36px;
      bottom: -36px;
      width: 180px;
      height: 180px;
      border: 26px solid rgba(133, 171, 199, 0.16);
      transform: rotate(45deg);
    }

    .rf04-criteria__intro h2 {
      position: relative;
      z-index: 1;
      margin: 0 0 14px;
      font-size: clamp(28px, 3.5vw, 42px);
      line-height: 1.06;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf04-criteria__intro p {
      position: relative;
      z-index: 1;
      margin: 0;
      color: rgba(255,255,255,0.82);
      font-size: 15px;
      line-height: 1.7;
      text-wrap: pretty;
    }

    .rf04-criteria__grid {
      display: grid;
      gap: 14px;
    }

    .rf04-criteria__item {
      background: #ffffff;
      border: 1px solid var(--rf04-line);
      box-shadow: 0 18px 34px rgba(18, 30, 43, 0.05);
      overflow: hidden;
    }

    .rf04-criteria__itemHead {
      padding: 18px 20px 16px;
      background: linear-gradient(180deg, #eef3f7 0%, #ffffff 100%);
      border-bottom: 1px solid rgba(16, 24, 32, 0.08);
    }

    .rf04-criteria__itemHead h3 {
      margin: 0;
      font-size: 20px;
      line-height: 1.2;
      text-wrap: balance;
    }

    .rf04-criteria__itemBody {
      padding: 18px 20px 18px;
    }

    .rf04-criteria__itemBody p {
      margin: 0;
      color: var(--rf04-muted);
      font-size: 15px;
      line-height: 1.7;
      text-wrap: pretty;
    }

    .rf04-criteria__list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .rf04-criteria__list li {
      position: relative;
      padding-left: 16px;
      color: var(--rf04-muted);
      font-size: 15px;
      line-height: 1.66;
      text-wrap: pretty;
    }

    .rf04-criteria__list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 10px;
      width: 8px;
      height: 8px;
      background: linear-gradient(135deg, var(--rf04-accent), var(--rf04-accent-2));
      border-radius: 50%;
    }

    @media (max-width: 980px) {
      .rf04-criteria__wrap {
        grid-template-columns: 1fr;
      }

      .rf04-criteria__intro {
        position: static;
      }
    }

    @media (max-width: 640px) {
      .rf04-criteria {
        padding: 72px 14px;
      }

      .rf04-criteria__intro,
      .rf04-criteria__itemHead,
      .rf04-criteria__itemBody {
        padding-left: 18px;
        padding-right: 18px;
      }
    }

.rf05-check,
    .rf05-check * {
      box-sizing: border-box;
    }

    .rf05-check {
      --rf05-ink: #101820;
      --rf05-muted: #5d6874;
      --rf05-accent: #2f6f9f;
      --rf05-accent-2: #8cb1c9;
      --rf05-line: rgba(16, 24, 32, 0.10);
      padding: 92px 18px;
      background: linear-gradient(180deg, #eef3f7 0%, #ffffff 100%);
      color: var(--rf05-ink);
      font-family: inherit;
    }

    .rf05-check__wrap {
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .rf05-check__head {
      display: grid;
      grid-template-columns: minmax(0, 0.94fr) minmax(260px, 1.06fr);
      gap: 22px;
      align-items: end;
      margin-bottom: 22px;
    }

    .rf05-check__head h2 {
      margin: 0;
      font-size: clamp(28px, 3.8vw, 46px);
      line-height: 1.04;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf05-check__head p {
      margin: 0;
      color: var(--rf05-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf05-check__line {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 14px;
      align-items: start;
    }

    .rf05-check__item {
      position: relative;
      min-height: 100%;
      padding: 20px 18px 18px;
      background: #ffffff;
      border: 1px solid var(--rf05-line);
      box-shadow: 0 16px 32px rgba(18, 30, 43, 0.05);
      overflow: hidden;
    }

    .rf05-check__item:nth-child(odd) {
      transform: translateY(18px);
      background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
    }

    .rf05-check__item::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 4px;
      background: linear-gradient(90deg, var(--rf05-accent), var(--rf05-accent-2), transparent);
    }

    .rf05-check__item h3 {
      margin: 0 0 10px;
      font-size: 19px;
      line-height: 1.2;
      text-wrap: balance;
    }

    .rf05-check__item p {
      margin: 0;
      color: var(--rf05-muted);
      font-size: 15px;
      line-height: 1.66;
      text-wrap: pretty;
    }

    .rf05-check__foot {
      margin-top: 24px;
      padding: 18px 20px;
      background: linear-gradient(135deg, #153149 0%, #204d70 100%);
      color: #ffffff;
    }

    .rf05-check__foot p {
      margin: 0;
      color: rgba(255,255,255,0.86);
      font-size: 15px;
      line-height: 1.68;
      text-wrap: pretty;
    }

    @media (max-width: 1180px) {
      .rf05-check__line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .rf05-check__item:nth-child(odd) {
        transform: none;
      }
    }

    @media (max-width: 860px) {
      .rf05-check__head {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf05-check {
        padding: 72px 14px;
      }

      .rf05-check__line {
        grid-template-columns: 1fr;
      }

      .rf05-check__item:nth-child(odd) {
        transform: none;
      }
    }

.rf06-areas,
    .rf06-areas * {
      box-sizing: border-box;
    }

    .rf06-areas {
      --rf06-ink: #ffffff;
      --rf06-muted: rgba(255,255,255,0.78);
      --rf06-accent: #80abc8;
      --rf06-accent-2: #2f6f9f;
      --rf06-line: rgba(255,255,255,0.12);
      padding: 94px 18px;
      background:
        linear-gradient(135deg, rgba(128,171,200,0.12), transparent 26%),
        linear-gradient(180deg, #15202a 0%, #0f1720 100%);
      color: var(--rf06-ink);
      font-family: inherit;
      position: relative;
      overflow: hidden;
    }

    .rf06-areas::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
      background-size: 42px 42px;
      opacity: 0.28;
      pointer-events: none;
    }

    .rf06-areas__wrap {
      position: relative;
      z-index: 1;
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .rf06-areas__head {
      margin-bottom: 24px;
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(260px, 1.08fr);
      gap: 20px;
      align-items: end;
    }

    .rf06-areas__head h2 {
      margin: 0;
      font-size: clamp(28px, 3.8vw, 46px);
      line-height: 1.04;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf06-areas__head p {
      margin: 0;
      color: var(--rf06-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf06-areas__grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 14px;
    }

    .rf06-areas__card {
      min-height: 100%;
      padding: 22px 18px 18px;
      background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.04) 100%);
      border: 1px solid var(--rf06-line);
      backdrop-filter: blur(3px);
      position: relative;
      overflow: hidden;
    }

    .rf06-areas__card::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 4px;
      background: linear-gradient(90deg, var(--rf06-accent), var(--rf06-accent-2), transparent);
    }

    .rf06-areas__card h3 {
      margin: 0 0 10px;
      font-size: 18px;
      line-height: 1.2;
      text-wrap: balance;
    }

    .rf06-areas__card p {
      margin: 0;
      color: var(--rf06-muted);
      font-size: 15px;
      line-height: 1.66;
      text-wrap: pretty;
    }

    @media (max-width: 1180px) {
      .rf06-areas__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 860px) {
      .rf06-areas__head {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf06-areas {
        padding: 74px 14px;
      }

      .rf06-areas__grid {
        grid-template-columns: 1fr;
      }
    }

.rf07-standards,
    .rf07-standards * {
      box-sizing: border-box;
    }

    .rf07-standards {
      --rf07-ink: #101820;
      --rf07-muted: #5c6874;
      --rf07-accent: #2f6f9f;
      --rf07-accent-2: #8ab0c9;
      --rf07-line: rgba(16, 24, 32, 0.10);
      padding: 92px 18px;
      background:
        linear-gradient(180deg, #ffffff 0%, #eef3f7 100%);
      color: var(--rf07-ink);
      font-family: inherit;
    }

    .rf07-standards__wrap {
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .rf07-standards__head {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(260px, 1.08fr);
      gap: 20px;
      align-items: end;
      margin-bottom: 24px;
    }

    .rf07-standards__head h2 {
      margin: 0;
      font-size: clamp(28px, 3.8vw, 46px);
      line-height: 1.04;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf07-standards__head p {
      margin: 0;
      color: var(--rf07-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf07-standards__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 18px;
    }

    .rf07-standards__card {
      min-height: 100%;
      background: #ffffff;
      border: 1px solid var(--rf07-line);
      box-shadow: 0 18px 34px rgba(18, 30, 43, 0.05);
      overflow: hidden;
    }

    .rf07-standards__cardHead {
      padding: 18px 18px 14px;
      background: linear-gradient(180deg, #16344d 0%, #214f72 100%);
      color: #ffffff;
    }

    .rf07-standards__cardHead strong {
      display: block;
      font-size: 24px;
      line-height: 1.1;
      margin-bottom: 6px;
      letter-spacing: -0.02em;
    }

    .rf07-standards__cardHead span {
      display: block;
      color: rgba(255,255,255,0.78);
      font-size: 13px;
      line-height: 1.5;
      text-wrap: pretty;
    }

    .rf07-standards__cardBody {
      padding: 18px;
    }

    .rf07-standards__cardBody p {
      margin: 0;
      color: var(--rf07-muted);
      font-size: 15px;
      line-height: 1.68;
      text-wrap: pretty;
    }

    .rf07-standards__bottom {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .rf07-standards__panel {
      position: relative;
      padding: 20px 20px 18px 24px;
      background: linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
      border: 1px solid var(--rf07-line);
      box-shadow: 0 16px 30px rgba(18, 30, 43, 0.04);
    }

    .rf07-standards__panel::before {
      content: "";
      position: absolute;
      left: 0;
      top: 18px;
      bottom: 18px;
      width: 4px;
      background: linear-gradient(180deg, var(--rf07-accent), var(--rf07-accent-2));
    }

    .rf07-standards__panel h3 {
      margin: 0 0 10px;
      font-size: 20px;
      line-height: 1.2;
      text-wrap: balance;
    }

    .rf07-standards__panel p {
      margin: 0;
      color: var(--rf07-muted);
      font-size: 15px;
      line-height: 1.68;
      text-wrap: pretty;
    }

    @media (max-width: 1180px) {
      .rf07-standards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 860px) {
      .rf07-standards__head,
      .rf07-standards__bottom {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf07-standards {
        padding: 72px 14px;
      }

      .rf07-standards__grid {
        grid-template-columns: 1fr;
      }

      .rf07-standards__cardHead,
      .rf07-standards__cardBody,
      .rf07-standards__panel {
        padding-left: 18px;
        padding-right: 18px;
      }
    }

.rf08-faq,
    .rf08-faq * {
      box-sizing: border-box;
    }

    .rf08-faq {
      --rf08-ink: #101820;
      --rf08-muted: #5d6874;
      --rf08-accent: #2f6f9f;
      --rf08-dark: #162431;
      --rf08-line: rgba(16, 24, 32, 0.10);
      padding: 92px 18px;
      background:
        linear-gradient(180deg, #f4f8fb 0%, #ffffff 100%);
      color: var(--rf08-ink);
      font-family: inherit;
    }

    .rf08-faq__wrap {
      width: min(1240px, 100%);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
      gap: 20px;
      align-items: start;
    }

    .rf08-faq__intro {
      position: sticky;
      top: 18px;
      padding: 28px 26px;
      background: linear-gradient(180deg, #162431 0%, #101820 100%);
      color: #ffffff;
      box-shadow: 0 24px 50px rgba(17, 27, 36, 0.14);
    }

    .rf08-faq__intro h2 {
      margin: 0 0 12px;
      font-size: clamp(28px, 3.6vw, 42px);
      line-height: 1.06;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf08-faq__intro p {
      margin: 0;
      color: rgba(255,255,255,0.82);
      font-size: 15px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf08-faq__list {
      display: grid;
      gap: 12px;
    }

    .rf08-faq details {
      background: #ffffff;
      border: 1px solid var(--rf08-line);
      box-shadow: 0 14px 28px rgba(18, 30, 43, 0.04);
      overflow: hidden;
    }

    .rf08-faq summary {
      list-style: none;
      cursor: pointer;
      position: relative;
      padding: 20px 52px 20px 20px;
      font-size: 18px;
      line-height: 1.4;
      font-weight: 800;
      color: var(--rf08-ink);
      text-wrap: balance;
    }

    .rf08-faq summary::-webkit-details-marker {
      display: none;
    }

    .rf08-faq summary::after {
      content: "+";
      position: absolute;
      right: 18px;
      top: 16px;
      font-size: 28px;
      line-height: 1;
      color: var(--rf08-accent);
    }

    .rf08-faq details[open] summary::after {
      content: "–";
    }

    .rf08-faq__answer {
      padding: 0 20px 20px;
      color: var(--rf08-muted);
      font-size: 15px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    @media (max-width: 980px) {
      .rf08-faq__wrap {
        grid-template-columns: 1fr;
      }

      .rf08-faq__intro {
        position: static;
      }
    }

    @media (max-width: 640px) {
      .rf08-faq {
        padding: 72px 14px;
      }

      .rf08-faq__intro,
      .rf08-faq summary,
      .rf08-faq__answer {
        padding-left: 18px;
        padding-right: 18px;
      }

      .rf08-faq summary {
        padding-right: 46px;
      }

      .rf08-faq summary::after {
        right: 16px;
      }
    }

.rf09-links,
    .rf09-links * {
      box-sizing: border-box;
    }

    .rf09-links {
      --rf09-ink: #101820;
      --rf09-muted: #5c6874;
      --rf09-accent: #2f6f9f;
      --rf09-accent-2: #85abc7;
      --rf09-line: rgba(16, 24, 32, 0.10);
      padding: 92px 18px;
      background: linear-gradient(180deg, #ffffff 0%, #eef3f7 100%);
      color: var(--rf09-ink);
      font-family: inherit;
    }

    .rf09-links__wrap {
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .rf09-links__head {
      margin-bottom: 22px;
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(260px, 1.08fr);
      gap: 20px;
      align-items: end;
    }

    .rf09-links__head h2 {
      margin: 0;
      font-size: clamp(28px, 3.8vw, 46px);
      line-height: 1.04;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf09-links__head p {
      margin: 0;
      color: var(--rf09-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf09-links__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }

    .rf09-links__card {
      position: relative;
      min-height: 100%;
      padding: 20px 18px 18px;
      background: #ffffff;
      border: 1px solid var(--rf09-line);
      box-shadow: 0 18px 34px rgba(18, 30, 43, 0.05);
      overflow: hidden;
    }

    .rf09-links__card::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 4px;
      background: linear-gradient(90deg, var(--rf09-accent), var(--rf09-accent-2), transparent);
    }

    .rf09-links__card h3 {
      margin: 0 0 10px;
      font-size: 18px;
      line-height: 1.2;
      text-wrap: balance;
    }

    .rf09-links__card p {
      margin: 0;
      color: var(--rf09-muted);
      font-size: 15px;
      line-height: 1.66;
      text-wrap: pretty;
    }

    @media (max-width: 1180px) {
      .rf09-links__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 860px) {
      .rf09-links__head {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf09-links {
        padding: 72px 14px;
      }

      .rf09-links__grid {
        grid-template-columns: 1fr;
      }
    }

.rf10-cta,
    .rf10-cta * {
      box-sizing: border-box;
    }

    .rf10-cta {
      --rf10-ink: #ffffff;
      --rf10-muted: rgba(255,255,255,0.80);
      --rf10-accent: #2f6f9f;
      --rf10-accent-2: #8ab0c9;
      --rf10-line: rgba(255,255,255,0.12);
      --rf10-panel: rgba(255,255,255,0.04);
      --rf10-panel-line: rgba(255,255,255,0.10);
      --rf10-input-bg: rgba(255,255,255,0.06);
      --rf10-input-line: rgba(255,255,255,0.14);
      padding: 0 18px 28px;
      background: linear-gradient(180deg, #eef3f7 0%, #101820 0%, #0d141b 100%);
      color: var(--rf10-ink);
      font-family: inherit;
    }

    .rf10-cta__wrap {
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .rf10-cta__box {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(280px, 0.98fr);
      gap: 22px;
      padding: 30px 28px;
      background: linear-gradient(135deg, rgba(21,32,42,0.98) 0%, rgba(16,24,32,0.98) 100%);
      border: 1px solid var(--rf10-line);
      box-shadow: 0 22px 48px rgba(0,0,0,0.24);
    }

    .rf10-cta__box::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 4px;
      background: linear-gradient(90deg, var(--rf10-accent), var(--rf10-accent-2), transparent);
    }

    .rf10-cta__main h2 {
      margin: 0 0 14px;
      font-size: clamp(28px, 3.8vw, 44px);
      line-height: 1.06;
      text-transform: uppercase;
      letter-spacing: -0.04em;
      text-wrap: balance;
    }

    .rf10-cta__main p {
      margin: 0;
      color: var(--rf10-muted);
      font-size: 16px;
      line-height: 1.72;
      text-wrap: pretty;
    }

    .rf10-cta__side {
      padding: 20px;
      background: var(--rf10-panel);
      border: 1px solid var(--rf10-panel-line);
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .rf10-cta__side p {
      margin: 0;
      color: var(--rf10-muted);
      font-size: 15px;
      line-height: 1.68;
      text-wrap: pretty;
    }

    .rf10-cta__form-wrap {
      margin-top: 2px;
    }

    .rf10-cta__form-wrap .sfz-form,
    .rf10-cta__form-wrap .sfz-id-5644,
    .rf10-cta__form-wrap #dsf-form-5644 {
      width: 100%;
    }

    .rf10-cta__form-wrap .sfz-html--above,
    .rf10-cta__form-wrap .sfz-html--below {
      color: var(--rf10-muted);
      font-size: 13px;
      line-height: 1.45;
    }

    .rf10-cta__form-wrap .sfz-field {
      margin-bottom: 6px;
    }

    .rf10-cta__form-wrap .sfz-field:last-child {
      margin-bottom: 0;
    }

    .rf10-cta__form-wrap .sfz-field input,
    .rf10-cta__form-wrap .sfz-field textarea,
    .rf10-cta__form-wrap .sfz-field select {
      width: 100%;
      min-height: 25px;
      padding: 6px 10px;
      background: var(--rf10-input-bg);
      border: 1px solid var(--rf10-input-line);
      color: #ffffff;
      font: inherit;
      font-size: 14px;
      line-height: 1.25;
      outline: none;
      box-shadow: none;
    }

    .rf10-cta__form-wrap .sfz-field textarea {
      min-height: 58px;
      resize: vertical;
    }

    .rf10-cta__form-wrap .sfz-field input::placeholder,
    .rf10-cta__form-wrap .sfz-field textarea::placeholder {
      color: rgba(255,255,255,0.52);
    }

    .rf10-cta__form-wrap .sfz-options,
    .rf10-cta__form-wrap .sfz-consent {
      display: grid;
      gap: 5px;
      color: var(--rf10-muted);
      font-size: 12px;
      line-height: 1.3;
    }

    .rf10-cta__form-wrap .sfz-option {
      display: flex;
      align-items: flex-start;
      gap: 8px;
    }

    .rf10-cta__form-wrap .sfz-consent label,
    .rf10-cta__form-wrap .sfz-option label {
      color: var(--rf10-muted);
    }

    .rf10-cta__form-wrap .sfz-consent input,
    .rf10-cta__form-wrap .sfz-option input {
      margin-top: 2px;
    }

    .rf10-cta__form-wrap button,
    .rf10-cta__form-wrap input[type="submit"],
    .rf10-cta__form-wrap input[type="button"] {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 40px;
      padding: 0 16px;
      background: #000000;
      color: #ffffff;
      border: 1px solid #000000;
      text-decoration: none;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.04em;
      transition: transform 0.22s ease, color 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
      cursor: pointer;
      box-shadow: none;
    }

    .rf10-cta__form-wrap button:hover,
    .rf10-cta__form-wrap input[type="submit"]:hover,
    .rf10-cta__form-wrap input[type="button"]:hover {
      transform: translateY(-2px);
      color: #ff3b30;
      background: #000000;
      border-color: #000000;
    }

    .rf10-cta__actions {
      display: grid;
      gap: 12px;
      margin-top: auto;
    }

    .rf10-cta__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 0 20px;
      text-decoration: none;
      font-size: 14px;
      font-weight: 800;
      letter-spacing: 0.04em;
      transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
      border-radius: 16px;
    }

    .rf10-cta__btn--primary {
      background: linear-gradient(135deg, var(--rf10-accent) 0%, var(--rf10-accent-2) 100%);
      color: #ffffff;
      box-shadow: 0 16px 30px rgba(47, 111, 159, 0.18);
    }

    .rf10-cta__btn:hover {
      transform: translateY(-2px);
    }

    @media (max-width: 980px) {
      .rf10-cta__box {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .rf10-cta {
        padding: 0 14px 20px;
      }

      .rf10-cta__box {
        padding: 24px 18px;
      }

      .rf10-cta__side {
        padding: 18px;
      }

      .rf10-cta__main p,
      .rf10-cta__side p {
        font-size: 14px;
      }

      .rf10-cta__form-wrap .sfz-field input,
      .rf10-cta__form-wrap .sfz-field textarea,
      .rf10-cta__form-wrap .sfz-field select {
        font-size: 13px;
      }
    }
