/* ============================================================================
   Photo Memory Hub — tokens + self-hosted faces
   "Album" (house-design.md override, direction B; Stitch project
   13219296107363762464, design system assets/371558167464372122,
   2026-09-29). Archival paper ground, prints on white mounts with black photo
   corners, ink type, crimson for links, tabs and the one button.
   Loads FIRST, before main.css and pmh.css.
   ========================================================================= */

/* --- Faces ----------------------------------------------------------------
   Playfair Display (600–800 + italic 500) carries headlines and chapter
   heads; Literata (400–600 + italic) is the reading face; Karla (400–700)
   is the label, nav and UI voice; Caveat (500) is ONLY the one-line pencil
   caption under a print — never links, never body. latin + latin-ext each. */
@font-face {
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/caveat-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: 'Caveat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/caveat-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Karla';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/karla-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: 'Karla';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/karla-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Literata';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/literata-italic-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: 'Literata';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/literata-italic-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Literata';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url('../fonts/literata-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: 'Literata';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url('../fonts/literata-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/playfair-display-italic-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: 'Playfair Display';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/playfair-display-italic-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600 800;
    font-display: swap;
    src: url('../fonts/playfair-display-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: 'Playfair Display';
    font-style: normal;
    font-weight: 600 800;
    font-display: swap;
    src: url('../fonts/playfair-display-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    color-scheme: light;

    /* --- Album palette (contrast measured, WCAG) -----------------------------
       ink     on paper 13.3 · mount 15.5 · endpaper 11.3
       meta    on paper  6.8 · mount  7.9 · endpaper  5.8
       crimson on paper  6.8 · mount  7.9 · endpaper  5.8
       paper   on ink   13.3 (button text on the crimson: see --pmh-on-crimson) */
    --pmh-paper:        #F3EBDD;   /* page ground — archival paper */
    --pmh-mount:        #FFFDF8;   /* print mounts, reading mount, cards */
    --pmh-endpaper:     #E6D9C3;   /* footer ground, archive head, TOC card */
    --pmh-rule:         #D9CBB3;   /* hairlines on paper */
    --pmh-rule-strong:  #B9A88E;   /* form borders, hover borders */
    --pmh-ink:          #2B2118;   /* headings, body */
    --pmh-meta:         #5A4E42;   /* meta, labels, notes, pencil captions */
    --pmh-crimson:      #9F1239;   /* links, tabs, the one button */
    --pmh-crimson-dark: #7F0E2D;   /* hover */
    --pmh-on-crimson:   #FFFDF8;   /* 7.9:1 on crimson */
    --pmh-corner:       #1E1712;   /* photo corners */
    --pmh-shadow:       0 1px 2px rgba(43,33,24,.10), 0 8px 18px -8px rgba(43,33,24,.28);
    --pmh-primary:      #9F1239;
    --pmh-primary-dark: #7F0E2D;

    /* --- Type ------------------------------------------------------------------ */
    --pmh-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --pmh-text:    'Literata', Georgia, 'Times New Roman', serif;
    --pmh-ui:      'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --pmh-nav:     'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --pmh-hand:    'Caveat', 'Segoe Print', 'Bradley Hand', cursive;

    --pmh-size-body:    clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);   /* 18–20px */
    --pmh-size-meta:    0.75rem;
    --pmh-lh-body:      1.72;
    --pmh-lh-head:      1.12;
    --pmh-track-meta:   0.12em;
    --pmh-track-head:   -0.01em;

    --pmh-h1:      clamp(2.125rem, 1.6rem + 1.9vw, 3.125rem);
    --pmh-title:   clamp(2rem, 1.45rem + 1.8vw, 3rem);
    --pmh-h2:      clamp(1.5rem, 1.25rem + 0.9vw, 1.9375rem);
    --pmh-h3:      clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);

    /* --- Shape & metrics: square mounts, 2px corners on UI ------------------ */
    --pmh-radius-sm: 2px;
    --pmh-radius:    2px;
    --pmh-radius-lg: 3px;
    --pmh-page-max:  1200px;
    --pmh-content-max: 760px;
    --pmh-sidebar:   304px;
    --pmh-side-gap:  2.5rem;
    --pmh-gutter:    clamp(1rem, 3vw, 2.5rem);
    --pmh-grid-gap:  clamp(1.25rem, 2.5vw, 2.25rem);
    --pmh-tap:       44px;
    --pmh-nav-tap:   48px;

    /* --- Bridge to main.css (do not restyle main.css) ------------------------ */
    --font-size-body-min: 1.125rem;
    --font-size-body-max: 1.25rem;
    --font-size-body-fluid: calc(1.05rem + 0.3vw);
    --font-size-h1-min: 2.125rem;
    --font-size-h1-max: 3.125rem;
    --font-size-h1-fluid: calc(1.6rem + 1.9vw);
    --font-size-h2-min: 1.5rem;
    --font-size-h2-max: 1.9375rem;
    --font-size-h2-fluid: calc(1.25rem + 0.9vw);
    --font-size-h3-min: 1.25rem;
    --font-size-h3-max: 1.5rem;
    --font-size-h3-fluid: calc(1.1rem + 0.5vw);
    --font-size-h4-min: 1.125rem;
    --font-size-h4-max: 1.25rem;
    --font-size-h4-fluid: calc(1.05rem + 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.72;
    --line-height-heading: 1.12;

    --color-primary: #9F1239;
    --color-primary-hover: #7F0E2D;
    --color-heading: #2B2118;
    --color-accent: #9F1239;
    --color-text-dark: #2B2118;
    --color-text-medium: #5A4E42;
    --color-text-light: #5A4E42;
    --color-background: #F3EBDD;
    --color-background-light: #FFFDF8;
    --color-background-tint: #E6D9C3;
    --color-border: #D9CBB3;
    --color-border-soft: #D9CBB3;
    --color-footer-bg: #E6D9C3;
    --color-error: #9F1239;
    --color-warning: #8A5A00;

    --font-family-display: 'Playfair Display', Georgia, serif;
    --font-family-body: 'Literata', Georgia, serif;
    --font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --font-heading: 'Playfair Display', Georgia, serif;

    --radius-sm: 2px;
    --radius-md: 2px;
    --radius-lg: 3px;
    --border-radius: 2px;
    --border-radius-lg: 3px;
    --content-max: 760px;
    --page-max: 1200px;
    --color-border-light: #D9CBB3;
    --color-footer-border: #D9CBB3;
    --color-footer-text: #2B2118;
    --color-copyright: #5A4E42;
    --color-facebook: #2B2118; --color-facebook-hover: #9F1239;
    --color-twitter: #2B2118; --color-twitter-hover: #9F1239;
    --color-pinterest: #2B2118; --color-pinterest-hover: #9F1239;
    --color-linkedin: #2B2118; --color-linkedin-hover: #9F1239;
    --color-error-bg: #F9E3E8; --color-error-text: #7F0E2D;
    --color-warning-bg: #F6EBD2; --color-warning-text: #6B4600;
}
