@font-face {
    font-family: 'Lorien';
    src: url('fonts/lorien.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Lorien';
    src: url('fonts/lorienitalic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'Lorien';
    src: url('fonts/loriensemi.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Lorien';
    src: url('fonts/loriensemiital.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: 'Batarde';
    src: url('fonts/batarde-10.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Ornaments';
    src: url('fonts/ornaments.woff2') format('woff2');
}

html, body {
    overscroll-behavior: none; 
}
body {
    margin: 0;
    padding: 0;
    font-family: 'Lorien', Georgia, serif;
    font-feature-settings: normal;
    font-kerning: auto;
    font-optical-sizing: auto;
    font-size-adjust: none;
    font-style: normal;
    font-variant-alternates: normal;
    font-variant-caps: normal;
    font-variant-east-asian: normal;
    font-variant-ligatures: normal;
    font-variant-numeric: normal;
    font-variant-position: normal;
    font-variation-settings: normal;
    font-weight: 400;
    font-size: var(--font-size);
    line-height: var(--line-height);
    color: var(--text-color);
    background: var(--bg-color);
    letter-spacing: 0.00625rem;
    /* entspricht 0.1px */
    hyphens: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

/* Colors */

:root {
  --background: rgb(25,25,25);
  --foreground: rgb(250,250,250);
  --accent: rgb(0,50,250);
  --green: rgb(0,175,100);
}

@media (prefers-color-scheme: light) {
  :root {
    --foreground: rgb(25,25,25);
    --background: rgb(250,250,250);
    --accent: rgb(0,50,250);
    --green: rgb(0,175,100);
  }
}

/* Body */

body {
	margin: 9px 18px;
	background-color: var(--background);
	font-family: 'Lorien', Georgia, serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 1.4;
	color: var(--foreground);
	text-rendering: optimizeLegibility;
	-webkit-text-stroke: 0.2px;
	font-variant-numeric: tabular-nums;
}

/* Typography */

h1 {
	color: var(--foreground);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
	margin-bottom: 20px;
	text-wrap: balance;
}

a {
	color: var(--foreground);
	text-decoration-style: dotted;
	text-underline-offset: 5px;
}

a:hover {
	text-decoration-style: solid;
}

/* Sections */

header {
	margin-bottom: 100px;
	max-width: 725px;
}

section.archive {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px,1fr));
	grid-gap: 40px 20px;
	margin-bottom: 50px;
}

section.archive div.project {
}

section.archive div.project figcaption {
}

section.archive div.project figure {
}

section.archive div.project figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  object-position: bottom left;
  padding-bottom: 2px;
}

section.archive div.project figcaption p {
	font-size: 18px;
	line-height: 1.2;
	text-wrap: balance;
	
}

section.archive div.project figcaption p.description, span.description {
	opacity: 0.4;
}




/* Text */

article.text, nav.text, header.text, footer.text {
	margin: 0 auto;
	font-size: 20px;
	line-height: 1.5;
	max-width: 700px;
}

article.text p, article.text h2, article.text blockquote {
	font-size: 20px;
	line-height: 1.5;
	font-weight: inherit;
}

article.text p {
	text-indent: 30px;
}

footer.text {
	padding: 60px 0 30px 0;
}

article.text div.introduction p {
	margin-bottom: 30px;
}

article.text h2 {
	padding: 60px 0 30px 30px;
}

article.text blockquote {
	padding: 30px 0 30px 30px;
}

nav.text {
	margin-bottom: 120px;
}

nav.text a {
	display: block;
}

nav.text a.active {
	text-decoration: none;
	padding-left: 30px;
}

.subtext {
	opacity: .4;
}

article.text figure {
  margin: 30px 0;
  max-width: 500px;
}

figcaption {
  font-size: 15px;
  line-height: 1.5;
}


nav, footer {
  /* display: flex;
  justify-content: space-between; */
	max-width: 800px;
	margin-bottom: 40px;
}

section {
	margin-bottom: 100px;
	max-width: 800px;
}

section p, footer p {
	margin-bottom: 10px;
}

nav p span {
	opacity: 0.4;
}

div.copyright {
	margin-top: 40px;
}

div.copyright p {

	opacity: 0.4;
}

a.active {
	text-decoration: none;
}

nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
}

em {
	font-style: normal;
	font-variant: all-small-caps;
}


/* New grid */

section.archive {
	max-width: none;
}