/* ============================================================
   Drinksy Catering — design tokens (prod)
   Источник: handoff/tokens.json + tokens.css, поднято под прод.
   Палитра подтверждена брендбуком.
   ============================================================ */

/* ---- Fonts ----------------------------------------------- */

/* Дисплей: TT Norms Black 900 — настоящий из брендбука. */
@font-face{
  font-family:'TT Norms';
  src:url('../font/TTNorms-Black.otf') format('opentype');
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* Текст: TT Norms (Regular/Medium/Bold).
   ВЕСА ЕЩЁ НЕ ПРИШЛИ. Файлы ожидаются в font/. ВАЖНО: ?v=1 обязателен —
   /font/* кэшируется на год, и БЕЗ версии 404 залипал в кэше браузера
   на год, так что вернувшиеся посетители не увидели бы шрифт даже после
   заливки. Когда файлы лягут в font/, поднять здесь ?v=1 -> ?v=2. */
@font-face{
  font-family:'TT Norms Text';
  src:url('../font/TTNorms-Regular.otf?v=2') format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'TT Norms Text';
  src:url('../font/TTNorms-Medium.otf?v=2') format('opentype');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'TT Norms Text';
  src:url('../font/TTNorms-Bold.otf?v=2') format('opentype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* Росчерк: ВРЕМЕННАЯ замена рукописного логотипа.
   Заменить на настоящий вектор-SVG «Drinksy» из брендбука (ТЗ п.9). */
@font-face{
  font-family:'Drinksy Scrawl';
  src:url('../font/ReenieBeanie.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  /* ---- Palette ---- */
  --ink:#0A0A0A;
  --indigo:#033284;
  --blue:#2A6FDB;
  --crimson:#A41927;
  --yellow:#FFD803;
  --orange:#E96A1B;
  --ivory:#F4F1E9;
  --ivory-deep:#EFE6D0;
  --white:#FFFFFF;
  --line:#D8D1BF;

  /* Производные читаемости */
  --on-dark:#FFFFFF;
  --on-dark-2:rgba(255,255,255,.66);
  --on-dark-3:rgba(255,255,255,.46);
  --on-dark-hair:rgba(255,255,255,.12);
  --on-light:#0A0A0A;
  --on-light-2:#54503F;
  --on-light-3:#6E6853; /* затемнён до AA (4.9:1 на ivory) для 10-12px меток */

  /* ---- Type families ---- */
  --font-display:'TT Norms','TT Norms Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-text:'TT Norms Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-scrawl:'Drinksy Scrawl',cursive;

  /* ---- Type scale (3 тира + мета, бюджет «гигант редко») ----
     MEGA только герой/манифест/финал/футер; всё остальное MID.
     Это лекарство от «крупно»: контраст кеглей, а не общий ор. */
  --t-mega:clamp(52px,8.5vw,128px);   /* герой h1, финал — редкая пунктуация */
  --t-display:clamp(38px,5.5vw,92px);  /* одна реплика манифеста, тайтл футера */
  --t-mid:clamp(27px,3.2vw,50px);      /* ДЕФОЛТ заголовков секций */
  --t-h2:clamp(27px,3.2vw,50px);       /* алиас -> MID (старые ссылки целы) */
  --t-h3:clamp(20px,2.1vw,29px);
  --t-stat:clamp(56px,8.5vw,120px);    /* числовая кульминация, если нужна */
  --t-quote:clamp(20px,2vw,29px);
  --t-lead:clamp(16px,1.2vw,18px);
  --t-body:15px;
  --t-meta:11px;                       /* технический мета-слой */
  --t-kicker:12px;
  --t-micro:9px;

  --tracking-display:-.02em;
  --tracking-kicker:.28em;
  --tracking-meta:.2em;

  /* ---- Spacing ---- */
  --page-x:clamp(24px,5vw,64px);
  --section-y:clamp(80px,13vh,150px);
  --gap:clamp(18px,2vw,30px);

  /* ---- Radius ---- */
  --r-pill:40px;
  --r-card:3px;
  --r-tag:2px;

  /* ---- Motion ---- */
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-draw:cubic-bezier(.7,0,.25,1);
  --ease-rise:cubic-bezier(.6,0,.2,1);
  --dur-fast:.3s;
  --dur:.6s;
  --dur-slow:1s;

  /* ---- Layout ---- */
  --maxw:1680px;
  --tap:44px;        /* минимальный тап-таргет, мобайл */
  --z-grain:90;
  --z-cursor:99999;

  /* ---- Grade (фильтр-система медиа: единая точка настройки) ----
     Обработка каждого слота задаётся КЛАССОМ на холдере
     (.media--bw / .media--color / .media--bw-hover), а сила эффекта — этими
     переменными. Крутится глобально отсюда, без правки разметки. */
  --grade-contrast:1.12;      /* контраст всех медиа */
  --grade-brightness:.74;     /* базовая яркость (ч/б по умолчанию) */
  --grade-bw-contrast:1.18;   /* ч/б: чуть выше контраст */
  --grade-color-sat:1.05;     /* цвет: лёгкая подача насыщенности */
  --grade-hover-bright:1;     /* bw-hover: яркость при переходе в цвет */
  --grade-hover-sat:1.12;     /* bw-hover: насыщенность при переходе в цвет */
  --grade-dim:.55;            /* приглушённый сосед (сегменты, ~0.6) */
  --grade-zoom:1.06;          /* лёгкий ken-burns зум на ховере */
  --grade-dur:.32s;           /* длительность перехода грейда (280–360ms) */
  --grain-opacity:.05;        /* интенсивность зерна (один слой-маска) */
}
