:root{--color-primary-50:#f0fdf4;--color-primary-100:#dcfce7;--color-primary-200:#bbf7d0;--color-primary-300:#86efac;--color-primary-400:#4ade80;--color-primary-500:#22c55e;--color-primary-600:#16a34a;--color-primary-700:#15803d;--color-primary-800:#166534;--color-primary-900:#14532d;--color-primary-950:#052e16;--color-secondary-50:#f6f7f4;--color-secondary-100:#e8ebe3;--color-secondary-200:#d4dbc9;--color-secondary-300:#b8c5a4;--color-secondary-400:#9aad7f;--color-secondary-500:#7a9259;--color-secondary-600:#5f7344;--color-secondary-700:#4a5a35;--color-secondary-800:#3a4729;--color-secondary-900:#2d361f;--color-cream-50:#fefdfb;--color-cream-100:#faf8f3;--color-cream-200:#f5f1e8;--color-cream-300:#ede6d9;--color-cream-400:#e0d5c3;--color-cream-500:#d1c2ab;--color-cream-600:#b8a68f;--color-cream-700:#8f7d66;--color-cream-800:#6b5d4f;--color-cream-900:#4a4039;--color-earth-turmeric:#f59e0b;--color-earth-saffron:#fb923c;--color-earth-clay:#92400e;--color-earth-sandalwood:#d4a574;--color-success:#22c55e;--color-success-light:#dcfce7;--color-success-dark:#15803d;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-warning-dark:#b45309;--color-error:#ef4444;--color-error-light:#fee2e2;--color-error-dark:#b91c1c;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-info-dark:#1e40af;--color-text-primary:#1c1917;--color-text-secondary:#57534e;--color-text-tertiary:#78716c;--color-text-disabled:#a8a29e;--color-text-inverse:#fefdfb;--color-text-link:#16a34a;--color-text-link-hover:#15803d;--color-bg-primary:#fefdfb;--color-bg-secondary:#faf8f3;--color-bg-tertiary:#f5f1e8;--color-bg-overlay:rgba(28,25,23,.5);--color-bg-hover:#f0fdf4;--color-border-light:#ede6d9;--color-border-medium:#d1c2ab;--color-border-dark:#8f7d66;--color-border-primary:#22c55e;--font-lora:var(--font-primary),"Lora",Georgia,"Times New Roman",serif;--font-lato:var(--font-secondary),"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Fira Code","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:0.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.75rem;--font-size-4xl:2.125rem;--font-size-5xl:2.5rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:0.875rem;--space-5:1rem;--space-6:1.25rem;--space-8:1.5rem;--space-10:1.875rem;--space-12:2.25rem;--space-16:3rem;--space-20:3.75rem;--space-24:4.5rem;--space-32:6rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(28,25,23,.05);--shadow-sm:0 1px 3px 0 rgba(28,25,23,.1),0 1px 2px -1px rgba(28,25,23,.1);--shadow-md:0 4px 6px -1px rgba(28,25,23,.1),0 2px 4px -2px rgba(28,25,23,.1);--shadow-lg:0 10px 15px -3px rgba(28,25,23,.1),0 4px 6px -4px rgba(28,25,23,.1);--shadow-xl:0 20px 25px -5px rgba(28,25,23,.1),0 8px 10px -6px rgba(28,25,23,.1);--shadow-2xl:0 25px 50px -12px rgba(28,25,23,.25);--shadow-inner:inset 0 2px 4px 0 rgba(28,25,23,.05);--shadow-none:none;--shadow-primary:0 4px 14px 0 rgba(34,197,94,.2);--shadow-secondary:0 4px 14px 0 rgba(122,146,89,.2);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-slower:500ms cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-max-width:1280px;--header-height:4rem;--footer-height:auto;--button-padding-x:var(--space-4);--button-padding-y:var(--space-2);--button-border-radius:var(--radius-lg);--card-padding:var(--space-6);--card-border-radius:var(--radius-xl);--card-shadow:var(--shadow-sm);--input-height:2.75rem;--input-padding-x:var(--space-4);--input-padding-y:var(--space-3);--input-border-radius:var(--radius-lg);--input-border-width:1px;--focus-ring-width:3px;--focus-ring-color:rgba(34,197,94,.3);--focus-ring-offset:2px}@media (max-width:640px){:root{--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-size-4xl:2rem;--font-size-5xl:2.5rem;--space-4:0.75rem;--space-5:0.875rem;--space-6:1rem;--space-8:1.25rem;--space-10:1.5rem;--space-12:1.75rem;--space-16:2rem;--space-20:2.5rem;--space-24:3rem;--space-32:4rem;--card-padding:var(--space-4);--input-padding-y:var(--space-2)}}@media (min-width:1024px){:root{--font-size-base:1.0625rem}}.heading-hero{font-size:var(--font-size-5xl)}.heading-display,.heading-hero{font-family:var(--font-primary);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.heading-display{font-size:var(--font-size-4xl)}.heading-xl{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.heading-lg,.heading-xl{font-family:var(--font-primary);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.heading-lg{font-size:var(--font-size-2xl);line-height:var(--line-height-snug)}.heading-md{font-size:var(--font-size-xl);line-height:var(--line-height-snug)}.heading-md,.heading-sm{font-family:var(--font-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.heading-sm{font-size:var(--font-size-lg)}.heading-sm,.heading-xs{line-height:var(--line-height-normal)}.heading-xs{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.heading-accent,.heading-xs{font-family:var(--font-primary)}.heading-accent{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-primary-600)}.text-lead{font-size:var(--font-size-lg)}.text-body-lg,.text-lead{font-family:var(--font-secondary);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.text-body-lg{font-size:var(--font-size-md)}.text-body{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.text-body,.text-body-sm{font-family:var(--font-secondary);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal)}.text-body-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.text-caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-tertiary)}.text-button,.text-caption{font-family:var(--font-secondary);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.text-button{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.text-button,.text-link{font-size:var(--font-size-base)}.text-link{font-family:var(--font-secondary);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-link);text-decoration:underline;text-decoration-color:transparent;transition:all var(--transition-base)}.text-link:hover{color:var(--color-text-link-hover);text-decoration-color:var(--color-text-link-hover)}.text-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary)}.text-label,.text-overline{font-family:var(--font-secondary);line-height:var(--line-height-normal)}.text-overline{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-widest);color:var(--color-primary-600);text-transform:uppercase}.text-quote{font-family:var(--font-primary);font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);font-style:italic;color:var(--color-text-secondary)}.text-code,.text-quote{font-weight:var(--font-weight-normal)}.text-code{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-cream-200);padding:.125rem .375rem;border-radius:var(--radius-sm)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.font-primary{font-family:var(--font-lora)}.font-secondary{font-family:var(--font-lato)}.font-mono{font-family:var(--font-mono)}@media (max-width:640px){.heading-hero{font-size:var(--font-size-4xl)}.heading-display{font-size:var(--font-size-3xl)}.heading-xl{font-size:var(--font-size-2xl)}.text-lead{font-size:var(--font-size-md)}}@media (min-width:1024px){.heading-hero{font-size:4rem}.text-body{font-size:1.0625rem}}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-disabled{color:var(--color-text-disabled)}.text-inverse{color:var(--color-text-inverse)}.text-brand{color:var(--color-primary-600)}.text-success{color:var(--color-success-dark)}.text-warning{color:var(--color-warning-dark)}.text-error{color:var(--color-error-dark)}.text-info{color:var(--color-info-dark)}