
        :root {
          --color-primary: #A31621;
          --color-primary-dark: #7E0F17;
          --color-primary-light: #F7E9EA;
          --color-text: #1A1A1A;
          --color-text-secondary: #5A5A5A;
          --color-text-muted: #9A9A9A;
          --color-border: #E8E8E8;
          --color-bg: #FFFFFF;
          --color-surface: #F6F6F4;
        }

        * {
          box-sizing: border-box;
        }

        html {
          scroll-behavior: smooth;
        }

        body {
          margin: 0;
          padding: 0;
          background-color: var(--color-bg);
          color: var(--color-text);
          font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', 'Segoe UI', Arial, sans-serif;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          line-height: 1.6;
        }

        .font-display {
          font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', 'Segoe UI', Arial, sans-serif;
          font-weight: 700;
          letter-spacing: -0.02em;
        }

        .container-site {
          width: 100%;
          max-width: 1200px;
          margin: 0 auto;
          padding-left: 24px;
          padding-right: 24px;
        }

        .section-pad {
          padding-top: 88px;
          padding-bottom: 88px;
        }

        @media (max-width: 768px) {
          .section-pad {
            padding-top: 56px;
            padding-bottom: 56px;
          }
        }

        .h2-title {
          font-size: 40px;
          line-height: 1.15;
          font-weight: 700;
          letter-spacing: -0.02em;
          color: var(--color-text);
        }

        @media (max-width: 768px) {
          .h2-title {
            font-size: 28px;
          }
        }

        .text-accent {
          color: var(--color-primary);
        }

        .btn-primary {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 10px;
          background-color: var(--color-primary);
          color: #fff;
          font-weight: 600;
          border-radius: 8px;
          padding: 15px 28px;
          transition: background-color 0.2s ease;
          border: none;
          cursor: pointer;
          font-size: 16px;
          line-height: 1.2;
        }

        .btn-primary:hover {
          background-color: var(--color-primary-dark);
        }

        .btn-outline {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 10px;
          background-color: transparent;
          color: var(--color-text);
          font-weight: 600;
          border: 1.5px solid var(--color-text);
          border-radius: 8px;
          padding: 14px 28px;
          transition: border-color 0.2s ease, color 0.2s ease;
          cursor: pointer;
          font-size: 16px;
          line-height: 1.2;
        }

        .btn-outline:hover {
          border-color: var(--color-primary);
          color: var(--color-primary);
        }

        .check-item {
          display: flex;
          align-items: flex-start;
          gap: 12px;
          color: var(--color-text);
        }

        .check-mark {
          flex-shrink: 0;
          width: 22px;
          height: 22px;
          margin-top: 2px;
          border-radius: 50%;
          background-color: var(--color-primary);
          color: #fff;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: 12px;
        }

        .link-accent {
          color: var(--color-primary);
          font-weight: 600;
          text-decoration: none;
          border-bottom: 2px solid var(--color-primary);
          padding-bottom: 2px;
          transition: opacity 0.2s ease;
        }

        .link-accent:hover {
          opacity: 0.75;
        }

        .card {
          background-color: #fff;
          border: 1px solid var(--color-border);
          border-radius: 16px;
          padding: 32px;
          transition: box-shadow 0.25s ease, transform 0.25s ease;
        }

        .card:hover {
          box-shadow: 0 16px 40px rgba(26, 26, 26, 0.08);
          transform: translateY(-3px);
        }

        .card-accent-hover {
          transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
        }

        .card-accent-hover:hover {
          border-color: var(--color-primary);
          background-color: #FDF7F8;
          box-shadow: 0 14px 36px rgba(163, 22, 33, 0.14);
          transform: translateY(-3px);
        }

        .filter-label {
          flex-shrink: 0;
          width: 150px;
          padding-top: 7px;
          font-size: 13px;
          font-weight: 600;
          text-transform: uppercase;
          letter-spacing: 0.08em;
          color: var(--color-primary);
        }

        /* На мобильном подпись фильтра встаёт над чипами, иначе на чипы
           остаётся узкая колонка и они ломаются по одной */
        @media (max-width: 640px) {
          .filter-label {
            width: auto;
            padding-top: 0;
          }
        }

        .chip {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          padding: 7px 14px;
          border-radius: 999px;
          border: 1px solid var(--color-border);
          background-color: #fff;
          font-size: 13px;
          font-weight: 500;
          color: var(--color-text);
          cursor: pointer;
          transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
        }

        .chip:hover {
          border-color: var(--color-primary);
          color: var(--color-primary);
        }

        .chip-active,
        .chip-active:hover {
          border-color: var(--color-primary);
          background-color: var(--color-primary);
          color: #fff;
        }

        .nav-link {
          display: inline-flex;
          align-items: center;
          gap: 7px;
          font-size: 15px;
          font-weight: 500;
          color: var(--color-text-secondary);
          white-space: nowrap;
          transition: color 0.2s ease;
          cursor: pointer;
        }

        .nav-link:hover {
          color: var(--color-primary);
        }

        .nav-item {
          position: relative;
        }

        .nav-dropdown {
          position: absolute;
          top: 100%;
          left: -14px;
          padding-top: 14px;
          opacity: 0;
          visibility: hidden;
          transform: translateY(8px);
          transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
          z-index: 60;
        }

        .nav-item:hover .nav-dropdown,
        .nav-item:focus-within .nav-dropdown {
          opacity: 1;
          visibility: visible;
          transform: translateY(0);
        }

        .nav-dropdown-inner {
          background: #fff;
          border: 1px solid var(--color-border);
          border-radius: 14px;
          box-shadow: 0 20px 48px rgba(26, 26, 26, 0.12);
          padding: 8px;
          min-width: 258px;
        }

        .nav-dropdown-link {
          display: flex;
          align-items: center;
          gap: 10px;
          padding: 10px 14px;
          border-radius: 10px;
          font-size: 14px;
          font-weight: 500;
          color: var(--color-text);
          transition: background-color 0.15s ease, color 0.15s ease;
        }

        .nav-dropdown-link:hover {
          background: var(--color-primary-light);
          color: var(--color-primary);
        }

        .nav-dropdown-link i {
          width: 18px;
          text-align: center;
          color: var(--color-primary);
          font-size: 13px;
        }

        .tag {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          background-color: var(--color-surface);
          border: 1px solid var(--color-border);
          border-radius: 999px;
          padding: 8px 18px;
          font-size: 14px;
          font-weight: 500;
          color: var(--color-text);
        }

        .input-field {
          width: 100%;
          border: 1px solid var(--color-border);
          border-radius: 8px;
          padding: 13px 16px;
          font-size: 16px;
          color: var(--color-text);
          background: #fff;
          outline: none;
          transition: border-color 0.2s ease;
        }

        .input-field:focus {
          border-color: var(--color-primary);
        }

        .input-field::placeholder {
          color: var(--color-text-muted);
        }

        .required-star {
          position: absolute;
          right: 12px;
          top: 50%;
          transform: translateY(-50%);
          color: var(--color-primary);
          font-size: 15px;
          font-weight: 700;
          line-height: 1;
          pointer-events: none;
        }

        .required-star-textarea {
          top: 14px;
          transform: none;
        }

        .animate-fade-in-up {
          animation: fadeInUp 0.7s ease-out forwards;
          opacity: 0;
        }

        @keyframes fadeInUp {
          from {
            opacity: 0;
            transform: translateY(28px);
          }
          to {
            opacity: 1;
            transform: translateY(0);
          }
        }
      

