:root {
      --rw-blue: #395CA3;
      --rw-blue-deep: #21376F;
      --rw-orange: #F37847;
      --rw-text-main: #0F172A;
      --rw-text-muted: #6B7280;
      --rw-border: #E2E8F0;
      --rw-radius-card: 26px;
      --rw-radius-pill: 999px;
      --rw-transition-fast: 0.18s ease-out;
      --rw-transition-medium: 0.26s ease-out;
      --rw-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

      --rw-hero-card-bg:
        radial-gradient(circle at 0% 0%, rgba(244,155,204,0.35) 0%, rgba(244,155,204,0) 52%),
        radial-gradient(circle at 100% 0%, rgba(57,92,163,0.38) 0%, rgba(57,92,163,0) 60%),
        linear-gradient(135deg,#182449 0%,#152042 55%,#111a37 100%);
    }

    * { box-sizing: border-box; }

    html, body {
      margin: 0;
      padding: 0;
      overflow-x: hidden; /* не даем странице вылезать за экран */
    }

    body {
      font-family: var(--rw-font-family);
      font-size: 17px;
      line-height: 1.6;
      color: var(--rw-text-main);
      background:
        radial-gradient(circle at 100% 0%,
          rgba(255,255,255,0.95) 0%,
          rgba(230,233,246,0.75) 22%,
          transparent 46%
        ),
        radial-gradient(circle at 100% 0%,
          rgba(244,155,204,0.97) 0%,
          rgba(244,155,204,0.70) 26%,
          transparent 46%
        ),
        radial-gradient(circle at 0% 0%,
          rgba(57,92,163,0.25) 0%,
          transparent 46%
        ),
        linear-gradient(
          to top,
          #1A2B55 0%,
          #294A88 45%,
          #F2F4FF 100%
        );
      background-blend-mode: screen, normal, normal, normal;
    }

    img { max-width: 100%; display: block; }
    a { color: inherit; text-decoration: none; }

    /* HEADER */

    .rw-header {
      position: fixed;
      top: 0; left: 0; right: 0;
      height: 78px;
      background: rgba(255,255,255,0.9);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(148,163,184,0.35);
      z-index: 1000;
    }
    .rw-header-inner {
      max-width: 1160px;
      margin: 0 auto;
      height: 100%;
      display: flex;
      align-items: center;
      padding: 0 20px;
      position: relative;
    }
    .rw-logo-img { height: 46px; }

    .rw-nav {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 26px;
      align-items: center;
      white-space: nowrap;
      max-width: calc(100% - 260px);
    }
    .rw-nav-link {
      font-size: 15px;
      font-weight: 500;
      padding: 4px 0;
      border-bottom: 2px solid transparent;
      color: var(--rw-blue-deep);
      white-space: nowrap;
      transition: color var(--rw-transition-fast), border-color var(--rw-transition-fast);
    }
    .rw-nav-link:hover {
      color: var(--rw-blue);
      border-bottom-color: var(--rw-blue);
    }

    .rw-header-btn {
      margin-left: auto;
      padding: 10px 20px;
      background: #21376F;
      color: #fff;
      border-radius: 999px;
      font-size: 15px;
      font-weight: 600;
      border: 1px solid rgba(148,163,184,0.6);
      cursor: pointer;
      white-space: nowrap;
      transition: background 0.25s ease, transform 0.25s ease;
    }
    .rw-header-btn:hover {
      background: #2C4A9D;
      transform: translateY(-1px);
    }

    .rw-burger {
      margin-left: 12px;
      display: none;
      width: 28px; height: 22px;
      padding: 0; border: none;
      background: none;
      flex-direction: column;
      justify-content: space-between;
      cursor: pointer;
    }
    .rw-burger span {
      display: block;
      height: 3px;
      border-radius: 2px;
      background: var(--rw-blue);
    }

    /* BASE */

    .rw-main { padding-top: 78px; }
    .rw-section { padding: 76px 20px; }
    .rw-section-inner { max-width: 1160px; margin: 0 auto; }

    .rw-h1, .rw-h2, .rw-h3 {
      margin: 0 0 18px;
      font-weight: 700;
      color: var(--rw-text-main);
    }
    .rw-h1 { font-size: 46px; line-height: 1.12; letter-spacing: -0.03em; }
    .rw-h2 { font-size: 30px; line-height: 1.2; }
    .rw-h3 { font-size: 20px; line-height: 1.25; }

    .rw-text { margin: 0 0 14px; font-size: 17px; }
    .rw-text-muted { font-size: 15px; color: var(--rw-text-muted); }

    .rw-subtitle {
      font-size: 17px;
      color: var(--rw-text-muted);
      margin: 0 0 24px;
      max-width: 640px;
    }

    .rw-list {
      margin: 6px 0 0;
      padding-left: 18px;
      font-size: 15px;
    }
    .rw-list li { margin-bottom: 3px; }

    /* BUTTONS */

    .rw-btn-primary,
    .rw-btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 11px 24px;
      border-radius: var(--rw-radius-pill);
      font-size: 15px;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      transition: background-color var(--rw-transition-fast),
                  color var(--rw-transition-fast),
                  transform var(--rw-transition-fast),
                  border-color var(--rw-transition-fast);
    }
    .rw-btn-primary {
      background: linear-gradient(135deg, var(--rw-orange), #FF9F6E);
      color: #fff;
    }
    .rw-btn-primary:hover { transform: translateY(-1px); }

    .rw-btn-outline {
      background-color: transparent;
      border-color: var(--rw-blue);
      color: var(--rw-blue);
    }
    .rw-btn-outline:hover {
      background-color: var(--rw-blue);
      color: #fff;
    }

    .rw-service-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 10px;
    }

    /* HERO */

    .rw-hero { padding: 100px 20px 78px; }

    .rw-hero-inner {
      max-width: 1160px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
      gap: 32px;
      align-items: stretch;
    }

    .rw-hero-card {
      border-radius: 32px;
      padding: 32px 32px 28px;
      border: 1px solid rgba(255,255,255,0.7);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      box-shadow: 0 20px 56px rgba(15,23,42,0.22);
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .rw-hero-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 26px 64px rgba(15,23,42,0.3);
    }

    .rw-hero-card--main {
      background: var(--rw-hero-card-bg);
      color: #E5EDFF;
    }
    .rw-hero-card--main .rw-h1 { color: #fff; }
    .rw-hero-card--main .rw-text,
    .rw-hero-card--main .rw-hero-meta span { color: #E5EDFF; }
    .rw-hero-card--main .rw-btn-outline {
      border-color: #E5EDFF;
      color: #E5EDFF;
    }
    .rw-hero-card--main .rw-btn-outline:hover {
      background-color: #fff;
      color: var(--rw-blue-deep);
    }

    .rw-hero-card--profile {
      background: rgba(252,252,255,0.96);
      padding: 22px 24px 22px;
      display: flex;
      flex-direction: column;
    }
    .rw-hero-photo-wrap {
      margin: 0 -6px 18px;
      border-radius: 22px;
      overflow: hidden;
      box-shadow: 0 18px 40px rgba(15,23,42,0.18);
    }
    .rw-hero-photo {
      width: 100%;
      height: 400px;
      object-fit: cover;
      object-position: center top;
    }
    .rw-hero-name {
      font-size: 18px;
      font-weight: 600;
      margin: 0 0 4px;
      color: var(--rw-blue-deep);
    }

    .rw-hero-tagline {
      position: relative;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: rgba(226,232,240,0.9);
      margin-bottom: 14px;
      padding-left: 14px;
    }
    .rw-hero-tagline::before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 8px;
      height: 2px;
      border-radius: 4px;
      background: var(--rw-orange);
    }
    .rw-hero-text { font-size: 18px; margin: 0 0 20px; }

    .rw-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin: 14px 0 20px;
    }
    .rw-hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      font-size: 14px;
      color: var(--rw-text-muted);
    }
    .rw-hero-meta span strong { color: #fff; }

    /* SECTIONS / GLASS */

    .rw-section-block {
      background: rgba(252,252,255,0.94);
      border-radius: 28px;
      padding: 32px 30px;
      box-shadow: 0 18px 44px rgba(15,23,42,0.18);
      border: 1px solid rgba(255,255,255,0.8);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    .rw-grid-2 {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.1fr);
      gap: 30px;
      align-items: start;
    }

    .rw-grid-2--services {
      grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
      column-gap: 30px;
      row-gap: 18px;
    }
    .rw-grid-2--services .rw-service-actions {
      grid-column: 2;
      justify-content: flex-end;
      align-self: flex-end;
    }

    .rw-grid-2--about {
      grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
      column-gap: 30px;
      row-gap: 18px;
    }
    .rw-grid-2--about .rw-service-actions {
      grid-column: 2;
      justify-content: flex-end;
      align-self: flex-end;
    }

    .rw-about-left { max-width: 720px; }

    .rw-about-intro {
      position: relative;
      padding: 14px 18px;
      margin-bottom: 18px;
      border-radius: 18px;
      background: linear-gradient(
        135deg,
        rgba(57, 92, 163, 0.06),
        rgba(244, 155, 204, 0.06)
      );
      border-left: 3px solid var(--rw-orange);
      font-size: 17px;
      line-height: 1.65;
    }

    .rw-about-right {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .rw-about-list-card {
      padding: 14px 18px 14px 18px;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
      border: 1px solid rgba(226, 232, 240, 0.9);
    }

    .rw-about-list-label {
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--rw-text-muted);
      margin-bottom: 6px;
    }

    .rw-service-note { margin-top: 4px; }

    .rw-grid-cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 20px;
    }
    .rw-card {
      background: rgba(255,255,255,0.96);
      border-radius: 20px;
      border: 1px solid rgba(226,232,240,0.9);
      padding: 20px 18px 18px;
      box-shadow: 0 14px 32px rgba(15,23,42,0.10);
      transition: transform var(--rw-transition-fast),
                  box-shadow var(--rw-transition-fast),
                  border-color var(--rw-transition-fast);
    }
    .rw-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 20px 42px rgba(15,23,42,0.20);
      border-color: rgba(57,92,163,0.8);
    }
    .rw-card-title {
      font-size: 18px;
      font-weight: 600;
      margin: 0 0 6px;
      color: var(--rw-blue);
    }

    /* ================================
       SECTION DIVIDER (ОРИГИНАЛ ВИД) + ЖЕСТКО ПО ЦЕНТРУ
       ================================ */

    .rw-divider {
      max-width: 720px;
      width: 100% !important;
      margin: 42px auto !important;
      margin-left: auto !important;
      margin-right: auto !important;
      padding: 0 16px;
      display: flex !important;
      align-items: center;
      justify-content: center !important;
      text-align: center !important;
      position: relative;
      left: auto !important;
      right: auto !important;
      transform: none !important;
    }

    .rw-divider-inner {
      width: 100%;
      display: flex;
      align-items: center;
      gap: 12px;
      margin-left: auto !important;
      margin-right: auto !important;
      justify-content: center;
    }

    .rw-divider-line {
      flex: 1 1 0;
      min-width: 0;
      height: 1.8px;
      background: linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(209,213,219,0.95),
        rgba(148,163,184,0.9),
        rgba(209,213,219,0.95),
        rgba(255,255,255,0)
      );
      opacity: 0.95;
    }

    .rw-divider-diamond {
      width: 10px;
      height: 10px;
      transform: rotate(45deg);
      border-radius: 3px;
      background: #FDFDFF;
      border: 1px solid rgba(57,92,163,0.65);
      box-shadow:
        0 0 0 4px rgba(255,255,255,0.95),
        0 6px 16px rgba(15,23,42,0.22);
    }

    /* FAQ */

    .rw-faq {
      margin-top: 22px;
      border-top: 1px solid var(--rw-border);
    }
    .rw-faq-item { border-bottom: 1px solid var(--rw-border); }
    .rw-faq-question {
      width: 100%;
      text-align: left;
      padding: 12px 0;
      background: none;
      border: none;
      font-size: 16px;
      font-weight: 500;
      color: var(--rw-blue);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .rw-faq-question::after {
      content: "+";
      font-size: 20px;
      color: var(--rw-text-muted);
      transition: transform var(--rw-transition-fast),
                  color var(--rw-transition-fast);
    }
    .rw-faq-item.rw-faq-item--open .rw-faq-question::after {
      transform: rotate(45deg);
      color: var(--rw-orange);
    }
    .rw-faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height var(--rw-transition-medium);
    }
    .rw-faq-item.rw-faq-item--open .rw-faq-answer { max-height: 320px; }

    /* FORM */

    .rw-form-row { margin-bottom: 16px; }
    .rw-label {
      display: block;
      margin-bottom: 4px;
      font-size: 14px;
      color: var(--rw-text-muted);
    }
    .rw-input,
    .rw-textarea {
      width: 100%;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--rw-border);
      background-color: rgba(255,255,255,0.96);
      font-family: var(--rw-font-family);
      font-size: 15px;
      transition: border-color var(--rw-transition-fast),
                  box-shadow var(--rw-transition-fast);
    }
    .rw-input:focus,
    .rw-textarea:focus {
      outline: none;
      border-color: var(--rw-blue);
      box-shadow: 0 0 0 1px rgba(57,92,163,0.2);
    }
    .rw-textarea { min-height: 120px; resize: vertical; }

    /* FOOTER */

    .rw-footer {
      padding: 26px 20px 34px;
      background:
        linear-gradient(180deg,
          #F7F8FF 0%,
          #EFF2FF 50%,
          #E4E7F7 100%
        ),
        radial-gradient(circle at 100% 0%,
          rgba(244,155,204,0.28) 0%,
          transparent 55%
        );
      color: #3B4B7A;
      margin-top: 40px;
      border-top: 1px solid rgba(148,163,184,0.35);
    }
    .rw-footer-inner {
      max-width: 1160px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 10px;
      font-size: 14px;
    }
    .rw-footer a {
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
    }

    /* REVEAL */

    .rw-reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity var(--rw-transition-medium),
                  transform var(--rw-transition-medium);
    }
    .rw-reveal.rw-visible {
      opacity: 1;
      transform: translateY(0);
    }

    section[id] { scroll-margin-top: 96px; }
    
    .rw-about-cards-actions {
  justify-content: flex-end;
}

    /* RESPONSIVE */

    @media (max-width: 980px) {
      .rw-section { padding: 60px 16px; }
      .rw-hero { padding: 96px 16px 60px; }
      .rw-hero-inner { grid-template-columns: 1fr; }
      .rw-hero-card { padding: 26px 22px 22px; }
      .rw-h1 { font-size: 34px; }
      .rw-section-block { padding: 26px 22px; }

      .rw-grid-2,
      .rw-grid-2--services,
      .rw-grid-2--about {
        grid-template-columns: 1fr;
      }

      .rw-grid-2--services .rw-service-actions,
      .rw-grid-2--about .rw-service-actions {
        justify-content: flex-start;
        grid-column: 1;
      }
    
     .rw-about-cards-actions {
    justify-content: flex-start;
  }   
        
    }

    @media (max-width: 820px) {
      .rw-nav { display: none; }
      .rw-header-btn { display: none; }
      .rw-burger { display: flex; }
      .rw-nav.rw-nav-open {
        display: flex;
        flex-direction: column;
        gap: 14px;
        position: absolute;
        left: 0;
        right: 0;
        top: 78px;
        padding: 16px 20px;
        background: rgba(255,255,255,0.98);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-bottom: 1px solid rgba(148,163,184,0.4);
        transform: none;
        max-width: 100%;
        white-space: normal;
      }
    }
    

    /* Мобила — финальная настройка разделителя (ОРИГИНАЛ) */
    @media (max-width: 640px) {
      .rw-divider {
        margin: 26px auto -6px !important;
        padding: 0 12px;
      }

      .rw-divider-inner { gap: 10px; }

      .rw-divider-line {
        height: 2px;
        opacity: 0.85;
      }
    }
