:root {
  /* Brand-aligned: navy + gold mark, forest green CTAs, white plane. */
  --color-bg: #ffffff;
  --color-surface: #ffffff;
  --color-surface-alt: #f5f7fa;
  --color-surface-warm: #fbf8f2;
  --color-surface-cool: #f3f6fb;
  --color-surface-dark: #16233f;
  --color-surface-dark-2: #1e2f52;

  --color-text: #16233f;
  --color-text-muted: #5a6578;
  --color-text-faint: #6e7a8d;
  --color-text-on-dark: #f5f7fa;
  --color-text-muted-on-dark: #b4bdd0;
  --color-text-faint-on-dark: #8a95ab;
  --color-link-on-dark: #dce2ee;
  --color-header: #ffffff;

  --color-brand: #167a55;
  --color-brand-bright: #1f9a6c;
  --color-brand-dark: #0f573c;
  --color-brand-soft: #e6f4ee;
  --color-accent: #c79a3e;
  --color-accent-soft: #f8efd9;
  --color-navy: #16233f;

  --color-info: #3569c8;
  --color-info-soft: #edf3fc;
  --color-warning: #c79a3e;
  --color-warning-soft: #f8efd9;
  --color-danger: #c84c4c;
  --color-danger-soft: #fceeee;
  --color-special: #4a5f9c;
  --color-special-soft: #eef1f8;

  --border-default: #e2e6ee;
  --border-active: var(--color-brand);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-product: 0 24px 60px rgb(22 35 63 / .16), 0 0 0 1px rgb(22 35 63 / .06);
  --shadow-floating: 0 14px 36px rgb(22 35 63 / .1);
  --shadow-glow: 0 0 40px rgb(199 154 62 / .18), 0 18px 44px rgb(22 122 85 / .1);
  --shadow-none: none;

  --bg: var(--color-bg);
  --bg-soft: var(--color-surface-alt);
  --surface: var(--color-surface);
  --surface-2: var(--color-surface-alt);
  --ink: var(--color-text);
  --ink-2: #24324f;
  --muted: var(--color-text-muted);
  --muted-2: var(--color-text-faint);
  --line: var(--border-default);
  --line-strong: #c9d0dc;
  --brand: var(--color-brand);
  --brand-dark: var(--color-brand-dark);
  --brand-soft: var(--color-brand-soft);
  --brand-pale: var(--color-brand-soft);
  --success: var(--color-brand);
  --warn: var(--color-warning);
  --danger: var(--color-danger);
  --dark: var(--color-surface-dark);
  --dark-2: var(--color-surface-dark-2);
  --dark-muted: var(--color-text-muted-on-dark);
  --focus: var(--color-info);

  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --display: clamp(2rem, 3.7vw, 3.05rem);
  --h1: clamp(1.75rem, 2.8vw, 2.4rem);
  --h2: clamp(1.35rem, 2vw, 1.75rem);
  --h3: 1.0625rem;
  --body-lg: 1rem;
  --body: 0.95rem;
  --small: 0.8125rem;
  --tiny: 0.7rem;

  --s1: .35rem;
  --s2: .6rem;
  --s3: .9rem;
  --s4: 1.2rem;
  --s5: 1.4rem;
  --s6: 2.2rem;
  --s7: 2.5rem;
  --s8: 3.1rem;
  --s9: 4.4rem;
  --s10: 5.7rem;

  --r-sm: var(--radius-sm);
  --r-md: var(--radius-md);
  --r-lg: var(--radius-lg);
  --r-xl: 18px;
  --shadow-sm: 0 4px 16px rgb(22 35 63 / .06);
  --shadow-md: var(--shadow-floating);
  --wrap: 70rem;
  --wrap-wide: 77rem;
  --measure: 42rem;
  --header: 4.1rem;
  --motion: 300ms;
  --ease: cubic-bezier(.2,.7,.2,1);
}

@media (max-width: 700px) {
  :root { --s9: 3rem; --s10: 3.8rem; --header: 3.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
