:root { color-scheme: light dark; }
body {
	margin: 0; min-height: 100vh;
	font: 400 1rem/1.75 ui-sans-serif, system-ui, sans-serif;
	background: #faf9f7; color: #1a1a1a;
}
@media (prefers-color-scheme: dark) {
	body { background: #121212; color: #e8e6e3; }
}
a { color: inherit; text-underline-offset: .2em; }
main { max-width: 36rem; margin: 0 auto; padding: 4rem 1.5rem; }
h1 { font-size: 1.4rem; line-height: 1.35; letter-spacing: .02em; }
h2 { font-size: 1.05rem; margin-top: 2.2rem; letter-spacing: .01em; }
ul { padding-left: 1.2rem; }
li { margin: .4rem 0; }
.meta { opacity: .55; font-size: .85rem; }
.prov {
	margin-top: 3rem; padding-top: 1rem;
	border-top: 1px solid rgba(128,128,128,.25);
	opacity: .55; font-size: .8rem; line-height: 1.6;
}
body.door {
	display: grid; place-items: center; text-align: center;
	font-size: clamp(1rem, 4vw, 1.6rem); letter-spacing: .12em;
}
body.door main { max-width: none; padding: 2rem; }
body.door .mark { margin: 2.5rem 0 0; opacity: .45; font-size: .7em; letter-spacing: .3em; }
body.door nav { margin-top: 2.5rem; font-size: .6em; letter-spacing: .25em; opacity: .6; }
body.door .sub {
	margin: 2rem auto 0; max-width: 26em;
	font-size: .55em; letter-spacing: .04em; line-height: 1.7; opacity: .5;
}
