:root {
  --color-paper: oklch(100% 0 0);
  --color-paper-deep: oklch(97% 0.008 80);
  --color-surface: oklch(100% 0 0);
  --color-ink: oklch(24% 0.022 45);
  --color-ink-muted: oklch(46% 0.02 50);
  --color-line: oklch(24% 0.022 45 / 0.12);

  --color-night: oklch(20.5% 0.018 45);
  --color-night-raised: oklch(25% 0.02 45);
  --color-on-night: oklch(93% 0.012 80);
  --color-on-night-muted: oklch(74% 0.02 75);
  --color-line-night: oklch(93% 0.012 80 / 0.14);

  --color-brass: oklch(74% 0.085 78);
  --color-brass-deep: oklch(50% 0.075 65);
  --color-shade: oklch(14% 0.02 45 / 0.72);
  --color-veil: oklch(93% 0.012 80 / 0.16);
  --color-focus: oklch(50% 0.075 65);
  --color-error: oklch(72% 0.13 30);
  --color-error-deep: oklch(50% 0.16 30);

  /* Buttons follow the palette unless overridden under Landing Page > Warna */
  --button-primary-bg: var(--color-brass);
  --button-primary-text: var(--color-night);
  --button-primary-hover-bg: var(--color-on-night);
  --button-primary-hover-text: var(--color-night);
  --button-dark-bg: var(--color-ink);
  --button-dark-text: var(--color-paper);
  --button-dark-hover-bg: var(--color-brass-deep);
  --button-dark-hover-text: var(--color-paper);

  --shadow-card: 0 1px 2px oklch(24% 0.022 45 / 0.06), 0 22px 48px -18px oklch(24% 0.022 45 / 0.28);
  --shadow-soft: 0 1px 2px oklch(24% 0.022 45 / 0.05), 0 10px 24px -16px oklch(24% 0.022 45 / 0.22);
  --shadow-card-hover: 0 2px 4px oklch(24% 0.022 45 / 0.08), 0 34px 64px -20px oklch(24% 0.022 45 / 0.36);

  --font-display: "Marcellus", "Times New Roman", serif;
  --font-body: "Hanken Grotesk", system-ui, sans-serif;

  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-md: 1.0625rem;
  --text-lead: clamp(0.9375rem, 0.8rem + 0.4vw, 1.125rem);
  --text-lg: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --text-xl: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem);
  --text-2xl: clamp(1.75rem, 1.3rem + 1.5vw, 2.625rem);
  --text-display: clamp(2.75rem, 1.4rem + 5vw, 6rem);

  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: clamp(5rem, 3rem + 7vw, 9rem);

  --page-gutter: clamp(1rem, 0.4rem + 3vw, 3rem);
  --page-max: 76rem;
  --page-wide: 100rem;
  --header-height: 5rem;

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-pill: 999px;

  --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);

  --dur-micro: 120ms;
  --dur-short: 280ms;
  --dur-long: 800ms;
  --dur-slow: 1400ms;

  --z-base: 1;
  --z-header: 40;
  --z-menu: 50;
}
