/* Hallmark · macrostructure: Photographic Hero · tone: editorial · anchor hue: 280 (indigo)
 * theme: Indigo (Japanese onsen) · fleet: hanumanhermes · site: onsenexperiences
 * pre-emit critique: P5 H4 E5 S4 R5 V5
 * display: EB Garamond · body: Switzer · wordmark: Cabinet Grotesk
 */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@500,700,800&f[]=switzer@400,500,600&display=swap');

:root {
  --color-paper:      oklch(97% 0.008 280);
  --nav-bg: oklch(from var(--color-paper) l c h / 0.85);
  --color-paper-dim:  oklch(93% 0.012 280);
  --color-paper-2:    oklch(88% 0.014 280);
  --color-ink:        oklch(17% 0.018 280);
  --color-ink-soft:   oklch(30% 0.016 280);
  --color-accent:     oklch(45% 0.14 280);
  --color-accent-glow: oklch(55% 0.10 280 / 0.14);
  --color-accent-ink: oklch(98% 0.006 280);
  --color-rule:       oklch(78% 0.018 280 / 0.55);
  --color-muted:      oklch(45% 0.018 280);
  --color-focus:      oklch(52% 0.18 280);
  --color-hero-overlay-start: oklch(14% 0.02 280 / 0.82);
  --color-hero-overlay-mid:   oklch(18% 0.015 280 / 0.55);
  --color-hero-overlay-end:   oklch(30% 0.010 280 / 0.05);
  --color-hero-h1:    oklch(98% 0.006 280);
  --color-hero-byline: oklch(90% 0.008 280);
  --color-hero-eyebrow: oklch(85% 0.08 280);

  --font-display: 'EB Garamond', ui-serif, Georgia, serif;
  --font-body: 'Switzer', ui-sans-serif, system-ui, sans-serif;
  --font-wordmark: 'Cabinet Grotesk', ui-sans-serif, system-ui, sans-serif;

  --text--2: clamp(0.64rem, 0.59rem + 0.21vw, 0.80rem);
  --text--1: clamp(0.80rem, 0.73rem + 0.32vw, 1.00rem);
  --text-0:  clamp(1.00rem, 0.89rem + 0.48vw, 1.25rem);
  --text-1:  clamp(1.25rem, 1.09rem + 0.73vw, 1.56rem);
  --text-2:  clamp(1.56rem, 1.31rem + 1.11vw, 2.05rem);
  --text-3:  clamp(1.95rem, 1.57rem + 1.71vw, 2.66rem);
  --text-4:  clamp(2.44rem, 1.87rem + 2.57vw, 3.52rem);
  --text-5:  clamp(3.05rem, 2.18rem + 3.89vw, 4.70rem);

  --space-3xs: clamp(0.25rem, 0.22rem + 0.14vw, 0.38rem);
  --space-2xs: clamp(0.50rem, 0.43rem + 0.29vw, 0.75rem);
  --space-xs:  clamp(0.75rem, 0.66rem + 0.43vw, 1.00rem);
  --space-sm:  clamp(1.00rem, 0.86rem + 0.57vw, 1.50rem);
  --space-md:  clamp(1.50rem, 1.29rem + 0.86vw, 2.00rem);
  --space-lg:  clamp(2.00rem, 1.71rem + 1.14vw, 3.00rem);
  --space-xl:  clamp(3.00rem, 2.57rem + 1.71vw, 4.00rem);
  --space-2xl: clamp(4.00rem, 3.43rem + 2.29vw, 6.00rem);
  --space-3xl: clamp(6.00rem, 5.14rem + 3.43vw, 8.00rem);

  --content-narrow: 42rem;
  --content-wide: 56rem;
  --measure: clamp(45ch, 45ch + 5vw, 65ch);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 150ms;
  --dur-normal: 250ms;
  --dur-slow: 400ms;

  --rule-thin: 1px;
  --rule-thick: 3px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --radius-full: 9999px;
}

/* h1 long-word safety */
h1, h2, h3 { overflow-wrap: anywhere; min-width: 0; }
