/* ============================================================
   tokens.css — единствен източник за цветове, шрифтове, ритъм
   Палитрата е наследена от прототипа (S4). Не се дублира другаде.
   ============================================================ */

/* ШРИФТОВЕТЕ ЖИВЕЯТ ПРИ НАС, ОТ 09.09.2026.

   Дотук всяка страница ги теглеше от `fonts.googleapis.com` и
   `fonts.gstatic.com` при всяко отваряне. За да го направи, браузърът на
   посетителя изпраща на Google своя IP адрес, а той е лични данни. Случваше се
   преди посетителят да е натиснал каквото и да било, тоест не можеше да се
   обоснове със съгласие, а по-щадящата алтернатива е точно тази тук. Има и
   съдебна практика по същото: Landgericht München I, 20.01.2022, 3 O 17493/20.
   Сега сайтът не се свързва с Google изобщо.

   Блокът долу НЕ се пише на ръка. Прави го `scripts/lokalni_shriftove.py`:
   сваля файловете в `assets/fonts` и пренаписва всичко между двата маркера.
   Ако някой ден потрябва ново тегло или нов шрифт, той се добавя в адреса в
   самия скрипт и скриптът се пуска пак.

   ЗАПАЗЕНО ОТ СТАРОТО ОБЯСНЕНИЕ, защото причината още важи: кирилицата на
   Archivo НЕ идва от обичайната доставка. Google не я дава във вариативния
   файл на този шрифт, само латиница, и без нея „ХРИСТОВА“ в hero-то и
   „Лора Христова“ в горния надпис падат безшумно на системен шрифт с тежест
   300. Затова трите тегла, които сайтът ползва (300, 600 и 700), идват от
   заобиколния текстов маршрут на Google и вече също стоят при нас. Местата,
   които ги ползват, пазят и истинско font-weight като подсигуряване.

   Подмножествата са три: латиница, разширена латиница и кирилица. Гръцкото и
   виетнамското отпадат, няма ги на сайта. Разширената латиница ОСТАВА, тя носи
   „Otepää“, „Östersund“ и другите чужди имена. Всеки файл пази своя
   unicode-range, тоест браузърът тегли само това, което страницата ползва:
   български посетител не сваля разширената латиница, английски не сваля
   кирилицата. */
