*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html{
    scroll-behavior:smooth;
}
body {
    font-family: var(--font-primary);
    font-size: var(--text-md);
    font-weight: var(--font-regular);
    color: var(--color-text);
    background: var(--color-background);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
main {
    margin-top: var(--header-height);
}
section{
    padding: var(--space-7) 0;
    scroll-margin-top: calc(var(--header-height) + var(--space-4));    
}
img {
    display: block;
    max-width: 100%;
    height: auto;
}
a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
}
ul,
ol {
    list-style: none;
    padding-left: 1.2rem;
}
li {
    position: relative;
    margin-bottom: .75rem;
}
li::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: .55em;
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--color-secondary);
}
button {
    border: none;
    background: none;
    font: inherit;
    cursor: pointer;
}
input,
textarea,
select,
button {
    font: inherit;
}
::selection{
    background:var(--color-secondary);
    color:var(--color-white);
}
:focus-visible{
    outline:3px solid var(--color-secondary);
    outline-offset:4px;
}
@media(prefers-reduced-motion:reduce){
    *{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}
