/**
 * Base typography
 */

body {
    font-family: var(--font-base);
    font-size: var(--size-step-0);
    color: var(--color-text);
    background-color: var(--color-bg);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-primary-800);
}

h1 { font-size: var(--size-step-4); }
h2 { font-size: var(--size-step-3); }
h3 { font-size: var(--size-step-2); }
h4 { font-size: var(--size-step-1); }

p + p {
    margin-top: var(--space-m);
}

a {
    color: var(--color-primary-600);
    transition: color var(--transition-base);
}

a:hover {
    color: var(--color-primary-800);
}

blockquote {
    border-left: 3px solid var(--color-primary-400);
    padding-left: var(--space-m);
    font-style: italic;
    color: var(--color-text-light);
}

code,
pre {
    font-family: var(--font-mono);
}

code {
    background: var(--color-bg-alt);
    padding: 0.125em 0.375em;
    border-radius: 3px;
    font-size: 0.9em;
}

pre {
    background: var(--color-bg-alt);
    padding: var(--space-m);
    overflow-x: auto;
    border-radius: 4px;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