/* ==== ШРИФТОВЕТЕ, СВАЛЕНИ ЛОКАЛНО, пише се от scripts/lokalni_shriftove.py ==== */
@font-face{
  font-family:'Archivo';
  font-style:italic;
  font-weight:300 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(../assets/fonts/archivo-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Archivo';
  font-style:italic;
  font-weight:300 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(../assets/fonts/archivo-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:300 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(../assets/fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:300 900;
  font-stretch:62% 125%;
  font-display:swap;
  src:url(../assets/fonts/archivo-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Cormorant';
  font-style:italic;
  font-weight:300 600;
  font-display:swap;
  src:url(../assets/fonts/cormorant-italic-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Cormorant';
  font-style:italic;
  font-weight:300 600;
  font-display:swap;
  src:url(../assets/fonts/cormorant-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Cormorant';
  font-style:italic;
  font-weight:300 600;
  font-display:swap;
  src:url(../assets/fonts/cormorant-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Cormorant';
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url(../assets/fonts/cormorant-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Cormorant';
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url(../assets/fonts/cormorant-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Cormorant';
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url(../assets/fonts/cormorant-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../assets/fonts/ibm-plex-mono-400-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(../assets/fonts/ibm-plex-mono-400-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../assets/fonts/ibm-plex-mono-500-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../assets/fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(../assets/fonts/ibm-plex-mono-500-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Onest';
  font-style:normal;
  font-weight:200 900;
  font-display:swap;
  src:url(../assets/fonts/onest-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* ==== край на шрифтовете ==== */

:root{
  /* --- Тъмна основа (фото секции, hero) --- */
  --ink:#0A1216; --ink2:#101C22; --ink3:#16262E;
  --frost:#EAF0F2; --steel:#8496A0;
  --line:rgba(234,240,242,.13);

  /* --- Светла основа (изчистени секции, „Моят път") --- */
  --snow:#EFF3F4;            /* светъл фон */
  --paper:#FFFFFF;
  --ink-on-snow:#0C1418;     /* текст на светло */
  --steel-dk:#5A6B74;        /* приглушен текст на светло */
  --line-dk:rgba(12,20,24,.14);
  /* Чисто черна косъмна линия, добавена 27.08.2026 за разделителите между
     кадрите в лентата „Отвъд пистата". Нарочно НЕ е --ink-on-snow: той е
     тъмносиньо-зелен и до самата снимка се чете като избеляло, а искането
     е линиите да са черни и фини, точно както при janniksinner.com, където
     са измерени като rgb(0,0,0). */
  --line-cherna:#000000;

  /* --- Акценти --- */
  --teal:#1B9C89; --bronze:#C08552;
  /* Бронз за ТЕКСТ върху светъл фон, добавен 26.08.2026. Обикновеният --bronze
     върху бяло дава контраст 3,1 към 1 и пада под нормата 4,5 за дребен текст.
     Този е потъмнен до 4,65 към 1, същият тон. За линии и точки, където няма
     изискване за контраст, си остава --bronze. */
  --bronze-ink:#9A6A41;
  --gold:#C9A24B; --silver:#B8C0C6;

  /* --- Шрифт --- */
  /* КИРИЛИЦАТА ИДВА ОТ ONEST, 09.09.2026.

     Archivo няма нито една кирилска буква. Проверено в таблицата cmap на самия
     файл от хранилището на автора: 653 кодови точки, нула кирилски, цялата
     българска азбука липсва. Google също обявява за него само latin, latin-ext
     и vietnamese. Дотогава всеки кирилски надпис на сайта се рисуваше със
     системния шрифт на устройството, различен на Mac, Windows и Android, и
     точно това делеше текста от заглавията.

     Решението е верига, не подмяна: Archivo стои пръв и печели всяка латинска
     буква, а Onest се включва сам само където Archivo няма глиф, тоест при
     кирилицата. Английската версия на сайта не се променя изобщо.

     Onest е избран пред Golos Text и Inter по измеримо съображение, не по вкус:
     целият основен текст на сайта е тегло 300, а Golos Text започва от 400,
     тоест кирилицата щеше да излиза по-плътна от латиницата в един и същи ред.
     Onest покрива 200 до 900 и е вариативен. */
  --display:"Archivo","Onest",system-ui,sans-serif; /* заглавия, навигация */
  /* ДИСПЛЕЙНИЯТ СЕРИФ МИНА ОТ PLAYFAIR НА CORMORANT, 28.08.2026.
     Причината е тегло. Playfair започва от 400 и по-тънък няма. Синер
     ползва Canela в тегло 100 и точно косъмът прави надписите му да
     изглеждат модерни. Cormorant стига до 300 и е най-тънкото, което може
     да се вземе безплатно И с кирилица. Проверени и отхвърлени за липса
     на кирилица: Fraunces, Instrument Serif, Bodoni Moda.
     Cormorant вече беше на сайта за числата в лентата с годините от
     26.08, тоест това не е нов шрифт, а разширяване на вече направен
     избор. Затова --script и --script-light сочат едно и също семейство:
     второто име се пази, защото значи „тук се ползва тегло 300". */
  --script:"Cormorant",Georgia,serif;               /* елегантен серифен дисплей, тънък, с кирилица */
  --script-light:"Cormorant",Georgia,serif;         /* тънък сериф за едри числа, добавен 26.08.2026 за лентата с
                                                        годините на началната страница — Playfair Display няма
                                                        тегло под 400, а Cormorant слиза до 300, истински тънък
                                                        сериф, не само по-светъл grotesk. Част от палитрата на
                                                        оригиналния прототип S4, връща се тук нарочно за този момент. */
  --mono:"IBM Plex Mono",ui-monospace,monospace;    /* малки надписи, години */

  /* --- Ритъм и рамка --- */
  --pad:clamp(20px,5vw,64px);
  --maxw:1200px;
  --gap:clamp(24px,4vw,56px);
  --radius:2px;

  /* --- Съотношения на медийните слотове --- */
  --ratio-hero:16 / 9;
  --ratio-portrait:3 / 4;
  --ratio-gallery:4 / 3;

  /* --- Движение (бавно и скъпо, не бързо и евтино) --- */
  --ease:cubic-bezier(.22,.61,.36,1);
  --reveal-dur:1100ms;
  --reveal-shift:26px;
}
