/* ==========================================================
   GOOGLE FONTS
   (Later we'll replace these with self-hosted WOFF2 fonts.)
========================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@400;700&display=swap");

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

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

/* ==========================================================
   HTML
========================================================== */

html{

    scroll-behavior:smooth;
    scroll-padding-top:90px;
    -webkit-text-size-adjust:100%;

}

/* ==========================================================
   BODY
========================================================== */

body{

    font-family:var(--font-body);
    font-size:var(--fs-base);
    font-weight:var(--fw-normal);
    line-height:1.7;

    background:var(--bg-primary);
    color:var(--text-primary);

    overflow-x:hidden;

    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;

}

/* ==========================================================
   IMAGES
========================================================== */

img,
picture{

    display:block;
    max-width:100%;
    height:auto;

}

/* ==========================================================
   LINKS
========================================================== */

a{

    color:inherit;
    text-decoration:none;

}

/* ==========================================================
   LISTS
========================================================== */

ul,
ol{

    list-style:none;

}

/* ==========================================================
   BUTTONS
========================================================== */

button{

    font:inherit;
    color:inherit;
    background:none;
    border:none;
    cursor:pointer;

}

/* ==========================================================
   INPUTS
========================================================== */

input,
textarea,
select{

    font:inherit;
    color:inherit;
    background:transparent;
    border:none;
    outline:none;

}

/* ==========================================================
   HEADINGS
========================================================== */

h1,
h2,
h3,
h4,
h5,
h6{

    font-weight:inherit;
    line-height:1.15;

}

/* ==========================================================
   TABLES
========================================================== */

table{

    border-collapse:collapse;
    border-spacing:0;

}

/* ==========================================================
   SVG
========================================================== */

svg{

    display:block;

}

/* ==========================================================
   VIDEO
========================================================== */

video{

    display:block;
    max-width:100%;

}

/* ==========================================================
   FOCUS STATES
========================================================== */

:focus-visible{

    outline:2px solid var(--accent);
    outline-offset:3px;

}

/* ==========================================================
   TEXT SELECTION
========================================================== */

::selection{

    background:var(--accent);
    color:white;

}

/* ==========================================================
   SECTION DEFAULT
========================================================== */

section{

    position:relative;
    width:100%;

}

/* ==========================================================
   UTILITIES
========================================================== */

.hidden{

    display:none !important;

}

.visually-hidden{

    position:absolute;

    width:1px;
    height:1px;

    padding:0;
    margin:-1px;

    overflow:hidden;

    clip:rect(0,0,0,0);

    white-space:nowrap;

    border:0;

}