:root { --color-brand: #009632; --color-brand-hover: #007a27; --color-brand-soft: #e6f5ec;  --color-text-primary: #050505; --color-text-body: #191919; --color-text-muted: #454545; --color-text-light: #6b7280; --color-text-inverse: #ffffff;  --color-bg: #ffffff; --color-surface-lilac: #F8F1FD; --color-surface-cool: #F3F4FE; --color-accent-cyan: #5CD8F4;  --color-border: #DCDCDE; --color-border-strong: #B5B5B8;  --color-success: #009632; --color-warning: #f59e0b;
--color-error: #dc2626;
--color-info: #5CD8F4;  --font-family-base: 'Saira', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--font-weight-regular: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700; --font-size-h1: clamp(2.25rem, 4.5rem, 3rem); --font-size-h2: clamp(1.75rem, 3.25rem, 2.4375rem); --font-size-h3: clamp(1.375rem, 2.3rem, 1.9375rem); --font-size-h4: clamp(1.125rem, 1.6rem, 1.5625rem); --font-size-h5: 1.25rem; --font-size-body: 1rem; --font-size-small: 0.875rem; --font-size-tiny: 0.75rem;  --line-height-tight: 1.15; --line-height-snug: 1.35; --line-height-base: 1.6; --line-height-loose: 1.75;  --tracking-tight: -0.0625rem; --tracking-tighter: -0.09375rem; --tracking-normal: 0;
--tracking-wide: 0.0625rem;  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4rem; --space-9: 6rem; --space-10: 8rem;  --container-max: 1200px; --container-narrow: 800px; --container-padding: clamp(1rem, 3vw, 2rem);  --radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 12px;
--radius-xl: 20px;
--radius-pill: 999px; --shadow-sm: 0 1px 2px rgba(5, 5, 5, 0.06);
--shadow-md: 0 4px 12px rgba(5, 5, 5, 0.08);
--shadow-lg: 0 10px 30px rgba(5, 5, 5, 0.1);
--shadow-brand: 0 6px 20px rgba(0, 150, 50, 0.25); --transition-fast: 150ms ease;
--transition-base: 250ms ease;
--transition-slow: 400ms ease; --z-dropdown: 100;
--z-sticky: 200;
--z-header: 300;
--z-modal: 1000;
} *,
*::before,
*::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
font-family: var(--font-family-base);
font-size: var(--font-size-body);
font-weight: var(--font-weight-regular);
line-height: var(--line-height-base);
color: var(--color-text-body);
background-color: var(--color-bg);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img,
svg,
video {
max-width: 100%;
height: auto;
display: block;
}
a {
color: var(--color-brand);
text-decoration: none;
transition: color var(--transition-fast);
}
a:hover {
color: var(--color-brand-hover);
} h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 0 var(--space-4);
color: var(--color-text-primary);
font-weight: var(--font-weight-bold);
line-height: var(--line-height-tight);
letter-spacing: var(--tracking-tight);
}
h1 {
font-size: var(--font-size-h1);
letter-spacing: var(--tracking-tighter);
}
h2 {
font-size: var(--font-size-h2);
}
h3 {
font-size: var(--font-size-h3);
font-weight: var(--font-weight-semibold);
letter-spacing: var(--tracking-normal);
}
h4 {
font-size: var(--font-size-h4);
font-weight: var(--font-weight-semibold);
letter-spacing: var(--tracking-normal);
}
h5 {
font-size: var(--font-size-h5);
font-weight: var(--font-weight-semibold);
letter-spacing: var(--tracking-normal);
} p {
margin: 0 0 var(--space-4);
}
ul,
ol {
margin: 0 0 var(--space-4);
padding-left: var(--space-5);
}
li {
margin-bottom: var(--space-2);
color: var(--color-text-muted);
} .label-uppercase,
.elementor-widget-heading .elementor-heading-title.uppercase {
text-transform: uppercase;
letter-spacing: var(--tracking-wide);
font-size: var(--font-size-small);
font-weight: var(--font-weight-medium);
color: var(--color-text-muted);
} .btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-2);
padding: var(--space-3) var(--space-6);
font-family: var(--font-family-base);
font-size: var(--font-size-body);
font-weight: var(--font-weight-medium);
line-height: 1;
border: 2px solid transparent;
cursor: pointer;
transition: all var(--transition-base);
text-decoration: none;
white-space: nowrap;
}
.btn--primary {
background-color: var(--color-brand);
color: var(--color-bg) !important;
border-color: var(--color-brand);
}
.btn--primary:hover {
background-color: var(--color-brand-hover);
border-color: var(--color-brand-hover);
color: var(--color-text-inverse);
box-shadow: var(--shadow-brand);
transform: translateY(-1px);
}
.btn--outline {
background-color: transparent;
color: var(--color-brand) !important;
border-color: var(--color-brand);
}
.btn--outline:hover {
background-color: var(--color-brand);
color: var(--color-bg) !important;
}
.btn--ghost {
background-color: transparent;
color: var(--color-text-body);
border-color: var(--color-border);
}
.btn--ghost:hover {
border-color: var(--color-text-body);
}
.btn--lg {
padding: var(--space-4) var(--space-7);
font-size: 1.0625rem;
}