:root{
/* ---- Brand ---- */
--otm-yellow:#FFCD29;        /* sampled from supplied logo artwork */
--otm-yellow-press:#E8B713;
--otm-yellow-tint:#FFF3CC;
--otm-black:#000000;         /* logo black is true black */
--otm-ink:#111111;           /* text black — slightly open for screens */
--otm-white:#FFFFFF;

/* ---- Warm neutral ramp ---- */
--warm-50:#F7F5F0;
--warm-100:#EFEBE3;
--warm-200:#E1DBD0;
--warm-300:#C8C0B2;
--warm-400:#A39B8C;
--warm-500:#7C7466;
--warm-600:#5A544A;
--warm-700:#3D3933;
--warm-800:#26241F;
--warm-900:#15140F;

/* ---- Semantic status ---- */
--status-success:#1F8A50;
--status-success-tint:#E3F3E9;
--status-warning:#C77800;
--status-warning-tint:#FDF0DC;
--status-danger:#C1281E;
--status-danger-tint:#FBE7E5;
--status-info:#1F5FA8;
--status-info-tint:#E4EDF8;

/* ---- Semantic surfaces ---- */
--surface-page:var(--warm-50);
--surface-card:var(--otm-white);
--surface-raised:var(--otm-white);
--surface-sunken:var(--warm-100);
--surface-inverse:var(--otm-black);
--surface-accent:var(--otm-yellow);
--surface-accent-soft:var(--otm-yellow-tint);
--surface-disabled:var(--warm-100);

/* ---- Semantic text ---- */
--text-body:var(--warm-800);
--text-strong:var(--otm-ink);
--text-muted:var(--warm-500);
--text-on-accent:var(--otm-black);
--text-on-inverse:var(--otm-white);
--text-inverse-muted:var(--warm-400);
--text-disabled:var(--warm-400);
--text-link:var(--warm-800);
--text-link-hover:var(--otm-ink);

/* ---- Semantic borders ---- */
--border-subtle:var(--warm-200);
--border-default:var(--warm-300);
--border-strong:var(--otm-black);
--border-focus:var(--otm-black);
--border-inverse:var(--warm-700);
}

[data-theme="dark"]{
--surface-page:var(--otm-black);
--surface-card:var(--warm-900);
--surface-raised:var(--warm-800);
--surface-sunken:#0A0A08;
--surface-inverse:var(--otm-white);
--text-body:var(--warm-100);
--text-strong:var(--otm-white);
--text-muted:var(--warm-400);
--text-on-inverse:var(--otm-black);
--text-link:var(--otm-yellow);
--text-link-hover:var(--otm-white);
--border-subtle:var(--warm-800);
--border-default:var(--warm-700);
--border-strong:var(--otm-yellow);
--border-focus:var(--otm-yellow);
}
