:root {
    --color-bg:               #FFFFFF;
    --color-bg-soft:          #F6F8F7;
    --color-bg-mint:          #EDF5F1;
    --color-bg-card:          #FFFFFF;
    --color-surface-muted:    #EFF4F1;
    --color-footer-bg:        #0A2A20;

    --color-primary:          #0B6B4F;
    --color-primary-dark:     #08563F;
    --color-primary-soft:     #DDEEE6;
    --color-ink:              #0A2A20;
    --color-ink-raised:       #103628;
    --color-ink-overlay:      rgba(10, 42, 32, 0.45);
    --color-primary-overlay:  rgba(11, 107, 79, 0.6);

    --color-accent:           #6EB633;
    --color-accent-soft:      #EAF5DD;

    --color-trial:            #F97316;
    --color-trial-dark:       #EA580C;

    --color-text:             #0F1B17;
    --color-text-muted:       #51615B;
    --color-text-on-primary:  #FFFFFF;
    --color-text-on-ink:      #FFFFFF;
    --color-text-on-ink-muted: rgba(255, 255, 255, 0.72);
    --color-text-on-ink-soft: rgba(255, 255, 255, 0.86);
    --color-text-on-primary-muted: rgba(255, 255, 255, 0.86);
    --color-on-primary-tint:  rgba(255, 255, 255, 0.14);

    --color-border:           #E1E7E4;
    --color-border-strong:    #CBD5D0;
    --color-border-on-ink:    rgba(255, 255, 255, 0.14);

    --color-text-placeholder: #6B7A74;

    --color-error:            #B42318;
    --color-error-soft:       #FEF3F2;
    --color-error-text:       #912018;

    --color-dot-close:        #FF5F57;
    --color-dot-minimize:     #FEBC2E;
    --color-dot-maximize:     #28C840;

    --color-focus:            #0B6B4F;
    --focus-ring:             0 0 0 3px rgba(11, 107, 79, 0.35);
    --focus-ring-on-dark:     0 0 0 3px rgba(110, 182, 51, 0.6);

    --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --font-primary: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    --text-xs:   0.75rem;
    --text-sm:   0.875rem;
    --text-base: 1rem;
    --text-lg:   1.125rem;
    --text-xl:   1.25rem;
    --text-2xl:  1.5rem;
    --text-3xl:  2rem;
    --text-4xl:  2.75rem;
    --text-5xl:  3.75rem;
    --text-6xl:  5rem;

    --text-h1:   clamp(2.125rem, 1.45rem + 2.9vw, 3.75rem);
    --text-h2:   clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
    --text-page-title: clamp(2rem, 1.4rem + 2.2vw, 3.25rem);
    --text-hero-variant: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);
    --text-stat: clamp(2.25rem, 1.75rem + 1.8vw, 3.25rem);

    --leading-tight:  1.1;
    --leading-snug:   1.25;
    --leading-normal: 1.65;

    --tracking-tight:   -0.025em;
    --tracking-eyebrow: 0.08em;

    --font-light:     300;
    --font-regular:   400;
    --font-medium:    500;
    --font-semibold:  600;
    --font-bold:      700;
    --font-extrabold: 800;

    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.25rem;
    --space-6:  1.5rem;
    --space-8:  2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;

    --container-max:    1320px;
    --container-wide:   1480px;
    --container-narrow: 960px;
    --container-pad:    clamp(1rem, 4vw, 2rem);

    --header-h: 72px;

    --radius-sm:   0.375rem;
    --radius-md:   0.5rem;
    --radius-lg:   0.75rem;
    --radius-xl:   1rem;
    --radius-2xl:  1.5rem;
    --radius-full: 9999px;

    --shadow-card:  0 1px 2px rgba(15, 27, 23, 0.04), 0 4px 16px rgba(15, 27, 23, 0.04);
    --shadow-raised: 0 12px 32px rgba(15, 27, 23, 0.08);
    --shadow-float: 0 18px 40px rgba(10, 42, 32, 0.16), 0 2px 6px rgba(10, 42, 32, 0.08);
    --shadow-frame: 0 30px 60px rgba(10, 42, 32, 0.12), 0 8px 20px rgba(10, 42, 32, 0.06);

    --transition-fast: 150ms ease;
    --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 600ms cubic-bezier(0.4, 0, 0.2, 1);

    --z-base:     1;
    --z-dropdown: 100;
    --z-sticky:   200;
    --z-header:   300;
    --z-modal:    400;
    --z-toast:    500;
}
