/* Hallmark · route: custom (bespoke) · structure: the page is a tiled wall, laid course by course
 * idea: "built right from the substrate up" (mosaic hero that sets itself + shower anatomy cutaway)
 * paper: oklch(97.2% 0.005 190) · accent: oklch(76.5% 0.064 190) brand teal (#81C1BD), deep oklch(46% 0.07 192)
 * display: Big Shoulders Display · body: Instrument Sans · mono: Geist Mono
 * axes: light / display-condensed-bold / chromatic-teal ~190 · gates: all-pass · studied: no
 * nav: floating bar + mobile sticky action bar (C4) · footer: Ft5 statement
 */

@font-face { font-family: "Big Shoulders Display"; src: url("/assets/fonts/big-shoulders-display-normal-500-900.woff2") format("woff2"); font-weight: 500 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("/assets/fonts/instrument-sans-normal-400-700.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("/assets/fonts/instrument-sans-italic-400-700.woff2") format("woff2"); font-weight: 400 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("/assets/fonts/geist-mono-normal-400-600.woff2") format("woff2"); font-weight: 400 600; font-style: normal; font-display: swap; }

:root {
  /* brand, exact: the four squares of the Burns Tile mark */
  --color-teal: oklch(76.7% 0.066 191);        /* #81C1BD  mark squares, big fills, accents on dark */
  --color-slate: oklch(63.7% 0.005 135);       /* #8A8C89  mark squares, secondary tile */
  --color-graphite: oklch(37.1% 0.002 200);    /* #404040  wordmark */

  /* surfaces: porcelain paper, grout, wet slate */
  --color-paper: oklch(97.2% 0.005 190);       /* porcelain */
  --color-paper-2: oklch(94.5% 0.009 190);     /* one course down */
  --color-paper-3: oklch(90.5% 0.012 190);     /* grout on paper */
  --color-grout: oklch(86% 0.010 190);         /* the gaps of the grid */
  --color-dark: oklch(24% 0.022 205);          /* wet slate: dark bands, footer */
  --color-dark-2: oklch(29% 0.024 203);        /* raised tile on dark */
  --color-dark-grout: oklch(18% 0.018 210);    /* gaps on dark */

  /* text */
  --color-ink: oklch(28% 0.010 200);           /* 12.7:1 on paper */
  --color-ink-2: oklch(40% 0.010 200);
  --color-muted: oklch(52% 0.010 200);         /* 5.1:1 on paper */
  --color-on-dark: oklch(96% 0.006 190);       /* 15:1 on dark */
  --color-on-dark-2: oklch(80% 0.012 190);

  /* action */
  --color-accent: oklch(46% 0.070 192);        /* deep teal: buttons/links on paper, 6.4:1 */
  --color-accent-hover: oklch(40% 0.065 194);
  --color-accent-ink: oklch(97.2% 0.005 190);  /* text on --color-accent */
  --color-accent-soft: oklch(92% 0.030 190);   /* tint wash */
  --color-bright: oklch(86% 0.075 186);        /* teal highlight on dark */
  --color-focus: oklch(55% 0.140 195);
  --color-rule: oklch(82% 0.010 190);
  --color-star: oklch(80% 0.150 85);           /* review stars only */
  --color-error: oklch(52% 0.170 28);
  --color-success: oklch(50% 0.110 160);

  --font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --font-body: "Instrument Sans", ui-sans-serif, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* type scale (fluid) */
  --text-xs: 0.78rem;
  --text-sm: 0.9rem;
  --text-base: 1.0625rem;
  --text-lg: clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem);
  --text-xl: clamp(1.25rem, 1.12rem + 0.5vw, 1.5rem);
  --text-2xl: clamp(1.5rem, 1.3rem + 0.9vw, 2.05rem);
  --text-3xl: clamp(1.85rem, 1.5rem + 1.6vw, 2.8rem);
  --text-4xl: clamp(2.2rem, 1.65rem + 2.4vw, 3.6rem);
  --text-display: clamp(2.6rem, 1.7rem + 3.8vw, 4.9rem);

  /* 4 pt spacing */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);
  --grout: clamp(6px, 0.35rem + 0.25vw, 12px); /* the grid gap: grout joint */
  --measure: 66ch;
  --page: 84rem;

  --radius-tile: 3px;                          /* eased tile edge */
  --radius-ctl: 6px;
  --rule-hair: 1px;

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-med: 260ms;
  --dur-slow: 620ms;

  --shadow-tile: 0 1px 0 oklch(100% 0 0 / 0.6) inset, 0 1px 2px oklch(24% 0.022 205 / 0.10), 0 6px 18px -8px oklch(24% 0.022 205 / 0.28);
  --shadow-lift: 0 1px 0 oklch(100% 0 0 / 0.6) inset, 0 3px 6px oklch(24% 0.022 205 / 0.12), 0 22px 40px -18px oklch(24% 0.022 205 / 0.40);
}
