:root {
    --cm-font-heading: "Manrope", "Inter", sans-serif;
    --cm-font-body: "Inter", sans-serif;
    --cm-type-ink: #011931;
    --cm-type-muted: #53647a;
    --cm-type-h1: 2rem;
    --cm-type-h2: 1.75rem;
    --cm-type-h3: 1.5rem;
    --cm-type-h4: 1.25rem;
    --cm-type-h5: 1.125rem;
    --cm-type-h6: 1rem;
}

html {
    font-size: 16px;
}

:root {
    line-height: 1.4;
}

body {
    font-family: var(--cm-font-body);
    font-size: 1rem;
    line-height: 1.4;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
.cm-h1,
.cm-h2,
.cm-h3,
.cm-h4,
.cm-h5,
.cm-h6 {
    font-family: var(--cm-font-heading);
    font-weight: 600;
    line-height: 1.1;
    color: var(--cm-type-ink);
}

h1,
.cm-h1 { font-size: var(--cm-type-h1); }
h2,
.cm-h2 { font-size: var(--cm-type-h2); }
h3,
.cm-h3 { font-size: var(--cm-type-h3); }
h4,
.cm-h4 { font-size: var(--cm-type-h4); }
h5,
.cm-h5 { font-size: var(--cm-type-h5); }
h6,
.cm-h6 { font-size: var(--cm-type-h6); }

.cm-body-18-500,
.cm-body-18-400,
.cm-body-16-500,
.cm-body-16-400,
.cm-body-14-500,
.cm-body-14-400,
.cm-caption-12-400,
.cm-caption-12-500,
.cm-label-16-600,
.cm-label-14-600 {
    font-family: var(--cm-font-body);
    line-height: 1.4;
}

.cm-body-18-500,
.cm-body-18-400 { font-size: 1.125rem; }
.cm-body-16-500,
.cm-body-16-400,
.cm-label-16-600 { font-size: 1rem; }
.cm-body-14-500,
.cm-body-14-400,
.cm-label-14-600 { font-size: .875rem; }
.cm-caption-12-400,
.cm-caption-12-500 { font-size: .75rem; }
.cm-body-18-500,
.cm-body-16-500,
.cm-body-14-500,
.cm-caption-12-500 { font-weight: 500; }
.cm-body-18-400,
.cm-body-16-400,
.cm-body-14-400,
.cm-caption-12-400 { font-weight: 400; }
.cm-label-16-600,
.cm-label-14-600 { font-weight: 600; }
.cm-caption-12-400,
.cm-caption-12-500 { color: var(--cm-type-muted); }

body.home-design :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--cm-font-heading);
}

body.employer-portal :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--cm-font-heading);
}

@media (max-width: 639px) {
    :root {
        --cm-type-h1: 1.75rem;
        --cm-type-h2: 1.5rem;
    }
}
