:root {
  color-scheme: light;

  /* Core typography */
  --font-sans: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Fraunces', 'Montserrat', 'Segoe UI', serif;
  --font-size-base: 16px;
  --line-height-base: 1.5;

  /* Typography weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* Typography sizes (1pt ≈ 1.333px) */
  --font-size-title: 2rem;        /* 24pt → 32px */
  --font-size-h1: 1.667rem;       /* 20pt → ~26.7px */
  --font-size-h2: 1.5rem;         /* 18pt → 24px */
  --font-size-h3: 1.167rem;       /* 14pt → ~18.7px */
  --font-size-subtitle: 1.167rem; /* 14pt → ~18.7px */
  --font-size-body: 0.917rem;     /* 11pt → ~14.7px */

  /* LCOY USA color palette */
  --color-dark-green: #06794A;
  --color-light-green: #78C44C;
  --color-mint-green: #008968;
  --color-turquoise: #00AB9C;
  --color-dark-blue: #142E5B;
  --color-red: #E80021;

  /* Semantic color tokens */
  --color-bg: #f2f8f5;
  --color-surface: #ffffff;
  --color-surface-soft: #f7fbf9;
  --color-text: #142E5B;
  --color-text-muted: #3d5870;
  --color-border: #cde4d9;
  --color-primary: #06794A;
  --color-primary-strong: #008968;
  --color-accent: #00AB9C;

  /* Gradients */
  --gradient-aurora:
    radial-gradient(60% 90% at 8% -10%, color-mix(in srgb, var(--color-light-green) 55%, transparent), transparent 60%),
    radial-gradient(55% 80% at 96% -15%, color-mix(in srgb, var(--color-turquoise) 55%, transparent), transparent 60%),
    radial-gradient(70% 90% at 50% 120%, color-mix(in srgb, var(--color-dark-blue) 30%, transparent), transparent 65%),
    linear-gradient(160deg, var(--color-dark-blue) 0%, #1c3f6e 42%, var(--color-mint-green) 100%);
  --gradient-primary: linear-gradient(135deg, var(--color-dark-green) 0%, var(--color-mint-green) 55%, var(--color-turquoise) 100%);
  --gradient-primary-hover: linear-gradient(135deg, var(--color-mint-green) 0%, var(--color-turquoise) 100%);
  --gradient-text: linear-gradient(100deg, #ffffff 0%, #d7f5e6 45%, #9fe6cf 100%);
  --gradient-underline: linear-gradient(90deg, var(--color-light-green), var(--color-turquoise));
  --gradient-page-bg:
    radial-gradient(46rem 30rem at 12% -8%, color-mix(in srgb, var(--color-light-green) 16%, transparent), transparent 60%),
    radial-gradient(40rem 28rem at 100% 0%, color-mix(in srgb, var(--color-turquoise) 14%, transparent), transparent 55%),
    radial-gradient(50rem 34rem at 50% 110%, color-mix(in srgb, var(--color-dark-green) 8%, transparent), transparent 60%),
    var(--color-bg);

  /* Surfaces */
  --surface-glass: color-mix(in srgb, var(--color-surface) 78%, transparent);
  --surface-glass-strong: color-mix(in srgb, var(--color-surface) 92%, transparent);
  --border-glass: color-mix(in srgb, var(--color-surface) 45%, transparent);

  /* Effects */
  --shadow-xs: 0 1px 2px rgba(10, 35, 25, 0.05);
  --shadow-soft: 0 8px 30px rgba(6, 121, 74, 0.08);
  --shadow-md: 0 10px 24px rgba(10, 40, 35, 0.1);
  --shadow-hover: 0 16px 36px rgba(6, 121, 74, 0.16);
  --shadow-lg: 0 24px 60px rgba(10, 35, 55, 0.16);
  --shadow-glow: 0 0 0 1px color-mix(in srgb, var(--color-turquoise) 30%, transparent), 0 12px 30px color-mix(in srgb, var(--color-turquoise) 25%, transparent);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 26px;
  --radius-pill: 999px;
  --field-label-min-width: 92px;

  /* Motion */
  --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 140ms;
  --duration-base: 260ms;
  --duration-slow: 420ms;
}
