/* Hallmark · genre: editorial · macrostructure: Split Studio / Catalogue / Long Document / Conversational FAQ
 * design-system: design.md · designed-as-app · theme: custom Mediterranean ledger
 * display: Source Serif 4 · body: IBM Plex Sans · axes: light / roman-serif / chromatic-terracotta
 * enrichment: E8 documentary trade photography + official manufacturer brand imagery · nav: N6 · footer: Ft1
 */

@font-face {
  font-family: "Source Serif 4";
  src: url("assets/fonts/source-serif-4-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  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: "Source Serif 4";
  src: url("assets/fonts/source-serif-4-greek.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("assets/fonts/ibm-plex-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  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: "IBM Plex Sans";
  src: url("assets/fonts/ibm-plex-sans-greek.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

:root {
  color-scheme: light;

  --font-display: "Source Serif 4", ui-serif, Georgia, serif;
  --font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;

  --color-paper: oklch(95.5% 0.018 82);
  --color-paper-raised: oklch(98.3% 0.01 82);
  --color-paper-deep: oklch(90.8% 0.028 78);
  --color-paper-dark: oklch(27% 0.027 48);
  --color-ink: oklch(20% 0.025 50);
  --color-ink-soft: oklch(31% 0.026 51);
  --color-muted: oklch(43% 0.025 55);
  --color-rule: oklch(68% 0.025 70);
  --color-rule-strong: oklch(46% 0.035 58);
  --color-accent: oklch(50% 0.15 38);
  --color-accent-strong: oklch(42% 0.145 36);
  --color-accent-soft: oklch(88% 0.055 45);
  --color-accent-ink: oklch(95.5% 0.018 82);
  --color-focus: oklch(48% 0.2 38);
  --color-endorsement: oklch(37% 0.028 52);
  --color-on-dark: oklch(95.5% 0.018 82);
  --color-success: oklch(43% 0.09 145);
  --color-warning: oklch(53% 0.11 78);
  --color-shadow: oklch(20% 0.025 50 / 0.18);
  --color-shadow-strong: oklch(20% 0.025 50 / 0.22);
  --color-backdrop: oklch(14% 0.02 50 / 0.78);
  --color-footer-copy: oklch(84% 0.018 75);
  --color-footer-muted: oklch(76% 0.018 75);
  --color-footer-rule: oklch(50% 0.02 50);
  --color-footer-surface: oklch(20% 0.025 50);
  --color-footer-surface-raised: oklch(23% 0.03 50);
  --color-footer-divider: oklch(52% 0.03 52);
  --color-footer-ghost: oklch(27% 0.028 50);
  --color-footer-action: oklch(54% 0.13 38);
  --color-footer-action-hover: oklch(54% 0.15 38);
  --color-print-paper: oklch(100% 0.005 82);
  --color-on-image: oklch(97% 0.012 82);
  --color-on-image-soft: oklch(88% 0.018 82);
  --color-image-wash: oklch(16% 0.02 50 / 0.28);
  --color-image-wash-strong: oklch(16% 0.02 50 / 0.64);
  --color-menu-backdrop: oklch(14% 0.02 50 / 0.2);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6.5rem;
  --space-10: 9rem;

  --space-2xs: var(--space-1);
  --space-xs: var(--space-2);
  --space-sm: var(--space-3);
  --space-md: var(--space-4);
  --space-lg: var(--space-5);
  --space-xl: var(--space-6);
  --space-2xl: var(--space-7);
  --space-3xl: var(--space-8);
  --space-4xl: var(--space-9);
  --space-5xl: var(--space-10);

  --radius-xs: 2px;
  --radius-sm: 6px;
  --radius-round: 999px;

  --rule: 1px solid var(--color-rule);
  --rule-strong: 2px solid var(--color-ink);
  --shadow-hard: 0 1px 2px var(--color-shadow);
  --shadow-hard-accent: 0 1px 2px var(--color-shadow);

  --container: 82rem;
  --measure: 42rem;
  --gutter: clamp(1rem, 4vw, 3.5rem);

  --step--1: clamp(0.75rem, 0.72rem + 0.12vw, 0.84rem);
  --step-0: clamp(0.95rem, 0.91rem + 0.18vw, 1.06rem);
  --step-1: clamp(1.1rem, 1rem + 0.45vw, 1.32rem);
  --step-2: clamp(1.42rem, 1.2rem + 0.9vw, 1.95rem);
  --step-3: clamp(1.85rem, 1.4rem + 1.7vw, 2.8rem);
  --step-4: clamp(2.5rem, 1.7rem + 3.2vw, 4.65rem);
  --step-5: clamp(3.5rem, 2rem + 6vw, 7.75rem);
  --text-display-home: clamp(2.85rem, 6.5vw, 5.25rem);
  --text-display-page: clamp(2.6rem, 4.8vw, 4.65rem);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 130ms;
  --duration-base: 220ms;
  --dur-fast: var(--duration-fast);
  --dur-base: var(--duration-base);

  --z-base: 1;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 400;
  --z-toast: 500;
}
