:root{
  /* Base ramps - sampled from the OHANA logo files and the Kyburg flyer */
  --forest-900:#0a170f;
  --forest-800:#11281e; /* logo ink - the brand's true black */
  --forest-700:#1b382a;
  --forest-600:#2a4f3d;
  --forest-500:#3d6552;

  --sage-600:#71755b;
  --sage-500:#8a8e71;
  --sage-400:#a2a588; /* flyer reverse panel */
  --sage-300:#b7ba9f;
  --sage-200:#cfd1bd;
  --sage-100:#e7e8dd;

  --blush-600:#d0928c;
  --blush-500:#e0a49e;
  --blush-400:#eeb7b2; /* logo circle */
  --blush-300:#f2c9c5;
  --blush-200:#f8e1df;
  --blush-100:#fcf2f1;

  --sand-500:#c9bda6; /* warm light from the flyer photography */
  --sand-400:#d9d0be;
  --sand-300:#e7e1d5;
  --sand-200:#f1ede4;
  --sand-100:#f8f6f0;

  --olive-ink:#3e3c22; /* handwritten script ink on the sage panel */
  --white:#ffffff;

  /* Semantic - text */
  --text-primary:var(--forest-800);
  --text-secondary:var(--forest-600);
  --text-muted:var(--sage-600);
  --text-script:var(--olive-ink);
  --text-on-dark:var(--white);
  --text-on-sage:var(--white);
  --text-on-blush:var(--forest-800);
  --text-link:var(--forest-700);
  --text-link-hover:var(--blush-600);

  /* Semantic - surfaces */
  --surface-page:var(--sand-100);
  --surface-card:var(--white);
  --surface-raised:var(--sand-200);
  --surface-sage:var(--sage-400);
  --surface-forest:var(--forest-800);
  --surface-blush:var(--blush-400);
  --surface-blush-soft:var(--blush-100);
  --surface-overlay:rgba(17,40,30,.55);

  /* Semantic - lines */
  --border-hairline:rgba(17,40,30,.14);
  --border-soft:rgba(17,40,30,.28);
  --border-strong:var(--forest-800);
  --border-on-dark:rgba(255,255,255,.45);
  --border-on-dark-soft:rgba(255,255,255,.24);

  /* Semantic - interactive */
  --accent:var(--blush-400);
  --accent-strong:var(--blush-600);
  --focus-ring:var(--blush-600);

  /* Status - derived from the brand palette, not present in source material */
  --state-success:var(--forest-600);
  --state-attention:var(--blush-600);
  --state-info:var(--sage-500);

  /* Photography tone overlay - warm, low-contrast, golden-hour */
  --scrim-warm:linear-gradient(180deg,rgba(17,40,30,0) 35%,rgba(17,40,30,.55) 100%); /* @kind other */
  --scrim-top:linear-gradient(180deg,rgba(17,40,30,.42) 0%,rgba(17,40,30,0) 45%); /* @kind other */
}
