/* ==========================================================================
   v2 — токены и базовые примитивы.
   Значения взяты из спецификации арт-директора (docs/research/v2-home-spec.md),
   раздел «Токены». Палитра фирменная: меняется распределение, не цвета.
   ========================================================================== */

/* --- Шрифты. Сабсеты раздельно: браузер тянет только нужный диапазон. --- */
@font-face {
  font-family: 'Playfair Display v2';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url('../../fonts/playfair-display-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display v2';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url('../../fonts/playfair-display-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: 'Playfair Display v2';
  font-style: italic; font-weight: 500; font-display: swap;
  src: url('../../fonts/playfair-display-500-italic-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display v2';
  font-style: italic; font-weight: 500; font-display: swap;
  src: url('../../fonts/playfair-display-500-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: 'Inter v2';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url('../../fonts/inter-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter v2';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url('../../fonts/inter-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: 'Inter v2';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url('../../fonts/inter-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter v2';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url('../../fonts/inter-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: 'Inter v2';
  font-style: normal; font-weight: 600; font-display: swap;
  src: url('../../fonts/inter-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter v2';
  font-style: normal; font-weight: 600; font-display: swap;
  src: url('../../fonts/inter-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}

.pbb2 {
  /* Цвета */
  --c-bg:          #F8F7F6;
  --c-surface:     #FFFFFF;
  --c-tint:        #F5EFFA;
  --c-lilac-200:   #E5D7ED;
  --c-lilac:       #B999E4;
  --c-lilac-600:   #76508F;
  --c-violet-700:  #71488F;
  --c-violet-900:  #825A9D;
  --c-ink:         #302F30;
  --c-ink-70:      rgba(48,47,48,.7);
  --c-ink-40:      rgba(48,47,48,.4);
  --c-ink-08:      rgba(48,47,48,.08);
  --c-paper:       #F8F7F6;
  --c-paper-65:    rgba(248,247,246,.65);
  --c-paper-14:    rgba(248,247,246,.14);

  /* Шкала отступов — других значений в макете быть не должно */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px;

  /* Радиусы */
  --r-s: 8px; --r-m: 12px; --r-l: 16px; --r-pill: 999px;

  /* Кегли */
  --fs-100: 12px; --fs-200: 14px; --fs-300: 15px; --fs-400: 16px; --fs-500: 18px;
  --fs-600: 22px; --fs-700: 28px; --fs-800: 44px; --fs-850: 48px; --fs-900: 60px;

  /* Гарнитуры */
  --ff-display: 'Playfair Display v2', Georgia, serif;
  --ff-text:    'Inter v2', 'Helvetica Neue', Arial, sans-serif;

  /* Переходы */
  --tr-fast: 160ms ease-out;
  --tr-img:  320ms ease-out;

  /* Контейнер */
  --container: 1280px;

  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--ff-text);
  font-size: var(--fs-400);
  line-height: 1.6;
}

.pbb2, .pbb2 *, .pbb2 *::before, .pbb2 *::after { box-sizing: border-box; }

.pbb2 h1, .pbb2 h2 { font-family: var(--ff-display); font-weight: 500; margin: 0; color: var(--c-ink); }
.pbb2 p, .pbb2 ul, .pbb2 ol { margin: 0; padding: 0; }
.pbb2 li { list-style: none; }
.pbb2 img { display: block; max-width: 100%; }
.pbb2 a { text-decoration: none; color: inherit; }

/* Пункт 11 чек-листа: видимый фокус на каждом интерактивном элементе. */
.pbb2 a:focus-visible,
.pbb2 button:focus-visible { outline: 2px solid var(--c-lilac); outline-offset: 2px; }

/* --- Кикер: черта + капс с разрядкой. Общий для всех секций. --- */
.pbb2 .v2-kicker {
  display: flex; align-items: center; gap: var(--space-3);
  font-size: var(--fs-100); font-weight: 600; line-height: 1.2;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-lilac-600);
}
.pbb2 .v2-kicker::before { content: ''; width: 32px; height: 1px; background: var(--c-lilac); flex: none; }
.pbb2 .v2-dark .v2-kicker { color: var(--c-lilac); }

/* --- Кнопки. Залитая встречается ровно один раз на экран (пункт 7 чек-листа). --- */
.pbb2 .v2-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: var(--space-4) var(--space-6);
  border-radius: var(--r-pill);
  background: var(--c-violet-900); color: var(--c-paper);
  font-size: var(--fs-200); font-weight: 600; letter-spacing: .02em;
  transition: background var(--tr-fast);
}
.pbb2 .v2-btn:hover { background: var(--c-violet-700); color: var(--c-paper); }
.pbb2 .v2-btn:active { transform: translateY(1px); }

/* Текстовая ссылка с подчёркиванием — вторичное действие. */
.pbb2 .v2-link {
  display: inline-block;
  font-size: var(--fs-200); font-weight: 600; color: var(--c-ink);
  text-decoration: underline; text-decoration-color: var(--c-lilac);
  text-decoration-thickness: 1px; text-underline-offset: 6px;
  transition: color var(--tr-fast), text-decoration-color var(--tr-fast);
}
.pbb2 .v2-link:hover { text-decoration-color: var(--c-violet-900); }
.pbb2 .v2-dark .v2-link { color: var(--c-paper); }

/* --- Заголовочная строка секции: слева кикер + H2, справа пояснение или ссылка --- */
.pbb2 .v2-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--space-6); margin-bottom: var(--space-7);
}
.pbb2 .v2-head__title { font-size: var(--fs-800); line-height: 1.1; margin-top: var(--space-4); }
.pbb2 .v2-head__note {
  font-size: var(--fs-300); line-height: 1.6; color: var(--c-ink-70);
  max-width: 380px;
}
.pbb2 .v2-dark .v2-head__title { color: var(--c-paper); }
