:root {
    --color-primary-text: var(--color-darker-gray);
    --color-secondary-text-dark: rgba(0, 0, 0, 0.4);
    --color-secondary-text-light: rgba(255, 255, 255, 0.64);
    --color-secondary-text: var(--color-secondary-text-dark);
    --color-white: #fff;
    --color-lighter-gray: #f6f6f6;
    --color-light-gray: #e6e6e6;
    --color-mid-gray: #ccc;
    --color-dark-gray: #444;
    --color-darker-gray: #15171a;
    --color-black: #000;
    --color-border: rgba(0, 0, 0, 0.08);
    --font-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
    --font-serif: Georgia, serif;
    --font-mono: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
    --gap: clamp(2rem, 1.82vw + 1.27rem, 3.6rem);
    --head-nav-gap: 28px;
    --header-spacing: 80px;
}

:root.has-light-text {
    --color-secondary-text: var(--color-secondary-text-light);
    --color-lighter-gray: rgba(0, 0, 0, 0.1);
    --color-darker-gray: #fff;
    --color-border: rgba(255, 255, 255, 0.2);
}

html {
    font-size: 62.5%;
}

body {
    font-family: var(--gh-font-body, var(--font-sans));
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--color-primary-text);
    background-color: var(--color-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    height: auto;
}

a {
    color: var(--color-darker-gray);
    text-decoration: none;
}

a:hover {
    opacity: 0.8;
}

sub, sup {
    line-height: 1;
}

:is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--gh-font-heading, var(--font-sans));
    line-height: 1.2;
    color: var(--color-darker-gray);
    letter-spacing: -0.01em;
}
