/* ==========================================================================
   PerioCast design tokens v2 — the earthquake rebuild
   Clinical light · perio-pink identity (ratified 2026-07-23) · dot identity · Bricolage + Spline Sans Mono
   ========================================================================== */

@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../assets/fonts/bricolage-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../assets/fonts/bricolage-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Spline Sans Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/spline-mono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Spline Sans Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/spline-mono-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* --- color: the drape --- */
  --drape:    oklch(0.975 0.012 18);  /* clinical light: warm pink-white surface */
  --drape-2:  oklch(0.945 0.025 18);
  --drape-3:  oklch(0.91 0.035 18);
  --drape-4:  oklch(0.30 0.07 18);     /* descent upper — dark rose */
  --abyss:    oklch(0.12 0.03 20);     /* descent lower */
  --enamel:      oklch(0.20 0.015 15);  /* ink on light (name kept for churn-free swap) */
  --enamel-dim:  oklch(0.42 0.03 12);
  --enamel-faint:oklch(0.55 0.035 12); /* large/mono text only (≥3:1) */
  --bop:      oklch(0.62 0.21 25);
  --bop-deep: oklch(0.5  0.19 25);
  --bop-text: oklch(0.50 0.19 25);   /* readable red for small text on light */
  --probe:    oklch(0.66 0.13 10);   /* brand deep pink — interactive */
  --probe-dim:oklch(0.57 0.11 10);
  --screen:   oklch(0.99 0.004 20);   /* the phone's clinical white */
  --screen-ink: oklch(0.24 0.015 15);

  /* lines & fills on drape */
  --line:       oklch(0.78 0.045 15 / 0.6);
  --line-faint: oklch(0.78 0.045 15 / 0.35);
  --fill-raise: oklch(0.93 0.03 18 / 0.6);

  /* --- type --- */
  --font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Spline Sans Mono", ui-monospace, "Cascadia Mono", monospace;
  /* modular 1.333 on fluid base */
  --text-sm:  0.875rem;
  --text-base: 1rem;
  --text-md:  clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem);
  --text-lg:  clamp(1.25rem, 1.1rem + 0.7vw, 1.777rem);
  --text-xl:  clamp(1.7rem, 1.4rem + 1.4vw, 2.369rem);
  --text-2xl: clamp(2.1rem, 1.6rem + 2.4vw, 3.157rem);
  --text-hero: clamp(2.7rem, 1.9rem + 4.4vw, 5.2rem);
  --track-display: -0.03em;
  --track-hero: -0.035em;

  /* --- space & shape --- */
  --sp-1: 0.25rem; --sp-2: 0.5rem; --sp-3: 0.75rem; --sp-4: 1rem;
  --sp-6: 1.5rem;  --sp-8: 2rem;   --sp-12: 3rem;   --sp-16: 4rem;
  --section-pad: clamp(4.5rem, 9vw, 8.5rem);
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --content-max: 72rem;
  --radius-sm: 8px; --radius-md: 14px; --radius-lg: 22px; --radius-pill: 999px;

  /* --- motion --- */
  --ease: cubic-bezier(0.19, 1, 0.22, 1);        /* expo-out, the house curve */
  --ease-io: cubic-bezier(0.77, 0, 0.175, 1);    /* on-screen morphs */
  --t-micro: 180ms;
  --t-ui: 260ms;
  --t-beat: 800ms;

  /* --- z scale --- */
  --z-stage: 1; --z-content: 2; --z-nav: 10; --z-chip: 20; --z-skip: 30;

  color-scheme: light;
}
