/* =========================
   RESET
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    letter-spacing: -0.03em;
}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    letter-spacing: -0.03em;
}


html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
}

body {
    overflow-x: hidden;
}




html {
    scroll-behavior: smooth;
}

html.lenis {
    height: auto;
}

html.lenis.lenis-smooth {
    scroll-behavior: auto;
}

html.lenis.lenis-stopped {
    overflow: hidden;
}






@font-face {
    font-family: "Open Sans";
    src: url("../fonts/opensans.woff2") format("woff2");
    font-style: normal;
    font-weight: 300 600 800;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter.woff2") format("woff2");
    font-style: normal;
    font-weight: 300 600 800;
}



:root {
    --color-primary: #111111;
    --color-secondary: #666666;
    --color-muted: #888888;
    --color-border: #dddddd;
    --color-background: #f5f5f2;

    --page-exit-duration: 0.3s;
}


body {
    font-family: "Inter", sans-serif;
    color: var(--color-primary);
    background-color: var(--color-background);
    margin: 0;
    letter-spacing: -0.04em;

}

body.menu-open {
    overflow: hidden;
}





::selection {
    background-color: #000;
    color: #fff;
}






@media (prefers-reduced-motion: reduce) {

    main:not(.error-page) {
        animation: none;
    }

}







:root {
    --main-entry-duration: 1s;
}






