/* ========================================================================
   SKIN «stone» — гоголевский-11.рф
   Слой 2 из трёх: канон main.css → skin.css (токены) → family-stone.css.
   Палитра выведена из материала объекта (реконструированная классика на
   Гоголевском бульваре): кремовая штукатурка #F4EEE1 — канва; песчаник
   цоколя #D3C4A5 / #E4D9C0 — вторые поверхности; чугун ковки #24201A —
   текст, тёмные полосы, футер; бронза лепнины в тени #7E5C33 — единственный
   акцент (CTA, ссылки, линейки). Насыщенность акцента < 80%.
   Контраст (contrast.mjs): iron/cream 12.9 · bronze/cream 4.9 (AA) ·
   cream/iron 12.4 · white/bronze 6.1 · stone/iron 5.2 (эйбры на тёмном).
   Бронза на тёмных полосах — только декор (линейки), не текст (2.6).
   Радиус-система: 2px везде, перекрыты хардкоды канона (input 6px,
   card_image 16px). z-index шкала: header 9 (канон) · st-hero img 0 /
   контент 1. Тени не используются, поверхность плоская.
   ======================================================================== */

/* ---- Шрифты: self-hosted woff2, cyrillic + latin ---- */
@font-face { font-family: 'Playfair Display'; font-weight: 700; font-style: normal; font-display: swap;
  src: url('/assets/fonts/PlayfairDisplay/playfair-display-cyrillic-700-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Playfair Display'; font-weight: 700; font-style: normal; font-display: swap;
  src: url('/assets/fonts/PlayfairDisplay/playfair-display-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Playfair Display'; font-weight: 800; font-style: normal; font-display: swap;
  src: url('/assets/fonts/PlayfairDisplay/playfair-display-cyrillic-800-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Playfair Display'; font-weight: 800; font-style: normal; font-display: swap;
  src: url('/assets/fonts/PlayfairDisplay/playfair-display-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Golos Text'; font-weight: 400; font-style: normal; font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 400; font-style: normal; font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Golos Text'; font-weight: 500; font-style: normal; font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-cyrillic-500-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 500; font-style: normal; font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Golos Text'; font-weight: 600; font-style: normal; font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-cyrillic-600-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 600; font-style: normal; font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---- Токены: перекрытие канона + собственные ---- */
:root {
  --color-primary-text: #24201A;
  --color-secondary-text: #5D5545;
  --color-secondary: #7E5C33;
  --color-accent: #7E5C33;
  --color-grey: #C6B999;
  --color-light: #FAF5EA;
  --color-grey-bg: #EFE8DA;
  --color-stroke: #9A8D72;
  --opacity-blind-field: rgba(255, 255, 255, 0.66);
  --border-radius: 2px;
  --border-radius-min: 2px;
  --border-radius-arrow: 2px;
  --font-family: 'Golos Text', sans-serif;

  --skin-cream: #F4EEE1;
  --skin-cream-2: #FAF5EA;
  --skin-stone: #D3C4A5;
  --skin-stone-soft: #E4D9C0;
  --skin-iron: #24201A;
  --skin-iron-2: #2D2820;
  --skin-bronze: #7E5C33;
  --skin-bronze-deep: #654A28;
  --skin-white: #FFFFFF;
  --skin-font-display: 'Playfair Display', serif;
}

body { background-color: var(--skin-cream); color: var(--color-primary-text); }

/* ---- Заголовки секций — дисплейный сериф ---- */
h1, h2, h3, .title-color, .title-large {
  font-family: var(--skin-font-display);
  font-weight: 700;
  text-wrap: balance;
}
h2.title-color { color: var(--color-primary-text); }

/* ---- Шапка: светлая, чугунный текст (канонный header-white рассчитан
       на тёмный фулбл-hero — нейтрализуем под светлый мастхед) ---- */
header, header.header-white {
  background-color: var(--skin-cream);
  border-bottom: 1px solid rgba(36, 32, 26, 0.14);
}
header.header-white li > a, header.header-white li > p,
header.header-white a, header.header-white p {
  color: var(--color-primary-text);
}
header.header-white li > a.active, header.header-white li > p.active {
  color: var(--skin-bronze);
}
header.header-white svg g path { fill: var(--color-primary-text); }
header.header-white .burger .burger__line {
  background: var(--color-primary-text);
}
.header-white .header-logo-white { filter: none; }
/* Канонная скролл-плашка: без белого блюра, в тон канвы */
header.fixed, header.static {
  background: rgba(244, 238, 225, 0.94);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 1px 0 rgba(36, 32, 26, 0.14);
}
header.fixed li > a.active, header.static li > a.active { color: var(--skin-bronze); }

/* ---- Кнопки канона — бронза ---- */
.btn, .btn-secondary {
  border-radius: var(--border-radius);
}
.btn-secondary {
  background-color: var(--skin-bronze);
  border-color: var(--skin-bronze);
  color: var(--skin-white);
}
.btn-secondary:hover { background-color: var(--skin-bronze-deep); border-color: var(--skin-bronze-deep); }

/* ---- Радиус-хардкоды канона → 2px ---- */
.input-basic input, .input-basic textarea { border-radius: var(--border-radius); }
.card .card_image { border-radius: var(--border-radius) var(--border-radius) 0 0; }

/* ---- Ссылки и метро-подсветка ---- */
a { color: inherit; }
.contacts_metro { color: var(--skin-bronze); }

/* ---- Гистограмма ставок (about-rate): бронза на камне ---- */
.histogram .stand { background-color: var(--skin-bronze); }
.histogram .stand_wrapper { background-color: var(--skin-stone-soft); }

/* ---- Футер: чугун ---- */
footer { background-color: var(--skin-iron); }

/* ---- Цифры в канонных таблицах и карточках ---- */
.office-tables, .card, .histogram { font-variant-numeric: tabular-nums; }

/* ---- Переключатель аренда / продажа в секции офисов ---- */
.office-heading {
  font-family: var(--skin-font-display);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 24px;
}
.office-heading .office-deal-nav {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35em;
}
.office-heading .office-deal-nav__sep,
.office-heading .office-deal-nav__suffix,
.office-heading .office-deal-nav a {
  display: inline;
  font: inherit;
  text-decoration: none;
}
.office-heading .office-deal-nav__sep,
.office-heading .office-deal-nav__suffix {
  color: var(--color-secondary-text);
}
.office-heading .js-office-btn {
  color: var(--color-secondary-text);
  font-size: inherit;
  font-weight: 500;
}
.office-heading .js-office-btn.is-active {
  color: var(--skin-bronze);
  font-size: inherit;
  font-weight: 700;
}
.office-heading__phone {
  display: block;
  margin-top: 12px;
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: 400;
}

/* ---- Согласие на обработку ПД ---- */
.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.form-consent__input {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin: 0.2rem 0 0;
}
.form-consent__label {
  margin: 0;
  line-height: 1.45;
  flex: 1;
}
.form-consent .form-consent__label.form-policy {
  margin-top: 0;
}
.form-consent.input-error .form-consent__label {
  color: #f00038;
}
@media (max-width: 767.98px) {
  .form-consent .form-consent__label.form-policy {
    text-align: left;
  }
}
