/* Design Tokens */
:root {
  --color-primary: #007BFF; /* Main accent blue */
  --color-secondary: #6c757d; /* Neutral gray */
  --color-bg: #ffffff; /* White background */
  --color-text: #212529; /* Dark text */
  --color-text-secondary: rgba(33,37,41,0.72); /* Slightly muted */
  --color-accent: #28a745; /* Green for success/accents if needed */
  --color-hairline: rgba(0,0,0,0.1); /* Subtle borders */

  --font-primary: 'Helvetica Neue', Arial, sans-serif; /* Clean, Swiss-inspired */
  --font-size-h1: 48px;
  --font-size-h2: 36px;
  --font-size-h3: 24px;
  --font-size-body: 16px;
  --line-height-base: 1.5;
  --line-height-tight: 1.2;

  --spacing-xxs: 4px;
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;

  --shadow-sm: 0 4px 12px rgba(0,0,0,0.06);
  --shadow-md: 0 8px 24px rgba(0,0,0,0.08);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.12);

  --ease-standard: cubic-bezier(.2,.7,.1,1);
  --duration-fast: 160ms;
  --duration-medium: 280ms;
  --duration-slow: 420ms;
}

/* Typography base */
body { font-family: var(--font-primary); color: var(--color-text); line-height: var(--line-height-base); background: var(--color-bg); }
h1,h2,h3,h4,h5,h6 { margin: 0 0 var(--spacing-md); line-height: var(--line-height-tight); }
p { margin: 0 0 var(--spacing-md); }

/* Utilities */
.section { padding: var(--spacing-2xl) 0; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-lg); }
.measure { max-width: 72ch; }

/* Imagery */
img { max-width: 100%; height: auto; } /* Removed border-radius and box-shadow */

/* Eyebrow label - make block to avoid inline spacing issues */
.eyebrow { display: block; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text-secondary); margin-bottom: var(--spacing-xxs); }

/* Contrast on dark hero backgrounds */
.hero .eyebrow, .hero-section .eyebrow { color: #7d9aff; }

/* Ensure header nav items are visible */
.header .nav-item { color: #ffffff; }

/* Links/Buttons basic */
a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Focus ring */
:where(a,button,[role="button"],input,select,textarea):focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; border-radius: 6px; }
