/* --- Main Imports --- */
@import url('variables.css');
@import url('utilities.css');
@import url('layout.css');
@import url('components.css');

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

body {
    background-color: var(--color-bg);
    color: var(--color-text-main);
    font-family: var(--font-sans);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;

    /* Structural Page Enforcer */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-serif {
    font-family: var(--font-serif);
    line-height: 1.2;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-fast);
}

ul {
    list-style: none;
}

button,
input {
    font-family: inherit;
    border: none;
    outline: none;
}

button {
    cursor: pointer;
}

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