/* ============================================================
   by.brandbook — базовые токены (бренд-независимые)
   Общие для fundament.by и stroypark.by. Префикс --ds-.

   Порядок подключения на сайте:
     tokens.base.css → palette.<brand>.css → components.css
   Цвета (--ds-bg, --ds-text, --ds-brand …) задаёт palette.<brand>.css:
   без него body ниже остаётся без цвета. Подробности — README.md.

   Шрифты подключает сайт (Onest, Golos Text, IBM Plex Mono).
   ============================================================ */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ds-bg);color:var(--ds-text);font-family:var(--ds-font-text);font-size:var(--ds-t-body);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-family:var(--ds-font-head);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

:root{
  /* --- типографика --- */
  --ds-font-head:"Onest Variable","Onest","Helvetica Neue",Arial,sans-serif;
  --ds-font-text:"Golos Text Variable","Golos Text","Helvetica Neue",Arial,sans-serif;
  --ds-font-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --ds-t-hero:clamp(32px,4.6vw,60px);
  --ds-t-h1:clamp(27px,3.2vw,44px);
  --ds-t-h2:clamp(22px,2.3vw,32px);
  --ds-t-h3:clamp(18px,1.4vw,21px);
  --ds-t-lead:clamp(17px,1.25vw,20px);
  --ds-t-body:16.5px;
  --ds-t-small:14px;
  --ds-t-label:11px;

  /* --- шаг сетки 4px --- */
  --ds-s1:4px;  --ds-s2:8px;  --ds-s3:12px; --ds-s4:16px;
  --ds-s5:24px; --ds-s6:32px; --ds-s7:48px; --ds-s8:64px;
  --ds-s9:96px; --ds-s10:128px; --ds-s11:160px;

  /* --- сетка --- */
  --ds-container:1280px;
  --ds-gutter:24px;
  --ds-margin:clamp(20px,5vw,64px);

  /* --- пропорции изображений --- */
  --ds-r-hero:16/9;
  --ds-r-hero-m:4/5;
  --ds-r-card:3/2;
  --ds-r-portrait:4/5;
  --ds-r-plan:4/3;

  /* --- форма и движение --- */
  --ds-radius:2px;
  --ds-ease:cubic-bezier(.2,.7,.2,1);
  --ds-dur:200ms;

  /* --- оверлей (скрим поверх фото) --- */
  --ds-overlay:rgb(0 0 0 / .55);
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
