/* Brand tokens — ported from the VikingPAY+ app repo marketing/content/theme.json.
   The single source of brand values for the site. Components reference these via
   var(--…); raw hex literals are not used outside this file. */

:root {
  /* Palette */
  --navy: #0B2340;
  --gold: #C8932C;
  --cream: #F3EADA;
  --ink: #0B2340;
  --muted: #6B7280;

  /* Derived surfaces (tints/shades of the palette, kept here so the rest of the
     stylesheet stays literal-free) */
  --paper: #FFFFFF;
  --navy-95: #0E2A4D;        /* hairline-lighter navy for layered dark sections */
  --cream-soft: #F8F2E8;     /* page background — softer than full cream */
  --line: #E4DCCB;           /* hairline borders on cream */
  --gold-soft: #EFD9A8;      /* gold tint for subtle fills */
  --shadow: rgba(11, 35, 64, 0.10);
  --shadow-strong: rgba(11, 35, 64, 0.18);

  /* On-dark text */
  --on-navy: #F3EADA;
  --on-navy-muted: #B8C2D0;

  /* Type — Inter primary, Calibri fallback per theme.json, then system stack */
  --font-sans: "Inter", "Calibri", "Helvetica Neue", "Segoe UI", system-ui, -apple-system, sans-serif;

  /* Type scale (fluid, clamped for 375px → desktop) */
  --step--1: clamp(0.83rem, 0.80rem + 0.15vw, 0.94rem);
  --step-0:  clamp(1rem, 0.95rem + 0.25vw, 1.13rem);
  --step-1:  clamp(1.2rem, 1.10rem + 0.5vw, 1.5rem);
  --step-2:  clamp(1.45rem, 1.25rem + 1vw, 2rem);
  --step-3:  clamp(1.8rem, 1.45rem + 1.7vw, 2.75rem);
  --step-4:  clamp(2.2rem, 1.6rem + 2.9vw, 3.75rem);

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1.25rem;
  --space-lg: 2rem;
  --space-xl: 3.5rem;
  --space-2xl: 5.5rem;

  /* Structure */
  --maxw: 72rem;
  --maxw-prose: 42rem;
  --radius: 12px;
  --radius-sm: 8px;
  --border: 1px solid var(--line);
}
