@font-face { font-family: "Fraktur"; src: url("/fonts/UnifrakturMaguntia-Book.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Krantkop"; src: url("/fonts/Krantkop-Black.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/fonts/SourceSerif4-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/fonts/SourceSerif4-Italic.woff2") format("woff2"); font-style: italic; font-display: swap; }
@font-face { font-family: "Libre Franklin"; src: url("/fonts/LibreFranklin-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root { --paper: #F3EEE2; --ink: #1B1A17; --soft: #5C574D; --rule: #1B1A17; --accent: #8E2A22; }
@media (prefers-color-scheme: dark) {
  :root { --paper: #1B1A17; --ink: #EDE7D9; --soft: #B3AB9B; --rule: #EDE7D9; --accent: #D9837A; }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.6 "Source Serif 4", Georgia, serif; }
main, header, footer { max-width: 46rem; margin: 0 auto; padding: 0 16px; }

.masthead { text-align: center; padding: 2rem 16px 0; }
.masthead .name { font-family: "Krantkop", Georgia, serif; font-weight: 900; font-size: clamp(2.2rem, 10vw, 4rem); letter-spacing: .08em; line-height: 1; margin: 0; }
.masthead .name a { color: inherit; text-decoration: none; }
.dateline { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  border-top: 3px double var(--rule); border-bottom: 1px solid var(--rule);
  margin-top: 1rem; padding: .35rem 0; font: 700 .72rem/1.4 "Libre Franklin", Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.dateline a { color: inherit; }

h1, h2, h3 { font-family: "Krantkop", Georgia, serif; font-weight: 900; line-height: 1.15; }
h1 { font-size: clamp(1.7rem, 6vw, 2.4rem); margin: 2rem 0 .5rem; }
h2 { font-size: 1.35rem; margin: 2rem 0 .4rem; border-bottom: 1px solid var(--rule); padding-bottom: .2rem; }
h3 { font-size: 1.12rem; margin: 1.5rem 0 .2rem; }
.lead { font-size: 1.15rem; font-style: italic; }
a { color: var(--accent); }

.apps { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.apps li { padding: .9rem 0; border-bottom: 1px solid color-mix(in srgb, var(--rule) 25%, transparent); }
.apps strong { font-family: "Krantkop", Georgia, serif; font-size: 1.15rem; display: block; }
.kicker { font: 700 .72rem/1.4 "Libre Franklin", Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }

.lang { border-top: 3px double var(--rule); margin-top: 3rem; }
footer { border-top: 1px solid var(--rule); margin-top: 3rem; padding: 1rem 16px 3rem; font-size: .9rem; color: var(--soft); }
footer p { margin: .2rem 0; }
