/* Типографика Vostok_WeMake.
   Шкала снята с витрины (Geometria). Для новых страниц:
   — семантические h1–h4 внутри main;
   — утилиты .type-* если нужен тот же вид на другом теге.
   Существующие BEM-классы главной не ломаются: их селекторы специфичнее. */

:root {
    --font-sans: Geometria, Helvetica, Arial, sans-serif;

    --font-regular: 400;
    --font-medium: 500;
    --font-bold: 700;
    --font-heavy: 900;

    --color-text: #000;
    --color-text-muted: #8f8f8f;
    --color-link: #1d4e9e;
    --color-link-hover: #1266b1;

    /* Display — слоган */
    --type-display-size: 28px;
    --type-display-lh: 36px;
    --type-display-weight: var(--font-heavy);

    /* XL — hero, промо, контакты */
    --type-xl-size: 32px;
    --type-xl-lh: 38px;
    --type-xl-weight: var(--font-medium);

    /* L — заголовок секции */
    --type-l-size: 24px;
    --type-l-lh: 30px;
    --type-l-weight: var(--font-medium);

    /* M — подзаголовок, название карточки */
    --type-m-size: 16px;
    --type-m-lh: 24px;
    --type-m-weight: var(--font-medium);

    /* S — мелкий заголовок блока */
    --type-s-size: 16px;
    --type-s-lh: 24px;
    --type-s-weight: var(--font-medium);

    /* Текст */
    --type-body-l-size: 16px;
    --type-body-l-lh: 24px;
    --type-body-size: 16px;
    --type-body-lh: 24px;
    --type-body-s-size: 14px;
    --type-body-s-lh: 22px;
    --type-caption-size: 12px;
    --type-caption-lh: 20px;
}

@media (min-width: 768px) {
    :root {
        --type-display-size: 56px;
        --type-display-lh: 62px;

        --type-xl-size: 36px;
        --type-xl-lh: 42px;

        --type-m-size: 18px;
        --type-m-lh: 26px;

        --type-s-size: 18px;
        --type-s-lh: 26px;

        --type-body-l-size: 18px;
        --type-body-l-lh: 28px;
    }
}

@media (min-width: 1280px) {
    :root {
        --type-display-size: 80px;
        --type-display-lh: 90px;

        --type-xl-size: 44px;
        --type-xl-lh: 52px;
    }
}

.type-display,
.type-xl,
.type-l,
.type-m,
.type-s,
.type-body-l,
.type-body,
.type-body-s,
.type-caption {
    font-family: var(--font-sans);
    color: inherit;
    margin: 0;
}

.type-display {
    font-size: var(--type-display-size);
    line-height: var(--type-display-lh);
    font-weight: var(--type-display-weight);
}

.type-xl {
    font-size: var(--type-xl-size);
    line-height: var(--type-xl-lh);
    font-weight: var(--type-xl-weight);
}

.type-l {
    font-size: var(--type-l-size);
    line-height: var(--type-l-lh);
    font-weight: var(--type-l-weight);
}

.type-m {
    font-size: var(--type-m-size);
    line-height: var(--type-m-lh);
    font-weight: var(--type-m-weight);
}

.type-s {
    font-size: var(--type-s-size);
    line-height: var(--type-s-lh);
    font-weight: var(--type-s-weight);
}

.type-body-l {
    font-size: var(--type-body-l-size);
    line-height: var(--type-body-l-lh);
    font-weight: var(--font-regular);
}

.type-body {
    font-size: var(--type-body-size);
    line-height: var(--type-body-lh);
    font-weight: var(--font-regular);
}

.type-body-s {
    font-size: var(--type-body-s-size);
    line-height: var(--type-body-s-lh);
    font-weight: var(--font-regular);
}

.type-caption {
    font-size: var(--type-caption-size);
    line-height: var(--type-caption-lh);
    font-weight: var(--font-regular);
    color: var(--color-text-muted);
}

.type-muted {
    color: var(--color-text-muted);
}

/* Новые страницы: h1–h4 и p в main.
   BEM главной специфичнее и не меняется. Ссылки не трогаем — только .type-link. */
main h1 {
    font-size: var(--type-xl-size);
    line-height: var(--type-xl-lh);
    font-weight: var(--type-xl-weight);
    margin: 0 0 16px;
}

main h2 {
    font-size: var(--type-l-size);
    line-height: var(--type-l-lh);
    font-weight: var(--type-l-weight);
    margin: 0 0 16px;
}

main h3 {
    font-size: var(--type-m-size);
    line-height: var(--type-m-lh);
    font-weight: var(--type-m-weight);
    margin: 0 0 12px;
}

main h4,
main h5,
main h6 {
    font-size: var(--type-s-size);
    line-height: var(--type-s-lh);
    font-weight: var(--type-s-weight);
    margin: 0 0 8px;
}

main p {
    font-size: var(--type-body-size);
    line-height: var(--type-body-lh);
    font-weight: var(--font-regular);
}

.type-link {
    color: var(--color-link);
}

.type-link:hover {
    color: var(--color-link-hover);
}

/* Подвал: копирайт слева, WeMake справа на одной линии */
.page-footer__meta {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px 24px;
    width: 100%;
    margin: 32px 0 0;
    box-sizing: border-box;
}
.page-footer__meta > .page-footer__copyright {
    margin: 0;
    flex: 0 1 auto;
}
.page-footer__meta > .page-footer__credit {
    margin: 0 0 0 auto;
    text-align: right;
    flex: 0 1 auto;
}
.page-footer__meta > .page-footer__credit a {
    color: inherit;
    text-decoration: underline;
}
.page-footer__meta > .page-footer__credit a:hover {
    opacity: 0.85;
}
@media (max-width: 767px) {
    .page-footer__meta {
        flex-direction: column;
        align-items: flex-start;
    }
    .page-footer__meta > .page-footer__credit {
        margin-left: 0;
        text-align: left;
    }
}

.page-footer > .container > .footer-nav {
    padding-top: 0;
}

@media (min-width: 768px) {
    body > footer.page-footer > .container {
        padding-top: 24px;
    }
}

.page-footer > .container > .page-footer__bottom {
    padding: 0;
}
