*, *::before, *::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: var(--font-body);
    background-color: var(--color-void-black);
    color: var(--color-chalk-white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: var(--space-4);
    line-height: 1.1;
    font-weight: 700;
}

h1 { font-size: var(--text-6xl); }
h2 { font-size: var(--text-5xl); }
h3 { font-size: var(--text-4xl); }
h4 { font-size: var(--text-2xl); }

@media (min-width: 768px) {
    h1 { font-size: var(--text-8xl); }
    h2 { font-size: var(--text-6xl); }
}

p {
    margin-top: 0;
    margin-bottom: var(--space-4);
}

a {
    color: var(--color-kinematic-red);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--color-chalk-white);
}

img, svg {
    max-width: 100%;
    height: auto;
    display: block;
}

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