/* Explain: Base page styles, resets, and global background effects. */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    color: var(--text-color);
    scroll-padding-top: 92px;
    font-size: 93.75%;
}

body {
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(18, 70, 124, 0.16), transparent 28rem),
        radial-gradient(circle at 88% 6%, rgba(6, 182, 212, 0.14), transparent 26rem),
        var(--background-color);
    color: var(--text-color);
    font-family: var(--font-body);
    font-weight: 500;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4 {
    color: var(--text-color);
    letter-spacing: -0.01em;
}

button,
a,
select {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

::selection {
    background: var(--accent-color);
    color: #ffffff;
}