.article-body[data-v-1223230c] h2 {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #1A1A1A;
  margin: 40px 0 16px;
  scroll-margin-top: 120px;
}
.article-body[data-v-1223230c] h3 {
  font-size: 19px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 28px 0 12px;
}
.article-body[data-v-1223230c] p {
  font-size: 16px;
  line-height: 1.75;
  color: #3D3D3D;
  margin: 0 0 18px;
}
.article-body[data-v-1223230c] ul {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.article-body[data-v-1223230c] ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.6;
  color: #3D3D3D;
}
.article-body[data-v-1223230c] ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #A31621;
}
.article-body[data-v-1223230c] blockquote {
  border-left: 4px solid #A31621;
  background: #F6F6F4;
  padding: 18px 24px;
  border-radius: 0 12px 12px 0;
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.6;
  color: #1A1A1A;
  font-style: italic;
}
.article-body[data-v-1223230c] table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 22px;
  font-size: 14px;
}
.article-body[data-v-1223230c] th {
  background: #F6F6F4;
  text-align: left;
  padding: 10px 14px;
  font-weight: 600;
  color: #1A1A1A;
  border-bottom: 2px solid #E8E8E8;
  white-space: nowrap;
}
.article-body[data-v-1223230c] td {
  padding: 10px 14px;
  border-bottom: 1px solid #E8E8E8;
  color: #3D3D3D;
}




