:root {
  /* Color — OKLCH, WordPress-ready */
  --bg: oklch(1 0 0);
  --surface: oklch(0.975 0.008 230);
  --surface-2: oklch(0.94 0.012 230);
  --ink: oklch(0.22 0.04 250);
  --muted: oklch(0.4 0.025 250);
  --faint: oklch(0.55 0.02 250);
  --line: oklch(0.89 0.015 230);
  --line-strong: oklch(0.8 0.02 230);
  --primary: oklch(0.46 0.14 230);
  --primary-hover: oklch(0.4 0.145 230);
  --primary-active: oklch(0.36 0.14 230);
  --primary-soft: oklch(0.94 0.03 230);
  --on-primary: oklch(0.99 0.005 230);
  --accent: oklch(0.42 0.12 155);
  --accent-soft: oklch(0.94 0.04 155);
  --warning: oklch(0.55 0.13 70);
  --warning-soft: oklch(0.95 0.04 70);
  --danger: oklch(0.5 0.18 25);
  --danger-soft: oklch(0.95 0.03 25);
  --ink-inverse: oklch(0.98 0.01 230);
  --bg-inverse: oklch(0.2 0.04 250);

  /* Type */
  --font: "Google Sans", "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.75rem;
  --fs-3xl: 2.25rem;
  --fs-hero: 3rem;
  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-body: 1.55;
  --tracking-tight: -0.03em;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Space */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Layout */
  --page: 76rem;
  --gutter: 1.5rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.125rem;
  --radius-xl: 1.5rem;
  --radius-full: 999px;

  /* Elevation */
  --shadow-sm: 0 1px 2px oklch(0.22 0.04 250 / 0.06);
  --shadow-md: 0 8px 24px oklch(0.22 0.04 250 / 0.08);
  --shadow-lg: 0 18px 40px oklch(0.22 0.04 250 / 0.12);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration: 180ms;
  --duration-slow: 280ms;

  /* Z */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;
  --z-consent: 700;

  --header-utility: 2.25rem;
  --header-main: 4.25rem;
  --header-h: calc(var(--header-utility) + var(--header-main));
  --touch: 2.75rem;
}

@media (max-width: 1024px) {
  :root {
    --fs-hero: 2.25rem;
    --gutter: 1.25rem;
    --header-utility: 0px;
    --header-main: 4rem;
  }
}

@media (max-width: 767px) {
  :root {
    --fs-hero: 1.75rem;
    --gutter: 0.9rem;
    --page: 100%;
    --header-main: 3.6rem;
    --touch: 2.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration: 0.01ms;
    --duration-slow: 0.01ms;
  }
}

/* Official BYN sign — National Bank of Belarus icon font */
@font-face {
  font-family: nbrb;
  src:
    url("../assets/fonts/nbrb/nbrb.woff2") format("woff2"),
    url("../assets/fonts/nbrb/nbrb.woff") format("woff"),
    url("../assets/fonts/nbrb/nbrb.ttf") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+E901, U+42, U+59, U+4E;
}

.nbrb-icon {
  font-family: nbrb, var(--font) !important;
  font-style: normal;
  font-weight: 600;
  font-variant: normal;
  font-size: calc(1em + 2pt);
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  color: inherit;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "liga";
  font-variant-ligatures: discretionary-ligatures;
  -webkit-text-stroke: 0.35px currentColor;
}
