:root {
    --site-font-body: 'Plus Jakarta Sans', sans-serif;
    --site-font-heading: 'Cal Sans', sans-serif;
}
body,button,input,textarea,select { font-family: var(--site-font-body); }
h1,h2,h3,h4,h5,h6,.c-heading,.c-subtitle,.c-footer__heading,.c-navbar nav,.c-navbar__burger { font-family: var(--site-font-heading); font-weight: 400; }
.c-navbar .c-actions,.c-navbar__socials { font-family: var(--site-font-body); }

/* Project type scale; visual heading classes are independent of HTML tags. */
body { font-size: 16px; font-weight: 600; line-height: 1.7; }
:where(.c-content__text, .c-query-item__text, .entry-content) { font-size: 16px; font-weight: 600; line-height: 1.7; }
:where(p, li) { line-height: inherit; }
.h-main { font-size: 64px; line-height: 1.05; }
.h-section { font-size: 48px; line-height: 1.15; }
.h-large { font-size: 40px; line-height: 1.2; }
.h-normal { font-size: 32px; line-height: 1.2; }
.h-small { font-size: 24px; line-height: 1.25; }
.h-vsmall { font-size: 20px; line-height: 1.25; }
@media (max-width: 1024px) {
    .h-main { font-size: 48px; }
    .h-section { font-size: 40px; }
    .h-large { font-size: 34px; }
    .h-normal { font-size: 28px; }
    .h-small { font-size: 22px; }
    .h-vsmall { font-size: 19px; }
}
@media (max-width: 600px) {
    body, :where(.c-content__text, .c-query-item__text, .entry-content) { font-size: 15px; }
    .h-main { font-size: 36px; }
    .h-section { font-size: 32px; }
    .h-large { font-size: 28px; }
    .h-normal { font-size: 24px; }
    .h-small { font-size: 20px; }
    .h-vsmall { font-size: 18px; }
}

/* Strong emphasis in editorial rich text. */
:is(.c-content__text, .c-query-item__text, .c-query-item__excerpt, .entry-content) strong {
    font-family: var(--site-font-body, 'Plus Jakarta Sans', sans-serif);
    font-weight: 800;
}