:root{
/* --- base ramps ---------------------------------------------------------
   Sampled directly from the supplied logo files:
   #421212 is the wordmark oxblood, #EADEC6 the ivory used on the leather lockup.
   Everything else is a tonal extension of those two. ------------------- */

/* wine — the oxblood brand ramp. warm and brown-cast, never magenta. */
--lv-wine-950:#1E0808;
--lv-wine-900:#2C0D0D;
--lv-wine-800:#421212; /* logo colour — the primary */
--lv-wine-700:#561A1A;
--lv-wine-600:#6E2323;
--lv-wine-500:#8A3131;
--lv-wine-400:#A85252;
--lv-wine-300:#C08A8A;
--lv-wine-200:#DEBDBD;
--lv-wine-100:#EFDCDC;
--lv-wine-50:#FAF1EF;

/* brass — metallic accent. foil rules, stars, small marks. never a large fill. */
--lv-brass-700:#7E5C22;
--lv-brass-600:#9A742D;
--lv-brass-500:#B08A3C;
--lv-brass-400:#C4A25C;
--lv-brass-200:#E1CFA6;
--lv-brass-100:#F1E5C9;

/* cellar — the warm leather darks lifted from the textured lockup.
   the second dark surface: softer and browner than the oxblood. */
--lv-cellar-900:#241110;
--lv-cellar-800:#3A1B1A;
--lv-cellar-600:#54312E;
--lv-cellar-300:#B39A94;
--lv-cellar-100:#E6DAD4;

/* parchment — the ivory paper neutral the whole brand sits on. */
--lv-parchment-50:#FBF6EC;
--lv-parchment-100:#EADEC6; /* logo ivory */
--lv-parchment-200:#DED0B2;
--lv-parchment-300:#C9B893;
--lv-parchment-400:#AE9B74;

/* ink — warm-cast greys for text and hairlines. never a pure neutral grey. */
--lv-ink-900:#1C1615;
--lv-ink-800:#312826;
--lv-ink-600:#524644;
--lv-ink-500:#6B5D5A;
--lv-ink-400:#877A76;
--lv-ink-300:#ACA09B;
--lv-ink-200:#D2C7C1;
--lv-ink-100:#E8DFD9;
--lv-white:#FFFFFF;

/* semantic status — all pulled toward the warm end so they sit in the palette */
--lv-success-600:#4A6647;
--lv-success-100:#E2EADF;
--lv-warning-600:#9A742D;
--lv-warning-100:#F1E5C9;
--lv-danger-600:#8E2B22;
--lv-danger-100:#F5DFDB;
--lv-info-600:#3E5262;
--lv-info-100:#E2E8ED;

/* --- semantic aliases -------------------------------------------------- */
/* surfaces */
--surface-page:var(--lv-parchment-50);
--surface-card:var(--lv-white);
--surface-raised:var(--lv-white);
--surface-sunken:var(--lv-parchment-100);
--surface-muted:var(--lv-parchment-200);
--surface-inverse:var(--lv-wine-800);
--surface-inverse-alt:var(--lv-cellar-800);
--surface-accent-soft:var(--lv-wine-50);
--surface-brass-soft:var(--lv-brass-100);
--surface-overlay:color-mix(in oklab, var(--lv-wine-950) 62%, transparent);
--surface-leather:url("../assets/texture/oxblood-leather-600.png");

/* text */
--text-body:var(--lv-ink-800);
--text-heading:var(--lv-wine-800);
--text-muted:var(--lv-ink-500);
--text-subtle:var(--lv-ink-400);
--text-on-inverse:var(--lv-parchment-100);
--text-on-inverse-muted:var(--lv-wine-300);
--text-accent:var(--lv-wine-700);
--text-brass:var(--lv-brass-600);
--text-link:var(--lv-wine-700);
--text-link-hover:var(--lv-wine-900);
--text-danger:var(--lv-danger-600);
--text-success:var(--lv-success-600);

/* lines */
--border-hairline:var(--lv-parchment-300);
--border-default:var(--lv-ink-200);
--border-strong:var(--lv-ink-900);
--border-accent:var(--lv-wine-800);
--border-brass:var(--lv-brass-400);
--border-inverse:color-mix(in oklab, var(--lv-parchment-100) 24%, transparent);
--border-focus:var(--lv-wine-600);

/* actions */
--action-primary-bg:var(--lv-wine-800);
--action-primary-bg-hover:var(--lv-wine-700);
--action-primary-bg-active:var(--lv-wine-900);
--action-primary-fg:var(--lv-parchment-100);
--action-secondary-bg:transparent;
--action-secondary-fg:var(--lv-wine-800);
--action-secondary-border:var(--lv-wine-800);
--action-secondary-bg-hover:var(--lv-wine-50);
--action-brass-bg:var(--lv-brass-400);
--action-brass-bg-hover:var(--lv-brass-500);
--action-brass-fg:var(--lv-wine-900);
--action-ghost-fg:var(--lv-ink-800);
--action-ghost-bg-hover:var(--lv-parchment-200);
--action-disabled-bg:var(--lv-parchment-200);
--action-disabled-fg:var(--lv-ink-300);
}
