:root {
    /* ── Primitive palette ── */
    --primitive-navy-950: #101524;
    --primitive-navy-900: #1c2233;
    --primitive-grey-700: #374151;
    --primitive-grey-500: #6b7280;
    --primitive-grey-200: #e5e7eb;
    --primitive-grey-100: #f3f4f6;
    --primitive-grey-50:  #f9fafb;
    --primitive-blue-600: #2f5da8;
    --primitive-blue-700: #244a88;
    --primitive-gold-500: #d4af37;
    --primitive-gold-600: #b8941f;
    --primitive-white:    #ffffff;

    /* ── Brand aliases ── */
    --brand-primary:           var(--primitive-navy-900);
    --brand-primary-deep:      var(--primitive-navy-950);
    --brand-accent:            var(--primitive-gold-500);
    --brand-accent-hover:      var(--primitive-gold-600);
    --brand-interactive:       var(--primitive-blue-600);
    --brand-interactive-hover: var(--primitive-blue-700);

    /* ── Semantic tokens ── */
    --color-text-primary:   var(--primitive-navy-900);
    --color-text-secondary: var(--primitive-grey-500);
    --color-text-inverse:   var(--primitive-white);
    --color-text-link:      var(--primitive-blue-600);
    --color-bg-main:        var(--primitive-white);
    --color-bg-surface:     var(--primitive-grey-50);
    --color-bg-inverse:     var(--primitive-navy-900);
    --color-border-subtle:  var(--primitive-grey-200);

    --navbar-height: 82px;

    /* ── Spacing ── */
    --space-1:  8px;
    --space-2:  16px;
    --space-3:  24px;
    --space-4:  32px;
    --space-5:  40px;
    --space-6:  48px;
    --space-8:  64px;
    --space-10: 80px;

    /* ── Typography ── */
    --font-size-sm: 0.8125rem;
    --font-primary: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    /* ── Shape & shadow ── */
    --radius-sm:   6px;
    --radius-md:   12px;
    --radius-lg:   24px;
    --shadow-soft: 0 16px 48px rgba(16, 21, 36, 0.10);
    --shadow-cinematic: 0 32px 90px rgba(0, 0, 0, 0.34);
}
