:root{--color-primary:#2a3f2c;--color-primary-muted:#729979;--color-primary-light:#9bb5a0;--color-primary-dark:#1f2f20;--color-accent:#719442;--color-accent-soft:#d3d464;--color-accent-light:#e8e9a0;--color-accent-dark:#5a7535;--color-background:#ebe4c2;--color-surface:#f5f1e0;--color-elevated:#fff;--color-neutral:#cecd A9;--color-neutral-light:#e5e4d0;--color-neutral-dark:#a8a789;--color-text-primary:#1f2f20;--color-text-secondary:#5a6b5c;--color-text-tertiary:#8a958b;--color-text-inverse:#fff;--color-success:#719442;--color-warning:#d3d464;--color-error:#b85c5c;--color-info:#729979;--color-hover-primary:#1f2f20;--color-hover-accent:#5a7535;--color-hover-background:#e5e4d0;--color-active-primary:#0f1a10;--color-active-accent:#4a5f2a;--color-active-background:#d5d1c0;--color-disabled-text:#8a958b;--color-disabled-background:#e5e4d0;--color-disabled-border:#cecd A9;--color-border:rgba(31,47,32,.12);--color-border-strong:rgba(31,47,32,.2);--font-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-serif:"Source Serif Pro",Georgia,serif;--font-mono:"JetBrains Mono","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0;--letter-spacing-wide:0.02em;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1400px;--section-padding-mobile:2rem;--section-padding-desktop:4rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-none:none;--shadow-sm:0 1px 2px 0 rgba(31,47,32,.05);--shadow-md:0 4px 6px -1px rgba(31,47,32,.1),0 2px 4px -1px rgba(31,47,32,.06);--shadow-lg:0 10px 15px -3px rgba(31,47,32,.1),0 4px 6px -2px rgba(31,47,32,.05);--shadow-soft:0 2px 8px rgba(31,47,32,.08);--transition-fast:150ms ease;--transition-normal:200ms ease;--transition-slow:300ms ease;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-overlay:1030;--z-modal:1040;--z-tooltip:1050}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);letter-spacing:var(--letter-spacing-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.heading-1,h1{font-size:var(--font-size-5xl)}.heading-1,.heading-2,h1,h2{font-family:var(--font-serif);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0}.heading-2,h2{font-size:var(--font-size-4xl)}.heading-3,h3{font-size:var(--font-size-2xl)}.heading-3,.heading-4,h3,h4{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-primary);margin:0}.heading-4,h4{font-size:var(--font-size-xl)}.text-body,p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0}.text-secondary{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.text-tertiary{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}*{box-sizing:border-box}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-hover-primary)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.container{max-width:var(--container-2xl);margin:0 auto;padding:0 var(--spacing-6)}@media (max-width:768px){.container{padding:0 var(--spacing-4)}}