/* Covent design tokens - assembled verbatim from the design system tokens/ (colors, typography, spacing, elevation, motion). DS v3 2026-08-12. Fonts self-hosted via fonts.css. */
:root{
/* ---- Base palette ---- */
--black-forest:#043618;
--ghost-white:#fafaff;
--palm-leaf:#8e936d;
--dusty-grape:#4a4e69;
--smoky-rose:#8b575c;

/* ---- Forest ramp (primary) ---- */
--forest-900:#021c0d;
--forest-800:#032a12;
--forest-700:#043618;
--forest-600:#0a4a23;
--forest-500:#126331;
--forest-300:#5d8d70;
--forest-200:#a9c4b3;
--forest-100:#dceae1;
--forest-050:#eef5f1;

/* ---- Neutral ramp (steel) ---- */
--steel-950:#101211;
--steel-900:#1c1f1d;
--steel-800:#2c302e;
--steel-700:#434744;
--steel-600:#5e625f;
--steel-500:#7d827f;
--steel-400:#a3a7a4;
--steel-300:#c6c9c7;
--steel-200:#e0e2e1;
--steel-100:#eff0ef;
--steel-050:#f6f7f6;
--white:#ffffff;
--ghost:#fafaff;

/* ---- Accents ---- */
--leaf-700:#5d6144;
--leaf-500:#8e936d;
--leaf-300:#b9bd9f;
--leaf-100:#e6e8dd;
--grape-700:#33364a;
--grape-500:#4a4e69;
--grape-300:#8a8da1;
--grape-100:#e2e3e9;
--rose-700:#5f3b3f;
--rose-500:#8b575c;
--rose-300:#bd9599;
--rose-100:#efe3e4;
--brass-700:#8a6a2f;
--brass-500:#c9a154;
--brass-300:#dfc48d;
--brass-100:#f3e9d4;

/* ---- Semantic: surface ---- */
--surface-page:var(--ghost);
--surface-card:var(--white);
--surface-sunken:var(--steel-050);
--surface-inverse:var(--forest-700);
--surface-inverse-deep:var(--forest-900);
--surface-accent:var(--forest-050);
--surface-leaf:var(--leaf-100);
--surface-grape:var(--grape-100);
--surface-rose:var(--rose-100);
--surface-inverse-grape:var(--grape-700);
--surface-inverse-leaf:var(--leaf-700);
--surface-brass:var(--brass-100);
--surface-overlay:rgba(4,54,24,.62);

/* ---- Semantic: text ---- */
--text-heading:var(--forest-900);
--text-body:var(--steel-800);
--text-muted:var(--steel-600);
--text-faint:var(--steel-500);
--text-on-inverse:var(--ghost);
--text-on-inverse-muted:var(--forest-200);
--text-link:var(--forest-600);
--text-link-hover:var(--forest-900);

/* ---- Semantic: line ---- */
--line-hairline:var(--steel-200);
--line-strong:var(--steel-300);
--line-inverse:rgba(250,250,255,.18);
--line-focus:var(--forest-500);

/* ---- Semantic: interactive ---- */
--action-primary:var(--forest-700);
--action-primary-hover:var(--forest-600);
--action-primary-press:var(--forest-800);
--action-secondary:var(--grape-500);
--action-secondary-hover:var(--grape-700);
--action-accent:var(--grape-500);
--action-accent-hover:var(--grape-700);
--action-accent-press:var(--grape-700);
--action-clay:var(--rose-700);
--action-clay-hover:var(--rose-500);

/* ---- Semantic: accent key (subject, not status) ---- */
--accent-range:var(--leaf-700);
--accent-process:var(--grape-500);
--accent-projects:var(--rose-700);
--accent-metal:var(--brass-500);
--accent-metal-ink:var(--brass-700);

/* ---- Semantic: status ---- */
--status-success:var(--forest-600);
--status-success-bg:var(--forest-050);
--status-info:var(--grape-500);
--status-info-bg:var(--grape-100);
--status-warning:var(--leaf-700);
--status-warning-bg:var(--leaf-100);
--status-danger:var(--rose-700);
--status-danger-bg:var(--rose-100);
}

:root{
--font-display:"Archivo Expanded","Archivo",system-ui,sans-serif;
--font-core:"Archivo",system-ui,-apple-system,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;

--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */

/* Type ramp â€” 1.25 major third, 16px base */
--size-display-xl:64px;
--size-display-l:48px;
--size-display-m:38px;
--size-heading-l:30px;
--size-heading-m:24px;
--size-heading-s:20px;
--size-body-l:18px;
--size-body-m:16px;
--size-body-s:14px;
--size-caption:13px;
--size-micro:11px;

--lh-tight:1.04; /* @kind font */
--lh-snug:1.18; /* @kind font */
--lh-heading:1.28; /* @kind font */
--lh-body:1.6; /* @kind font */
--lh-loose:1.75; /* @kind font */

--tracking-display:-0.02em; /* @kind font */
--tracking-heading:-0.01em; /* @kind font */
--tracking-body:0em; /* @kind font */
--tracking-eyebrow:0.14em; /* @kind font */
--tracking-mono:0.02em; /* @kind font */

/* Semantic type aliases */
--text-display:var(--fw-bold) var(--size-display-l)/var(--lh-tight) var(--font-display); /* @kind font */
--text-title:var(--fw-semibold) var(--size-heading-l)/var(--lh-heading) var(--font-core); /* @kind font */
--text-eyebrow-size:var(--size-micro);
}

:root{
/* 4px base grid */
--space-0:0;
--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;

--gutter-page:32px;
--gutter-page-wide:64px;
--section-y:96px;
--section-y-tight:56px;
--max-width-page:1280px;
--max-width-prose:68ch;

/* Radii â€” deliberately tight; steel fabrication reads square */
--radius-0:0px;
--radius-1:2px;
--radius-2:4px;
--radius-3:8px;
--radius-pill:999px;

--border-hairline:1px;
--border-strong:2px;
--control-height-s:34px;
--control-height-m:44px;
--control-height-l:54px;
}

:root{
--shadow-0:none;
--shadow-1:0 1px 2px rgba(4,54,24,.06);
--shadow-2:0 2px 8px rgba(4,54,24,.08);
--shadow-3:0 8px 24px rgba(4,54,24,.10);
--shadow-4:0 20px 48px rgba(4,54,24,.14);
--shadow-inset-hairline:inset 0 0 0 1px var(--line-hairline);
--focus-ring:0 0 0 2px var(--ghost),0 0 0 4px var(--forest-500);
--scrim-bottom:linear-gradient(to top,rgba(2,28,13,.78) 0%,rgba(2,28,13,.35) 45%,rgba(2,28,13,0) 100%); /* @kind color */
--scrim-flat:rgba(2,28,13,.55); /* @kind color */
}

:root{
--ease-standard:cubic-bezier(.2,0,0,1); /* @kind other */
--ease-exit:cubic-bezier(.4,0,1,1); /* @kind other */
--ease-enter:cubic-bezier(0,0,.2,1); /* @kind other */
--dur-instant:80ms; /* @kind other */
--dur-fast:140ms; /* @kind other */
--dur-base:220ms; /* @kind other */
--dur-slow:400ms; /* @kind other */
--dur-reveal:640ms; /* @kind other */
--press-scale:0.985; /* @kind other */
}
@media (prefers-reduced-motion:reduce){:root{--dur-instant:0ms; /* @kind other */--dur-fast:0ms; /* @kind other */--dur-base:0ms; /* @kind other */--dur-slow:0ms; /* @kind other */--dur-reveal:0ms; /* @kind other */--press-scale:1 /* @kind other */}}

