:root {
  /* Brand colors */
  --color-bg-light: #f2f0eb;
  --color-bg: var(--color-bg-light);
  --color-bg-dark: #3c3831;
  --color-bg-darker: #2e2b28;
  --color-text: #333333;
  --color-text-light: #666666;
  --color-text-on-dark: #f2f0eb;
  --color-accent: #4a50f0;
  --color-accent-rgb: 74, 80, 240;
  --color-gold: #c4a052;
  --color-gold-light: #e8d5a8;
  --color-border: rgba(51, 51, 51, 0.12);
  --color-bg-muted: #e8e4dc;

  /* Typography */
  --font-family-en: "Open Sauce One", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-family-ka: "FiraGO", "Metrica", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-family: var(--font-family-ka);
  --font-serif: var(--font-family);
  --font-sans: var(--font-family);
  --font-georgian: "FiraGO", "Metrica", system-ui, sans-serif;
  --font-hero: "BPG Mrgvlovani", "FiraGO", "Metrica", system-ui, serif;
  --font-logo: "Open Sauce One", "Inter", system-ui, sans-serif;

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;

  /* Layout */
  --container-max: 1320px;
  --container-narrow: 960px;
  --header-height: 72px;
  --header-height-home: 44px;

  /* Transitions */
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-smooth: 0.48s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-nav: 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-image: 0.75s cubic-bezier(0.4, 0, 0.2, 1);

  /* Refinement tokens */
  --radius-btn: 11px;
  --hero-content-max: 52rem;
  --hero-title-size: 40px;
  --hero-title-line-gap: 18px;
  --hero-title-color: #D8CBB8;
  --hero-title-stretch-x: 0.92;
  --hero-title-stretch-y: 1.12;
  --hero-title-track: 0.3px;
  --dark-section-extend: 1cm;
  --hero-overlay-dark: 46, 43, 40;
  --hero-overlay-top: rgba(var(--hero-overlay-dark), 0.24);
  --hero-overlay-mid: rgba(var(--hero-overlay-dark), 0.07);
  --hero-overlay-mobile-top: rgba(var(--hero-overlay-dark), 0.4);
  --hero-overlay-mobile-mid: rgba(var(--hero-overlay-dark), 0.16);
  --hero-text-shadow: 0 1px 3px rgba(0, 0, 0, 0.46), 0 2px 22px rgba(0, 0, 0, 0.3);
  --photo-filter: saturate(0.88) contrast(1.02) brightness(1.04) sepia(0.05);
  --hover-scale: 1.025;
  --hover-scale-subtle: 1.02;
  --btn-padding-y: 1.125rem;
  --btn-padding-x: 2.25rem;
  --shadow-soft: 0 2px 14px rgba(0, 0, 0, 0.05);
  --shadow-medium: 0 8px 28px rgba(0, 0, 0, 0.07);
  --shadow-strong: 0 18px 56px rgba(0, 0, 0, 0.14);

  /* Section spacing — reference: technical-highlights block */
  --section-pad-y: calc(var(--space-xl) + 1.75rem);
  --section-head-gap: calc(var(--space-md) + 0.5rem);
  --section-content-gap: var(--space-xl);
  --section-title-to-lead: var(--space-lg);

  /* Homepage aliases (same system) */
  --home-section-pad: var(--section-pad-y);
  --home-section-between: calc(var(--section-pad-y) * 2);
  --home-heading-top: 0;
  --home-heading-bottom: var(--section-content-gap);
}

html[lang="en"] {
  --font-family: var(--font-family-en);
  --font-serif: var(--font-family-en);
  --font-sans: var(--font-family-en);
}

html[lang="ka"] {
  --font-family: var(--font-family-ka);
  --font-serif: var(--font-family-ka);
  --font-sans: var(--font-family-ka);
}

html[lang="en"] body {
  letter-spacing: 0.01em;
}

html[lang="en"] h1,
html[lang="en"] h2,
html[lang="en"] h3,
html[lang="en"] h4 {
  font-weight: 400;
  letter-spacing: -0.02em;
}

html[lang="en"] .nav__link {
  font-weight: 500;
  letter-spacing: 0.03em;
}

html[lang="en"] .btn {
  font-weight: 500;
  letter-spacing: 0.1em;
}
