/*
 * PGAN design tokens — raw CSS custom properties.
 * Verbatim from the approved design reference (ui_kits/pgan-website + tokens/*.css).
 * Do not round values to a 4/8px grid; do not edit without checking the reference first.
 * @font-face rules are generated separately by theme.json (self-hosted woff2, no Google CDN).
 */
:root{
--navy-950:#050b16;--navy-900:#0a1830;--navy-800:#102240;--navy-700:#173154;--navy-600:#22456f;--navy-500:#2f5c8f;
--green-900:#0a271d;--green-800:#0e3a2a;--green-700:#145338;--green-600:#1c6e47;--green-500:#278a5a;--green-400:#3ba872;
--neutral-000:#ffffff;--neutral-050:#f6f7f9;--neutral-100:#eceef2;--neutral-200:#dde1e7;--neutral-300:#c4cad3;--neutral-500:#8b93a1;--neutral-700:#4a5261;--neutral-800:#2b3138;--neutral-900:#1a1e24;
--metal-300:#e4d9b8;--metal-400:#cdbd8e;--metal-500:#b5a06a;--metal-600:#977f4a;
--cream-050:#faf6ec;--cream-100:#f3ecd9;--cream-200:#e9dfc0;

--color-bg:var(--neutral-000);--color-bg-subtle:var(--cream-050);--color-bg-inverse:var(--navy-950);
--color-surface:var(--neutral-000);--color-surface-raised:var(--cream-050);--color-surface-inverse:var(--navy-900);--color-surface-inverse-raised:var(--navy-800);
--color-border:var(--neutral-100);--color-border-strong:var(--cream-200);--color-border-inverse:rgba(255,255,255,.12);
--color-text-primary:var(--navy-950);--color-text-secondary:var(--neutral-700);--color-text-tertiary:var(--neutral-500);
--color-text-inverse:var(--neutral-000);--color-text-inverse-secondary:rgba(255,255,255,.68);
--color-accent:var(--green-600);--color-accent-strong:var(--green-700);--color-accent-soft:var(--green-500);
--color-metallic:var(--metal-500);--color-metallic-soft:var(--metal-300);
--color-link:var(--green-700);--color-link-hover:var(--green-800);

--shadow-color:220 45% 8%;
--shadow-sm:0 1px 2px hsl(var(--shadow-color)/.06);
--shadow-md:0 6px 20px -6px hsl(var(--shadow-color)/.14);
--shadow-lg:0 24px 48px -16px hsl(var(--shadow-color)/.22);
--shadow-inverse:0 24px 60px -20px rgba(0,0,0,.55);

--font-display:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
--font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;
--text-2xl:1.875rem;--text-3xl:2.375rem;--text-4xl:3rem;--text-5xl:3.75rem;--text-6xl:4.75rem;
--leading-tight:1.08;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.7;
--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:.08em;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;

--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;--space-11:160px;
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
--container-max:1280px;--container-pad:clamp(20px,5vw,64px);
--ease-standard:cubic-bezier(.4,0,.2,1);
--ease-out:cubic-bezier(.16,1,.3,1);
--duration-fast:150ms;
--duration-normal:280ms;
--duration-slow:500ms;
}

*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);font-size:var(--text-base);line-height:var(--leading-normal)}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold)}
p{margin:0}
a{color:var(--color-link);text-decoration:none}
a:hover{color:var(--color-link-hover);text-decoration:underline}
img{max-width:100%;display:block}
button{font-family:inherit}
