
@font-face {
    font-family: 'Geist';
    src: url('fonts/Geist-Variable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
    
:root {
    --border-color: #999;
    --site-width: 550px;
    --site-margin: clamp(24px, calc(2vw + 1.5rem), 64px);
}

::selection {background-color: #e4e4e4;}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select  { font: inherit; color: inherit; padding: 0;}

html {
    text-rendering: optimizeLegibility;
}

body, html {
    height: 100%;
    scrollbar-gutter: stable;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    font-family: 'Geist', segoe ui, Helvetica, Arial, sans-serif;
    line-height: 1.3;
    padding-inline: calc(var(--site-margin) / 2);
    font-weight: 440;
    font-size: 0.9375rem;
    margin-inline: auto;
    letter-spacing: -0.01rem;
    max-width: calc(var(--site-width) + 24rem);
}


main {
    padding-block: 4rem;
    padding-inline: calc( var(--site-margin) / 2);
    max-width: var(--site-width);
    flex-grow: 1;
    border-left: 1px dotted var(--border-color);
    border-right: 1px dotted var(--border-color);
}

a {
    color: #2480ed;
    text-decoration: none;
}

a:hover {
    opacity: 0.8;
}

.logo {
    display: inline-block;
    margin-block-end: 0.5rem;
}

.logo:hover {
    opacity: 0.8;
}

.logo svg {
    width: 36px;
    color: #e4e4e4;
}

p {
    margin-block: 1.2em 0;
}
