:root{
  /* --- Core palette (named + hex exactly as specified in the Visual Language board) --- */
  --linen:#F8F7F3;
  --burlap:#BCB3A6;
  --cinnamon:#875F45;
  --olive:#5B5546;
  --espresso:#302E2C;

  /* --- Extended, sampled from the brand decks --- */
  --paper:#EEEAE1;        /* deck / page ground */
  --sienna:#814921;       /* saturated feature panel, eyebrow rust */
  --clay:#A5734E;         /* muted rust for small type on paper */
  --peach:#E5B08B;        /* soft accent, annotation notes */
  --ink:#1F1E1C;          /* deepest text, near-black */

  /* --- Tints & shades (derived, for hover/press/dividers) --- */
  --linen-dim:#EAE7E0;
  --burlap-light:#D6D0C7;
  --burlap-dark:#9E9587;
  --cinnamon-light:#9C7358;
  --cinnamon-dark:#6E4B36;
  --olive-light:#6C6554;
  --olive-dark:#484334;
  --espresso-light:#464340;
  --espresso-dark:#211F1E;
  --sienna-light:#96582A;
  --sienna-dark:#6A3B1A;

  /* --- Semantic surfaces --- */
  --surface-page:var(--paper);
  --surface-raised:var(--linen);
  --surface-sunken:var(--linen-dim);
  --surface-card:var(--linen);
  --surface-feature:var(--sienna);
  --surface-inverse:var(--espresso);
  --surface-muted:var(--burlap);
  --surface-overlay:rgba(48,46,44,.72);

  /* --- Semantic text --- */
  --text-body:var(--espresso);
  --text-display:var(--ink);
  --text-muted:#6B6558;
  --text-subtle:var(--burlap-dark);
  --text-accent:var(--cinnamon);
  --text-eyebrow:var(--clay);
  --text-on-dark:var(--linen);
  --text-on-dark-muted:rgba(248,247,243,.72);
  --text-on-feature:var(--linen);
  --text-link:var(--cinnamon);
  --text-link-hover:var(--cinnamon-dark);

  /* --- Lines --- */
  --border-hairline:rgba(48,46,44,.14);
  --border-default:rgba(48,46,44,.24);
  --border-strong:var(--espresso);
  --border-on-dark:rgba(248,247,243,.28);
  --border-accent:var(--cinnamon);

  /* --- Status. Not defined by the brand source; derived from the palette so
     product UI has a consistent, on-brand signal set. --- */
  --status-success:#5B6B4A;
  --status-warning:#A8762F;
  --status-danger:#8E3B26;
  --status-info:var(--olive);
}
:root{
  /* Families */
  --font-display:"Cormorant Garamond",ui-serif,Georgia,serif;   /* lockup + hero voice */
  --font-serif:"EB Garamond",ui-serif,Georgia,serif;            /* body prose */
  --font-sans:"Jost","Futura",ui-sans-serif,system-ui,sans-serif;/* geometric caps, UI */
  --font-mono:"DM Mono",ui-monospace,SFMono-Regular,monospace;  /* eyebrows, wayfinding */

  /* Weights */
  --weight-light:300;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;

  /* Display scale — always --font-display, tight leading, optical letterspacing */
  --size-display-1:88px;  --lh-display-1:0.96;/* @kind other */ --ls-display-1:-0.02em;/* @kind other */
  --size-display-2:64px;  --lh-display-2:1.0;/* @kind other */  --ls-display-2:-0.015em;/* @kind other */
  --size-display-3:44px;  --lh-display-3:1.06;/* @kind other */ --ls-display-3:-0.01em;/* @kind other */
  --size-display-4:32px;  --lh-display-4:1.12;/* @kind other */ --ls-display-4:0;/* @kind other */

  /* Body scale — --font-serif for prose, --font-sans for UI */
  --size-body-lg:19px; --lh-body-lg:1.62;/* @kind other */
  --size-body:17px;    --lh-body:1.6;/* @kind other */
  --size-body-sm:15px; --lh-body-sm:1.55;/* @kind other */
  --size-caption:13px; --lh-caption:1.5;/* @kind other */

  /* Eyebrow / label — all caps, wide tracking */
  --size-eyebrow:12px; --ls-eyebrow:0.16em;/* @kind other */
  --size-label:13px;   --ls-label:0.08em;/* @kind other */
  --size-nav:14px;     --ls-nav:0.12em;/* @kind other */

  /* Wordmark tracking, as drawn in the lockup */
  --ls-wordmark:0.06em;/* @kind other */
}
:root{
  /* 4px base, but the brand's generous vertical rhythm lives in the 40-160 range */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:40px;
  --space-8:56px;
  --space-9:72px;
  --space-10:96px;
  --space-11:128px;
  --space-12:160px;

  --gutter:24px;
  --page-margin:40px;
  --page-margin-lg:72px;
  --measure:66ch;/* @kind other */         /* prose max width */
  --content-max:1240px;

  /* Radii — the source uses one generous soft radius on panels, small on controls */
  --radius-none:0;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:16px;
  --radius-panel:20px;
  --radius-image:14px;
  --radius-pill:999px;
}
:root{
  /* Ember & Oak is a flat, printed-page system. Elevation is expressed with
     hairlines and ground-tone shifts first; shadows stay soft and rare. */
  --shadow-none:none;
  --shadow-card:0 1px 2px rgba(48,46,44,.05);
  --shadow-raised:0 8px 24px -12px rgba(48,46,44,.22);
  --shadow-overlay:0 24px 64px -24px rgba(48,46,44,.38);
  --shadow-inset-hairline:inset 0 0 0 1px rgba(48,46,44,.14);

  /* Protection gradient for type over photography */
  --scrim-bottom:linear-gradient(to top,rgba(31,30,28,.72),rgba(31,30,28,0) 62%);/* @kind other */
  --scrim-full:linear-gradient(to bottom,rgba(31,30,28,.34),rgba(31,30,28,.52));/* @kind other */

  --blur-glass:blur(10px);/* @kind other */
}
:root{
  /* Slow, settled, no bounce. Nothing in this brand springs. */
  --ease-standard:cubic-bezier(.32,.72,0,1);/* @kind other */
  --ease-out:cubic-bezier(.16,1,.3,1);/* @kind other */
  --ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
  --duration-fast:140ms;/* @kind other */
  --duration-base:240ms;/* @kind other */
  --duration-slow:420ms;/* @kind other */
  --duration-reveal:700ms;/* @kind other */
  --hover-fade:opacity var(--duration-base) var(--ease-standard);/* @kind other */
}
