/**
 * Self-hosted Google Fonts — Latin subset only
 *
 * Eliminates external request chain to fonts.googleapis.com + fonts.gstatic.com.
 * Variable fonts: one file covers multiple weights.
 *
 * Before: 7 TTF files (~200 KiB) + 2 DNS lookups + CSS chain = ~1,330ms
 * After:  4 woff2 files (~164 KiB) from same origin, no chain
 */

/* DM Sans — normal (400-600) */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(../fonts/dm-sans-normal-400.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DM Sans — italic (400) */
@font-face {
    font-family: 'DM Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/dm-sans-italic-400.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Playfair Display — normal (400-600) */
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(../fonts/playfair-display-normal-400.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Playfair Display — italic (400-500) */
@font-face {
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 400 500;
    font-display: swap;
    src: url(../fonts/playfair-display-italic-400.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
