/* ==========================================================================
   Типографика по руководству по фирменному стилю «Chronos Meter»

   Шкала построена от Root (16) с коэффициентом φ ≈ 1.618, значения из
   руководства переносятся в веб один к одному: Root 16 pt → 16 px, что
   совпадает со стандартным размером текста в браузере.

   Стиль   Начертание          Кегль   Интерлиньяж (стандарт / ёмко)
   H0      Bold                110     110      —
   H1      Bold                 68      70      —
   H2      Bold                 42      45      43
   H3      Medium               26      30      28
   Deck    Medium               21      25      23
   Root    Regular              16      20      18
   Body    Regular              13      17
   Note    Light                10      13
   Fine    Light                 8      11
   ========================================================================== */

:root {
    /* кегли */
    --t-h0: 110px;
    --t-h1: 68px;
    --t-h2: 42px;
    --t-h3: 26px;
    --t-deck: 21px;
    --t-root: 16px;
    --t-body: 13px;
    --t-note: 10px;
    --t-fine: 8px;

    /* интерлиньяж, режим «Стандарт» */
    --lh-h0: 110px;
    --lh-h1: 70px;
    --lh-h2: 45px;
    --lh-h3: 30px;
    --lh-deck: 25px;
    --lh-root: 20px;
    --lh-body: 17px;
    --lh-note: 13px;
    --lh-fine: 11px;

    /* интерлиньяж, режим «Ёмко» — для больших текстов и таблиц */
    --lh-h2-tight: 43px;
    --lh-h3-tight: 28px;
    --lh-deck-tight: 23px;
    --lh-root-tight: 18px;

    /* отступы между блоками, кратные Root */
    --gap-h1-h2: 48px;   /* 3 × Root */
    --gap-h2-h3: 32px;   /* 2 × Root */
    --gap-h3-root: 24px; /* 1.5 × Root */
    --gap-root-note: 16px; /* 1 × Root */

    /* начертания */
    --fw-extralight: 200;
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --fw-extrabold: 800;
}

/* Мобильные экраны: шкала сохраняет пропорции, но крупные кегли уменьшены —
   заголовок в 68 px на телефоне не читается. */
@media (max-width: 1100px) {
    :root {
        --t-h0: 64px;  --lh-h0: 66px;
        --t-h1: 44px;  --lh-h1: 48px;
        --t-h2: 32px;  --lh-h2: 36px;
        --t-h3: 22px;  --lh-h3: 27px;
        --t-deck: 19px; --lh-deck: 24px;
        --gap-h1-h2: 36px;
        --gap-h2-h3: 26px;
    }
}
@media (max-width: 600px) {
    :root {
        --t-h0: 44px;  --lh-h0: 48px;
        --t-h1: 32px;  --lh-h1: 38px;
        --t-h2: 25px;  --lh-h2: 30px;
        --t-h3: 20px;  --lh-h3: 26px;
        --t-deck: 17px; --lh-deck: 23px;
        --gap-h1-h2: 28px;
        --gap-h2-h3: 22px;
    }
}

/* -------------------------------------------------------------------------
   Базовый текст: Root
   ------------------------------------------------------------------------- */
body {
    font-family: "Roboto", Arial, sans-serif;
    font-size: var(--t-root);
    line-height: var(--lh-root);
    font-weight: var(--fw-regular);
}

/* -------------------------------------------------------------------------
   Стили шкалы. Их можно ставить и вручную на любой блок в конструкторе.
   ------------------------------------------------------------------------- */
.t-h0, .cm-h0 .elementor-heading-title {
    font-size: var(--t-h0); line-height: var(--lh-h0);
    font-weight: var(--fw-bold) !important;
}
.t-h1, .cm-h1 .elementor-heading-title {
    font-size: var(--t-h1); line-height: var(--lh-h1);
    /* начертание задаём принудительно: глобальная типографика Elementor
       ставит собственный вес всем заголовкам */
    font-weight: var(--fw-bold) !important;
}
.t-h2, .cm-h2 .elementor-heading-title {
    font-size: var(--t-h2); line-height: var(--lh-h2);
    font-weight: var(--fw-bold) !important;
}
.t-h3, .cm-h3 .elementor-heading-title {
    font-size: var(--t-h3); line-height: var(--lh-h3);
    font-weight: var(--fw-medium) !important;
}
.t-deck, .cm-lead {
    font-size: var(--t-deck); line-height: var(--lh-deck); font-weight: var(--fw-medium);
}
.t-root { font-size: var(--t-root); line-height: var(--lh-root); }
.t-body { font-size: var(--t-body); line-height: var(--lh-body); }
.t-note { font-size: var(--t-note); line-height: var(--lh-note); font-weight: var(--fw-light); }
.t-fine { font-size: var(--t-fine); line-height: var(--lh-fine); font-weight: var(--fw-light); }

/* режим «Ёмко» — для длинных текстов и таблиц */
.t-tight .t-h2, .t-tight.cm-h2 .elementor-heading-title { line-height: var(--lh-h2-tight); }
.t-tight .t-h3, .t-tight.cm-h3 .elementor-heading-title { line-height: var(--lh-h3-tight); }
.t-tight .t-deck { line-height: var(--lh-deck-tight); }
.t-tight, .t-tight .t-root { line-height: var(--lh-root-tight); }

/* -------------------------------------------------------------------------
   Отступы между блоками — как в руководстве
   ------------------------------------------------------------------------- */
.cm-h1 { margin-bottom: 0; }
.cm-h1 + * { margin-top: 0; }
.cm-section .cm-h2 .elementor-heading-title { margin-bottom: var(--gap-h2-h3); }
.cm-h3 .elementor-heading-title { margin-bottom: var(--gap-h3-root); }
.cm-lead { margin-bottom: var(--gap-h3-root); }

/* охранное поле внутри блока — не меньше половины кегля */
.cm-card__body, .cm-aside, .cm-formcard > .elementor-widget-wrap { --guard: 8px; }
