/* ===================================
Модуль типографики — Major Third (×1.25), px
Базовый шрифт: Montserrat (начертания 300,400,500,600,700)
===================================== */

/* --- Базовые настройки --- */
html,
body {
    font-family: "Montserrat", Arial, sans-serif;
    color: #000;
}

/* Абзац — базовый размер */
p {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}

small {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 300;
}

/* Заголовки — Десктоп (база p = 18px) */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 0.5em;
    line-height: 1.2;
    font-weight: 700;
}

h1 {
    font-size: 55px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

h2 {
    font-size: 44px;
    line-height: 1.25;
    letter-spacing: -0.005em;
}

h3 {
    font-size: 35px;
    line-height: 1.3;
    font-weight: 600;
}

h4 {
    font-size: 28px;
    line-height: 1.35;
    font-weight: 600;
}

h5 {
    font-size: 22px;
    line-height: 1.4;
    font-weight: 500;
}

h6 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
}

/* Списки */
ul,
ol {
    margin: 0 0 1em 1.2em;
    padding: 0;
}

li {
    font-size: inherit;
    line-height: 1.5;
}

strong,
b {
    font-weight: 600;
}

em,
i {
    font-style: italic;
}

/* Ссылки */
a {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 2px;
}

a:hover {
    text-decoration-thickness: 2px;
}

/* Дополнительные классы */
.lead {
    font-size: 22px;
    line-height: 1.5;
    font-weight: 400;
}

.muted {
    color: #666;
}

.caption {
    font-size: 13px;
    line-height: 1.25;
    font-weight: 300;
    margin: 0;
}

.eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* --- Планшет ≤1024px ---- */
@media (max-width: 1024px) {
    p {
        font-size: 16px;
    }

    small {
        font-size: 14px;
    }

    h1 {
        font-size: 49px;
    }

    h2 {
        font-size: 39px;
    }

    h3 {
        font-size: 31px;
    }

    h4 {
        font-size: 25px;
    }

    h5 {
        font-size: 20px;
    }

    h6 {
        font-size: 18px;
    }

    .lead {
        font-size: 20px;
    }

    .caption {
        font-size: 12px;
    }

    .eyebrow {
        font-size: 11px;
    }
}

/* --- Мобильные ≤768px --- */
@media (max-width: 768px) {
    p {
        font-size: 14px;
    }

    small {
        font-size: 12px;
    }

    h1 {
        font-size: 25px;
    }

    h2 {
        font-size: 25px;
    }

    h3 {
        font-size: 20px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 18px;
    }

    h6 {
        font-size: 16px;
    }

    .lead {
        font-size: 18px;
    }

    .caption {
        font-size: 12px;
    }

    .eyebrow {
        font-size: 10px;
    }
}

/* --- Вспомогательные отступы ---- */
.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-1 {
    margin-top: 0.25rem !important;
}

.mb-1 {
    margin-bottom: 0.25rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

/* ---------- Для заголовков в карточках и кнопках ---------- */
.card h3,
.card h4,
.button h3,
.button h4 {
    margin: 0;
}

/* ---------- Пример для fluid типографики (закомментировано)
:root { --h1: 55px; --h1-min: 43px; }
h1 { font-size: clamp(var(--h1-min), 6vw, var(--h1)); }
  */