@media print {
@page {
    size: A4 landscape;
    margin: 8mm;
}
html,
  body {
    background: #fff !important;
}
.pres-toolbar,
  .pres-hint {
    display: none !important;
}
.pres-page {
    background: #fff !important;
    min-height: 0 !important;
}
.pres-page main {
    padding: 0 !important;
    max-width: none !important;
}
.pres-deck {
    display: block !important;
}
.pres-slide {
    break-after: page;
    page-break-after: always;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
    padding: 6mm !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
.pres-deck > .pres-slide:last-child {
    break-after: auto;
    page-break-after: auto;
}
}







































































.world-map svg[data-v-d1d16068] {
  display: block;
  width: 100%;
  height: auto;
}
.continent[data-v-d1d16068] {
  fill: #A31621;
  stroke: #fff;
  stroke-width: 1.6;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.2s ease;
}
.continent[data-v-d1d16068]:hover,
.continent-active[data-v-d1d16068] {
  fill: #7E0F17;
}
.continent-label[data-v-d1d16068] {
  fill: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  pointer-events: none;
  user-select: none;
}
/* На мобильном карта сжимается до ~300px: подписи континентов в единицах viewBox
   становятся нечитаемыми (4–8px), поэтому на узких экранах они скрыты —
   названия регионов дублируются кнопками под картой */
@media (max-width: 640px) {
.continent-label[data-v-d1d16068] {
    display: none;
}
}
.arc[data-v-d1d16068] {
  fill: none;
  stroke: #fff;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.95;
}
.arc-halo[data-v-d1d16068] {
  fill: none;
  stroke: #A31621;
  stroke-width: 5.5;
  opacity: 0.22;
}
.arc-arrow[data-v-d1d16068] {
  fill: #fff;
}
.node-halo[data-v-d1d16068] {
  fill: #fff;
  opacity: 0.16;
}
.node-dot[data-v-d1d16068] {
  fill: #fff;
  stroke: #A31621;
  stroke-width: 1.6;
}
.moscow-hub .hub-pulse[data-v-d1d16068] {
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  opacity: 0.55;
  transform-box: fill-box;
  transform-origin: center;
  animation: hubPulse-d1d16068 2.6s ease-out infinite;
}
.moscow-hub .hub-dot[data-v-d1d16068] {
  fill: #fff;
}
@keyframes hubPulse-d1d16068 {
0% {
    transform: scale(1);
    opacity: 0.55;
}
100% {
    transform: scale(1.9);
    opacity: 0;
}
}
.map-caption[data-v-d1d16068] {
  margin-top: 14px;
  text-align: center;
  font-size: 13px;
  color: #9a9a9a;
}




































.city[data-v-a883d434] {
  cursor: pointer;
}
.city circle[data-v-a883d434] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-a883d434] {
  transform: scale(1.35);
}
.city-label[data-v-a883d434] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}









.city[data-v-c1f1776a] {
  cursor: pointer;
}
.city circle[data-v-c1f1776a] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-c1f1776a] {
  transform: scale(1.35);
}
.city-label[data-v-c1f1776a] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}


.city[data-v-a992cb8f] {
  cursor: pointer;
}
.city circle[data-v-a992cb8f] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-a992cb8f] {
  transform: scale(1.35);
}
.city-label[data-v-a992cb8f] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}




.city[data-v-78404705] {
  cursor: pointer;
}
.city circle[data-v-78404705] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-78404705] {
  transform: scale(1.35);
}
.city-label[data-v-78404705] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}





































.city[data-v-85d2ac2d] {
  cursor: pointer;
}
.city circle[data-v-85d2ac2d] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-85d2ac2d] {
  transform: scale(1.35);
}
.city-label[data-v-85d2ac2d] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}


.city[data-v-2bbd8dc2] {
  cursor: pointer;
}
.city circle[data-v-2bbd8dc2] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-2bbd8dc2] {
  transform: scale(1.35);
}
.city-label[data-v-2bbd8dc2] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}
















.city[data-v-9988f935] {
  cursor: pointer;
}
.city circle[data-v-9988f935] {
  transition: transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.city:hover circle[data-v-9988f935] {
  transform: scale(1.35);
}
.city-label[data-v-9988f935] {
  fill: #fff;
  font-size: 14px;
  font-weight: 600;
  paint-order: stroke;
  stroke: #7E0F17;
  stroke-width: 3.5;
  stroke-linejoin: round;
  opacity: 0.95;
}

