/* tokens/colors.css */
:root{
/* Brand core — approved palette ("Optimech green, three ways" + Ink + Paper) */
--om-lime:#8CC63F;
--om-green:#3FB24A;
--om-teal:#1CA97C;
--om-ink:#0D0E0C;
--om-grey:#EAE9E6;
/* Logo greens (legacy blade names kept for compatibility) */
--om-blade-lime:#8DC640;
--om-blade-green:#3FB149;
--om-blade-teal:#1BA97C;
--om-logo-dark:#231F20;
/* Ink scale (primary dark surfaces) */
--ink-0:#0D0E0C;
--ink-1:#141613;
--ink-2:#1B1E1A;
--ink-3:#242823;
/* Forest scale (deep-green surfaces, from construction sheet) */
--forest-0:#0C1E13;
--forest-1:#12271A;
--forest-line:#2A4433;
--forest-grid:#1E3826;
/* Paper / neutrals */
--paper:#EDF2EC;
--paper-warm:#EAE9E6;
--mute:#7F9587;
--dim:#5C7365;
--grey-mute:#9AA096;
/* Semantic — dark-first */
--surface-page:var(--ink-0);
--surface-panel:var(--ink-1);
--surface-card:var(--ink-2);
--surface-forest:var(--forest-0);
--surface-forest-panel:var(--forest-1);
--surface-light:var(--paper);
--border-line:#262A24;
--border-line-forest:var(--forest-line);
--text-heading:var(--paper);
--text-body:#C9D1C8;
--text-mute:var(--grey-mute);
--text-on-accent:#FFFFFF;
--text-on-light:var(--om-ink);
--accent:var(--om-green);
--accent-bright:var(--om-lime);
--accent-deep:var(--om-teal);
--link:var(--om-lime);
--link-hover:#A5D65E;
--danger:#E05B4C;
--warning:#D9A13B;
--success:var(--om-green);
/* Signature gradient — "the verification bar", lime → teal, always left-to-right */
--grad-verify:linear-gradient(90deg,var(--om-lime) 0%,var(--om-green) 55%,var(--om-teal) 100%);
--grad-verify-radial:radial-gradient(circle at 30% 30%,var(--om-lime),var(--om-teal));
}

/* tokens/typography.css */
/* HEADLINES: licensed CY Grotesk Grand (variable, wght 100–1000) provided — the real
   display face. BODY: CY Grotesk STD Key not yet provided; Archivo remains the body
   substitute. IBM Plex Mono = evidence/labels; Poppins = wordmark lockups only. */
@font-face{font-family:'CY Grotesk Grand';font-style:normal;font-weight:100 1000;src:url(assets/fonts/CyGroteskGrandVF.ttf) format('truetype-variations')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:100%;src:url(assets/fonts/Archivo-var.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url(assets/fonts/IBMPlexMono-Regular.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url(assets/fonts/IBMPlexMono-Medium.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;src:url(assets/fonts/Poppins-Medium.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;src:url(assets/fonts/Poppins-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;src:url(assets/fonts/Poppins-Bold.woff2) format('woff2')}
:root{
--font-display:'CY Grotesk Grand','Archivo',ui-sans-serif,system-ui,sans-serif;
--font-body:'Archivo',ui-sans-serif,system-ui,sans-serif;
--font-mono:'IBM Plex Mono',ui-monospace,monospace;
--font-wordmark:'Poppins',sans-serif;
/* Scale */
--text-xs:11px;--text-sm:12.5px;--text-base:15px;--text-md:17px;
--text-lg:21px;--text-xl:28px;--text-2xl:38px;--text-3xl:52px;--text-4xl:72px;
/* Headline: tight, regular weight, -2% tracking, underline accent optional */
--display-weight:400;--display-tracking:-0.02em;--display-leading:1.04;
--body-leading:1.55;
/* Mono label: uppercase, generous tracking — "evidence in mono" */
--label-tracking:0.14em;--label-tracking-wide:0.22em;
}

/* tokens/spacing.css */
:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:44px;--sp-8:64px;--sp-9:96px;
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
/* Panels use 10px (construction sheet); social/media cards 16–24px (stylescape) */
--container-max:1200px;
--control-h-sm:34px;--control-h-md:42px;--control-h-lg:52px;
}

/* tokens/effects.css */
:root{
/* Dark-first: separation comes from 1px lines + surface steps, not drop shadows */
--shadow-card:0 1px 0 rgba(0,0,0,.4);
--shadow-pop:0 12px 40px rgba(0,0,0,.55);
--ring-focus:0 0 0 2px var(--surface-page),0 0 0 4px var(--om-lime);
--ease-brand:cubic-bezier(.2,.7,.2,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-med:220ms; /* @kind other */
/* Hover: brighten one step (lime-ward); press: darken + no transform gimmicks */
--hover-brighten:brightness(1.08); /* @kind other */
--underline-accent:2px solid var(--om-green);
}

