@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&family=Source+Sans+3:wght@400;500;600&display=swap');

:root {
    --sage: #4A9D7E;
    --sage-dark: #3B8468;
    --sage-05: rgba(74, 157, 126, 0.05);
    --sage-10: rgba(74, 157, 126, 0.1);
    --sage-12: rgba(74, 157, 126, 0.12);

    --white: #FFFFFF;
    --off-white: #F8FAF9;
    --cream: #FFFBF5;
    --cream-dark: #F7F3ED;
    --light-green: #F0FAF5;

    --text-dark: #111827;
    --text-body: #1F2937;
    --text-muted: #4B5563;
    --text-light: #6B7280;

    --border: #E5E7EB;
    --border-light: #F0F4F2;

    --blue: #5B8FC4;
    --blue-10: rgba(91, 143, 196, 0.1);
    --yellow: #D97706;
    --gold: #D4A853;
    --red: #DC2626;

    --shadow-card: 0 8px 32px rgba(74, 157, 126, 0.12);
    --shadow-soft: 0 1px 3px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.04);
    --shadow-medium: 0 4px 16px rgba(0, 0, 0, 0.08);

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;

    --text-xs: 14px;
    --text-sm: 16px;
    --text-base: 19px;
    --text-md: 21px;
    --text-lg: 24px;
    --text-xl: 30px;
    --text-2xl: 36px;
    --text-3xl: 48px;

    --font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--text-body);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1.25;
}

a { color: var(--sage); text-decoration: none; }
a:hover { color: var(--sage-dark); }

img { max-width: 100%; height: auto; }

@media (max-width: 480px) {
    :root {
        --text-xs: 14px;
        --text-sm: 15px;
        --text-base: 18px;
        --text-md: 19px;
        --text-lg: 22px;
        --text-xl: 26px;
        --text-2xl: 30px;
        --text-3xl: 36px;
    }
}
