/* ============================================================================
   Cute Animal Planet — tokens + self-hosted faces (cap-theme)
   Loaded first; main.css reads the --color-* / --font-size-* bridge below,
   cap.css reads the --tp-* tokens.
   ========================================================================= */

/* --- Faces: EB Garamond (display, variable 400–800, + italic) and Libre
       Franklin (text, variable 100–900, + italic). latin + latin-ext,
       downloaded from Google Fonts css2 2026-10-06. ------------------------- */
@font-face {
    font-family: 'EB Garamond';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/eb-garamond-var-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'EB Garamond';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/eb-garamond-var-latin.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;
}
@font-face {
    font-family: 'EB Garamond';
    font-style: italic;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/eb-garamond-italic-var-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'EB Garamond';
    font-style: italic;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/eb-garamond-italic-var-latin.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;
}
@font-face {
    font-family: 'Libre Franklin';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/libre-franklin-var-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Libre Franklin';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/libre-franklin-var-latin.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;
}
@font-face {
    font-family: 'Libre Franklin';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/libre-franklin-italic-var-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Libre Franklin';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/libre-franklin-italic-var-latin.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;
}

:root {
    color-scheme: light;
    /* --- Palette (WCAG contrast, measured 2026-10-06) ------------------------
       brick #B23A2A on paper 5.85 · on tint 5.26 · white on brick 5.95
       ink #241C18 on paper 16.5 · meta #5E524B on paper 7.4 · on tint 6.7
       The live site's coral #d94a36 was 4.07 on its ground and is retired. */
    --tp-paper:      #FFFDF9;   /* page ground */
    --tp-tint:       #F7F0E8;   /* boxes: at-a-glance, newsletter, ad frames */
    --tp-rule:       #E8DDD4;   /* hairlines, column rules */
    --tp-rule-ink:   #241C18;   /* the masthead's double rule */
    --tp-ink:        #241C18;
    --tp-meta:       #5E524B;
    --tp-brick:      #B23A2A;   /* the one hue: links, active nav, numerals, rules */
    --tp-brick-dark: #8F2C1F;
    --tp-on-brick:   #FFFFFF;

    /* --- Type ---------------------------------------------------------------- */
    --tp-display: 'EB Garamond', Garamond, 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
    --tp-text:    'Libre Franklin', 'Franklin Gothic Book', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --tp-size-body: clamp(1.125rem, 1.07rem + 0.25vw, 1.1875rem);   /* 18–19px */
    --tp-lh-body:   1.7;
    --tp-lh-head:   1.12;
    --tp-title: clamp(2.125rem, 1.6rem + 1.6vw, 2.875rem);   /* article + archive H1, capped ~46px */
    --tp-h2:    clamp(1.625rem, 1.4rem + 0.8vw, 2.125rem);
    --tp-h3:    clamp(1.3rem, 1.18rem + 0.45vw, 1.55rem);

    /* --- Shape & metrics ------------------------------------------------------ */
    --tp-radius:    4px;
    --tp-page-max:  1280px;
    --tp-sidebar:   304px;
    --tp-side-gap:  2.75rem;
    --tp-gutter:    clamp(1rem, 3vw, 2rem);

    /* --- Bridge to main.css (do not restyle main.css) ------------------------- */
    --font-size-body-min: 1.125rem;
    --font-size-body-max: 1.1875rem;
    --font-size-body-fluid: calc(1.07rem + 0.25vw);
    --font-size-h1-min: 2.125rem;
    --font-size-h1-max: 2.875rem;
    --font-size-h1-fluid: calc(1.6rem + 1.6vw);
    --font-size-h2-min: 1.625rem;
    --font-size-h2-max: 2.125rem;
    --font-size-h2-fluid: calc(1.4rem + 0.8vw);
    --font-size-h3-min: 1.3rem;
    --font-size-h3-max: 1.55rem;
    --font-size-h3-fluid: calc(1.18rem + 0.45vw);
    --font-size-h4-min: 1.15rem;
    --font-size-h4-max: 1.3rem;
    --font-size-h4-fluid: calc(1.08rem + 0.3vw);
    --font-size-h5-min: 1.0625rem;
    --font-size-h5-max: 1.125rem;
    --font-size-h5-fluid: calc(1rem + 0.2vw);
    --font-size-h6-min: 1rem;
    --font-size-h6-max: 1.0625rem;
    --font-size-h6-fluid: calc(0.96rem + 0.12vw);
    --line-height-body: 1.7;
    --line-height-heading: 1.12;
    --color-primary: #B23A2A;
    --color-primary-hover: #8F2C1F;
    --color-heading: #241C18;
    --color-accent: #B23A2A;
    --color-text-dark: #241C18;
    --color-text-medium: #5E524B;
    --color-text-light: #5E524B;
    --color-background: #FFFDF9;
    --color-background-light: #F7F0E8;
    --color-background-tint: #F7F0E8;
    --color-border: #E8DDD4;
    --color-border-soft: #E8DDD4;
    --color-footer-bg: #FFFDF9;
    --color-error: #B42318;
    --color-warning: #8A5A00;
    --font-family-display: 'EB Garamond', Garamond, 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
    --font-family-body: 'Libre Franklin', 'Franklin Gothic Book', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --font-family: 'Libre Franklin', 'Franklin Gothic Book', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --radius-sm: 4px;
    --radius-md: 4px;
    --radius-lg: 4px;
    --border-radius: 4px;
    --border-radius-lg: 4px;
    --content-max: 760px;
    --page-max: 1280px;
    --color-border-light: #E8DDD4;
    --color-footer-border: #E8DDD4;
    --color-footer-text: #241C18;
    --color-copyright: #5E524B;
    --color-facebook: #241C18; --color-facebook-hover: #B23A2A;
    --color-twitter: #241C18; --color-twitter-hover: #B23A2A;
    --color-pinterest: #241C18; --color-pinterest-hover: #B23A2A;
    --color-linkedin: #241C18; --color-linkedin-hover: #B23A2A;
    --color-error-bg: #F9E3E0; --color-error-text: #8A1C12;
    --color-warning-bg: #F6EBD2; --color-warning-text: #6B4600;
    --font-primary: 'Libre Franklin', 'Franklin Gothic Book', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --font-heading: 'EB Garamond', Garamond, 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
}
