:root {
    --font-serif-en: 'Cormorant Garamond', 'Times New Roman', serif;
    --font-serif-ja: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
    --font-sans-ja:  'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
    --text-xs:   0.75rem;  --text-sm: 0.875rem; --text-base: 1rem;
    --text-lg:   1.125rem; --text-xl: 1.375rem; --text-2xl:  1.75rem;
    --text-3xl:  2.25rem;  --text-4xl: 3rem;    --text-5xl:  4rem;
    --leading-tight: 1.2; --leading-snug: 1.4; --leading-normal: 1.6;
    --leading-relaxed: 1.8; --leading-loose: 2.0;
    --tracking-wide: 0.05em; --tracking-wider: 0.1em; --tracking-widest: 0.2em;
}
html { font-size: 16px; }
body { font-family: var(--font-serif-ja); font-size: var(--text-base); font-weight: 400; line-height: var(--leading-relaxed); color: var(--color-text); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif-en), var(--font-serif-ja); font-weight: 400; line-height: var(--leading-tight); letter-spacing: var(--tracking-wide); }
.label, .caption, time, .post-cat, .artwork-meta__label { font-family: var(--font-sans-ja); font-size: var(--text-xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; }
.prose { font-family: var(--font-serif-ja); font-size: var(--text-base); line-height: var(--leading-loose); max-width: 48em; }
.prose p + p { margin-top: 1.5em; }
.prose h2 { font-size: var(--text-xl); margin-top: 2.5em; margin-bottom: 0.75em; }
.prose h3 { font-size: var(--text-lg); margin-top: 2em; margin-bottom: 0.5em; }
.prose a { text-decoration: underline; text-underline-offset: 0.2em; }
