/* Colour system — sampled from the social-media artwork and the-nourished-woman.com.
   The brand lives in one warm, earthy family: espresso browns, linen creams,
   honey gold and warm sand. Green comes from the photography, not the palette.
   The ground is cream (#F2E7DB); dark browns are for type, scrims over photographs,
   and social artwork — not for flat website backgrounds.
   Nothing cool, nothing pink, nothing neon. */

:root {
  /* Espresso — the overlay and the darkest ground */
  --espresso-900: #241611;
  --espresso-800: #2E1D16;
  --espresso-700: #3A2419;
  --espresso-600: #4A3226;

  /* Cocoa / clay — mid browns lifted out of the photography */
  --cocoa-500: #5B3E2E;
  --cocoa-400: #6B4A38;
  --clay-300: #8A6450;
  --terracotta-400: #A9694F;

  /* Sand — the warm tan of raw wood, ceramic and undyed linen.
     Kept deliberately yellow-warm rather than pink. */
  --sand-300: #C7AC8B;
  --sand-200: #DFCBAD;
  --sand-100: #EFE4D2;

  /* Cream — the paper of the brand, and its default ground.
     --cream-100 is the brand's own tone, sampled from the site: #F2E7DB.
     It works as a page background and as a card fill floating on a photograph. */
  --cream-300: #DCC9B4;
  --cream-200: #E9DACA;
  --cream-100: #F2E7DB;
  --cream-50: #FBF6F0;
  --ivory: #FFFFFF;

  /* Honey — the only accent in the system, and a rare one.
     Two steps, both muted: a text/rule tone and a faint wash.
     Never a fill behind body copy, never a button, never a large area. */
  --honey-600: #A8792F;
  --honey-300: #E3D2B0;

  /* Olive — green belongs to the photography, not the palette.
     One muted step exists for the rare case a green mark is genuinely needed
     (a positive status, a herb tag). Never a surface, never a section background. */
  --olive-600: #6E7A4F;

  /* ---- Semantic aliases ---- */
  /* Grounds. The website is light: cream is the default and dark is never a flat fill.
     When a section needs weight it uses a photograph under a scrim, with cream cards
     floating on top — --surface-inverse exists only for small bands and social artwork. */
  --surface-page: var(--cream-100);
  --surface-raised: var(--cream-50);
  --surface-sunken: var(--cream-200);
  --surface-card: var(--cream-100);
  --surface-card-raised: var(--cream-50);
  --surface-inverse: var(--espresso-800);
  --surface-accent: var(--sand-100);

  /* The signature scrim laid over photography so type stays legible */
  --overlay-scrim: rgba(36, 22, 17, 0.58);
  --overlay-scrim-strong: rgba(36, 22, 17, 0.72);
  --overlay-scrim-soft: rgba(36, 22, 17, 0.40);
  --overlay-veil-warm: rgba(90, 56, 40, 0.35);

  --text-body: var(--espresso-700);
  --text-heading: var(--espresso-900);
  --text-muted: var(--cocoa-400);
  --text-subtle: var(--clay-300);
  --text-on-dark: var(--ivory);
  --text-on-dark-muted: rgba(255, 255, 255, 0.74);
  --text-accent: var(--honey-600);
  --text-link: var(--cocoa-500);
  --text-link-hover: var(--terracotta-400);

  --border-hairline: rgba(36, 22, 17, 0.14);
  --border-hairline-on-dark: rgba(255, 255, 255, 0.42);
  --border-strong: var(--espresso-700);
  --border-accent: var(--honey-600);

  /* Semantic / status — kept in the earth family, never a stock red or green */
  --status-positive: var(--olive-600);
  --status-caution: var(--honey-600);
  --status-critical: var(--terracotta-400);
  --status-info: var(--cocoa-400);
}
