:root{--edai-green:#61c977;--edai-green-600:#3cb85a;--edai-green-700:#2a9c48;--edai-green-800:#1b6e34;--edai-green-100:#dff5e6;--edai-green-50:#f1fbf4;--edai-navy:#041a3f;--edai-navy-700:#0a2654;--edai-navy-500:#1f3a6e;--edai-navy-200:#b7c0d2;--edai-blue:#173bad;--edai-blue-700:#112e86;--edai-blue-100:#d7def3;--edai-teal:#012e2d;--edai-teal-700:#013f3e;--edai-off-white:#f7fbf8;--edai-white:#fff;--edai-ink-900:#04132e;--edai-ink-700:#324362;--edai-ink-500:#5a6a87;--edai-ink-300:#a6b0c3;--edai-ink-200:#d1d7e2;--edai-ink-100:#e6eaf1;--edai-ink-50:#f2f4f8;--edai-success:#3cb85a;--edai-warning:#e8a93c;--edai-danger:#d24a4a;--edai-info:#173bad;--fg-1:var(--edai-navy);--fg-2:var(--edai-ink-700);--fg-3:var(--edai-ink-500);--fg-on-dark:var(--edai-off-white);--fg-link:var(--edai-blue);--fg-link-hover:var(--edai-blue-700);--bg-1:var(--edai-off-white);--bg-2:var(--edai-white);--bg-3:var(--edai-ink-50);--bg-dark:var(--edai-navy);--bg-brand:var(--edai-green);--border-1:var(--edai-ink-200);--border-2:var(--edai-ink-100);--border-strong:var(--edai-navy);--accent:var(--edai-green);--accent-press:var(--edai-green-700);--on-accent:var(--edai-navy);--fg-accent:var(--edai-green-800);--font-sans:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--fs-display-1:clamp(44px,5.4vw,80px);--fs-display-2:clamp(38px,4.4vw,60px);--fs-h1:clamp(30px,3.2vw,44px);--fs-h2:clamp(24px,2.3vw,32px);--fs-h3:clamp(20px,1.7vw,24px);--fs-h4:18px;--fs-h5:16px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:12px;--fs-overline:12px;--lh-tight:1.04;--lh-snug:1.15;--lh-normal:1.4;--lh-relaxed:1.55;--lh-loose:1.7;--ls-display:-0.03em;--ls-heading:-0.02em;--ls-body:0;--ls-overline:0.1em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-xs:4px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--shadow-1:0 1px 1px rgba(4,26,63,.04);--shadow-2:0 1px 3px rgba(4,26,63,.06);--shadow-3:0 4px 14px rgba(4,26,63,.08);--shadow-4:0 12px 32px rgba(4,26,63,.14);--shadow-inset:inset 0 0 0 1px rgba(4,26,63,.08);--shadow-focus:0 0 0 3px rgba(97,201,119,.35);--ease-out:cubic-bezier(0.22,0.61,0.36,1);--ease-in:cubic-bezier(0.55,0.06,0.68,0.19);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--dur-4:560ms;--content-max:1200px;--gutter:clamp(20px,4vw,56px);--nav-h:72px}*,:after,:before{box-sizing:border-box}body,html{background:var(--bg-1);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-relaxed);margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{height:auto;max-width:100%}.display-1,.h-display,h1.display{color:var(--fg-1);font-family:var(--font-display);font-size:var(--fs-display-1)}.display-1,.display-2,.h-display,h1.display{font-weight:750;letter-spacing:var(--ls-display);line-height:var(--lh-tight)}.display-2{font-size:var(--fs-display-2)}.h1,h1{font-family:var(--font-display);font-size:var(--fs-h1)}.h1,.h2,h1,h2{color:var(--fg-1);font-weight:700;letter-spacing:var(--ls-heading);line-height:var(--lh-snug)}.h2,h2{font-size:var(--fs-h2)}.h3,h3{color:var(--fg-1);font-size:var(--fs-h3);font-weight:650}.h3,.h4,h3,h4{line-height:var(--lh-snug)}.h4,h4{font-size:var(--fs-h4)}.h4,.h5,h4,h5{font-weight:700}.h5,h5{font-size:var(--fs-h5)}.body,p{font-size:var(--fs-body)}.body,.lead,p{color:var(--fg-2);line-height:var(--lh-relaxed)}.lead{font-size:var(--fs-body-lg)}.caption,small{color:var(--fg-3);font-size:var(--fs-caption)}.overline{color:var(--fg-accent);font-family:var(--font-sans);font-size:var(--fs-overline);font-weight:700;letter-spacing:var(--ls-overline);text-transform:uppercase}.display-1,.display-2,h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--fg-link);text-decoration:none;transition:color var(--dur-1) var(--ease-out)}a:hover{color:var(--fg-link-hover)}::selection{background:var(--edai-green-100);color:var(--edai-navy)}