/* Inter — для hub-страниц (порт Tilda: оригинал рендерит Inter, т.к. объявляет несуществующий 'Artegra Sans') */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
/* ============= TOKENS (палитра Pavel, 15 мая 2026) ============= */
  :root {
    --paper:  #FFFFFF;
    --mist:   #F5F5F7;
    --ink:    #1D1D1F;
    --muted:  #86868B;
    --orchid: #B57FCF;
    --orchid-soft: #DBC4E7;
    --amber:  #E8B844;
    --fresh:  #34C759;
    --coral:  #FF3B30;
    --hair:   rgba(29,29,31,0.08);

    --display: 'ArtegraSans', Arial, sans-serif;
    --display-num: 'ArtegraSans', Arial, sans-serif;
    --body:    'ArtegraSans', Arial, sans-serif;
    --ease:    cubic-bezier(.2,.8,.2,1);
  }

  /* ============= RESET ============= */
  *, *::before, *::after { box-sizing: border-box; }
  html, body {
    margin: 0; padding: 0;
    overflow-x: clip;
    max-width: 100vw;
  }
  body {
    font-family: var(--body);
    color: var(--ink);
    background: var(--paper);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  img, svg { display: block; max-width: 100%; height: auto; }
  a { color: inherit; text-decoration: none; }
  button { font: inherit; cursor: pointer; }

  /* ============= LAYOUT ============= */
  /* Ширина контента 1:1 с оригиналом Tilda (контейнер 1200px), боковые отступы уменьшены */
  .container { width: 100%; max-width: 1200px; padding: 0 20px; margin: 0 auto; }
  @media (max-width: 640px) { .container { padding: 0 16px; } }

  /* ============= HEADER (floating dark pill) ============= */
  /* .site-header-wrap — sticky-обёртка, держит pill в окне при скролле.
     Сам .site-header__pill — собственно тёмная капсула с лого, меню и
     контактами. pointer-events:none на обёртке нужны, чтобы клики
     "проваливались" мимо пустых полей слева/справа от капсулы. */
  /* Fixed (а не sticky) потому что wp-block-template-part оборачивает
     header и ломает контекст sticky — pill уезжал со страницей при
     скролле. С fixed pill жёстко прибит к окну, не зависит от родителей.
     Расплата: pill выпадает из document flow, поэтому body получает
     padding-top на высоту pill + отступ, чтобы первая секция не пряталась. */
  .site-header-wrap {
    /* z-index выше всех sticky-элементов страниц (tabs-bar услуг z50, country-tabs z40,
       scroll-top z90), чтобы открытое мобильное меню перекрывало контент, а не просвечивало. */
    position: fixed; top: 10px; left: 0; right: 0; z-index: 500;
    padding: 0 12px;
    pointer-events: none;
  }
  body { padding-top: 102px; } /* 10 (top) + 84 (pill) + 8 (gap) — 1:1 с оригиналом */
  .site-header { pointer-events: auto; }
  .site-header__pill {
    position: relative;
    isolation: isolate;
    pointer-events: auto;
    /* Без max-width: на оригинале Tilda pill идёт от края до края с
       минимальными полями (управляются через .site-header-wrap padding). */
    width: 100%;
    display: flex; align-items: center; justify-content: space-between;
    gap: 32px;
    /* 1:1 с оригиналом Tilda: высота 84, радиус 30 (скруглённый прямоугольник,
       не «стадион»), сплошная заливка #252628, без блюра и без анимированной рамки. */
    height: 84px;
    padding: 0 28px 0 30px;
    background: #252628;
    color: var(--paper);
    border-radius: 30px;
    box-shadow: 0 10px 30px -14px rgba(0,0,0,0.45);
    transition: box-shadow .35s var(--ease);
  }

  /* Анимированный внутренний бордюр: conic-gradient с "блик-сектором"
     постоянно вращается вокруг pill. mask-composite оставляет градиент
     только на самой кромке — внутри pill остаётся однотонный фон.
     @property нужен чтобы --gas-angle мог анимироваться (без него
     браузер не интерполирует custom property типа angle). */
  @property --gas-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
  }
  /* Бегущая подсветка вокруг pill (по просьбе — поверх 1:1): conic-gradient с
     «блик-сектором» вращается по кромке, mask оставляет градиент только на бордюре. */
  .site-header__pill::before {
    content: "";
    position: absolute; inset: 0;
    border-radius: inherit;
    padding: 1.5px;
    background: conic-gradient(
      from var(--gas-angle, 0deg),
      transparent 0deg,
      rgba(181, 127, 207, 0.0) 50deg,
      rgba(181, 127, 207, 0.85) 90deg,
      rgba(232, 184, 68, 0.55) 110deg,
      rgba(181, 127, 207, 0.0) 150deg,
      transparent 360deg
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    animation: gasPillSpin 6s linear infinite;
    z-index: -1;
  }
  @keyframes gasPillSpin {
    to { --gas-angle: 360deg; }
  }
  @media (prefers-reduced-motion: reduce) {
    .site-header__pill::before { animation: none; }
  }

  .site-header__logo {
    display: flex; align-items: center;
    height: 100%; padding: 0;
    color: inherit;
  }
  .site-header__logo img {
    display: block;
    height: 57px; width: auto;
    transition: opacity .2s var(--ease);
  }
  .site-header__logo:hover img { opacity: 0.85; }

  .site-header__nav {
    display: flex; align-items: center; gap: 18px;
    /* 1:1 с оригиналом: эффективный размер 14px×zoom1.2 = 17px, начертание 400,
       без letter-spacing, чисто белый. */
    font-weight: 400; font-size: 17px; letter-spacing: normal;
    text-transform: uppercase;
    color: #fff;
  }
  .site-header__nav a {
    position: relative;
    padding: 10px 0;
    transition: color .2s var(--ease);
  }
  .site-header__nav a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 4px;
    height: 1px; background: currentColor;
    transform: scaleX(0); transform-origin: center;
    transition: transform .25s var(--ease);
  }
  .site-header__nav a:hover { color: var(--paper); }
  .site-header__nav a:hover::after { transform: scaleX(1); }

  /* На десктопе меню жёстко центрируется в окне (как зеро-блок Tilda),
     а не «съезжает» влево из-за широкого блока контактов справа. */
  @media (min-width: 861px) {
    .site-header__nav {
      position: absolute; left: 50%; transform: translateX(-50%);
    }
  }

  .site-header__contacts {
    display: flex; align-items: center; gap: 10px;
  }
  .contact-pill {
    display: inline-flex; align-items: center; gap: 8px;
    /* 1:1 с оригиналом: ~116×48, текст 12px/500, фирменные цвета TG/WA из оригинала. */
    padding: 15px 18px;
    border-radius: 999px;
    font-weight: 500; font-size: 12px;
    color: #fff;
    transition: transform .2s var(--ease), filter .2s var(--ease);
  }
  .contact-pill__icon { width: 18px; height: 18px; flex-shrink: 0; }
  .contact-pill--tg { background: #0088CC; }
  .contact-pill--wa { background: #60D669; }
  .contact-pill:hover { transform: translateY(-1px); filter: brightness(1.07); }

  /* Бургер — только в мобиле (десктоп показывает inline-меню). */
  .site-header__burger {
    display: none;
    width: 44px; height: 44px;
    background: transparent; border: 0; padding: 0;
    flex-direction: column; align-items: center; justify-content: center;
    border-radius: 999px;
  }
  .site-header__burger span {
    display: block; width: 24px; height: 2px; background: var(--paper);
    margin: 3px 0; border-radius: 1px;
  }

  /* === Выпадающие подменю (Программы / Поступление) === */
  .nav-group { position: relative; }
  .nav-group__toggle {
    font: inherit; color: inherit; background: transparent; border: 0;
    cursor: pointer; padding: 10px 0; position: relative;
    text-transform: uppercase; letter-spacing: normal;
  }
  .nav-group__toggle::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 4px;
    height: 1px; background: currentColor; transform: scaleX(0);
    transform-origin: center; transition: transform .25s var(--ease);
  }
  .nav-group:hover .nav-group__toggle { color: var(--paper); }
  .nav-group:hover .nav-group__toggle::after { transform: scaleX(1); }
  .nav-group__menu {
    position: absolute; top: calc(100% + 10px); left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 232px; background: #fff; border-radius: 16px; padding: 10px;
    display: flex; flex-direction: column; gap: 2px;
    box-shadow: 0 18px 44px rgba(29,29,31,0.18);
    opacity: 0; visibility: hidden; z-index: 60;
    transition: opacity .2s var(--ease), transform .2s var(--ease);
  }
  .nav-group:hover .nav-group__menu,
  .nav-group.open .nav-group__menu {
    opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
  }
  .nav-group__menu a {
    /* 1:1 с оригиналом: пункты 16px, обычное начертание 400 (прямое).
       Вес 600 у ArtegraSans-SemiBold рендерится наклонным — не используем. */
    display: block; padding: 10px 14px; border-radius: 10px;
    font-size: 16px; letter-spacing: 0; text-transform: none;
    font-weight: 400; color: var(--ink); white-space: nowrap;
    transition: background .15s var(--ease), color .15s var(--ease);
  }
  .nav-group__menu a::after { display: none; }
  .nav-group__menu a:hover { background: var(--mist); color: var(--orchid); }

  /* === Мобильное меню (бургер раскрывает панель) === */
  @media (max-width: 860px) {
    .site-header__pill { position: relative; }
    .site-header.nav-open .site-header__nav {
      display: flex; flex-direction: column; align-items: stretch;
      position: absolute; top: calc(100% + 10px); left: 0; right: 0;
      background: var(--ink); border-radius: 22px; padding: 14px 18px;
      gap: 2px; text-transform: none; letter-spacing: 0; font-size: 16px;
      box-shadow: 0 22px 54px rgba(0,0,0,0.4); z-index: 60;
    }
    .site-header.nav-open .site-header__nav > a,
    .site-header.nav-open .nav-group__toggle {
      padding: 13px 6px; width: 100%; text-align: left; font-size: 16px;
      /* единый регистр пунктов: toggle-кнопки наследовали десктопный uppercase,
         а ссылки шли строчными — выравниваем всё в обычный регистр */
      text-transform: none;
    }
    .site-header.nav-open .nav-group { width: 100%; }
    .site-header.nav-open .nav-group__menu {
      position: static; transform: none; min-width: 0; display: none;
      opacity: 1; visibility: visible; box-shadow: none;
      background: rgba(255,255,255,0.06); padding: 4px 8px; margin: 0 0 6px;
    }
    .site-header.nav-open .nav-group.open .nav-group__menu { display: flex; }
    .site-header.nav-open .nav-group__menu a { color: rgba(255,255,255,0.86); }
    .site-header.nav-open .nav-group__menu a:hover { background: rgba(255,255,255,0.1); color: #fff; }
  }

  @media (max-width: 1280px) {
    .site-header__pill { height: 84px; padding: 0 20px 0 26px; gap: 20px; }
    .site-header__logo img { height: 52px; }
    .site-header__nav { gap: 14px; font-size: 15px; }
    .contact-pill { padding: 13px 18px; font-size: 12px; }
    body { padding-top: 102px; } /* 10 + 84 + 8 */
  }
  @media (max-width: 1024px) {
    .site-header__nav { gap: 18px; font-size: 13px; }
    .contact-pill__label { display: none; }
    .contact-pill { padding: 14px; }
  }
  @media (max-width: 860px) {
    /* На мобайле шапка во всю ширину экрана, без скруглений и без бокового зазора (1:1 с оригиналом). */
    body { padding-top: 80px; }
    .site-header-wrap { top: 0; padding: 0; }
    .site-header__pill { height: 80px; padding: 10px 16px 10px 22px; border-radius: 0; }
    .site-header__pill::before { display: none; } /* бегущая подсветка — только на скруглённой десктоп-капсуле */
    .site-header__nav { display: none; }
    .site-header__burger { display: inline-flex; }
    .site-header__logo img { height: 40px; }
    /* Контакты-пилюли = 1:1 оригинал: овальные ТОЛЬКО С ТЕКСТОМ (без иконки), по центру, WhatsApp→Telegram, бургер справа */
    .contact-pill__label { display: inline; }
    .contact-pill__icon { display: none; }
    .contact-pill { padding: 9px 15px; font-size: 12px; gap: 0; border-radius: 59px; font-weight: 600; }
    .contact-pill--wa { order: -1; }
    .site-header__contacts { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; }
    .site-header__burger { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); margin: 0; }
  }
  @media (max-width: 480px) {
    body { padding-top: 64px; } /* шапка во всю ширину, у края: 0 + 64 + 0 */
    .site-header-wrap { padding: 0; top: 0; }
    .site-header__pill { height: 64px; padding: 8px 14px; gap: 10px; border-radius: 0; position: relative; }
    /* лого = оригинал @375 (~40px), пилюли остаются овальными с текстом */
    .site-header__logo img { height: 40px; }
    .contact-pill { padding: 8px 14px; font-size: 12px; }
    .site-header__burger { right: 14px; }
  }

  /* ============= HERO ============= */
  /* Тёмная скруглённая секция с лого-меню над ней — 1:1 с оригиналом Tilda:
     H1 60px/500 КАПС с оранжевой плашкой на «GOANDSTUDY», надстрочник под H1,
     одна фиолетовая кнопка, статы внутри секции (цифры 37px/600). */
  .hero {
    position: relative; overflow: visible; /* стрелка-язычок Union свисает за нижнюю кромку, как в оригинале */
    margin: 0 12px;
    background: #252628;
    border-radius: 44px;
    padding: 120px 24px 64px;
    text-align: center;
    color: #fff;
  }
  /* Мобайл: чёрный hero — во всю ширину экрана телефона, без боковых отступов и
     скруглений (1:1 с оригиналом Tilda). Внутренний padding текста сохраняем. */
  @media (max-width: 760px) {
    .hero { margin: 0; border-radius: 0; }
  }
  /* Главная: убрать белый зазор 24px между fixed-шапкой и чёрным hero
     (дефолтный block-gap темы между header-part и main схлопывается вниз) */
  body.home .wp-site-blocks > main { margin-top: 0; }
  .hero__inner { position: relative; z-index: 1; max-width: 1400px; margin: 0 auto; }
  /* Размеры шрифтов = computed оригинала × zoom 1.2 (оригинал зумит зеро-блок). */
  .hero__title {
    font-family: var(--display);
    font-size: 72px; font-weight: 700; line-height: 1.139;
    letter-spacing: -1px; text-transform: uppercase; color: #fff;
    margin: 0 auto; max-width: 1240px; /* естественный перенос «…ЗА ГРАНИЦУ / ВМЕСТЕ С GOANDSTUDY» как в оригинале на 1440 */
  }
  /* Оранжевая плашка — отдельная фигура ПОЗАДИ белого текста, повёрнута на −2°,
     крупнее слова (заходит за него). 1:1 с оригиналом. */
  .hero__hl {
    position: relative; display: inline-block;
    color: #fff; z-index: 0;
  }
  .hero__hl::before {
    content: ""; position: absolute; inset: -0.04em -0.55em 0.06em -0.08em;
    background: #FFAC02; border-radius: 14px;
    transform: rotate(-2deg); z-index: -1;
  }
  .hero__eyebrow {
    display: block; font-size: 25px; font-weight: 400; line-height: 1.25;
    letter-spacing: 0; text-transform: uppercase; color: #fff;
    margin: 8px 0 0;
  }
  .hero__ctas { display: flex; justify-content: center; margin: 42px 0 0; }
  .hero__cta {
    display: inline-flex; align-items: center; justify-content: center;
    background: #B15ECC; color: #fff;
    border-radius: 59px; font-size: 19px; font-weight: 400;
    padding: 0 28px; height: 77px;
    transition: transform .2s var(--ease), filter .2s var(--ease);
  }
  .hero__cta:hover { transform: translateY(-2px); filter: brightness(1.06); }
  /* Декоративный Union.svg из оригинала: под кнопкой, свисает за нижнюю кромку статов-зоны (1:1: 364x141, центр −181px) */
  .hero__union { position: absolute; left: calc(50% - 181px); top: 490px; width: 364px; height: 141px; z-index: 0; pointer-events: none; }
  .hero__stats { position: relative; z-index: 2; }
  @media (max-width: 768px) { .hero__union { display: none; } }

  /* Статы внутри тёмной секции */
  .hero__stats {
    display: flex; justify-content: center;
    margin: 110px auto 0; max-width: 1129px;
  }
  .hero-stat { flex: 1; position: relative; padding: 0 16px; }
  .hero-stat + .hero-stat::before {
    content: ""; position: absolute; left: 0; top: -18px; height: 120px;
    width: 1px; background: #414141;
  }
  .hero-stat__value {
    font-family: var(--display-num);
    font-size: 44px; font-weight: 600; line-height: 1;
    color: #FBFBFB; letter-spacing: 0;
  }
  .hero-stat__label {
    margin-top: 10px; font-size: 17px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0; color: #fff;
  }
  @media (max-width: 768px) {
    .hero__title { font-size: 34px; }
    .hero__eyebrow { font-size: 16px; }
    .hero__stats { flex-wrap: wrap; gap: 28px 0; }
    .hero-stat { flex: 0 0 50%; }
    /* В оригинале на мобайле статы 2×2 без вертикальных разделителей — убираем все */
    .hero-stat::before { display: none; }
  }

  /* ============= Общие кнопки/статы (используются на страницах стран, курсов,
     блога — НЕ в hero главной). Hero главной использует свои .hero__cta/.hero-stat. ============= */
  .btn-primary, .btn-outline {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 28px; border-radius: 999px;
    /* 500: вес 600 ArtegraSans даёт ложный курсив на кнопках */
    font-weight: 500; font-size: 15px; letter-spacing: 0.01em;
    transition: transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
  }
  .btn-primary { background: var(--ink); color: var(--paper); }
  .btn-primary:hover { background: var(--orchid); transform: translateY(-2px); }
  .btn-outline { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
  .btn-outline:hover { background: var(--ink); color: var(--paper); }

  .stats { background: var(--mist); padding: 80px 0; }
  .stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; }
  @media (max-width: 768px) {
    .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  }
  .stat__value {
    font-family: var(--display-num);
    font-size: clamp(56px, 7vw, 96px);
    font-weight: 400; line-height: 1; color: var(--ink);
    letter-spacing: 0.01em;
  }
  .stat__value sup {
    font-size: 0.5em; color: var(--orchid); margin-left: 4px; vertical-align: super;
  }
  .stat__label {
    margin-top: 12px; font-size: 14px; font-weight: 500;
    color: var(--muted); letter-spacing: 0.04em; text-transform: uppercase;
  }

  /* ============= COUNTRIES ============= */
  .countries { padding: clamp(80px, 12vh, 140px) 0; }
  .section-head {
    max-width: 720px; margin-bottom: 64px;
  }
  .section-head__num {
    font-family: var(--display-num); font-size: 64px;
    line-height: 1; color: var(--orchid); margin-bottom: 16px;
    letter-spacing: 0.02em;
  }
  .section-head__eyebrow {
    font-weight: 600; font-size: 13px; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--muted); margin-bottom: 16px;
  }
  .section-head__title {
    font-family: var(--display);
    font-size: clamp(48px, 7vw, 96px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
  }
  .section-head__title em {
    color: var(--orchid); font-style: normal;
  }
  .section-head__lead {
    font-size: 18px; line-height: 1.55; color: var(--muted);
    max-width: 580px;
  }
  .countries__grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  }
  @media (max-width: 1024px) { .countries__grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px)  { .countries__grid { grid-template-columns: repeat(2, 1fr); } }
  .country-card {
    position: relative; overflow: hidden; aspect-ratio: 4 / 5;
    border-radius: 24px; background: var(--mist);
    display: flex; align-items: flex-end; padding: 24px;
    cursor: pointer;
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .country-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px -16px rgba(29,29,31,0.18);
  }
  .country-card::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.75) 100%);
    z-index: 1;
  }
  .country-card__bg {
    position: absolute; inset: 0; z-index: 0;
  }
  .country-card__name {
    position: relative; z-index: 2;
    font-family: var(--display); font-size: clamp(22px, 5vw, 28px);
    font-weight: 800;
    color: var(--paper);
    letter-spacing: -0.01em;
    text-shadow: 0 2px 16px rgba(0,0,0,0.4);
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    max-width: 100%;
  }
  /* Длинные названия (Великобритания) иначе рвутся переносом с дефисом. */
  .country-card__name--long { font-size: clamp(18px, 4vw, 22px); }
  .country-card__arrow {
    position: absolute; top: 24px; right: 24px; z-index: 2;
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,0.95); color: var(--ink);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 700;
    transition: background .2s var(--ease), transform .2s var(--ease);
  }
  .country-card:hover .country-card__arrow {
    background: var(--orchid); color: var(--paper); transform: rotate(-45deg);
  }
  /* Фон карточки — реальный <img>, а не background: даёт alt для индексации
     и loading="lazy". Файлы — assets/img/countries/cards/ (640x800,
     ~1.3 МБ на 12 штук против 4.5 МБ у оригиналов). */
  .country-card__bg {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s var(--ease);
  }
  .country-card:hover .country-card__bg { transform: scale(1.08); }

  /* ============= QUOTE ============= */
  .quote {
    padding: clamp(96px, 14vh, 160px) 0;
    background: var(--mist);
  }
  .quote__text {
    font-family: var(--display);
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.015em;
    max-width: 920px; margin: 0 auto; color: var(--ink);
  }
  .quote__text::before {
    content: "“"; color: var(--orchid); font-size: 1.1em; line-height: 0;
    vertical-align: -0.05em; margin-right: 4px;
  }
  .quote__attr {
    margin-top: 48px; text-align: center;
    font-size: 14px; font-weight: 600; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--muted);
  }

  /* ============= MEDIA (press logos) ============= */
  .media {
    padding: 45px 0 2px;
    background: #fff;
  }
  .media__heading {
    text-align: center;
    font-family: var(--display);
    font-size: 42px; font-weight: 600; line-height: 87px;
    text-transform: uppercase; color: #403F3F;
    margin: 0 0 20px;
  }
  /* Серая полоса-разделитель с тонкой линией между «СМИ» и FAQ (1:1: t126, 73px). */
  .media-divider { height: 73px; background: #F6F6F6; display: flex; align-items: center; justify-content: center; }
  .media-divider span { width: 1160px; max-width: calc(100% - 80px); height: 1px; background: #D5D5D5; }
  /* Бегущая маркиза лого как в оригинале (4 уникальных, продублированы 2× для петли). */
  .media__grid { overflow: hidden; width: 100%; }
  .media__track {
    display: flex; align-items: center; gap: 40px; width: max-content;
    animation: media-marquee 28s linear infinite;
  }
  .media__grid:hover .media__track { animation-play-state: paused; }
  @keyframes media-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .media__track { animation: none; } }
  .media__item {
    flex: 0 0 260px;
    display: flex; align-items: center; justify-content: center;
    padding: 4px;
  }
  .media__item img {
    width: 100%;
    max-width: 260px;
    height: auto;
    max-height: 120px;
    object-fit: contain;
    display: block;
  }
  @media (max-width: 640px) {
    /* «Публикации в СМИ» на мобайле — СТАТИЧНАЯ сетка, без бегущей строки (1:1 оригинал).
       Отключаем marquee, делаем track 2-колоночным гридом, прячем дубли-логотипы. */
    .media__grid { overflow: visible; }
    .media__track { animation: none; transform: none; width: 100%; max-width: 360px; margin: 0 auto;
      display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 24px; }
    .media__item[aria-hidden="true"] { display: none; }
    .media__heading { font-size: 30px; }
    .media__item img { max-height: 64px; }
  }

  /* ============= CASES VIDEO BLOCKS ============= */
  .cases-hero-video {
    margin: 32px 0 48px;
    border-radius: 24px;
    overflow: hidden;
    background: var(--ink);
    position: relative;
  }
  .cases-hero-video video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }
  .cases-hero-video__caption {
    padding: 24px clamp(20px, 4vw, 40px);
    color: var(--paper);
    background: linear-gradient(180deg, rgba(0,0,0,0.7), rgba(0,0,0,0.9));
  }
  .cases-hero-video__caption h3 {
    font-family: var(--display);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 8px;
  }
  .cases-hero-video__caption p {
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-size: clamp(14px, 1.6vw, 16px);
    line-height: 1.55;
    max-width: 720px;
  }

  .cases-videos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 28px);
    margin: 32px 0 48px;
  }
  @media (max-width: 980px) {
    .cases-videos-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 480px) {
    .cases-videos-grid { grid-template-columns: 1fr; }
  }
  .cases-videos-grid__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .cases-videos-grid__embed {
    position: relative;
    aspect-ratio: 9 / 16;
    border-radius: 16px;
    overflow: hidden;
    background: var(--mist);
  }
  .cases-videos-grid__embed iframe {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    border: 0;
  }
  .cases-videos-grid__caption {
    font-size: 14px;
    color: var(--ink);
    line-height: 1.4;
  }
  .cases-videos-grid__caption strong {
    display: block;
    font-weight: 700;
    margin-bottom: 2px;
  }
  .cases-videos-grid__caption span {
    color: var(--muted);
    font-size: 13px;
  }

  /* ============= FINAL CTA ============= */
  /* Плашка заходит на тёмный футер (нижняя ~половина), как в оригинале. */
  /* Фиолетовая плашка-CTA «парит» над чёрным футером (заходит ~нижней половиной),
     все 4 угла скруглены 40px — 1:1 с оригиналом. */
  .final-cta {
    padding: clamp(56px, 8vh, 96px) 0 0;
    margin-bottom: -88px;
    position: relative; z-index: 2;
    background: transparent;
  }
  .final-cta .container { max-width: 1384px; }
  .final-cta__bar {
    background: #B15ECC;
    border-radius: 40px;
    padding: 44px clamp(40px, 4vw, 64px);
    display: flex; align-items: center; justify-content: space-between;
    gap: clamp(24px, 3vw, 48px); flex-wrap: nowrap;
    box-shadow: 0 40px 80px -40px rgba(177,94,204,0.5);
  }
  .final-cta__text { flex: 0 1 auto; min-width: 0; }
  .final-cta__title {
    font-family: var(--display);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 500; text-transform: uppercase;
    line-height: 1.1; letter-spacing: 0; white-space: nowrap;
    color: #fff; margin: 0;
  }
  .final-cta__sub {
    font-size: clamp(18px, 2.4vw, 31px);
    font-weight: 500;
    color: #fff; margin: 8px 0 0; line-height: 1.2;
  }
  .final-cta__btn {
    flex-shrink: 0;
    background: #fff; color: #403F3F;
    border-radius: 30px;
    padding: 28px 52px;
    font-family: var(--display);
    font-weight: 500; font-size: 17px;
    text-transform: uppercase; white-space: nowrap;
    transition: transform .2s var(--ease), box-shadow .2s var(--ease);
  }
  .final-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 14px 32px -12px rgba(0,0,0,0.3); }
  @media (max-width: 760px) {
    .final-cta { margin-bottom: -80px; }
    .final-cta__bar { flex-direction: column; align-items: center; text-align: center; border-radius: 22px; }
    .final-cta__title { white-space: normal; }
    .final-cta__btn { width: 100%; text-align: center; white-space: normal; padding: 24px 24px; }
  }

  /* ===== CTA-плашка: ЕДИНЫЙ ЭТАЛОН на всех страницах (final-cta == at-cta) =====
     Компонент рендерится двумя семействами классов (.final-cta__* и .at-cta__*)
     и попадает в разные скоупы (.gas-hub, .gas-cases, .gas-about, courses),
     которые перебивают его оформление. Ниже — принудительная нормализация. */
  /* D2: цвет и высота кнопки не должны зависеть от скоуп-правил вида «.gas-hub a{color:var(--dark)}»
     (специфичность 0,1,1 бьёт .final-cta__btn 0,1,0). Поднимаем специфичность до 0,2,0. */
  .final-cta__bar .final-cta__btn,
  .at-rich .at-cta__bar .at-cta__btn { color: #403F3F; line-height: 25.5px; }
  /* D4: межбуквенный интервал заголовка страновой плашки = как на главной (0),
     не наследовать -0.02em из родительского .at-rich. */
  .at-rich .at-cta__title { letter-spacing: 0; }
  /* D1: /cases — плашка во всю ширину, как на остальных (seed-контент лежит в constrained-1200). */
  .gas-cases .final-cta { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: -88px; }
  @media (max-width: 760px) { .gas-cases .final-cta { margin-bottom: -80px; } }
  /* D6: паддинг контейнера футера всегда 20px, даже на страновых страницах,
     где v6-country.css объявляет глобальный «.container{padding:0 32px}» и он течёт в футер. */
  .footer .container { padding: 0 20px; }

  /* ============= FOOTER (1:1 с оригиналом) =============
     Большой верхний отступ — чтобы заходящая CTA-плашка не перекрывала контент. */
  .footer {
    background: var(--ink); color: var(--paper);
    padding: 160px 0 36px;
    margin: 0 12px;
    border-radius: 34px 34px 0 0;
  }
  .footer .container { max-width: 1384px; }
  .footer__inner {
    display: grid; grid-template-columns: 1fr 1.15fr 1.1fr; gap: 48px;
    align-items: start; margin-bottom: 48px;
  }
  @media (max-width: 900px) {
    .footer__inner { grid-template-columns: 1fr; gap: 36px; }
  }
  /* Колонка 1 — мессенджеры/адрес/часы/оплата */
  .footer__msg { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; }
  .footer__msg a {
    padding: 14px 22px; border-radius: 59px;
    font-weight: 400; font-size: 12px; color: #fff;
  }
  .footer__msg a:hover { filter: brightness(1.1); transform: translateY(-2px); }
  .footer__msg .wa { background: #4AAA52; }
  .footer__msg .tg { background: #0088CC; }
  .footer__address {
    display: flex; gap: 8px; align-items: flex-start;
    font-size: 15px; color: rgba(255,255,255,0.8); line-height: 1.5;
    margin-bottom: 18px; max-width: 320px;
  }
  .footer__pin { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; color: rgba(255,255,255,0.5); }
  .footer__hours { font-size: 15px; color: rgba(255,255,255,0.8); line-height: 1.5; margin-bottom: 26px; }
  .footer__pay { display: flex; gap: 18px; align-items: center; }
  .footer__pay-icon { height: 26px; width: auto; }
  .footer__pay-icon--mc { height: 30px; }
  /* Колонка 2 — телефон */
  .footer__phone-label { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 12px; }
  .footer__phone {
    font-family: var(--display-num); font-size: clamp(28px, 4vw, 44px);
    color: var(--paper); display: inline-block; white-space: nowrap;
    letter-spacing: 0.01em;
  }
  .footer__phone:hover { color: var(--orchid); }
  /* Колонка 3 — навигация + email */
  .footer__col--nav { display: flex; flex-direction: column; gap: 26px; }
  .footer__nav { display: flex; flex-wrap: wrap; gap: 14px 28px; font-size: 15px; }
  .footer__nav a { color: rgba(255,255,255,0.85); text-transform: uppercase; letter-spacing: 0.02em; }
  .footer__nav a:hover { color: var(--orchid); }
  .footer__nav-wide { flex-basis: 100%; }
  .footer__email {
    font-family: var(--display-num); font-size: clamp(26px, 3vw, 40px);
    color: var(--orchid); word-break: break-word;
  }
  .footer__email:hover { filter: brightness(1.15); }
  /* Низ — юр.ссылки слева, соцсети справа, копирайт ниже */
  .footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.12);
    padding-top: 28px; display: flex; justify-content: space-between;
    align-items: center; gap: 24px; flex-wrap: wrap;
  }
  .footer__legal { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
  .footer__legal a { color: rgba(255,255,255,0.7); }
  .footer__legal a:hover { color: var(--orchid); }
  .footer__social { display: flex; gap: 14px; }
  .footer__social a {
    width: 44px; height: 44px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.85);
    transition: background .2s, color .2s, transform .2s;
  }
  .footer__social a:hover { background: var(--orchid); color: #fff; transform: translateY(-2px); }
  .footer__social svg { width: 22px; height: 22px; }
  .footer__copy {
    margin-top: 24px; display: flex; flex-direction: column; gap: 4px;
    font-size: 13px; color: rgba(255,255,255,0.45);
  }
  .footer__req { font-size: 12px; color: rgba(255,255,255,0.3); }

  /* ============= ANIMATIONS ============= */
  @keyframes rise {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes drift {
    0%, 100% { transform: translate(0, 0); }
    50%      { transform: translate(40px, -30px); }
  }
  .hero__title, .hero__eyebrow, .hero__lead, .hero__ctas { animation: rise 0.9s var(--ease) backwards; }
  .hero__eyebrow { animation-delay: 0.05s; }
  .hero__title   { animation-delay: 0.15s; }
  .hero__lead    { animation-delay: 0.30s; }
  .hero__ctas    { animation-delay: 0.40s; }
  .hero__blob::before { animation: drift 14s ease-in-out infinite; }
  .hero__blob::after  { animation: drift 18s ease-in-out infinite reverse; }

  /* Mouse-follow on hero blob (JS sets --mx/--my) */
  .hero__blob {
    transform: translate(calc(var(--mx, 0px) * 0.6), calc(var(--my, 0px) * 0.6));
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
  }

  /* Scroll-reveal: видим по умолчанию (no-JS фолбэк), прячется только когда
     активен JS (html.js) и появляется при добавлении .in через IntersectionObserver. */
  .js .reveal {
    opacity: 0; transform: translateY(40px);
    transition: opacity .9s var(--ease), transform .9s var(--ease);
  }
  .js .reveal.in { opacity: 1; transform: translateY(0); }
  .reveal[data-delay="1"]  { transition-delay: .08s; }
  .reveal[data-delay="2"]  { transition-delay: .16s; }
  .reveal[data-delay="3"]  { transition-delay: .24s; }
  .reveal[data-delay="4"]  { transition-delay: .32s; }
  .reveal[data-delay="5"]  { transition-delay: .40s; }
  .reveal[data-delay="6"]  { transition-delay: .48s; }
  .reveal[data-delay="7"]  { transition-delay: .56s; }
  .reveal[data-delay="8"]  { transition-delay: .64s; }

  /* Scroll-parallax: hero blob shifts as user scrolls */
  .hero { --scroll-y: 0; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .reveal { opacity: 1; transform: none; }
    .hero__blob { transform: none; }
  }

  /* ============= PROMISE (Ваше образование наша ответственность) ============= */
  /* «НАША ОТВЕТСТВЕННОСТЬ» — 1:1 с оригиналом: светлый фон #F6F6F6, центрированный
     фиолетовый заголовок, подзаголовок, 3 колонки с иконками 100px по центру. */
  .promise { padding: 127px 0 90px; background: #F6F6F6; }
  .promise__heading {
    font-family: var(--display);
    font-size: 52px; font-weight: 700; line-height: 1.23;
    text-transform: uppercase; letter-spacing: 0;
    text-align: center; margin: 0;
  }
  .promise__heading-dark { display: block; color: #403F3F; }
  .promise__heading-accent { display: block; color: #B15ECC; }
  .promise__sub {
    font-size: 24px; font-weight: 400; line-height: 1.5;
    color: #000; text-align: center; margin: 40px auto 0; max-width: 800px;
  }
  .promise-grid {
    display: grid; grid-template-columns: repeat(3, 320px);
    justify-content: center;
    gap: 80px; margin: 105px auto 0; max-width: 1120px;
  }
  @media (max-width: 900px) { .promise-grid { grid-template-columns: 1fr; gap: 48px; } }
  .promise-card {
    text-align: center;
    display: flex; flex-direction: column; align-items: center;
  }
  .promise-card__icon {
    width: 100px; height: 100px;
    margin-bottom: 40px;
    display: flex; align-items: center; justify-content: center;
  }
  .promise-card__icon img { width: 100%; height: 100%; object-fit: contain; }
  .promise-card__title {
    font-family: var(--display);
    /* 700 как у оригинала (600 ArtegraSans-SemiBold рендерится ложным курсивом) */
    font-size: 30px; font-weight: 700; line-height: 1.17; letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 25px; color: #403F3F;
  }
  .promise-card p { margin: 0; color: #000; line-height: 1.55; font-size: 20px; max-width: 320px; }

  /* ============= ABOUT (10 лет помогаем) — 1:1 с оригиналом: фиолетовый
     центрированный заголовок, подзаголовок, 2 колонки (слева пункты «Почему
     выбирают нас», справа VK-видео с основателем). ============= */
  .about-us { padding: 80px 0 80px; background: #fff; }
  /* Блок about шире стандартного контейнера: на референсе zoom 1.2 (vw≈1440)
     картон+видео = 1356px (каждый 666, gap 25). Tilda масштабирует зеро-блок с
     шириной окна; мы фиксируем под референс 1.2 и схлопываем на узких экранах. */
  .about-us .container { max-width: 1396px; }
  .about-us__heading {
    font-family: var(--display); font-size: 60px; font-weight: 700; line-height: 1.294;
    text-transform: uppercase; letter-spacing: -2px;
    color: #B15ECC; text-align: center; margin: 0 auto; max-width: 1020px;
  }
  .about-us__sub {
    font-size: 24px; font-weight: 400; line-height: 37px; color: #403F3F;
    text-align: center; margin: -12px auto 0; max-width: 820px;
  }
  .about-us__body {
    display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start;
    margin: 97px auto 0; max-width: 1356px;
  }
  @media (max-width: 900px) { .about-us__body { grid-template-columns: 1fr; gap: 24px; } }
  /* Левая колонка — серый скруглённый картон с пунктами (1:1 с оригиналом). */
  .about-us__col--text {
    background: #F6F6F6; border-radius: 30px; padding: 24px; height: 610px; overflow: hidden;
  }
  .about-us__why {
    font-family: var(--display); font-size: 30px; font-weight: 700; line-height: 34px;
    color: #403F3F; margin: 0 0 18px;
  }
  .about-list { display: flex; flex-direction: column; gap: 22px; }
  .about-list__item h3 {
    font-family: var(--display); font-size: 17px; font-weight: 700; line-height: 25px;
    color: #403F3F; margin: 0 0 3px; letter-spacing: 0;
  }
  .about-list__item p { margin: 0; color: #403F3F; line-height: 25px; font-size: 17px; }
  .about-list__item a { color: var(--orchid); text-decoration: underline; }
  .about-us__col--video { display: flex; }
  .about-us__video {
    position: relative; border-radius: 30px; overflow: hidden;
    width: 100%; height: 610px; min-height: 0; background: #000;
    box-shadow: 0 24px 60px -20px rgba(0,0,0,0.35);
    cursor: pointer;
  }
  /* height:auto обязателен: базовая height:610 + aspect-ratio давали width 976px и горизонтальный скролл */
  @media (max-width: 900px) { .about-us__video { min-height: 0; height: auto; aspect-ratio: 16 / 10; } .about-us__body > * { min-width: 0; }
    /* Стек: текстовая колонка — по высоте контента, иначе обрезается «Полное сопровождение» (1:1 оригинал) */
    .about-us__col--text { height: auto; overflow: visible; }
  }
  .about-us__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  /* Фасад: постер оригинала + кнопка play (клик грузит VK-плеер). */
  .about-us__video-poster {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  .about-us__video-play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 106px; height: 106px; border-radius: 50%;
    background: rgba(0,0,0,0.82);
    transition: transform .2s var(--ease), background .2s var(--ease);
  }
  .about-us__video-play::before {
    content: ""; position: absolute; top: 50%; left: 52%; transform: translate(-50%,-50%);
    border-style: solid; border-width: 18px 0 18px 31px;
    border-color: transparent transparent transparent #fff;
  }
  .about-us__video:hover .about-us__video-play {
    transform: translate(-50%, -50%) scale(1.08); background: #000;
  }

  /* ============= VUZ VIDEOS (Показываем как есть) ============= */
  /* «ПОКАЗЫВАЕМ КАК ЕСТЬ» — 1:1: центр. заголовок (тёмный+фиолет), подзаголовок,
     сетка 2×2 видео (5:3, скруглённые, без подписей), одна фиолетовая кнопка. */
  .vuz-videos { padding: 44px 0 71px; background: #fff; }
  /* Зеро-блок: на референсе 1440 сетка 2×2 = 1257px, карточки 600×360. */
  .vuz-videos .container { max-width: 1297px; }
  .vuz-videos__heading {
    font-family: var(--display); font-size: 60px; font-weight: 700; line-height: 1.3;
    text-transform: uppercase; letter-spacing: 0; text-align: center; margin: 0;
  }
  .vuz-videos__heading-dark { color: #403F3F; }
  .vuz-videos__heading-accent { color: #B15ECC; }
  .vuz-videos__sub {
    font-size: 24px; font-weight: 400; line-height: 37px; color: #403F3F;
    text-align: center; margin: 2px auto 0; max-width: 680px;
  }
  .vuz-videos__grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 29px 57px; margin: 47px auto 0; max-width: 1257px;
  }
  @media (max-width: 760px) { .vuz-videos__grid { grid-template-columns: 1fr; } }
  .vuz-video {
    border-radius: 30px; overflow: hidden;
    background: #000; box-shadow: 0 18px 44px -20px rgba(0,0,0,0.3);
  }
  .vuz-video iframe {
    width: 100%; aspect-ratio: 5 / 3; border: 0; background: #000; display: block;
  }
  .vuz-videos__cta { display: flex; justify-content: center; margin-top: 50px; }
  .vuz-videos__btn {
    display: inline-flex; align-items: center; justify-content: center;
    background: #B15ECC; color: #fff; border-radius: 59px;
    font-size: 19px; font-weight: 500; padding: 0 56px; height: 77px;
    transition: transform .2s var(--ease), filter .2s var(--ease);
  }
  .vuz-videos__btn:hover { transform: translateY(-2px); filter: brightness(1.06); }

  /* «Смотреть все кейсы →» (блоки «Истории» и «Отзывы») — сплошная фиолетовая
     компактная пилюля 1:1: 13px/700, radius 100px. */
  .btn-cases {
    display: inline-flex; align-items: center; gap: 6px;
    background: #B15ECC; color: #fff; border: 0;
    padding: 11px 28px; border-radius: 100px;
    font-size: 13px; font-weight: 700; letter-spacing: 0.01em;
    transition: transform .2s var(--ease), filter .2s var(--ease);
  }
  .btn-cases:hover { transform: translateY(-2px); filter: brightness(1.07); color: #fff; }

  /* Вторая видеосекция (отзывы студентов) — отделяем фоном от обзоров вузов */
  .vuz-videos--testimonials { background: var(--mist); }

  /* Запасной click-through постер (на случай если VK-iframe не отрисуется).
     Основной вариант — рабочий эмбед vkvideo.ru/video_ext.php, как на оригинале. */
  .vuz-video--link { text-decoration: none; cursor: pointer; }
  .vuz-video__poster {
    position: relative; width: 100%; aspect-ratio: 16 / 9;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1d1d1f 0%, #3a3350 55%, var(--orchid) 165%);
  }
  .vuz-video__badge {
    position: absolute; top: 14px; left: 14px;
    font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
    color: #fff; background: rgba(0,0,0,0.4); padding: 5px 11px; border-radius: 999px;
  }
  .vuz-video__play {
    width: 72px; height: 72px; border-radius: 50%;
    background: rgba(255,255,255,0.16); border: 2px solid rgba(255,255,255,0.7);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.2s ease, background 0.2s ease;
  }
  .vuz-video__play::before {
    content: ""; width: 0; height: 0;
    border-style: solid; border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #fff;
    margin-left: 5px;
  }
  .vuz-video--link:hover .vuz-video__play { transform: scale(1.08); background: rgba(255,255,255,0.28); }

  /* ============= STORIES (Истории успеха на главной) ============= */
  .stories { padding: 108px 0 112px; background: #fff; }
  .stories__heading {
    font-family: var(--display); font-size: 60px; font-weight: 700; line-height: 1.225;
    text-transform: uppercase; letter-spacing: 0; text-align: center; margin: 0;
  }
  .stories__heading-accent { color: #B15ECC; }
  .stories__heading-dark { color: #403F3F; }
  .stories__sub {
    font-size: 24px; font-weight: 400; line-height: 37px; color: #403F3F;
    text-align: center; margin: 2px auto 0; max-width: 620px;
  }
  .stories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px; max-width: 1000px; margin: 84px auto 0;
  }
  @media (max-width: 1100px) { .stories-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .stories-grid { grid-template-columns: 1fr; } }
  .story-card {
    display: flex; flex-direction: column;
    background: #F6F6F6;
    border: 1.5px solid #E8E8E8;
    border-radius: 16px;
    overflow: hidden;
    color: var(--ink); text-decoration: none;
    transition: all .2s;
  }
  .story-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.06);
  }
  .story-card__photo {
    padding: 20px 20px 0;
    display: flex; justify-content: flex-start;
  }
  .story-card__photo img {
    width: 72px; height: 72px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--paper);
  }
  .story-card__photo--double {
    gap: -16px;
  }
  .story-card__photo--double img:first-child {
    margin-right: -20px;
    z-index: 2;
  }
  .story-card__text {
    padding: 0 20px;
    margin: 12px 0 0;
    color: #888;
    font-size: 13px; line-height: 1.55;
    flex: 1;
  }
  .story-card__more {
    padding: 12px 20px 16px;
    color: var(--orchid);
    font-weight: 700;
    font-size: 13px;
  }
  /* Низ карточки — градиентная плашка (как в оригинале), флаг/имя/вуз колонкой. */
  .story-card__footer {
    margin: 0; padding: 16px 20px;
    display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
    color: #fff;
  }
  .story-card__footer--fr { background: linear-gradient(135deg,#f6c97a,#e8a84c); }
  .story-card__footer--nl { background: linear-gradient(135deg,#7ac7f6,#4ca0e8); }
  .story-card__footer--gb { background: linear-gradient(135deg,#f67aa0,#e84c7a); }
  .story-card__footer--ae { background: linear-gradient(135deg,rgba(177,94,204,.85),rgba(177,94,204,.95)); }
  .story-card__footer div { display: flex; flex-direction: column; gap: 2px; }
  .story-card__footer strong {
    font-family: var(--display);
    font-size: 17px; font-weight: 900; line-height: 1.2;
    letter-spacing: -0.01em;
  }
  .story-card__footer span { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.8); }
  .story-card__flag {
    width: 30px; height: 20px;
    border-radius: 2px;
    object-fit: cover;
  }
  .stories__more { text-align: center; margin-top: 40px; }

  /* ============= STEPS (5 этапов) ============= */
  /* «5 важных этапов» — 1:1: вертикальный таймлайн с фиолетовыми кружками на линии. */
  .steps { padding: 48px 0 64px; background: #fff; }
  .steps__heading {
    font-family: var(--display); font-size: 36px; font-weight: 900; line-height: 1.1;
    letter-spacing: 0; margin: 0 0 36px; text-align: center; max-width: 820px;
    margin-left: auto; margin-right: auto;
  }
  .steps__heading-accent { color: #B15ECC; }
  .steps__heading-dark { color: #403F3F; }
  .steps-list {
    list-style: none; padding: 0; margin: 0 auto; max-width: 820px; position: relative;
  }
  /* Вертикальная линия таймлайна — одна на весь список, градиент как в оригинале. */
  .steps-list::before {
    content: ""; position: absolute; left: 19px; top: 24px; bottom: 24px;
    width: 3px; border-radius: 2px;
    background: linear-gradient(#B15ECC, rgba(177,94,204,.2));
  }
  .step {
    position: relative;
    display: grid; grid-template-columns: 40px 1fr; gap: 20px;
    padding: 16px 0;
  }
  .step__num {
    width: 40px; height: 40px; border-radius: 50%;
    background: #B15ECC; color: #fff;
    font-family: var(--display); font-size: 16px; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    position: relative; z-index: 1;
    box-shadow: 0 4px 14px rgba(177,94,204,.3);
  }
  .step__body { padding-top: 6px; }
  .step__body h3 {
    font-family: var(--display);
    font-size: 15px; font-weight: 900; letter-spacing: 0; line-height: 1.2;
    margin: 0 0 3px; color: #403F3F;
  }
  .step__body p { margin: 0; color: #888; line-height: 1.55; font-size: 13px; max-width: 690px; }

  /* ============= SERVICES (3 cards с ценами) ============= */
  /* «УСЛУГИ» — 1:1: тёмный центр-заголовок, 3 карточки (заголовок→Стоимость→цена
     →описание→кнопка), средняя карточка фиолетовая (featured). */
  .services { padding: 30px 0 37px; background: #fff; }
  /* Блок шире контейнера: на референсе 1440 = 1372 (крайние 424, средняя 444). */
  .services .container { max-width: 1412px; }
  .services__heading {
    font-family: var(--display); font-size: 60px; font-weight: 700; line-height: 1.56;
    text-transform: uppercase; letter-spacing: 0; color: #403F3F;
    text-align: center; margin: 0 0 40px;
  }
  .services-grid {
    display: grid; grid-template-columns: 1fr 1.05fr 1fr;
    gap: 40px; max-width: 1372px; margin: 0 auto; align-items: end;
  }
  @media (max-width: 900px) { .services-grid { grid-template-columns: 1fr; } }
  .service-card {
    padding: 47px 35px 36px; border-radius: 30px; background: #F6F6F6;
    display: flex; flex-direction: column;
    align-items: center; justify-content: flex-start; text-align: center;
    min-height: 438px; box-shadow: none;
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .service-card:hover { transform: translateY(-4px); box-shadow: 0 28px 56px -20px rgba(0,0,0,0.12); }
  .service-card--featured { background: #B15ECC; color: #fff; min-height: 462px; }
  .service-card__title {
    font-family: var(--display); font-size: 29px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0; line-height: 1.35;
    margin: 0; color: #403F3F; text-decoration: none;
  }
  /* Оригинал: вес 700, БЕЗ подчёркивания (проверено на живом сайте). */
  .service-card__title .u { text-decoration: none; white-space: nowrap; }
  .service-card--featured .service-card__title { color: #fff; }
  .service-card__priceblock { display: flex; flex-direction: column; gap: 6px; align-items: center; margin-top: 72px; }
  .service-card p.service-card__price-label { font-size: 17px; color: #908E8E; margin: 0; }
  .service-card--featured p.service-card__price-label { color: rgba(255,255,255,0.82); }
  .service-card p.service-card__price {
    font-family: var(--display); font-size: 48px; font-weight: 500;
    color: #403F3F; letter-spacing: 0; line-height: 1; margin: 0;
  }
  .service-card--featured p.service-card__price { color: #fff; }
  /* Кнопка сплошная во всю ширину карточки (фиолет / белая на featured). */
  .service-card__btn {
    align-self: stretch; justify-content: center; align-items: center; display: inline-flex;
    text-transform: uppercase; margin-top: auto;
    background: #B15ECC; color: #fff; border: none;
    border-radius: 30px; height: 68px; padding: 0 32px; font-size: 17px; font-weight: 700;
  }
  .service-card__btn:hover { background: #9d4eb8; color: #fff; transform: translateY(-2px); }
  .service-card--featured .service-card__btn { background: #fff; color: #B15ECC; }
  .service-card--featured .service-card__btn:hover { background: #fff; filter: brightness(0.95); }
  .services__more { text-align: center; margin-top: 51px; }
  .services__more-btn {
    background: #B15ECC; color: #fff; border: none; display: inline-flex; align-items: center;
    border-radius: 59px; height: 77px; padding: 0 24px; font-size: 20px; font-weight: 700;
  }
  .services__more-btn:hover { background: #9d4eb8; color: #fff; transform: translateY(-2px); }

  /* Кнопка «наверх» — фиолетовый круг со стрелкой, слева внизу, появляется при скролле. */
  .scroll-top {
    position: fixed; left: 24px; bottom: 24px; z-index: 90;
    width: 56px; height: 56px; border-radius: 50%;
    background: #B15ECC; border: none; cursor: pointer; padding: 0;
    opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s, background .2s var(--ease);
    box-shadow: 0 10px 28px -8px rgba(177,94,204,0.55);
  }
  .scroll-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
  .scroll-top:hover { background: #9d4eb8; }
  .scroll-top::before {
    content: ""; position: absolute; top: 52%; left: 50%;
    width: 13px; height: 13px; border-left: 2.5px solid #fff; border-top: 2.5px solid #fff;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  @media (max-width: 640px) { .scroll-top { left: 16px; bottom: 16px; width: 48px; height: 48px; } }

  /* ============= FEARS (100% наших студентов поступили) ============= */
  /* «100% наших студентов поступили» — 1:1: двухцветный центр-заголовок,
     белые карточки вразброс (масонри-колонки + смещения), эмодзи-аватар + текст. */
  /* Секция белая, внутри — серая скруглённая плашка с полями 12 (1:1 с оригиналом: 1416×2347, r44). */
  .fears { padding: 0; background: #fff; position: relative; }
  .fears__plate { margin: 0 12px; background: #F6F6F6; border-radius: 44px; padding: 109px 0 85px; }
  /* Контейнер шире, чтобы акцент «100% наших студентов поступили» был в 1 строку (заголовок 2 строки). */
  .fears .container { max-width: 1340px; }
  /* Заголовок залипает наверху, карточки проезжают поверх него до конца блока. */
  .fears__heading {
    position: sticky; top: 100px; z-index: 0;
    font-family: var(--display); font-size: 60px; font-weight: 700; line-height: 1.225;
    text-transform: uppercase; letter-spacing: 0; text-align: center; margin: 0 0 0;
  }
  .fears__heading-accent { display: block; color: #B15ECC; }
  .fears__heading-dark { display: block; color: #403F3F; }
  /* Разброс карточек 1:1 с оригиналом (Tilda зеро-блок, абсолютные позиции).
     Артборд 1323×1503 на референсе 1440; масштабируется через % + aspect-ratio.
     z-index выше заголовка — карточки едут поверх залипшего заголовка. */
  .fears-grid {
    position: relative; z-index: 1; width: min(1323px, 96vw);
    margin: 138px auto 0; aspect-ratio: 1323 / 1503;
  }
  .fear-card {
    position: absolute;
    padding: 25px 36px;
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
    display: flex; flex-direction: column; gap: 40px;
  }
  /* Позиции/размеры в % артборда (порядок HTML 1..8 = разброс оригинала). */
  .fear-card:nth-child(1) { left: 0;      top: 31.54%; width: 32.12%; height: 15.97%; }
  .fear-card:nth-child(2) { left: 0.76%;  top: 81.24%; width: 25.55%; height: 18.76%; }
  .fear-card:nth-child(3) { left: 22.52%; top: 56.62%; width: 30.54%; height: 18.50%; }
  .fear-card:nth-child(4) { left: 60.62%; top: 73.59%; width: 27.21%; height: 15.97%; }
  .fear-card:nth-child(5) { left: 38.85%; top: 24.42%; width: 30.01%; height: 19.29%; }
  .fear-card:nth-child(6) { left: 71.50%; top: 43.98%; width: 21.62%; height: 18.23%; }
  .fear-card:nth-child(7) { left: 75.13%; top: 14.37%; width: 24.87%; height: 15.97%; }
  .fear-card:nth-child(8) { left: 13.98%; top: 0;      width: 29.78%; height: 15.97%; }
  .fear-card__avatar {
    width: 64px; height: 64px;
    border-radius: 50%;
    object-fit: cover;
    background: #F5F0EA;
  }
  .fear-card p { margin: 0; color: #403F3F; font-size: 24px; line-height: 1.4; font-weight: 400; }
  /* CTA-подблок внутри плашки: заголовок 41/700 КАПС в 2 строки + фиолетовая кнопка-пилюля. */
  .fears__cta-title {
    font-family: var(--display); font-size: 41px; font-weight: 700; line-height: 1.2;
    text-transform: uppercase; text-align: center; color: #403F3F;
    max-width: 900px; margin: 108px auto 0;
  }
  .fears__cta { display: flex; justify-content: center; margin-top: 82px; }
  .fears__cta-btn {
    display: inline-flex; align-items: center; justify-content: center;
    background: #B15ECC; color: #fff; border-radius: 59px;
    font-size: 19px; font-weight: 500; padding: 0 28px; height: 77px;
    transition: transform .2s var(--ease), filter .2s var(--ease);
  }
  .fears__cta-btn:hover { transform: translateY(-2px); filter: brightness(1.06); }
  /* Мобильный фоллбэк: шахматный порядок (лево/право) как в оригинале, заголовок НЕ липкий. */
  @media (max-width: 760px) {
    .fears__heading { position: static; top: auto; }
    .fears-grid { position: static; width: auto; max-width: none; aspect-ratio: auto;
      margin: 40px 0 0; display: flex; flex-direction: column; gap: 16px; }
    .fear-card { position: static; left: auto; top: auto; height: auto;
      width: 62%; gap: 12px; padding: 18px 20px; box-shadow: 0 20px 40px -24px rgba(0,0,0,0.12); }
    /* width задаём здесь (специфичность 0,2,0 = десктопным nth-child, но позже в файле → перебивает их %-ширины).
       62% (вместо 74%) → карточки квадратнее и меньше, чистый зигзаг как в оригинале. */
    .fear-card:nth-child(odd)  { align-self: flex-start; width: 62%; }
    .fear-card:nth-child(even) { align-self: flex-end;   width: 62%; }
    .fear-card p { font-size: 16px; line-height: 1.35; }
    .fear-card__avatar { width: 52px; height: 52px; }
  }

  /* ============= REVIEWS (отзывы клиентов) ============= */
  .reviews { padding: 60px 0; background: #F6F6F6; }
  .reviews__heading {
    font-family: var(--display); font-size: 38px; font-weight: 900;
    line-height: 1.15; text-align: center; color: #1C1C1C;
    margin: 0 auto 40px; max-width: 1120px;
  }
  .reviews__heading-accent { color: #B15ECC; }
  /* Карусель: обёртка-контекст для стрелок ‹ › (добавляются из JS) */
  .reviews__carousel { position: relative; }
  /* Окно просмотра — прячет вылет карточек; движение только трансформом (вбок). */
  .reviews__viewport { overflow: hidden; padding: 4px 0; }
  .reviews-grid {
    display: flex;
    gap: 20px;
    padding: 0 4px;
    margin: 0 -4px;
    transition: transform .45s var(--ease);
    will-change: transform;
  }
  /* Карточка фикс. высоты 500 как в оригинале: видео → оценка → имя →
     обрезанный текст → «Читать ещё». Порядок задаём flex order (разметку не трогаем). */
  .review-card {
    flex: 0 0 340px;
    height: 500px;
    scroll-snap-align: start;
    padding: 24px;
    border-radius: 18px;
    border: 1px solid #E8E8E8;
    background: var(--paper);
    display: flex; flex-direction: column; gap: 12px;
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  @media (max-width: 640px) {
    /* Карточка сжимается под экран (min-width:0) и центрируется (сдвиг в JS).
       Большой gap уводит соседние карточки за край viewport — по бокам их не видно. */
    .review-card { flex-basis: 88%; min-width: 0; }
    .review-card__rating { white-space: normal; }
    .reviews-grid { gap: 56px; }
  }
  .review-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px -12px rgba(29,29,31,0.12);
  }
  .review-card__video  { order: 1; }
  /* Фото-зона 200px сверху (1:1 с оригиналом), full-bleed к краям карточки. */
  .review-card__avatar {
    order: 0; margin: -24px -24px 0; height: 200px; flex: 0 0 auto;
    border-radius: 18px 18px 0 0; overflow: hidden; background: #F6F6F6;
  }
  .review-card__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .review-card__initials {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(177,94,204,.08), rgba(177,94,204,.02));
    font-size: 64px; font-weight: 900; color: #B15ECC; letter-spacing: 2px; user-select: none;
  }
  .review-card__rating {
    order: 2; color: #B15ECC; font-weight: 700; font-size: 12px;
    letter-spacing: 2px; white-space: nowrap; overflow: hidden;
  }
  .review-card__rating::before { content: "Оценка работы "; }
  .review-card__author { order: 3; margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 4px; }
  .review-card__author strong { font-weight: 900; color: var(--ink); font-size: 17px; }
  .review-card__author span { color: #B15ECC; font-size: 12px; font-weight: 600; }
  .review-card__text {
    order: 4; margin: 0; line-height: 1.65; color: #888; font-size: 13px;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
  }
  /* «Читать ещё» — обведённая pill-кнопка во всю ширину, прижата к низу карточки (1:1) */
  .review-card::after {
    content: "Читать ещё"; order: 5; margin-top: auto;
    display: block; text-align: center;
    color: #1C1C1C; font-weight: 700; font-size: 12px;
    background: #fff; border: 1px solid #E8E8E8; border-radius: 100px;
    padding: 11px 16px; cursor: pointer;
    transition: background .2s var(--ease), border-color .2s var(--ease);
  }
  .review-card:hover::after { background: #FAF6FC; border-color: #D9B8E8; }
  /* Раскрытая карточка: полный текст, высота по контенту */
  .review-card.is-expanded { height: auto; }
  .review-card.is-expanded .review-card__text { -webkit-line-clamp: unset; overflow: visible; }
  .review-card.is-expanded::after { content: "Свернуть"; }
  /* Видео/постер внутри карточки отзыва — bleed к верхним краям карточки */
  .review-card__video {
    margin: -24px -24px 0;
    border-radius: 18px 18px 0 0; overflow: hidden;
  }
  .review-card__video iframe {
    width: 100%; aspect-ratio: 338 / 200; border: 0; display: block; background: var(--ink);
  }
  /* Плей-фасад: постер из превью YouTube + фиолетовая кнопка play (как в оригинале).
     Реальный iframe подгружается по клику — JS в v6.js. */
  .review-card__play {
    width: 100%; aspect-ratio: 338 / 200; border: 0; padding: 0; display: block;
    position: relative; cursor: pointer; background-color: var(--ink);
    background-size: cover; background-position: center;
  }
  .review-card__play::after {
    content: ""; position: absolute; top: 50%; left: 50%;
    width: 56px; height: 56px; border-radius: 50%;
    background: #B15ECC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/22px no-repeat;
    transform: translate(-50%, -50%);
    box-shadow: 0 8px 24px -6px rgba(177,94,204,0.6);
    transition: transform .2s var(--ease), background-color .2s var(--ease);
  }
  .review-card__play:hover::after { transform: translate(-50%, -50%) scale(1.08); background-color: #9d4eb8; }
  /* Стрелки карусели ‹ › — чёрные круги 44px по краям (1:1) */
  .reviews__nav {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 44px; height: 44px; border-radius: 50%; border: 0;
    background: #1C1C1C; color: #fff; font-size: 22px; line-height: 1;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    box-shadow: 0 8px 22px -8px rgba(0,0,0,0.4);
    transition: background .2s var(--ease), opacity .2s var(--ease), transform .2s var(--ease);
  }
  .reviews__nav:hover { background: #B15ECC; transform: translateY(-50%) scale(1.06); }
  .reviews__nav--prev { left: 8px; }
  .reviews__nav--next { right: 8px; }
  .reviews__nav[disabled] { opacity: 0; pointer-events: none; }
  @media (max-width: 1480px) {
    .reviews__nav--prev { left: 8px; }
    .reviews__nav--next { right: 8px; }
  }
  /* Мобайл: стрелки на зону видео (верх карточки), чтобы не перекрывали текст отзыва */
  @media (max-width: 640px) {
    .reviews__nav { top: 120px; }
    .reviews__nav--prev { left: 2px; }
    .reviews__nav--next { right: 2px; }
  }
  /* Точки-пагинация под каруселью */
  .reviews__dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
  .reviews__dots button {
    width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
    background: #D9D9D9; transition: background .2s var(--ease), width .2s var(--ease);
  }
  .reviews__dots button.is-active { background: #B15ECC; width: 24px; border-radius: 100px; }
  .reviews__more { text-align: center; margin-top: 40px; }

  /* ============= FAQ (Часто задаваемые вопросы) ============= */
  .faq { padding: 45px 0 90px; background: var(--paper); }
  .faq__heading {
    text-align: center;
    font-family: var(--display);
    font-size: 60px; font-weight: 700; line-height: 1.1;
    text-transform: uppercase; color: #403F3F;
    margin: 0 auto 80px; max-width: 900px;
  }
  /* Грид 2 колонки с построчным заполнением (вопрос 1 слева, 2 справа, 3 слева…) —
     как в оригинале. column-count давал заполнение по колонкам (другой порядок). */
  .faq-list {
    max-width: 1160px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr;
    column-gap: 40px; align-items: start;
  }
  @media (max-width: 760px) { .faq-list { grid-template-columns: 1fr; } }
  .faq-item {
    border-top: 1px solid #EEEEEE;
    border-bottom: none;
    padding: 0;
  }
  .faq-item summary {
    cursor: pointer;
    padding: 19px 0;
    font-family: var(--display);
    font-size: 18px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.01em;
    list-style: none;
    position: relative;
    padding-right: 48px;
    transition: color .2s var(--ease);
  }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item summary::after {
    content: '+';
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    font-size: 28px; line-height: 1;
    color: var(--orchid);
    transition: transform .25s var(--ease);
  }
  .faq-item[open] summary::after { content: '−'; }
  .faq-item summary:hover { color: var(--orchid); }
  .faq-item p {
    margin: 0 0 20px;
    color: var(--muted);
    line-height: 1.6;
    font-size: 16px;
    max-width: 760px;
  }
  .faq-item p strong { color: var(--ink); }
  @media (max-width: 720px) {
    .faq-list { column-count: 1; }
    .faq__heading { font-size: 30px; margin-bottom: 36px; }
  }
  /* ===== HUB-страницы: структурные блоки (цветные карточки как на оригинале) ===== */
  .hub-cards { display: grid; gap: clamp(16px,2vw,24px); margin: clamp(28px,4vw,48px) 0; }
  .hub-cards--3 { grid-template-columns: repeat(3,1fr); }
  .hub-cards--4 { grid-template-columns: repeat(4,1fr); }
  @media (max-width:1100px){ .hub-cards--4{ grid-template-columns: repeat(2,1fr);} }
  @media (max-width:900px){ .hub-cards--3{ grid-template-columns: repeat(2,1fr);} }
  @media (max-width:600px){ .hub-cards--3,.hub-cards--4{ grid-template-columns: 1fr;} }
  .hub-card,.hub-feature {
    background: var(--ink); color: var(--paper);
    border-radius: 24px; padding: clamp(24px,2.6vw,34px);
    display:flex; flex-direction:column; gap:12px;
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .hub-card:hover,.hub-feature:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -16px rgba(29,29,31,0.28); }
  .hub-card h3,.hub-feature h3 { margin:0 0 4px; color: var(--paper); font-family: var(--display); font-size: clamp(19px,1.6vw,23px); font-weight:800; line-height:1.2; }
  .hub-card p,.hub-feature p { margin:0; color: rgba(255,255,255,0.74); line-height:1.55; }
  .hub-card ul,.hub-feature ul { margin:0; padding-left:18px; color: rgba(255,255,255,0.74); }
  .hub-card__price { margin-top:auto; color: var(--paper); font-weight:800; font-size: clamp(20px,1.7vw,24px); }
  .hub-card__link a { color: var(--paper); font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.4); padding-bottom:1px; }
  .hub-card__link a:hover { color: var(--orchid-soft); border-color: var(--orchid-soft); }
  /* 2-я карточка в ряду — фиолетовый акцент (как на оригинале Tilda) */
  .hub-cards .hub-card:nth-child(2):not(.case-card), .hub-cards .hub-feature:nth-child(2) { background: var(--orchid); }
  .hub-cards .hub-card:nth-child(2) p, .hub-cards .hub-feature:nth-child(2) p,
  .hub-cards .hub-card:nth-child(2) ul, .hub-cards .hub-feature:nth-child(2) ul { color: rgba(255,255,255,0.92); }
  /* Шаги процесса */
  .hub-steps { display:grid; grid-template-columns: repeat(5,1fr); gap: clamp(14px,1.5vw,20px); margin: clamp(28px,4vw,48px) 0; }
  @media (max-width:900px){ .hub-steps{ grid-template-columns: repeat(2,1fr);} }
  @media (max-width:600px){ .hub-steps{ grid-template-columns: 1fr;} }
  .hub-step { background: var(--mist); border-radius:18px; padding: clamp(18px,2vw,24px); }
  .hub-step h3 { margin:0 0 6px; font-size:16px; color: var(--orchid); font-weight:800; }
  .hub-step p { margin:0; color: var(--muted); font-size:14px; line-height:1.5; }
  /* Картинки кейсов */
  .case-card { padding:0; overflow:hidden; }
  .case-card__img { margin:0; }
  .case-card__img img { width:100%; display:block; aspect-ratio:16/10; object-fit:cover; }
  .case-card > :not(.case-card__img) { padding-left: clamp(20px,2vw,26px); padding-right: clamp(20px,2vw,26px); }
  .case-card > .wp-block-heading { padding-top:18px; }
  .case-card > p:last-child { padding-bottom:22px; }

  /* ===== Cases: оранжевый тур-баннер / CTA-заявка / карта (1:1 с оригиналом) ===== */
  .tour-banner { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,4vw,56px); align-items:center; background:#FF5A1F; color:#fff; border-radius:28px; padding:clamp(28px,4vw,56px); margin:clamp(32px,5vw,64px) 0; }
  .tour-banner h2 { color:#fff; font-size:clamp(34px,5vw,60px); line-height:1.02; margin:0 0 16px; font-weight:800; text-transform:uppercase; }
  .tour-banner__sub { text-transform:uppercase; font-weight:700; opacity:.95; margin:0 0 14px; }
  .tour-banner p { color:rgba(255,255,255,.92); line-height:1.5; }
  .tour-banner__btn a { display:inline-block; background:var(--ink); color:#fff; padding:16px 34px; border-radius:999px; font-weight:700; margin-top:10px; }
  .tour-banner__img { margin:0; } .tour-banner__img img { border-radius:18px; width:100%; display:block; }
  .cta-apply { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:center; background:var(--mist); border-radius:28px; padding:clamp(28px,4vw,56px); margin:clamp(32px,5vw,64px) 0; }
  .cta-apply h2 { font-size:clamp(28px,4vw,50px); line-height:1.04; text-transform:uppercase; font-weight:800; margin:0 0 24px; color:var(--ink); }
  .cta-apply__btn a { display:inline-block; background:var(--orchid); color:#fff; padding:16px 34px; border-radius:999px; font-weight:700; }
  .cta-apply__media { position:relative; }
  .cta-apply__img { margin:0; } .cta-apply__img img { border-radius:18px; width:100%; display:block; }
  .cta-apply__steps { position:absolute; right:14px; bottom:14px; background:rgba(255,255,255,.86); border-radius:14px; padding:14px 20px; margin:0; backdrop-filter:blur(4px); }
  .cta-apply__steps li { color:var(--ink); font-size:14px; margin:2px 0; }
  .contact-map { margin:clamp(32px,5vw,64px) 0; } .contact-map iframe { width:100%; border:0; border-radius:20px; display:block; }
  .page-lead { font-size:clamp(17px,1.7vw,21px); line-height:1.55; color:var(--ink); max-width:820px; margin:6px 0 24px; }
  .page-lead-cta { margin:0 0 8px; }
  .page-lead-cta a { display:inline-block; background:var(--orchid); color:#fff; padding:16px 34px; border-radius:999px; font-weight:700; text-decoration:none; transition:transform .2s, box-shadow .2s; }
  .page-lead-cta a:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(181,127,207,0.35); }
  @media(max-width:780px){ .tour-banner,.cta-apply{ grid-template-columns:1fr; } }

  /* ===== Gutenberg hub/stub-страницы: иерархия заголовков + ширина (page.html) ===== */
  .page-main .wp-block-post-content > h2 { font-size: clamp(28px,3.4vw,40px); line-height:1.12; font-weight:800; margin: clamp(36px,4vw,56px) 0 18px; }
  .page-main .wp-block-post-content > h3 { font-size: clamp(18px,2vw,22px); }
  .page-main .wp-block-post-content > p { max-width: 820px; }
  .page-main .wp-block-post-content > ul, .page-main .wp-block-post-content > ol { max-width: 820px; }
  .page-main .wp-block-post-content > .wp-block-table { width:100%; }

  /* ===== Hub-страницы (порт 1:1 живого Tilda 2026-06: vysshee/srednee/onlayn/vizy/stipendii), scope .gas-hub ===== */
  .page-main:has(.gas-hub) > .wp-block-post-title, .page-main:has(.gas-uslugi) > .wp-block-post-title, .page-main:has(.gas-about) > .wp-block-post-title { display:none; }
  .page-main:has(.gas-hub), .page-main:has(.gas-uslugi), .page-main:has(.gas-about) { padding:0 !important; }
.gas-hub { --accent: #B15ECC; --gold: #FFAC02; --bg: #fff; --dark: #262628; --muted: #888; --border: #E8E8E8; --card-bg: #F6F6F6; --font: 'Inter', -apple-system, sans-serif; }
.gas-hub * { margin: 0; padding: 0; box-sizing: border-box; }
.gas-hub { scroll-behavior: smooth; }
.gas-hub { font-family: var(--font); background: var(--bg); color: var(--dark); -webkit-font-smoothing: antialiased; }
.gas-hub a { text-decoration: none; color: inherit; }
.gas-hub /* ── HERO ── */ .hero { background: #262628; padding: 64px 40px 60px; position: relative; overflow: hidden; }
.gas-hub .hero::after { content: ''; position: absolute; top: -120px; right: -80px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(177,94,204,0.12) 0%, transparent 70%); pointer-events: none; }
.gas-hub .hero-inner { max-width: 1080px; margin: 0 auto; position: relative; z-index: 1; }
.gas-hub .hero-tag { display: inline-block; background: var(--accent); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
.gas-hub .hero h1 { font-size: clamp(34px, 5vw, 60px); font-weight: 900; color: #fff; line-height: 1.05; letter-spacing: -2px; margin-bottom: 14px; }
.gas-hub .hero h1 em { font-style: normal; color: var(--accent); }
.gas-hub .hero-sub { font-size: 15px; color: rgba(255,255,255,0.5); max-width: 540px; line-height: 1.65; margin-bottom: 40px; }
.gas-hub .hero-stats { display: flex; gap: 40px; flex-wrap: wrap; }
.gas-hub .hero-stat .num { font-size: 28px; font-weight: 900; color: #fff; letter-spacing: -1px; line-height: 1; }
.gas-hub .hero-stat .lbl { font-size: 12px; color: rgba(255,255,255,0.4); margin-top: 4px; }
.gas-hub /* ── PAGE ── */ .page { max-width: 1080px; margin: 0 auto; padding: 0 40px 100px; }
.gas-hub /* ── SECTION ── */ .sec { padding-top: 64px; }
.gas-hub .sec-tag { display: inline-block; background: var(--card-bg); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; padding: 4px 12px; border-radius: 100px; margin-bottom: 12px; }
.gas-hub .sec-title { font-size: clamp(22px, 3vw, 34px); font-weight: 900; color: var(--dark); letter-spacing: -0.5px; line-height: 1.15; margin-bottom: 8px; }
.gas-hub .sec-desc { font-size: 15px; color: var(--muted); max-width: 520px; line-height: 1.65; margin-bottom: 36px; }
.gas-hub /* ── DEGREE CARDS ── */ .degree-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gas-hub .degree-card { background: var(--dark); border-radius: 20px; padding: 32px 26px; display: flex; flex-direction: column; position: relative; overflow: hidden; transition: transform .2s; }
.gas-hub .degree-card:hover { transform: translateY(-4px); }
.gas-hub .degree-card:nth-child(1) { background: linear-gradient(135deg, #262628 60%, #2a1a30); }
.gas-hub .degree-card:nth-child(2) { background: var(--accent); }
.gas-hub .degree-card:nth-child(3) { background: linear-gradient(135deg, #262628 60%, #1a2030); }
.gas-hub .dc-icon { font-size: 36px; margin-bottom: 16px; }
.gas-hub .dc-label { font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 8px; }
.gas-hub .degree-card:nth-child(2) .dc-label { color: rgba(255,255,255,0.7); }
.gas-hub .dc-title { font-size: 22px; font-weight: 900; color: #fff; line-height: 1.2; margin-bottom: 10px; letter-spacing: -0.3px; }
.gas-hub .dc-text { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.65; margin-bottom: 18px; flex: 1; }
.gas-hub .degree-card:nth-child(2) .dc-text { color: rgba(255,255,255,0.8); }
.gas-hub .dc-meta { display: flex; gap: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.08); }
.gas-hub .degree-card:nth-child(2) .dc-meta { border-top-color: rgba(255,255,255,0.2); }
.gas-hub .dc-m { display: flex; flex-direction: column; }
.gas-hub .dc-m-val { font-size: 14px; font-weight: 900; color: #fff; }
.gas-hub .dc-m-lbl { font-size: 10px; color: rgba(255,255,255,0.35); margin-top: 2px; }
.gas-hub .degree-card:nth-child(2) .dc-m-lbl { color: rgba(255,255,255,0.65); }
.gas-hub /* ── COMPARE TABLE ── */ .ctable { width: 100%; border-radius: 18px; overflow: hidden; border: 1.5px solid var(--border); border-collapse: separate; border-spacing: 0; }
.gas-hub .ctable thead tr { background: var(--dark); }
.gas-hub .ctable thead th { padding: 14px 18px; font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.45); text-align: left; }
.gas-hub .ctable thead th:first-child { color: #fff; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; }
.gas-hub .ctable tbody tr { border-bottom: 1px solid var(--border); }
.gas-hub .ctable tbody tr:last-child { border-bottom: none; }
.gas-hub .ctable tbody tr:hover { background: #fafafa; }
.gas-hub .ctable tbody td { padding: 14px 18px; font-size: 13.5px; color: var(--dark); vertical-align: middle; }
.gas-hub .ctable tbody td:first-child { font-weight: 800; }
.gas-hub .ct-hl { background: rgba(177,94,204,0.04) !important; }
.gas-hub .cpill { display: inline-block; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 100px; }
.gas-hub .cp-g { background: #e6f9ee; color: #1a7a3f; }
.gas-hub .cp-y { background: #fff8e1; color: #9a6d00; }
.gas-hub .cp-b { background: #e8f0fe; color: #1a56cc; }
.gas-hub .cp-p { background: #f3e8ff; color: #7c3aed; }
.gas-hub /* ── WHY GRID ── */ .why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gas-hub .why-card { background: var(--dark); border-radius: 18px; padding: 26px 22px; display: flex; flex-direction: column; }
.gas-hub .why-card:nth-child(2) { background: var(--accent); }
.gas-hub .why-icon { font-size: 26px; margin-bottom: 14px; }
.gas-hub .why-title { font-size: 14px; font-weight: 800; color: #fff; line-height: 1.3; margin-bottom: 8px; }
.gas-hub .why-text { font-size: 12.5px; color: rgba(255,255,255,0.5); line-height: 1.6; }
.gas-hub .why-card:nth-child(2) .why-text { color: rgba(255,255,255,0.8); }
.gas-hub /* ── STEPS ── */ .steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; position: relative; }
.gas-hub .steps::before { content: ''; position: absolute; top: 23px; left: 10%; right: 10%; height: 1px; background: var(--border); z-index: 0; }
.gas-hub .step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 10px; }
.gas-hub .step-n { width: 46px; height: 46px; border-radius: 50%; background: var(--dark); color: #fff; font-size: 15px; font-weight: 900; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.gas-hub .step:nth-child(3) .step-n { background: var(--accent); }
.gas-hub .step-t { font-size: 12.5px; font-weight: 800; color: var(--dark); margin-bottom: 5px; line-height: 1.3; }
.gas-hub .step-d { font-size: 12px; color: var(--muted); line-height: 1.5; }
.gas-hub /* ── COUNTRIES ── */ .countries-section { padding-top: 64px; }
.gas-hub .region-filter { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 36px; }
.gas-hub .rf-label { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); margin-right: 4px; white-space: nowrap; }
.gas-hub .rfbtn { padding: 8px 20px; font-size: 13px; font-weight: 600; color: var(--muted); background: transparent; border: 1.5px solid var(--border); border-radius: 100px; cursor: pointer; font-family: var(--font); transition: all .15s; white-space: nowrap; }
.gas-hub .rfbtn:hover { color: var(--dark); border-color: #bbb; }
.gas-hub .rfbtn.active { color: #fff !important; background: var(--accent) !important; border-color: var(--accent) !important; font-weight: 700; }
.gas-hub .continent-block { margin-bottom: 44px; }
.gas-hub .continent-block.hidden { display: none !important; }
.gas-hub .continent-header { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.gas-hub .continent-icon { width: 28px; height: 20px; object-fit: cover; border-radius: 2px; }
.gas-hub .continent-title { font-size: 20px; font-weight: 900; color: var(--dark); letter-spacing: -0.3px; }
.gas-hub .continent-count { font-size: 12px; color: var(--muted); font-weight: 600; background: var(--card-bg); border: 1.5px solid var(--border); padding: 2px 10px; border-radius: 100px; }
.gas-hub .c-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.gas-hub .c-card { background: var(--card-bg); border: 1.5px solid var(--border); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: row; align-items: center; gap: 12px; cursor: pointer; text-decoration: none; position: relative; overflow: hidden; transition: all .18s; }
.gas-hub .c-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--accent); transform: scaleX(0); transition: transform .2s; transform-origin: left; }
.gas-hub .c-card:hover { border-color: #c8c8c8; background: #efefef; }
.gas-hub .c-card:hover::after { transform: scaleX(1); }
.gas-hub .c-card.hidden { display: none !important; }
.gas-hub .c-flag { width: 32px; height: 22px; object-fit: cover; border-radius: 3px; flex-shrink: 0; }
.gas-hub .c-info { min-width: 0; }
.gas-hub .c-name { font-size: 14px; font-weight: 800; color: var(--dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gas-hub .c-hint { font-size: 11px; color: var(--muted); font-weight: 500; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gas-hub .c-card.soon { opacity: 0.45; cursor: default; pointer-events: none; }
.gas-hub .c-card.soon .c-hint::after { content: ' · скоро'; color: var(--accent); font-weight: 700; }
.gas-hub /* ── CTA BANNER ── */ .cta-banner { background: var(--dark); border-radius: 20px; padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 64px; }
.gas-hub .cta-left { max-width: 520px; }
.gas-hub .cta-tag { display: inline-block; background: var(--accent); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; padding: 3px 10px; border-radius: 100px; margin-bottom: 12px; }
.gas-hub .cta-title { font-size: 24px; font-weight: 900; color: #fff; line-height: 1.2; letter-spacing: -0.5px; margin-bottom: 8px; }
.gas-hub .cta-text { font-size: 13.5px; color: rgba(255,255,255,0.5); line-height: 1.65; }
.gas-hub .cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; background: var(--accent); color: #fff !important; font-family: var(--font); font-size: 14px; font-weight: 700; border: none; border-radius: 100px; cursor: pointer; transition: opacity .15s; flex-shrink: 0; text-decoration: none !important; }
.gas-hub .cta-btn:hover { opacity: .85; }
.gas-hub /* ── SCHOLARSHIP GRID ── */ .schol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gas-hub .schol-card { background: var(--card-bg); border: 1.5px solid var(--border); border-radius: 16px; padding: 24px; transition: all .2s; }
.gas-hub .schol-card:hover { border-color: #ccc; }
.gas-hub .schol-icon { width: 36px; height: 26px; object-fit: cover; border-radius: 3px; margin-bottom: 10px; display: block; }
.gas-hub .schol-name { font-size: 14px; font-weight: 800; color: var(--dark); margin-bottom: 4px; line-height: 1.3; }
.gas-hub .schol-country { font-size: 11px; color: var(--muted); margin-bottom: 8px; }
.gas-hub .schol-text { font-size: 12.5px; color: #666; line-height: 1.6; margin-bottom: 10px; }
.gas-hub .schol-cover { font-size: 11px; font-weight: 700; color: var(--accent); }
.gas-hub /* ── FAQ ── */ .faq-list { border: 1.5px solid var(--border); border-radius: 18px; overflow: hidden; }
.gas-hub .faq-item { border-bottom: 1px solid var(--border); }
.gas-hub .faq-item:last-child { border-bottom: none; }
.gas-hub .faq-q { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; cursor: pointer; gap: 20px; background: #fff; transition: background .15s; user-select: none; }
.gas-hub .faq-q:hover { background: #fafafa; }
.gas-hub .faq-item.open .faq-q { background: var(--dark); }
.gas-hub .faq-q-text { font-size: 14px; font-weight: 700; color: var(--dark); line-height: 1.35; }
.gas-hub .faq-item.open .faq-q-text { color: #fff; }
.gas-hub .faq-icon { width: 26px; height: 26px; border-radius: 50%; background: var(--card-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 16px; color: var(--muted); transition: transform .2s, background .15s, color .15s; }
.gas-hub .faq-item.open .faq-icon { transform: rotate(45deg); background: rgba(255,255,255,0.1); color: #fff; }
.gas-hub .faq-a { display: none; padding: 0 22px 18px; }
.gas-hub .faq-item.open .faq-a { display: block; }
.gas-hub .faq-a p { font-size: 13.5px; color: #555; line-height: 1.7; padding-top: 14px; border-top: 1px solid var(--border); }
/* — компоненты остальных hub-страниц (dc-link, visa-*, schol-*) + страничные перекрытия — */
.gas-hub /* ── FORMAT CARDS ── */ .degree-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gas-hub .dc-link { display: inline-block; margin-top: 18px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.5) !important; letter-spacing: 0.3px; transition: color .15s; text-decoration: none !important; }
.gas-hub .dc-link:hover { color: #fff !important; }
.gas-hub .degree-card:nth-child(2) .dc-link { color: rgba(255,255,255,0.85) !important; }
.gas-hub /* ── VISA TYPE CARDS ── */ .degree-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gas-hub--vizy .dc-meta { display: flex; gap: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.08); flex-wrap: wrap; }
.gas-hub /* ── COUNTRY VISA CARDS ── */ .visa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gas-hub .visa-card { background: var(--card-bg); border: 1.5px solid var(--border); border-radius: 18px; padding: 26px 24px; transition: all .2s; position: relative; overflow: hidden; }
.gas-hub .visa-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--accent); transform: scaleX(0); transition: transform .2s; transform-origin: left; }
.gas-hub .visa-card:hover { border-color: #ccc; }
.gas-hub .visa-card:hover::after { transform: scaleX(1); }
.gas-hub .visa-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.gas-hub .visa-flag { width: 34px; height: 24px; object-fit: cover; border-radius: 3px; flex-shrink: 0; }
.gas-hub .visa-country { font-size: 16px; font-weight: 900; color: var(--dark); }
.gas-hub .visa-name { display: inline-block; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 100px; background: rgba(177,94,204,0.08); color: var(--accent); margin-bottom: 10px; }
.gas-hub .visa-text { font-size: 12.5px; color: #666; line-height: 1.6; margin-bottom: 14px; }
.gas-hub .visa-meta { display: flex; flex-direction: column; gap: 5px; }
.gas-hub .visa-row { display: flex; justify-content: space-between; font-size: 12px; }
.gas-hub .visa-row-label { color: var(--muted); font-weight: 500; }
.gas-hub .visa-row-val { font-weight: 700; color: var(--dark); }
.gas-hub .visa-row-val.ok { color: #1a7a3f; }
.gas-hub .visa-row-val.warn { color: #9a6d00; }
.gas-hub /* ── TYPE CARDS ── */ .degree-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gas-hub--stipendii .dc-text { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.65; flex: 1; margin-bottom: 18px; }
.gas-hub /* ── FILTER ── */ .region-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 36px; }
.gas-hub /* ── SCHOLARSHIP CARDS ── */ .schol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gas-hub--stipendii .schol-card { background: var(--card-bg); border: 1.5px solid var(--border); border-radius: 18px; padding: 26px 24px; transition: all .2s; position: relative; overflow: hidden; }
.gas-hub .schol-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--accent); transform: scaleX(0); transition: transform .2s; transform-origin: left; }
.gas-hub .schol-card:hover::after { transform: scaleX(1); }
.gas-hub .schol-card.hidden { display: none !important; }
.gas-hub .schol-header { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.gas-hub .schol-flag { width: 34px; height: 24px; object-fit: cover; border-radius: 3px; flex-shrink: 0; }
.gas-hub--stipendii .schol-name { font-size: 15px; font-weight: 900; color: var(--dark); line-height: 1.2; }
.gas-hub .schol-cover-pill { display: inline-block; font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 100px; margin-bottom: 10px; }
.gas-hub .schol-cover-pill.full { background: rgba(26,122,63,0.1); color: #1a7a3f; }
.gas-hub .schol-cover-pill.partial { background: rgba(177,94,204,0.1); color: var(--accent); }
.gas-hub .schol-cover-pill.free { background: rgba(255,172,2,0.1); color: #9a6d00; }
.gas-hub--stipendii .schol-text { font-size: 12.5px; color: #666; line-height: 1.6; margin-bottom: 14px; }
.gas-hub .schol-meta { display: flex; flex-direction: column; gap: 5px; border-top: 1px solid var(--border); padding-top: 12px; }
.gas-hub .schol-row { display: flex; justify-content: space-between; font-size: 12px; }
.gas-hub .schol-row-label { color: var(--muted); font-weight: 500; }
.gas-hub .schol-row-val { font-weight: 700; color: var(--dark); }
.gas-hub /* ── WHY ── */ .why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gas-hub /* ── CTA ── */ .cta-banner { background: var(--dark); border-radius: 20px; padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 64px; }
@media (max-width: 900px) {
  .gas-hub .degree-grid { grid-template-columns: 1fr; }
  .gas-hub .why-grid { grid-template-columns: repeat(2, 1fr); }
  .gas-hub .steps { grid-template-columns: repeat(3, 1fr); }
  .gas-hub .steps::before { display: none; }
  .gas-hub .c-grid { grid-template-columns: repeat(3, 1fr); }
  .gas-hub .schol-grid { grid-template-columns: repeat(2, 1fr); }
  .gas-hub .cta-banner { flex-direction: column; text-align: center; }
}
@media (max-width: 640px) {
  .gas-hub .hero { padding: 44px 20px 40px; }
  .gas-hub .page { padding-left: 20px; padding-right: 20px; }
  .gas-hub .why-grid { grid-template-columns: 1fr; }
  .gas-hub .steps { grid-template-columns: repeat(2, 1fr); }
  .gas-hub .c-grid { grid-template-columns: repeat(2, 1fr); }
  .gas-hub .schol-grid { grid-template-columns: 1fr; }
  .gas-hub .ctable td, .gas-hub .ctable th { padding: 10px 12px; font-size: 12px; }
}
@media (max-width: 900px) {
  .gas-hub .visa-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .gas-hub .visa-grid { grid-template-columns: 1fr; }
}
/* — WP-адаптации hub-страниц — */
.gas-hub .hero { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.gas-hub .crumbs { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:#fff; margin-top:-128px; padding:106px 0 60px max(24px, calc(50vw - 600px)); }
.gas-hub .crumbs a, .gas-hub .crumbs span { font-size:14.4px; color:#403F3F; }
.gas-hub .crumbs a:hover { text-decoration:underline; }
@media (max-width:980px){ .gas-hub .crumbs { margin-top:-116px; padding-top:96px; } }
@media (max-width:640px){ .gas-hub .crumbs { margin-top:-84px; padding-top:72px; padding-bottom:36px; } }
body:has(.gas-hub) .site-footer-cta { display:none; }
/* — нейтрализация глобальных стилей главной, протекающих в hub-разметку (классы .hero/.steps/.faq-list совпадают) — */
.gas-hub { line-height: normal; }
.gas-hub .crumbs, .gas-hub .final-cta { font-family: var(--display); }
/* final-cta: разворот из WP-constrained (1200) на полную ширину — плашка 1344 как на главной/uslugi (иначе заголовок 42px перекрывает кнопку) */
.gas-hub .final-cta { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); margin-bottom:-88px; }
@media (max-width:760px){ .gas-hub .final-cta { margin-bottom:-80px; } }
/* восстановить отступы компонента, убитые wildcard-сбросом «.gas-hub * { padding:0; margin:0 }» (final-cta лежит внутри .gas-hub) */
.gas-hub .final-cta .container { padding: 0 20px; margin: 0 auto; }
.gas-hub .final-cta__bar { padding: 44px clamp(40px, 4vw, 64px); }
.gas-hub .final-cta__sub { margin-top: 8px; }
.gas-hub .final-cta__btn { padding: 28px 52px; }
.gas-hub .hero { border-radius: 0; text-align: left; margin-top: 0; margin-bottom: 0; }
.gas-hub .hero-stat { flex: none; padding: 0; }
.gas-hub .hero-stat + .hero-stat::before { display: none; }
.gas-hub .steps { padding: 0; background: transparent; }
.gas-hub .faq-list { display: block; max-width: none; margin: 0; }
.gas-hub .faq-item { border-top: 0; padding: 0; }
/* ===== Языковые курсы (хаб): доп. компоненты ===== */
.gas-hub--kursy {
  --accent: #B57FCF;
  --bg: #fff;
  --dark: #1C1C1C;
  --muted: #888;
  --border: #E8E8E8;
  --card-bg: #F6F6F6;
  --font: 'ArtegraSans', Arial, sans-serif;
}
.gas-hub--kursy .hero { background: var(--dark); padding: 64px 40px 60px; }
.gas-hub--kursy .hero-inner { max-width: 1080px; margin: 0 auto; }
.gas-hub--kursy .hero-sub { font-size: 15px; color: rgba(255,255,255,0.5); max-width: 500px; line-height: 1.65; margin-bottom: 40px; }
.gas-hub--kursy .lang-filter-inline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 20px; }
.gas-hub--kursy .f-label { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); margin-right: 4px; white-space: nowrap; }
.gas-hub--kursy .fbtn { padding: 8px 16px; font-size: 13px; font-weight: 600; color: var(--muted); background: transparent; border: 1.5px solid var(--border); border-radius: 100px; cursor: pointer; font-family: var(--font); transition: all .15s; white-space: nowrap; }
.gas-hub--kursy .fbtn:hover { color: var(--dark); border-color: #bbb; }
.gas-hub--kursy .fbtn.active { color: #fff !important; background: var(--accent) !important; border-color: var(--accent) !important; font-weight: 700; }
.gas-hub--kursy .sec-desc { font-size: 15px; color: var(--muted); max-width: 480px; line-height: 1.65; margin-bottom: 36px; }
.gas-hub--kursy .why-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: auto; padding-top: 14px; }
.gas-hub--kursy .wtag { font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 100px; background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.55); }
.gas-hub--kursy .countries-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 32px; }
.gas-hub--kursy .country-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  padding: 20px;
  cursor: pointer;
  transition: all .2s;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* контент СЛЕВА (общий .country-card даёт flex-end — флаг уезжал вправо) */
  aspect-ratio: auto; /* высота по контенту ~143px (общий .country-card навязывает 4/5 → 238px) */
  gap: 8px;
  position: relative;
  overflow: hidden;
  user-select: none;
}
.gas-hub--kursy .country-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--accent);
  transform: scaleX(0);
  transition: transform .2s;
}
.gas-hub--kursy .country-card:hover { border-color: #ccc; background: #f0f0f0; }
.gas-hub--kursy .country-card.active { border-color: var(--accent); background: #fff; box-shadow: 0 0 0 3px rgba(181,127,207,0.1); }
.gas-hub--kursy .country-card.active::after { transform: scaleX(1); }
.gas-hub--kursy .country-card.hidden { display: none !important; }
.gas-hub--kursy .cc-flag { font-size: 32px; line-height: 1; }
.gas-hub--kursy .cc-name { font-size: 14px; font-weight: 800; color: var(--dark); }
.gas-hub--kursy .cc-lang { font-size: 11px; color: var(--muted); font-weight: 500; }
.gas-hub--kursy .cc-count { font-size: 11px; font-weight: 700; color: var(--accent); }
.gas-hub--kursy .cc-arrow { position: absolute; top: 16px; right: 16px; font-size: 18px; color: #ccc; transition: transform .2s, color .2s; }
.gas-hub--kursy .country-card.active .cc-arrow { transform: rotate(90deg); color: var(--accent); }
.gas-hub--kursy .schools-panel {
  display: none !important;
  background: var(--dark);
  border-radius: 20px;
  padding: 32px;
  margin-bottom: 16px;
  animation: slideDown .25s ease;
}
.gas-hub--kursy .schools-panel.gs-open { display: block !important; }
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.gas-hub--kursy .sp-header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.gas-hub--kursy .sp-flag { font-size: 28px; }
.gas-hub--kursy .sp-name { font-size: 20px; font-weight: 900; color: #fff; letter-spacing: -0.3px; }
.gas-hub--kursy .sp-lang { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.35); background: rgba(255,255,255,0.07); padding: 4px 10px; border-radius: 100px; }
.gas-hub--kursy .sp-close { margin-left: auto; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,0.08); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5); font-size: 18px; transition: background .15s; }
.gas-hub--kursy .sp-close:hover { background: rgba(255,255,255,0.15); color: #fff; }
.gas-hub--kursy .school-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gas-hub--kursy .school-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s, border-color .2s;
  cursor: pointer;
}
.gas-hub--kursy .school-card:hover { transform: translateY(-3px); border-color: rgba(181,127,207,0.4); }
.gas-hub--kursy .sc-img { width: 100%; aspect-ratio: 16/9; background: #fff; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.gas-hub--kursy .sc-img img { max-width: 60%; max-height: 60%; object-fit: contain; }
.gas-hub--kursy .sc-placeholder { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.12); }
.gas-hub--kursy .sc-badges { position: absolute; top: 8px; left: 8px; display: flex; gap: 5px; }
.gas-hub--kursy .spill { font-size: 10px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; padding: 3px 8px; border-radius: 100px; }
.gas-hub--kursy .spill-a { background: var(--accent); color: #fff; }
.gas-hub--kursy .spill-d { background: rgba(0,0,0,0.5); color: rgba(255,255,255,0.8); backdrop-filter: blur(4px); }
.gas-hub--kursy .sc-body { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; }
.gas-hub--kursy .sc-name { font-size: 13.5px; font-weight: 800; color: #fff; line-height: 1.3; margin-bottom: 3px; }
.gas-hub--kursy .sc-city { font-size: 11.5px; color: rgba(255,255,255,0.35); margin-bottom: 10px; }
.gas-hub--kursy .sc-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 12px; }
.gas-hub--kursy .sctag { font-size: 11px; font-weight: 500; /* 600 = ложный курсив */ color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.06); padding: 3px 8px; border-radius: 100px; }
.gas-hub--kursy .sc-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.07); }
.gas-hub--kursy .sc-price .from { font-size: 10px; color: rgba(255,255,255,0.3); letter-spacing: 1px; text-transform: uppercase; display: block; }
.gas-hub--kursy .sc-price .val { font-size: 15px; font-weight: 900; color: #fff; letter-spacing: -0.5px; }
.gas-hub--kursy .btn-sc { font-family: var(--font); font-size: 12px; font-weight: 700; padding: 8px 16px; border-radius: 100px; background: var(--accent); color: #fff !important; border: none; cursor: pointer; transition: opacity .15s; text-decoration: none; display: inline-flex; }
.gas-hub--kursy .btn-sc:hover { opacity: .85; }
.gas-hub--kursy .sc-add { background: transparent; border: 1.5px dashed rgba(255,255,255,0.1); border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 180px; gap: 6px; color: rgba(255,255,255,0.2); font-size: 12px; font-weight: 600; }
.gas-hub--kursy .sc-add-icon { font-size: 20px; opacity: .4; }
@media (max-width: 900px) {

  .gas-hub--kursy .why-grid { grid-template-columns: repeat(2, 1fr); }

  .gas-hub--kursy .steps { grid-template-columns: repeat(3, 1fr); }

  .gas-hub--kursy .steps::before { display: none; }

  .gas-hub--kursy .countries-grid { grid-template-columns: repeat(3, 1fr); }

  .gas-hub--kursy .school-grid { grid-template-columns: repeat(2, 1fr); }


}
@media (max-width: 640px) {

  .gas-hub--kursy .hero { padding: 44px 20px 40px; }

  .gas-hub--kursy .page { padding-left: 20px; padding-right: 20px; }

  .gas-hub--kursy .lang-inner { padding: 10px 20px; }

  .gas-hub--kursy .why-grid { grid-template-columns: 1fr; }

  .gas-hub--kursy .steps { grid-template-columns: repeat(2, 1fr); }

  .gas-hub--kursy .countries-grid { grid-template-columns: repeat(2, 1fr); }

  .gas-hub--kursy .school-grid { grid-template-columns: 1fr; }

  .gas-hub--kursy .schools-panel { padding: 20px; }

  .gas-hub--kursy .ctable td, .gas-hub--kursy .ctable th { padding: 10px 12px; font-size: 12px; }


}

.gas-hub--kursy [data-href]{cursor:pointer;}

/* ============ Услуги (/uslugi) — порт 1:1 из Tilda, scope .gas-uslugi ============ */



.gas-uslugi {
  --accent: #B15ECC;
  --bg: #fff;
  --card: #F6F6F6;
  --dark: #1C1C1C;
  --muted: #888;
  --border: #E8E8E8;
  --font: 'ArtegraSans', Arial, sans-serif;
}


.gas-uslugi { margin: 0; padding: 0; box-sizing: border-box; }

.gas-uslugi { scroll-behavior: smooth; }

.gas-uslugi { font-family: var(--font); background: var(--bg); color: var(--dark); -webkit-font-smoothing: antialiased; }

.gas-uslugi a { text-decoration: none; }



.gas-uslugi .hero { background: var(--dark); padding: 60px 40px 56px; text-align: left; border-radius: 0; }

.gas-uslugi .hero-inner { max-width: 1080px; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }

.gas-uslugi .hero-tag { display: inline-block; background: var(--accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 1.27; letter-spacing: 2px; text-transform: uppercase; padding: 5px 14px; border-radius: 100px; margin-bottom: 18px; }

.gas-uslugi .hero h1 { font-size: clamp(30px, 4vw, 50px); font-weight: 900; color: #fff; line-height: 1.08; letter-spacing: -1.5px; margin: 0; }

.gas-uslugi .hero h1 em { font-style: normal; color: var(--accent); }

.gas-uslugi .hero-stats { flex-shrink: 0; display: flex; gap: 36px; }

.gas-uslugi .hero-stat .num { font-size: 34px; font-weight: 900; color: #fff; letter-spacing: -1px; line-height: 1; }

.gas-uslugi .hero-stat .lbl { font-size: 12px; color: rgba(255,255,255,0.4); margin-top: 3px; white-space: nowrap; }



.gas-uslugi .tabs-bar { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1.5px solid var(--border); }

.gas-uslugi .tabs-inner { max-width: 1080px; margin: 0 auto; padding: 10px 40px; display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; }

.gas-uslugi .tabs-inner::-webkit-scrollbar { display: none; }

.gas-uslugi .tab { flex-shrink: 0; padding: 10px 20px; font-size: 14px; font-weight: 600; line-height: 1.36; color: var(--muted); background: transparent; border: 1.5px solid var(--border); border-radius: 100px; cursor: pointer; font-family: var(--font); transition: all .15s; white-space: nowrap; }

.gas-uslugi .tab:hover { color: var(--dark); border-color: #bbb; }

.gas-uslugi .tab.active { color: #fff; background: var(--accent); border-color: var(--accent); font-weight: 700; }



.gas-uslugi .main { max-width: 1080px; margin: 0 auto; padding: 0 40px 100px; }

.gas-uslugi .cat { display: none; padding-top: 48px; }

.gas-uslugi .cat.active { display: block; }



.gas-uslugi .cat-header { margin-bottom: 28px; }

.gas-uslugi .cat-header h2 { font-size: clamp(22px, 3vw, 34px); font-weight: 900; color: var(--dark); letter-spacing: -0.5px; line-height: 1.2; margin: 0 0 6px; }

.gas-uslugi .cat-header p { font-size: 15px; color: var(--muted); max-width: 520px; line-height: 1.6; margin: 0; }



.gas-uslugi .service-list { border-radius: 20px; overflow: hidden; }


.gas-uslugi .service-item { background: var(--dark); border-bottom: 1px solid rgba(255,255,255,0.07); }

.gas-uslugi .service-item:last-child { border-bottom: none; }

.gas-uslugi .service-item:first-child { border-radius: 20px 20px 0 0; }

.gas-uslugi .service-item:last-child { border-radius: 0 0 20px 20px; }

.gas-uslugi .service-item:only-child { border-radius: 20px; }



.gas-uslugi .card-grid { display: grid; grid-template-columns: 1fr 1fr; }


.gas-uslugi .card-left { padding: 32px 36px 32px 32px; display: flex; flex-direction: column; }

.gas-uslugi .card-right { padding: 32px 32px 32px 36px; border-left: 1px solid rgba(255,255,255,0.08); display: flex; flex-direction: column; justify-content: space-between; }



.gas-uslugi .badge { display: inline-flex; background: var(--accent); color: #fff; font-size: 10px; font-weight: 800; line-height: 1.2; letter-spacing: 1.5px; text-transform: uppercase; padding: 4px 12px; border-radius: 100px; margin-bottom: 14px; align-self: flex-start; }



.gas-uslugi .card-title { font-size: clamp(18px, 2vw, 22px); font-weight: 900; color: #fff; line-height: 1.2; letter-spacing: -0.3px; margin-bottom: 8px; }

.gas-uslugi .card-desc { font-size: 13.5px; color: rgba(255,255,255,0.5); line-height: 1.6; margin-bottom: 24px; }



.gas-uslugi .price-lbl { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 4px; margin-top: auto; padding-top: 32px; }

.gas-uslugi .price-val { font-size: clamp(32px, 3.5vw, 44px); font-weight: 900; color: #fff; letter-spacing: -2px; line-height: 1; margin-bottom: 20px; }

.gas-uslugi .price-val .from { font-size: 0.42em; font-weight: 700; letter-spacing: 0; vertical-align: middle; margin-right: 2px; }



.gas-uslugi .btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; }


.gas-uslugi .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.21;
  padding: 13px 26px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: opacity .15s, transform .1s;
  white-space: nowrap;
  text-decoration: none;
}

.gas-uslugi .btn:hover { opacity: .88; transform: translateY(-1px); }


.gas-uslugi .btn-accent { background: var(--accent) !important; color: #ffffff !important; }

.gas-uslugi .btn-white { background: #fff !important; color: #1C1C1C !important; }

.gas-uslugi .btn-dark { background: var(--dark); color: #fff; }

.gas-uslugi .btn-outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.3); }

.gas-uslugi .btn-outline-accent { background: transparent; color: var(--accent); border: 1.5px solid var(--accent); }

.gas-uslugi .btn-dark-solid { background: #2a2a2a; color: #fff; }

.gas-uslugi .btn-sm { font-size: 13px; padding: 10px 20px; }



.gas-uslugi .incl-lbl { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 14px; }

.gas-uslugi .incl-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }

.gas-uslugi .incl-list li { font-size: 13.5px; color: rgba(255,255,255,0.75); display: flex; align-items: flex-start; gap: 10px; line-height: 1.4; }

.gas-uslugi .incl-list li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; margin-top: 5px; }

.gas-uslugi .fit-lbl { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin: 16px 0 8px; }

.gas-uslugi .fit-text { font-size: 13.5px; color: rgba(255,255,255,0.5); line-height: 1.6; }


.gas-uslugi .card-right-cta { margin-top: 24px; }

.gas-uslugi .card-right-cta .btn { width: 100%; }



.gas-uslugi .session-strip { margin-top: 14px; background: var(--accent); border-radius: 16px; padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }

.gas-uslugi .session-strip h4 { font-size: 15px; font-weight: 800; line-height: 1.25; color: #fff; margin: 0 0 4px; }

.gas-uslugi .session-strip p { font-size: 13px; color: rgba(255,255,255,0.7); max-width: 400px; line-height: 1.5; margin: 0; }

.gas-uslugi .session-right { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }

.gas-uslugi .session-price .lbl { font-size: 10px; color: rgba(255,255,255,0.5); letter-spacing: 1px; text-transform: uppercase; }

.gas-uslugi .session-price .val { font-size: 22px; font-weight: 900; color: #fff; letter-spacing: -0.5px; }





@media (max-width: 800px) {

  .gas-uslugi .hero-inner { flex-direction: column; align-items: flex-start; }

  .gas-uslugi .hero-stats { gap: 24px 28px; flex-wrap: wrap; }
  .gas-uslugi .hero-stat { min-width: 0; }

  .gas-uslugi .card-grid { grid-template-columns: 1fr; }

  .gas-uslugi .card-right { border-left: none; border-top: 1px solid rgba(255,255,255,0.08); }


}

@media (max-width: 560px) {

  .gas-uslugi .hero { padding: 44px 20px 40px; }

  .gas-uslugi .tabs-inner { padding: 12px 20px; }

  .gas-uslugi .main { padding-left: 20px; padding-right: 20px; }

  .gas-uslugi .card-left { padding: 24px; }

  .gas-uslugi .card-right { padding: 24px; }

  .gas-uslugi .session-strip { flex-direction: column; }

  .gas-uslugi .session-right { flex-direction: row; width: 100%; justify-content: space-between; }


}


/* --- Услуги: интеграция в шаблон страницы (full-bleed hero + sticky tabs) --- */
/* Оригинал: белая полоса с крошками «Главная /Услуги» (h≈131, текст внизу слева), под ней тёмный hero без скруглений. */
.gas-uslugi .crumbs { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:#fff; margin-top:-128px; padding:106px 0 2px 24px; }
.gas-uslugi .crumbs a, .gas-uslugi .crumbs span { font-size:14.4px; color:#403F3F; }
.gas-uslugi .crumbs a { margin-right:5px; }
.gas-uslugi .crumbs a:hover { text-decoration:underline; }
.gas-uslugi .hero { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.gas-uslugi .final-cta { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
/* На /uslugi и /about своя финальная плашка 1:1 — общий градиентный footer-cta прячем */
body:has(.gas-uslugi) .site-footer-cta, body:has(.gas-about) .site-footer-cta { display:none; }
@media (max-width:980px){ .gas-uslugi .crumbs { margin-top:-116px; padding-top:96px; } }
@media (max-width:640px){ .gas-uslugi .crumbs { margin-top:-84px; padding-top:72px; } }
.gas-uslugi .tabs-bar { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); top:0; }
.gas-uslugi [data-cat]{ cursor:pointer; }
/* --- Услуги: FAQ-секция 1:1 с оригиналом (заголовок 60 КАПС центр, 2 колонки 560/560 gap 40) --- */
.gas-uslugi .faq-section { width:1160px; max-width:none; margin-left:calc(50% - 580px); margin-right:calc(50% - 580px); padding:72px 0 90px; }
@media(max-width:1240px){ .gas-uslugi .faq-section { width:auto; max-width:1160px; margin-left:auto; margin-right:auto; } }
.gas-uslugi .faq-h { font-size:60px; font-weight:700; text-transform:uppercase; text-align:center; letter-spacing:0; line-height:1.1; margin:0 auto 80px; max-width:800px; color:#403F3F; }
.gas-uslugi .faq-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; align-items:start; width:100%; max-width:none !important; margin:0 !important; }
.gas-uslugi .faq-row { border-top:1px solid #EEEEEE; border-bottom:none; padding:0; }
.gas-uslugi .faq-row summary { font-weight:600; font-size:18px; line-height:1.35; color:#0D0D0D; padding:19px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.gas-uslugi .faq-row summary::-webkit-details-marker { display:none; }
.gas-uslugi .faq-row summary::after { content:'+'; color:#0D0D0D; font-weight:300; font-size:32px; line-height:1; width:40px; height:40px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.gas-uslugi .faq-row[open] summary::after { content:'\2013'; }
.gas-uslugi .faq-a { margin:0; padding:0 54px 24px 0; color:#0D0D0D; font-size:16px; line-height:1.55; white-space:pre-line; }
@media(max-width:1240px){ .gas-uslugi .faq-section{ padding-left:40px; padding-right:40px; } }
@media(max-width:800px){ .gas-uslugi .faq-list{ grid-template-columns:1fr; } .gas-uslugi .faq-section{ padding:48px 20px 70px; } .gas-uslugi .faq-h{ font-size:36px; margin-bottom:40px; } }

/* ============ О компании (/about) — порт 1:1 из Tilda, scope .gas-about ============
   Геометрия с живого оригинала @1440 (зеро-блоки ×1.2): h-заголовки 60px caps
   ls-2.4, акцент #B15ECC, кнопки-пилюли 293×77 / 19.2px. */
.gas-about { font-family: var(--font, 'ArtegraSans', Arial, sans-serif); color:#403F3F; background:#fff; }
.gas-about a { text-decoration:none; }
.gas-about em { font-style:normal; color:#B15ECC; }
.gas-about h1, .gas-about h2 { margin:0; }
.gas-about .crumbs { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:#fff; margin-top:-128px; padding:106px 0 2px 24px; }
.gas-about .crumbs a, .gas-about .crumbs span { font-size:14.4px; color:#403F3F; }
.gas-about .crumbs a { margin-right:5px; }
.gas-about .crumbs a:hover { text-decoration:underline; }
.gas-about section { max-width:1280px; margin:0 auto; }

/* Кнопка-пилюля */
.gas-about .ab-btn { display:inline-flex; align-items:center; justify-content:center; min-width:293px; height:77px; padding:0 40px; background:#B15ECC; color:#fff; font-size:19.2px; font-weight:500; border-radius:71px; transition:background .2s; }
.gas-about .ab-btn:hover { background:#9c4cb6; }

/* HERO */
.gas-about .ab-hero { padding:104px 24px 60px; text-align:center; }
.gas-about .ab-hero h1 { font-size:60px; font-weight:700; line-height:1.16; letter-spacing:-2.4px; text-transform:uppercase; }
.gas-about .ab-hero__sub { font-size:24px; line-height:1.55; max-width:900px; margin:18px auto 0; }
.gas-about .ab-hero .ab-btn { margin-top:38px; }

/* Основатель */
.gas-about .ab-founder { display:flex; gap:56px; align-items:stretch; padding:0 24px; }
.gas-about .ab-founder__left { flex:0 1 530px; }
.gas-about .ab-founder__left h2 { font-size:36px; font-weight:700; line-height:1.3; margin-bottom:14px; }
.gas-about .ab-founder__label { font-size:19.2px; font-weight:500; line-height:1.55; margin-bottom:18px; }
.gas-about .ab-founder__left p { font-size:16.8px; line-height:1.5; margin:0 0 16px; }
.gas-about .ab-founder__person { display:flex; align-items:center; gap:16px; margin-top:26px; }
.gas-about .ab-founder__person img { width:132px; height:132px; border-radius:50%; object-fit:cover; }
.gas-about .ab-founder__person .nm { font-size:14.4px; font-weight:500; }
.gas-about .ab-founder__person .co { font-size:12px; letter-spacing:1px; }
.gas-about .ab-founder__video { flex:1 1 666px; min-height:538px; border-radius:24px; overflow:hidden; }

/* Видео-фасад (клик → YouTube) */
.gas-about .about-video { position:relative; background:#000 center/cover no-repeat; }
.gas-about .about-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.gas-about .about-video .av-play { position:absolute; inset:0; width:100%; height:100%; border:0; cursor:pointer; background:center/cover no-repeat; }
.gas-about .about-video .av-play::after { content:''; position:absolute; left:50%; top:50%; width:72px; height:72px; transform:translate(-50%,-50%); background:rgba(255,255,255,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23403F3F'/%3E%3C/svg%3E") center/26px no-repeat; border-radius:50%; transition:transform .2s; }
.gas-about .about-video .av-play:hover::after { transform:translate(-50%,-50%) scale(1.08); }

/* Статы */
.gas-about .ab-stats { display:flex; justify-content:space-between; max-width:1180px; padding:64px 24px 36px; }
.gas-about .ab-stat .num { font-size:44.4px; font-weight:600; font-style:italic; color:#B15ECC; line-height:1.2; }
.gas-about .ab-stat .lbl { font-size:16.8px; font-weight:500; text-transform:uppercase; margin-top:4px; }

/* Фото-коллаж */
.gas-about .ab-collage { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:1420px; padding:20px 10px; }
.gas-about .ab-collage__big { min-height:690px; background:center/cover no-repeat; }
.gas-about .ab-collage__grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:20px; }
.gas-about .ab-collage__grid div { background:center/cover no-repeat; }

/* Команда */
.gas-about .ab-team-head { padding:90px 24px 10px; text-align:center; }
.gas-about .ab-team-head h2 { font-size:60px; font-weight:700; letter-spacing:-2.4px; text-transform:uppercase; }
.gas-about .ab-team-head p { font-size:24px; line-height:1.55; max-width:880px; margin:18px auto 0; }
.gas-about .ab-team { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; max-width:1200px; padding:36px 24px 30px; }
.gas-about .ab-member { text-align:center; }
.gas-about .ab-member__ava { width:180px; height:180px; border-radius:50%; background:center/cover no-repeat; margin:0 auto 20px; }
.gas-about .ab-member__name { font-size:22px; font-weight:700; margin-bottom:8px; }
.gas-about .ab-member__role { font-size:16px; font-weight:500; color:#B15ECC; line-height:1.4; margin-bottom:12px; }
.gas-about .ab-member p { font-size:14px; line-height:1.55; color:#6e6d6d; margin:0; }

/* Большой CTA-заголовок */
.gas-about .ab-bigcta { padding:90px 24px 50px; text-align:center; }
.gas-about .ab-bigcta h2 { font-size:60px; font-weight:700; line-height:1.1; letter-spacing:-2.4px; text-transform:uppercase; }

/* Кейсы поступивших */
.gas-about .ab-cases { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1200px; padding:10px 24px 90px; }
.gas-about .ab-case__video { height:430px; border-radius:20px 20px 0 0; overflow:hidden; }
.gas-about .ab-case__card { background:linear-gradient(135deg,#B15ECC 0%,#8e44ad 100%); border-radius:0 0 20px 20px; padding:24px 22px 28px; color:#fff; }
.gas-about .ab-case__badge { display:inline-block; background:#fff; color:#403F3F; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; padding:6px 14px; border-radius:100px; margin-bottom:14px; }
.gas-about .ab-case__name { font-size:22px; font-weight:700; margin-bottom:8px; }
.gas-about .ab-case__card p { font-size:14px; line-height:1.5; margin:0; color:rgba(255,255,255,.92); }

/* Отзывы */
.gas-about .ab-rev-head { padding:0 24px 24px; text-align:center; }
.gas-about .ab-rev-head h2 { font-size:60px; font-weight:700; letter-spacing:-2.4px; text-transform:uppercase; }
.gas-about .ab-reviews { position:relative; max-width:1440px; padding:10px 0 90px; }
.gas-about .ab-reviews__viewport { overflow:hidden; max-width:1160px; margin:0 auto; }
.gas-about .ab-reviews__track { display:flex; transition:transform .3s ease; }
.gas-about .ab-rev { flex:0 0 100%; display:flex; gap:46px; align-items:flex-start; padding:8px 40px; box-sizing:border-box; }
.gas-about .ab-rev__ava { flex:0 0 100px; width:100px; height:100px; border-radius:50%; background:center/cover no-repeat; }
.gas-about .ab-rev__text { font-size:14px; line-height:1.5; white-space:normal; }
.gas-about .ab-rev__name { font-size:16px; font-weight:700; font-style:italic; margin-top:22px; }
.gas-about .ab-rev__descr { margin-top:6px; }
.gas-about .ab-rev__descr a { font-size:14px; color:#FF8562; }
.gas-about .ab-rev__ig { display:inline-block; width:22px; height:22px; color:#B15ECC; margin-top:14px; }
.gas-about .ab-rev__ig svg { width:100%; height:100%; }
.gas-about .ab-reviews__nav { position:absolute; top:110px; width:44px; height:64px; background:none; border:0; color:#B15ECC; font-size:58px; line-height:1; font-weight:300; cursor:pointer; padding:0; }
.gas-about .ab-reviews__nav--prev { left:28px; }
.gas-about .ab-reviews__nav--next { right:28px; }
.gas-about .ab-reviews__nav:disabled { opacity:.3; cursor:default; }
.gas-about .ab-reviews__dots { display:flex; justify-content:center; gap:9px; margin-top:36px; }
.gas-about .ab-reviews__dots button { width:7px; height:7px; border-radius:50%; border:0; padding:0; background:#d9d9d9; cursor:pointer; }
.gas-about .ab-reviews__dots button.is-active { background:#B15ECC; }

/* Вузы-партнёры */
.gas-about .ab-unis { max-width:1420px; padding:0 10px; }
.gas-about .ab-unis__box { background:#F6F6F6; border-radius:53px; text-align:center; padding:84px 40px 90px; }
.gas-about .ab-unis__box h2 { font-size:60px; font-weight:700; line-height:1.16; letter-spacing:-2.4px; text-transform:uppercase; }
.gas-about .ab-unis__box p { font-size:24px; margin:22px 0 34px; }
.gas-about .ab-unis__btns { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; max-width:900px; margin:0 auto; }
.gas-about .ab-unis__btn { display:inline-flex; align-items:center; gap:12px; background:#fff; border:0; border-radius:100px; padding:17px 30px; font-family:inherit; font-size:24px; color:#403F3F; cursor:pointer; transition:box-shadow .2s; }
.gas-about .ab-unis__btn:hover { box-shadow:0 4px 18px rgba(0,0,0,.08); }
.gas-about .ab-unis__btn .flag { font-size:22px; line-height:1; }

/* Попап со списком вузов */
.gas-about .ab-uni-popup { position:fixed; inset:0; z-index:9000; background:rgba(0,0,0,.72); display:flex; align-items:center; justify-content:center; padding:40px 16px; }
.gas-about .ab-uni-popup[hidden] { display:none; }
.gas-about .ab-uni-popup__inner { position:relative; background:#fff; border-radius:8px; max-width:640px; width:100%; max-height:84vh; overflow-y:auto; padding:44px 48px; }
.gas-about .ab-uni-popup__inner ul { list-style:none; margin:0; padding:0; }
.gas-about .ab-uni-popup__inner li { font-size:15px; line-height:1.9; }
.gas-about .ab-uni-popup__close { position:sticky; top:0; float:right; margin:-28px -28px 0 0; width:40px; height:40px; border:0; background:none; font-size:32px; line-height:1; color:#403F3F; cursor:pointer; }

/* YouTube */
.gas-about .ab-yt { max-width:1440px; padding:105px 24px 60px; text-align:center; }
.gas-about .ab-yt h2 { font-size:60px; font-weight:700; letter-spacing:-2.4px; text-transform:uppercase; }
.gas-about .ab-yt__sub { font-size:24px; line-height:1.55; margin:18px 0 44px; }
.gas-about .ab-yt__videos { display:flex; gap:16px; justify-content:center; margin-bottom:50px; }
.gas-about .ab-yt__videos .about-video { flex:0 1 665px; height:385px; border-radius:36px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.12); }
.gas-about .final-cta { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); margin-bottom:-88px; }

/* Адаптив */
@media (max-width:1180px){
  .gas-about .ab-hero h1, .gas-about .ab-team-head h2, .gas-about .ab-bigcta h2, .gas-about .ab-rev-head h2, .gas-about .ab-unis__box h2, .gas-about .ab-yt h2 { font-size:46px; letter-spacing:-1.6px; }
  .gas-about .ab-founder { flex-direction:column; }
  .gas-about .ab-founder__video { min-height:420px; }
  .gas-about .ab-stats { flex-wrap:wrap; gap:28px; justify-content:center; text-align:center; }
  .gas-about .ab-team { grid-template-columns:repeat(2,1fr); }
  .gas-about .ab-cases { grid-template-columns:1fr; max-width:560px; }
  .gas-about .ab-yt__videos { flex-direction:column; align-items:center; }
  .gas-about .ab-yt__videos .about-video { width:100%; max-width:665px; flex:none; }
  .gas-about .ab-collage { grid-template-columns:1fr; }
  .gas-about .ab-collage__big { min-height:420px; }
  .gas-about .ab-collage__grid div { min-height:220px; }
}
@media (max-width:980px){ .gas-about .crumbs { margin-top:-116px; padding-top:96px; } }
@media (max-width:640px){
  .gas-about .crumbs { margin-top:-84px; padding-top:72px; }
  .gas-about .ab-hero h1, .gas-about .ab-team-head h2, .gas-about .ab-bigcta h2, .gas-about .ab-rev-head h2, .gas-about .ab-unis__box h2, .gas-about .ab-yt h2 { font-size:32px; letter-spacing:-1px; }
  .gas-about .ab-hero__sub, .gas-about .ab-team-head p, .gas-about .ab-yt__sub, .gas-about .ab-unis__box p { font-size:18px; }
  .gas-about .ab-team { grid-template-columns:1fr; }
  .gas-about .ab-rev { flex-direction:column; gap:20px; padding:8px 20px; }
  .gas-about .ab-reviews__nav--prev { left:2px; }
  .gas-about .ab-reviews__nav--next { right:2px; }
  .gas-about .ab-unis__btn { font-size:18px; padding:13px 22px; }
  .gas-about .ab-unis__box { border-radius:28px; padding:48px 20px 56px; }
  .gas-about .ab-founder__video { min-height:240px; }
  .gas-about .ab-btn { min-width:0; width:100%; max-width:340px; height:64px; font-size:17px; }
  .gas-about .ab-yt__videos .about-video { height:220px; border-radius:20px; }
  .gas-about .ab-case__video { height:360px; }
  .gas-about .ab-uni-popup__inner { padding:32px 22px; }
}


/* ============ Кейсы (/cases) — порт 1:1 живого Tilda (зеро-блоки zoom=1), scope .gas-cases ============ */
.page-main:has(.gas-cases) > .wp-block-post-title { display:none; }
.page-main:has(.gas-cases) { padding:0 !important; }
body:has(.gas-cases) .site-footer-cta { display:none; }
.gas-cases { font-family:'ArtegraSans', Arial, sans-serif; color:#403F3F; line-height:normal; }
.gas-cases .crumbs { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:#fff; margin-top:-128px; padding:106px 0 14px 24px; }
.gas-cases .crumbs a, .gas-cases .crumbs span { font-size:12px; color:#403F3F; }
.gas-cases .crumbs a:hover { text-decoration:underline; }
/* — HERO: тёмная плита, плашка на ОТЗЫВЫ, фото, язычок — */
.gas-cases .gc-hero { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:0 12px 48px; }
.gas-cases .gc-hero__plate { position:relative; background:#252628; border-radius:44px; height:665px; }
.gas-cases .gc-hero__title { position:absolute; z-index:2; top:101px; left:50%; transform:translateX(-50%); width:1328px; max-width:92%; margin:0; text-align:center; font-size:60px; line-height:60px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:0; }
.gas-cases .gc-hero__hl { position:relative; z-index:0; white-space:nowrap; }
.gas-cases .gc-hero__hl::before { content:''; position:absolute; inset:-0.18em -0.18em -0.14em; background:#FFAC02; border-radius:14px; z-index:-1; }
.gas-cases .gc-hero__bubble { position:absolute; z-index:2; top:248px; left:214px; width:306px; background:#fff; border-radius:20px; padding:16px; font-size:16px; line-height:21.6px; color:#000; text-align:center; }
.gas-cases .gc-hero__photo { position:absolute; top:198px; left:50%; transform:translateX(-50%); width:612px; height:374px; object-fit:contain; z-index:1; }
.gas-cases .gc-hero__btn { position:absolute; z-index:2; top:536px; left:50%; transform:translateX(-50%); width:372px; height:77px; display:flex; align-items:center; justify-content:center; background:#B15ECC; color:#fff; border-radius:59px; font-size:16px; font-weight:500; text-decoration:none; transition:opacity .15s; }
.gas-cases .gc-hero__btn:hover { opacity:.88; }
.gas-cases .gc-hero__tongue { position:absolute; left:50%; transform:translateX(-50%); top:572px; width:364px; height:141px; pointer-events:none; }
.gas-cases .gc-hero__tongue > img:first-child { width:100%; height:100%; }
.gas-cases .gc-hero__arrow { position:absolute; left:50%; top:84px; transform:translateX(-50%); width:17px; height:36px; }
/* — ТУР В ЛОНДОН — */
.gas-cases .gc-tur { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:0 24px; }
.gas-cases .gc-tur__plate { position:relative; background-color:#FF6626; background-size:cover; background-position:center; border-radius:50px; min-height:683px; overflow:hidden; padding:144px 84px 90px; }
.gas-cases .gc-tur__col { max-width:600px; }
.gas-cases .gc-tur__title { margin:0 0 24px; font-size:50px; line-height:57.5px; font-weight:700; color:#fff; text-transform:uppercase; }
.gas-cases .gc-tur__sub { width:584px; max-width:100%; font-size:20px; line-height:25px; color:#fff; text-transform:uppercase; margin-bottom:19px; }
.gas-cases .gc-tur__text { width:520px; max-width:100%; font-size:16px; line-height:20px; color:#fff; margin:0 0 28px; }
.gas-cases .gc-tur__btn { display:flex; align-items:center; justify-content:center; width:236px; height:77px; background:#403F3F; color:#fff; border-radius:59px; font-size:16px; font-weight:500; text-decoration:none; transition:opacity .15s; }
.gas-cases .gc-tur__btn:hover { opacity:.88; }
.gas-cases .gc-tur__video { position:absolute; top:109px; right:117px; width:272px; height:370px; object-fit:cover; border-radius:10px; transform:rotate(8deg); box-shadow:0 20px 50px -20px rgba(0,0,0,.4); }
/* — Заголовки секций — */
.gas-cases .gc-heading { margin:113px auto 90px; max-width:972px; text-align:center; font-size:50px; line-height:58px; font-weight:700; color:#403F3F; text-transform:uppercase; }
.gas-cases .gc-heading .gc-hl { color:#B15ECC; }
/* — Карточки кейсов — */
.gas-cases .gc-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:0 11px; }
.gas-cases .gc-card { position:relative; display:flex; flex-direction:column; background:#F6F6F6; border-radius:30px; padding:24px 36px 34px; min-height:360px; }
.gas-cases .gc-card--hidden { display:none; }
.gas-cases .gc-card__avas { height:84px; }
.gas-cases .gc-card__ava { position:absolute; border-radius:50%; background-size:cover; background-position:center; }
.gas-cases .gc-card__name { font-size:24px; line-height:26px; font-weight:700; margin-bottom:6px; }
.gas-cases .gc-card__uni { font-size:16px; line-height:25px; margin-bottom:17px; }
.gas-cases .gc-card__text { font-size:16px; line-height:20px; margin:0 0 22px; max-width:394px; }
.gas-cases .gc-card__more { margin-top:auto; font-size:16px; line-height:22px; color:#B15ECC; text-decoration:none; }
.gas-cases .gc-card__more:hover { text-decoration:underline; }
.gas-cases .gc-card__flag { position:absolute; right:26px; bottom:30px; width:68px; height:auto; }
/* — Пилюли-кнопки — */
.gas-cases .gc-center { text-align:center; margin:38px 0 0; }
.gas-cases .gc-pill { display:inline-flex; align-items:center; justify-content:center; min-width:263px; height:77px; padding:0 40px; background:#fff; color:#B15ECC; border:2px solid #B15ECC; border-radius:60px; font-size:16px; font-weight:500; font-family:inherit; cursor:pointer; text-decoration:none; transition:all .15s; }
.gas-cases .gc-pill:hover { background:#B15ECC; color:#fff; }
/* — Слайдер отзывов — */
.gas-cases .gc-slider { position:relative; max-width:1440px; margin:0 auto; padding:0 100px; }
.gas-cases .gc-slider__viewport { overflow:hidden; }
.gas-cases .gc-slider__track { display:flex; transition:transform .4s ease; }
.gas-cases .gc-slide { flex:0 0 100%; display:flex; gap:30px; align-items:flex-start; min-height:300px; }
.gas-cases .gc-slide__ava { flex:0 0 100px; height:100px; border-radius:50%; background-size:cover; background-position:center; margin-left:140px; }
.gas-cases .gc-slide__body { max-width:800px; }
.gas-cases .gc-slide__text p { font-size:16px; line-height:22.4px; margin:0 0 18px; color:#403F3F; }
.gas-cases .gc-slide__name { font-size:18px; font-weight:700; font-style:italic; margin:24px 0 10px; }
.gas-cases .gc-slide__sub { font-size:16px; color:#FF8562; margin-bottom:14px; }
.gas-cases .gc-slide__ig { display:inline-block; width:20px; height:20px; border-radius:6px; background:#B15ECC url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="white" stroke="none"/></svg>') center/14px no-repeat; }
.gas-cases .gc-slider__arrow { position:absolute; top:120px; width:36px; height:56px; background:transparent; border:none; cursor:pointer; }
.gas-cases .gc-slider__arrow::before { content:''; position:absolute; inset:8px; border-top:3px solid #B15ECC; border-right:3px solid #B15ECC; }
.gas-cases .gc-slider__arrow--prev { left:30px; }
.gas-cases .gc-slider__arrow--prev::before { transform:rotate(-135deg); }
.gas-cases .gc-slider__arrow--next { right:30px; }
.gas-cases .gc-slider__arrow--next::before { transform:rotate(45deg); }
.gas-cases .gc-slider__dots { display:flex; gap:9px; justify-content:center; margin-top:40px; }
.gas-cases .gc-dot { width:10px; height:10px; border-radius:50%; border:none; background:#E0E0E0; cursor:pointer; padding:0; }
.gas-cases .gc-dot.active { background:#B15ECC; }
/* — Видео-отзывы — */
.gas-cases .gc-videos { display:flex; gap:20px; justify-content:center; }
.gas-cases .gc-vcol { width:264px; }
.gas-cases .gc-video { position:relative; width:264px; height:472px; border-radius:10px; overflow:hidden; cursor:pointer; background:#000; }
.gas-cases .gc-video img { width:100%; height:100%; object-fit:cover; }
.gas-cases .gc-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.gas-cases .gc-video__play { position:absolute; inset:0; margin:auto; width:68px; height:48px; background:rgba(33,33,33,.8); border-radius:14px; }
.gas-cases .gc-video__play::after { content:''; position:absolute; inset:0; margin:auto; width:0; height:0; border:10px solid transparent; border-left:16px solid #fff; transform:translateX(6px); }
.gas-cases .gc-video:hover .gc-video__play { background:#f00; }
.gas-cases .gc-vcap { margin-top:30px; background:#B15ECC; border-radius:20px; height:166px; padding:9px 20px; position:relative; }
.gas-cases .gc-vcap__name { font-size:18px; line-height:29px; color:#fff; }
.gas-cases .gc-vcap__label { display:inline-block; background:#fff; border-radius:50px; font-size:12px; line-height:18px; color:#232323; padding:0 10px; margin:1px 0 0 -3px; }
.gas-cases .gc-vcap__uni { position:absolute; top:70px; left:20px; right:14px; font-size:14px; line-height:20px; color:#fff; }
/* — Яндекс-карта — */
.gas-cases .gc-map { margin-top:90px; }
.gas-cases .gc-map iframe { display:block; width:100%; height:400px; border:0; }
/* — CTA «Хотите так же» — */
.gas-cases .gc-cta { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:107px 24px 0; }
.gas-cases .gc-cta__plate { position:relative; background:#F6F6F6; border-radius:30px; min-height:539px; overflow:hidden; padding:72px; }
.gas-cases .gc-cta__vector { position:absolute; left:91px; top:128px; width:1301px; max-width:90%; pointer-events:none; }
.gas-cases .gc-cta__title { position:relative; margin:0; width:647px; max-width:100%; font-size:50px; line-height:58px; font-weight:700; color:#403F3F; text-transform:uppercase; }
.gas-cases .gc-cta__btn { position:absolute; left:72px; bottom:86px; display:flex; align-items:center; justify-content:center; width:352px; height:77px; background:#B15ECC; color:#fff; border-radius:59px; font-size:16px; font-weight:500; text-decoration:none; transition:opacity .15s; }
.gas-cases .gc-cta__btn:hover { opacity:.88; }
.gas-cases .gc-cta__note { position:absolute; right:46px; bottom:71px; width:330px; background:#F6F6F6; border-radius:10px; padding:12px; font-size:14px; line-height:22px; color:#403F3F; }
/* — Адаптив — */
@media (max-width:1200px) {
  .gas-cases .gc-hero__bubble { display:none; }
  .gas-cases .gc-videos { flex-wrap:wrap; }
  .gas-cases .gc-tur__video { position:static; transform:rotate(8deg); margin-top:30px; }
}
@media (max-width:980px) {
  .gas-cases .crumbs { margin-top:-116px; padding-top:96px; }
  .gas-cases .gc-grid { grid-template-columns:1fr 1fr; }
  .gas-cases .gc-hero__title { font-size:44px; line-height:46px; }
  .gas-cases .gc-hero__photo { width:90%; height:auto; top:260px; }
  .gas-cases .gc-cta__note { position:static; margin-top:24px; }
  .gas-cases .gc-cta__btn { position:static; margin-top:28px; width:100%; max-width:100%; }
  .gas-cases .gc-cta__plate { display:flex; flex-direction:column; align-items:flex-start; }
}
@media (max-width:640px) {
  /* Аватары кластера позиционированы абсолютно под десктоп (left 36/307/358px):
     на узкой карточке 2-й и 3-й торчали за правый край. Оригинал на мобайле
     показывает один аватар — скрываем лишние. */
  .gas-cases .gc-card__ava:not(:first-child) { display:none; }
  .gas-cases .crumbs { margin-top:-84px; padding-top:72px; }
  .gas-cases .gc-hero { padding:0 8px 36px; }
  .gas-cases .gc-hero__plate { height:auto; padding:64px 16px 120px; }
  .gas-cases .gc-hero__title, .gas-cases .gc-hero__photo, .gas-cases .gc-hero__btn { position:static; transform:none; width:100%; }
  .gas-cases .gc-hero__title { font-size:30px; line-height:34px; margin-bottom:24px; }
  .gas-cases .gc-hero__photo { height:auto; margin-bottom:24px; }
  .gas-cases .gc-hero__btn { max-width:340px; margin:0 auto; }
  .gas-cases .gc-hero__tongue { top:auto; bottom:-69px; }
  .gas-cases .gc-tur { padding:0 8px; }
  .gas-cases .gc-tur__plate { padding:56px 24px 48px; min-height:0; }
  .gas-cases .gc-tur__title { font-size:34px; line-height:38px; }
  .gas-cases .gc-heading { font-size:32px; line-height:38px; margin:64px auto 40px; padding:0 16px; }
  .gas-cases .gc-grid { grid-template-columns:1fr; padding:0 8px; }
  .gas-cases .gc-slider { padding:0 16px; }
  .gas-cases .gc-slide { flex-direction:column; }
  .gas-cases .gc-slide__ava { margin-left:0; }
  .gas-cases .gc-slider__arrow { display:none; }
  .gas-cases .gc-vcol { width:100%; max-width:300px; }
  .gas-cases .gc-video { width:100%; }
  .gas-cases .gc-cta { padding:64px 8px 0; }
  .gas-cases .gc-cta__plate { padding:40px 24px; }
  .gas-cases .gc-cta__title { font-size:32px; line-height:38px; }
}

/* ============ Мобильная типографика главной 1:1 (оригинал @375: computed×0.78,
   зеро-блок Tilda 480→375). Заголовки секций 50→39px, hero 60→47px,
   статы 37→29px, кнопки-пилюли 77→60px. ============ */
@media (max-width: 640px) {
  /* h1 = живой оригинал @375: computed 30px/500 × zoom зеро-блока 1.172 ≈ 35px */
  .hero__title { font-size: 35px; font-weight: 500; line-height: 1.0; }
  /* promise был пропущен в мобильной типографике → 52px клипал «ОТВЕТСТВЕННОСТЬ»
     за край. Длинное слово (14 букв) должно влезать в контейнер 343px → 33px. */
  /* 23px/600: «ВАШЕ ОБРАЗОВАНИЕ» и «НАША ОТВЕТСТВЕННОСТЬ» по одной строке = 2 строки; вес 600 как в оригинале */
  .promise__heading { font-size: 23px; line-height: 1.22; font-weight: 700; }
  .fears__cta-title { font-size: 26px; }
  /* Верт. ритм секций = оригинал Tilda @375 (t-rec pt45/pb45, promise pb90).
     Были десктопные 80–127px → лишняя высота страницы. */
  .promise { padding-top: 45px; padding-bottom: 90px; }
  .about-us { padding-top: 45px; padding-bottom: 45px; }
  .stories { padding-top: 45px; padding-bottom: 45px; }
  .reviews { padding-top: 45px; padding-bottom: 45px; }
  .hero__eyebrow { font-size: 16px; }
  .hero__cta { height: 60px; font-size: 15px; padding: 0 36px; }
  .hero-stat__value { font-size: 29px; line-height: 1.2; }
  .hero-stat__label { font-size: 11px; }
  /* === Размеры заголовков = эффективный рендер живого оригинала @375 (computed×zoom) === */
  .about-us__heading { font-size: 21px; line-height: 1.22; letter-spacing: -0.3px; }
  .about-us__why { font-size: 19px; }
  .about-us__sub { font-size: 16px; line-height: 24px; margin-top: 14px; }
  .promise-card__title { font-size: 24px; }
  .vuz-videos__heading { font-size: 27px; line-height: 1.16; }
  .vuz-videos__sub { font-size: 16px; line-height: 24px; }
  .vuz-videos__btn { height: 60px; font-size: 15px; padding: 0 36px; }
  .fears__heading { font-size: 25px; line-height: 1.16; }
  .stories__heading { font-size: 26px; line-height: 1.16; }
  .steps__heading { font-size: 27px; line-height: 1.16; }
  .services__heading { font-size: 35px; line-height: 1.2; }
  .service-card__title { font-size: 19px; }
  .service-card__price { font-size: 35px; }
  /* Карточка по высоте контента (как в оригинале): убираем завышенную min-height и
     большой зазор между ценой и кнопкой (auto + 72px → умеренные фиксированные отступы). */
  .service-card, .service-card--featured { min-height: 0; }
  .service-card__priceblock { margin-top: 28px; }
  .service-card__btn { margin-top: 28px; }
  .reviews__heading { font-size: 27px; line-height: 1.16; }
  .media-section h2, .media__heading { font-size: 46px; line-height: 1.05; }
  .faq-section h2, .faq__heading { font-size: 32px; line-height: 1.1; }
  /* Нижний фиолетовый блок касается краёв экрана (как в оригинале) */
  .final-cta .container { padding: 0; max-width: none; }
  /* Нижние углы квадратные — плашка заходит на футер плоским низом (эталон главной) */
  .final-cta__bar { border-radius: 22px; }
  /* Те же фиолетовые CTA-плашки во всю ширину на хабах и услугах (специфичнее базовых правил) */
  .gas-hub .final-cta .container, .gas-uslugi .final-cta .container { padding: 0; max-width: none; }
  /* about/uslugi: то же наложение плашки на футер, что и у главной/хабов (иначе зазор) */
  .gas-about .final-cta, .gas-uslugi .final-cta { margin-bottom: -80px; }
  .gas-hub .final-cta__bar { border-radius: 22px; }
  /* кнопка хабов = как на главной (padding 24px), чтобы текст был в ОДНУ строку, а не 2 */
  .gas-hub .final-cta__btn { padding: 24px; width: 100%; }
  /* Сервисные плашки во всю ширину (оригинал L0–R375) */
  .services .container { padding: 0; max-width: none; }
  /* Футер во всю ширину без скруглений и боковых отступов (оригинал full-width) */
  .footer { margin: 0; border-radius: 0; }
}

/* ==== Контакты (gas-hub--kontakty) ==== */
.gas-hub--kontakty .k-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gas-hub--kontakty .k-card { display:flex; flex-direction:column; gap:6px; background:var(--card-bg); border:1px solid var(--border); border-radius:18px; padding:22px 24px; text-decoration:none; transition:border-color .2s, transform .2s; }
.gas-hub--kontakty .k-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.gas-hub--kontakty .k-card__label { font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); }
.gas-hub--kontakty .k-card__val { font-size:18px; font-weight:700; color:var(--dark); }
.gas-hub--kontakty .k-info { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.gas-hub--kontakty .k-info__item { background:var(--card-bg); border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:8px; }
.gas-hub--kontakty .k-info__lbl { font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); }
.gas-hub--kontakty .k-info__val { font-size:16px; color:var(--dark); line-height:1.5; }
.gas-hub--kontakty .k-req-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gas-hub--kontakty .k-req { background:var(--card-bg); border-radius:18px; padding:24px; }
.gas-hub--kontakty .k-req__name { font-size:16px; font-weight:800; color:var(--dark); margin-bottom:10px; }
.gas-hub--kontakty .k-req p { font-size:13px; line-height:1.7; color:var(--muted); margin:0; word-break:break-word; }
@media (max-width:900px){ .gas-hub--kontakty .k-grid, .gas-hub--kontakty .k-req-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .gas-hub--kontakty .k-grid, .gas-hub--kontakty .k-req-grid, .gas-hub--kontakty .k-info { grid-template-columns:1fr; } }

/* ============ Финальный футер (мобайл) = 1:1 оригинал: всё по центру, порядок оригинала ============ */
@media (max-width: 640px) {
  .footer { padding-top: 96px; }
  .footer .container { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; max-width: none; }
  .footer__inner, .footer__col, .footer__bottom { display: contents; }
  /* порядок элементов как в оригинале: навигация → оплата → телефон → мессенджеры → email → соцсети → часы → адрес → юр-ссылки → копирайт */
  .footer__nav { order: 1; }
  .footer__pay { order: 2; }
  .footer__phone-label { order: 3; }
  .footer__phone { order: 4; }
  .footer__msg { order: 5; }
  .footer__email { order: 6; }
  .footer__social { order: 7; }
  .footer__hours { order: 8; }
  .footer__address { order: 9; }
  .footer__legal { order: 10; }
  .footer__copy { order: 11; }
  /* центрирование + сброс колоночных маргинов */
  .footer__nav { justify-content: center; gap: 16px 24px; margin: 0; max-width: 360px; }
  .footer__pay { justify-content: center; margin: 0; }
  .footer__phone-label, .footer__phone { margin: 0; }
  .footer__msg { flex-direction: column; align-items: center; gap: 12px; margin: 0; width: auto; }
  .footer__msg a { width: auto; min-width: 220px; text-align: center; padding: 13px 28px; }
  .footer__msg .tg { order: 1; }
  .footer__msg .wa { order: 2; }
  .footer__email { margin: 0; }
  .footer__social { justify-content: center; margin: 0; }
  .footer__hours { margin: 0; }
  .footer__address { justify-content: center; text-align: center; margin: 0; max-width: 340px; }
  .footer__legal { align-items: center; margin: 0; }
  .footer__copy { align-items: center; text-align: center; }
}

/* ============ Кнопка финального CTA заходит на стык фиолетовый/чёрный (1:1 оригинал) ============ */
@media (max-width: 640px) {
  .final-cta__bar, .at-rich .at-cta__bar { padding-bottom: 0; overflow: visible; position: relative; }
  .gas-hub .final-cta__bar { padding-bottom: 0; }
  .final-cta__btn, .at-rich .at-cta__btn { position: relative; z-index: 2; margin-bottom: -36px; }
  /* Чёрная подложка под нижними скруглёнными углами — заходит на футер без белых пробелов.
     ИСКЛЮЧАЯ главную (body.home): там overlap футера 96px и скругление и так лежит на чёрном —
     подложка лишняя и квадратит низ плашки. */
  body:not(.home) .final-cta__bar::after, body:not(.home) .at-rich .at-cta__bar::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 28px;
    background: var(--ink); z-index: -1;
  }
}

  /* ============= КЕЙСЫ: детальные страницы (.gcd), 1:1 с goandstudy.com/cases/* ============= */
  .gcd { font-family: var(--display); color: #403F3F; }
  .gcd .gcd-crumbs { margin: 24px 0 20px; font-size: 12px; color: #6E6E73; }
  .gcd .gcd-crumbs a { color: #6E6E73; text-decoration: none; }
  .gcd .gcd-crumbs a:hover { color: var(--orchid); }
  .gcd .gcd-crumbs span { margin: 0 6px; opacity: .5; }
  /* hero: тёмная плашка с круглым фото и белым заголовком */
  .gcd-hero .container { max-width: 1384px; }
  .gcd-hero__bar {
    background: #252628; border-radius: 34px; padding: 64px clamp(40px, 6vw, 96px);
    display: flex; align-items: center; gap: clamp(28px, 4vw, 56px);
  }
  .gcd-hero__photo { flex: 0 0 140px; width: 140px; height: 140px; border-radius: 50%; background: center/cover no-repeat #444; }
  .gcd-hero__title { font-size: clamp(26px, 2.6vw, 36px); font-weight: 500; line-height: 1.25; color: #fff; margin: 0; }
  .gcd-hero__handle { margin-top: 10px; font-size: 12px; color: rgba(255,255,255,.55); }
  /* сетка секций: лейбл слева, контент справа */
  .gcd-sec { padding: 56px 0 8px; }
  .gcd-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; }
  .gcd-label { font-size: 28px; font-weight: 500; line-height: 1.2; margin: 0; color: #403F3F; }
  .gcd-label--badge { justify-self: start; background: #B15ECC; color: #fff; border-radius: 10px; padding: 8px 18px; font-size: 24px; }
  /* клиент */
  .gcd-client__card { background: #F6F6F6; border-radius: 24px; padding: 36px 40px; display: flex; gap: 28px; align-items: flex-start; }
  .gcd-client__ava { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 50%; background: center/cover no-repeat #ddd; }
  .gcd-client__texts p { font-size: 14px; line-height: 1.65; margin: 0 0 12px; }
  .gcd-client__texts p:last-child { margin-bottom: 0; }
  /* проблемы */
  .gcd-problems__list { display: flex; flex-direction: column; gap: 34px; }
  .gcd-problem__num {
    width: 44px; height: 44px; border-radius: 10px; background: #B15ECC; color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; margin-bottom: 16px;
  }
  .gcd-problem__h { font-size: 20px; font-weight: 500; margin: 0 0 14px; }
  .gcd-problem__card { background: #F6F6F6; border-radius: 18px; padding: 24px 28px; font-size: 14px; line-height: 1.65; }
  /* чат-цитаты (стиль мессенджера) */
  .gcd-quote { margin-top: 16px; max-width: 520px; }
  .gcd-quote__bubble {
    background: #DFF6DD; border-radius: 16px 16px 16px 4px; padding: 14px 18px;
    font-size: 12px; line-height: 1.6; color: #2E2E33;
  }
  .gcd-quote__note { margin-top: 6px; font-size: 12px; font-weight: 500; color: #8a8a8e; }
  /* решение (julia-ned) */
  .gcd-solution__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; }
  .gcd-solution__item h3 { font-size: 20px; font-weight: 500; margin: 0 0 12px; }
  .gcd-solution__item ul { margin: 0; padding-left: 20px; font-size: 14px; line-height: 1.6; }
  .gcd-solution__item li { margin-bottom: 8px; }
  /* результаты: тёмный борд с карточками */
  .gcd-results__board { background: #252628; border-radius: 28px; padding: clamp(28px, 3.4vw, 48px); }
  .gcd-results__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .gcd-result__uni {
    background: #fff; border-radius: 14px; padding: 18px 22px; font-size: 20px; font-weight: 500;
    color: #252628; display: flex; align-items: center; gap: 12px;
  }
  .gcd-result__ic { width: 28px; height: 28px; object-fit: contain; }
  .gcd-result__sub {
    margin-top: 12px; background: #3A3B3E; border-radius: 14px; padding: 16px 20px;
    font-size: 14px; font-weight: 500; line-height: 1.55; color: #fff;
  }
  /* успех: тёмный борд с документами */
  .gcd-success__board { background: #252628; border-radius: 28px; padding: clamp(32px, 4vw, 56px); color: #fff; }
  .gcd-success__uni { font-size: 20px; font-weight: 400; }
  .gcd-success__sub { margin-top: 6px; font-size: 12px; font-weight: 500; color: rgba(255,255,255,.6); }
  .gcd-success__note { margin: 14px 0 0; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.85); }
  .gcd-success__docs { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 18px; }
  .gcd-success__docs img { max-width: calc(50% - 9px); border-radius: 10px; background: #fff; height: auto; }
  .gcd-success__extra-h { margin: 32px 0 10px; font-size: 18px; font-weight: 700; color: #fff; }
  .gcd-success__extra-p { margin: 10px 0 0; font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.9); }
  /* отзыв */
  .gcd-review__col { display: flex; flex-direction: column; gap: 20px; max-width: 640px; }
  .gcd-quote--review { max-width: none; margin-top: 0; }
  .gcd-review__shot { max-width: 100%; border-radius: 18px; }
  /* финальный абзац */
  .gcd-outro { padding: 64px 0 24px; }
  .gcd-outro__text { max-width: 760px; margin: 0 auto; text-align: center; font-size: 20px; font-weight: 500; line-height: 1.6; }
  @media (max-width: 860px) {
    .gcd-grid { grid-template-columns: 1fr; gap: 22px; }
    .gcd-hero__bar { flex-direction: column; text-align: center; padding: 44px 24px; }
    .gcd-results__grid, .gcd-solution__grid { grid-template-columns: 1fr; }
    .gcd-success__docs img { max-width: 100%; }
    .gcd-client__card { flex-direction: column; align-items: center; text-align: left; }
  }

  /* ============= ТУРЫ/УНИВЕРСИТЕТЫ: секционные лендинги (.gt) ============= */
  .gt { font-family: var(--display); color: #403F3F; }
  .gt .gt-crumbs { margin: 24px 0 20px; font-size: 12px; color: #6E6E73; }
  .gt .gt-crumbs a { color: #6E6E73; text-decoration: none; }
  .gt .gt-crumbs a:hover { color: var(--orchid); }
  .gt .gt-crumbs span { margin: 0 6px; opacity: .5; }
  .gt-hero .container { max-width: 1384px; }
  .gt-hero__bar { background: #252628; border-radius: 34px; padding: clamp(48px, 6vw, 88px) clamp(32px, 6vw, 96px); text-align: center; }
  .gt-hero__title { font-size: clamp(32px, 4vw, 56px); font-weight: 700; text-transform: uppercase; line-height: 1.12; color: #fff; margin: 0; }
  .gt-hero__sub { margin: 18px auto 0; max-width: 760px; font-size: clamp(16px, 1.6vw, 20px); line-height: 1.5; color: rgba(255,255,255,.85); }
  .gt-hero__facts { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px 12px; justify-content: center; }
  .gt-hero__fact { background: rgba(255,255,255,.1); color: #fff; border-radius: 999px; padding: 8px 16px; font-size: 14px; }
  .gt-hero__btn { display: inline-block; margin-top: 32px; background: #B15ECC; color: #fff; border-radius: 59px; padding: 22px 44px; font-size: 17px; font-weight: 500; text-transform: uppercase; transition: transform .2s, box-shadow .2s; }
  .gt-hero__btn:hover { transform: translateY(-2px); box-shadow: 0 14px 32px -12px rgba(0,0,0,.3); }
  .gt-sec { padding: 56px 0 8px; }
  .gt-sec__h { font-size: clamp(28px, 3.4vw, 50px); font-weight: 700; text-transform: uppercase; text-align: center; line-height: 1.15; margin: 0 0 14px; color: #403F3F; }
  .gt-sec__sub { text-align: center; font-size: 20px; line-height: 1.5; color: #403F3F; max-width: 820px; margin: 0 auto 28px; }
  .gt-sec__lead { max-width: 860px; margin: 0 auto 24px; font-size: 16px; line-height: 1.65; }
  .gt-sec__lead p { margin: 0 0 14px; }
  .gt-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 28px; }
  .gt-card { background: #F6F6F6; border-radius: 20px; padding: 26px 28px; min-width: 0; }
  .gt-card__h { font-size: 19px; font-weight: 700; margin: 0 0 10px; line-height: 1.3; }
  .gt-card p { font-size: 14px; line-height: 1.6; margin: 0 0 10px; overflow-wrap: break-word; }
  .gt-card p:last-child { margin-bottom: 0; }
  .gt-card--link { display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s; }
  .gt-card--link:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(29,29,31,.1); }
  .gt-card__more { margin-top: 14px; color: var(--orchid); font-weight: 500; font-size: 15px; }
  .gt-gallery { margin-top: 28px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .gt-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 14px; }
  @media (max-width: 900px) {
    .gt-cards { grid-template-columns: 1fr; }
    .gt-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
