/* Опора — токены дизайн-системы. Мир: стерилизационная зона.
   Крафт-пакет вскрывают при пациенте: бумага, сталь и одна индикаторная полоса. */

@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-300-cyrillic.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-300-latin.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-400-cyrillic.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-400-latin.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-500-cyrillic.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-500-latin.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-600-cyrillic.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Geologica';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/geologica-600-latin.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}

@font-face {
  font-family: 'Golos Text';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/golos-400-cyrillic.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/golos-400-latin.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Golos Text';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/golos-500-cyrillic.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/golos-500-latin.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Golos Text';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/golos-600-cyrillic.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  src: url('/obraztsy/stomatologiya-opora/assets/fonts/golos-600-latin.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-201A, U+201C-201E, U+2026;
}

:root {
  /* Поверхности: бумага и сталь */
  --paper:        #eef0ec;  /* канва: медицинская упаковочная бумага */
  --paper-deep:   #e2e6e0;  /* вложенная поверхность на светлом */
  --paper-white:  #f9faf8;  /* карточка поверх канвы */
  --steel:        #1b2320;  /* тёмная комната: герой, карта зубов, подвал */
  --steel-lift:   #252e2a;  /* приподнятая панель внутри тёмной комнаты */
  --steel-deep:   #131917;  /* самая глубокая поверхность */

  /* Текст: тонируется от канвы, серого нет ни одного */
  --ink:          #131816;
  --ink-soft:     #47534e;
  --ink-faint:    #5f6c66;
  --ink-on-steel: #e6ebe6;
  --ink-on-steel-soft: #9daaa4;

  /* Границы вместо теней */
  --line:         #ccd3cb;
  --line-strong:  #b3bcb1;
  --line-steel:   #333f3a;

  /* Единственный хроматический цвет — цвет индикатора стерилизации.
     Появляется только на главном действии, активном состоянии и подтверждении. */
  --indicator:      #7a2f52;
  --indicator-deep: #5d2340;
  --indicator-lit:  #d97fa4;  /* тот же индикатор на тёмной стали */
  --indicator-wash: #f0e2e8;  /* подложка под меткой, только на светлом */

  /* Шрифты */
  --font-display: 'Geologica', 'Segoe UI', system-ui, sans-serif;
  --font-text:    'Golos Text', 'Segoe UI', system-ui, sans-serif;
  --font-num:     ui-monospace, 'SF Mono', 'Cascadia Mono', Consolas, monospace;

  /* Шкала кеглей */
  --text-display:    clamp(2.25rem, 1.4rem + 3.6vw, 3.75rem);
  --text-h1:         clamp(1.9rem, 1.35rem + 2.3vw, 2.85rem);
  --text-h2:         clamp(1.45rem, 1.15rem + 1.3vw, 2rem);
  --text-h3:         clamp(1.15rem, 1.05rem + 0.5vw, 1.35rem);
  --text-lead:       clamp(1.05rem, 1rem + 0.35vw, 1.2rem);
  --text-body:       1rem;
  --text-sm:         0.9375rem;
  --text-xs:         0.875rem;

  /* Ритм. Базовая единица 8 */
  --s-1:   8px;
  --s-2:  16px;
  --s-3:  24px;
  --s-4:  40px;
  --s-5:  64px;
  --s-6:  96px;
  --s-7: 128px;

  --radius-s:    4px;
  --radius-m:   12px;
  --radius-pill: 999px;

  --page:   1180px;
  --column:  720px;

  --shadow-panel: 0 18px 46px -28px rgba(10, 18, 15, 0.55);

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --fast: 160ms;
  --slow: 320ms;
}
