:root{
  /* Brand core — pulled from the packaging */
  --green-900:#12321F;
  --green-800:#194028;
  --green-700:#1F5232;  /* label green, primary brand */
  --green-600:#2A6B41;
  --green-500:#3C8656;
  --green-200:#B9D3C1;
  --green-100:#DEEAE0;

  --orange-700:#A34A17;
  --orange-600:#C1571A;
  --orange-500:#E07A1F;  /* leaf orange, primary accent */
  --orange-300:#F0AE6A;
  --orange-100:#F9E3CB;

  --terracotta-600:#B0501F; /* "DRILON" wordmark on the liquid label */

  --teal-600:#3E7E76;
  --teal-500:#4E9A90;      /* water / wave motif */
  --teal-200:#B7D6D1;

  --earth-900:#241609;     /* humus, near-black brown */
  --earth-700:#3C2716;
  --earth-500:#6B4A2C;
  --earth-300:#B08A5F;

  /* Papers & neutrals */
  --cream-50:#FDFAF3;
  --cream-100:#F6EEDD;
  --cream-200:#EFE1C4;     /* label paper */
  --kraft-300:#E0CBA5;
  --kraft-400:#CBAF85;
  --ink-900:#161513;       /* logo line black */
  --ink-600:#4A4741;
  --ink-400:#807B72;
  --ink-200:#D8D3C8;
  --white:#FFFFFF;

  /* Semantic — surfaces */
  --surface-page:var(--cream-50);
  --surface-card:var(--white);
  --surface-paper:var(--cream-200);
  --surface-kraft:var(--kraft-300);
  --surface-inverse:var(--green-800);
  --surface-soil:var(--earth-900);
  --surface-subtle:var(--cream-100);

  /* Semantic — text */
  --text-body:var(--earth-700);
  --text-heading:var(--green-800);
  --text-muted:var(--ink-400);
  --text-inverse:var(--cream-100);
  --text-accent:var(--orange-600);
  --text-link:var(--green-700);
  --text-link-hover:var(--orange-600);

  /* Semantic — lines & interactive */
  --border-hairline:rgba(36,22,9,.12);
  --border-strong:var(--green-800);
  --border-paper:rgba(36,22,9,.2);
  --action-primary:var(--green-700);
  --action-primary-hover:var(--green-800);
  --action-primary-press:var(--green-900);
  --action-accent:var(--orange-500);
  --action-accent-hover:var(--orange-600);
  --focus-ring:var(--orange-500);

  /* Semantic — status */
  --status-success:var(--green-600);
  --status-warning:var(--orange-500);
  --status-error:#A32418;
  --status-info:var(--teal-600);
}
