:root {
    --bg: #f6f4ef;
    --tekst: #1f2328;
    --zacht: #5c6370;
    --accent: #b5452b;
    --kaart: #ffffff;
    --lijn: #e3dfd6;
}
@media (prefers-color-scheme: dark) {
    :root {
        --bg: #16181c;
        --tekst: #e8e6e1;
        --zacht: #9aa0aa;
        --accent: #e07a5f;
        --kaart: #1f2228;
        --lijn: #2e323a;
    }
}
* { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--tekst);
    font: 17px/1.6 Georgia, "Times New Roman", serif;
}
main { max-width: 760px; margin: 0 auto; padding: 48px 16px 32px; }
h1, h2, h3, .groet, .sub, footer, .boeken span {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.hero { padding-bottom: 32px; border-bottom: 1px solid var(--lijn); margin-bottom: 32px; }
.groet { margin: 0; color: var(--zacht); }
h1 { font-size: clamp(2.6rem, 9vw, 4rem); margin: 0; line-height: 1.05; letter-spacing: -0.02em; }
.sub { margin: 6px 0 16px; color: var(--accent); font-weight: 600; }
.intro { font-size: 1.15rem; margin: 0; }
h2 { font-size: 1.1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--zacht); margin: 40px 0 12px; }
.kaarten { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.kaart { background: var(--kaart); border: 1px solid var(--lijn); border-radius: 10px; padding: 16px; }
.kaart h3 { margin: 0 0 6px; font-size: 1rem; }
.kaart p { margin: 0; font-size: .95rem; color: var(--zacht); }
.boeken { list-style: none; padding: 0; margin: 0; }
.boeken li { padding: 10px 0; border-bottom: 1px solid var(--lijn); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.boeken span { color: var(--zacht); font-size: .9rem; }
footer { margin-top: 48px; font-size: .85rem; color: var(--zacht); }
