/* Hume Design System — design tokens. Verbatim from the design handoff (_ds/…/tokens/*.css),
   concatenated into one file. Fonts are loaded from Google Fonts via <link> in each page's <head>
   (see tokens/fonts.css in the handoff); self-host them before launch. */

/* ———— tokens/colors.css ———— */
:root{
/* ————— base palette: iron-gall ink, aged paper, club leather, brass ————— */
--ink-0:#120d07; /* night — darkest surfaces */
--ink:#1d160d; /* primary ink */
--ink-2:#33291b; /* raised ink */
--paper:#f2ead9; /* page */
--paper-bright:#f9f3e6; /* cards, inputs */
--paper-deep:#e7dcc3; /* inset panels */
--paper-shadow:#d8c9a9; /* deep parchment */
--oxblood:#5f1c22; /* club leather */
--oxblood-deep:#46151a;
--oxblood-bright:#7c2730; /* links, live accents */
--brass:#a67c33;
--brass-bright:#c39a52; /* accents on dark */
--brass-deep:#7e5d24;
--club-green:#24392a; /* bankers-lamp green */
--club-green-deep:#182a1e;
--engraving-blue:#3c5164; /* slate — info only */
/* sepia neutrals (ink over paper) */
--sepia-80:#3e3524;
--sepia-60:#5c5140;
--sepia-40:#8a7c63;
--sepia-25:#b3a68b;
--sepia-12:#d5cab0;
/* ————— semantic: surfaces ————— */
--surface-page:var(--paper);
--surface-card:var(--paper-bright);
--surface-inset:var(--paper-deep);
--surface-night:var(--ink-0);
--surface-panel-dark:var(--ink);
--surface-club:var(--club-green-deep);
--overlay-scrim:rgba(18,13,7,.55);
/* ————— semantic: text ————— */
--text-heading:var(--ink);
--text-body:#291f10;
--text-secondary:var(--sepia-60);
--text-muted:var(--sepia-40);
--text-on-dark:var(--paper-bright);
--text-on-dark-muted:#a2947a;
--text-accent:var(--oxblood-bright);
--link:var(--oxblood-bright);
--link-hover:var(--oxblood);
--link-on-dark:var(--brass-bright);
/* ————— semantic: strokes & focus ————— */
--stroke-hairline:rgba(29,22,13,.32);
--stroke-soft:rgba(29,22,13,.14);
--stroke-strong:var(--ink);
--stroke-on-dark:rgba(249,243,230,.22);
--focus-ring:0 0 0 3px rgba(166,124,51,.4);
/* ————— semantic: status ————— */
--positive:#2f5a3a; --positive-surface:#e2e6d2;
--caution:#8a6414; --caution-surface:#eee2c2;
--negative:#8f2318; --negative-surface:#ecd8cd;
--info:var(--engraving-blue); --info-surface:#dde1de;
}

/* ———— tokens/typography.css ———— */
:root{
--font-display:"EB Garamond",Georgia,serif; /* masthead & display, 400 (500 for small display) */
--font-serif:"EB Garamond",Georgia,"Times New Roman",serif; /* headings & long-form body */
--font-sans:"Libre Franklin","Franklin Gothic Medium","Helvetica Neue",Arial,sans-serif; /* UI, labels, nav */
--font-mono:"Courier Prime","Courier New",monospace; /* stamps, metadata, figures, fine print */
/* scale */
--text-2xs:11px; --text-xs:12px; --text-sm:13px; --text-base:16px; --text-md:18px;
--text-lg:21px; --text-xl:26px; --text-2xl:34px; --text-3xl:46px; --text-4xl:62px; --text-display:80px;
/* leading */
--leading-display:1.04; --leading-tight:1.16; --leading-snug:1.32; --leading-body:1.62; --leading-mono:1.5;
/* tracking */
--tracking-caps:.16em; /* small caps labels, kickers */
--tracking-wide:.09em; /* buttons, nav */
--tracking-tight:-.012em; /* display sizes */
/* measures */
--measure-body:62ch; --width-text:720px; --width-content:1140px;
}

/* ———— tokens/spacing.css ———— */
:root{
--space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
--space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
--gutter:24px; /* default grid gutter */
--pad-card:var(--space-5);
--pad-section:var(--space-9); /* vertical rhythm between page sections */
}

/* ———— tokens/borders.css ———— */
:root{
/* corners — this brand is set in metal type: near-square everywhere */
--radius-1:2px; /* buttons, inputs, badges */
--radius-2:4px; /* cards, dialogs — maximum radius in the system */
--radius-round:50%; /* radio dots only */
/* rules */
--rule-hairline:1px solid var(--stroke-hairline);
--rule-soft:1px solid var(--stroke-soft);
--rule-strong:2px solid var(--stroke-strong);
/* shadows — print-plate, not glass: tight, warm, low */
--shadow-lift:0 1px 0 rgba(18,13,7,.05),0 10px 28px -18px rgba(18,13,7,.5);
--shadow-overlay:0 30px 80px -28px rgba(18,13,7,.6),0 6px 22px -10px rgba(18,13,7,.35);
--shadow-plate:5px 5px 0 rgba(18,13,7,.92); /* poster device — sparing */
}
/* Oxford rule (thick-over-thin, broadsheet section break): apply to an empty block */
.oxford-rule{height:6px;border:0;background:linear-gradient(to bottom,currentColor 0 2.5px,transparent 2.5px 5px,currentColor 5px 6px);color:var(--ink)}

/* ———— tokens/motion.css ———— */
:root{
/* motion is quiet: fades and 2–6px settles; nothing bounces in a reading room */
--ease-settle:cubic-bezier(.3,0,.18,1); /* @kind other */
--ease-exit:cubic-bezier(.5,0,.8,.4); /* @kind other */
--dur-1:120ms; /* @kind other */ /* hover, press */
--dur-2:220ms; /* @kind other */ /* reveals, menus */
--dur-3:380ms; /* @kind other */ /* dialogs, page bands */
}

/* ———— tokens/textures.css ———— */
/* CSS-only textures — no image dependencies */
.tx-paper{background-image:repeating-linear-gradient(93deg,rgba(29,22,13,.022) 0 2px,transparent 2px 5px),repeating-linear-gradient(0deg,rgba(249,243,230,.02) 0 1px,transparent 1px 3px)}
.tx-crosshatch{background-image:repeating-linear-gradient(45deg,rgba(249,243,230,.045) 0 1px,transparent 1px 7px),repeating-linear-gradient(-45deg,rgba(249,243,230,.03) 0 1px,transparent 1px 9px)} /* for dark/club surfaces */
.tx-crosshatch-ink{background-image:repeating-linear-gradient(45deg,rgba(29,22,13,.05) 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,rgba(29,22,13,.035) 0 1px,transparent 1px 8px)} /* for paper surfaces */

/* ———— tokens/base.css ———— */
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2.5px}
a:hover{color:var(--link-hover)}
::selection{background:rgba(195,154,82,.35)}
hr{border:0;border-top:var(--rule-hairline);margin:var(--space-5) 0}
