:root {
    --background: #f5f8f3;
    --surface: #ffffff;
    --surface-soft: #edf5e9;

    --text: #172417;
    --muted: #63745f;

    --primary: #2f7d46;
    --primary-dark: #245f36;
    --accent: #8fb339;

    --border: #d8e6d2;

    --shadow: 0 24px 70px rgba(47, 125, 70, 0.16);
    --shadow-soft: 0 16px 44px rgba(47, 125, 70, 0.10);
}

body {
    background:
        radial-gradient(circle at top right, rgba(143, 179, 57, 0.16), transparent 32%),
        linear-gradient(180deg, #f5f8f3 0%, #edf6ea 100%);
    color: var(--text);
}

.site-header {
    background: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(18px);
}

.logo,
.footer-logo {
    color: var(--primary-dark);
}

.nav a:hover,
.footer-links a:hover {
    color: var(--primary);
}

.hero-card,
.article-card,
.content-card,
.info-card {
    border-color: var(--border);
    box-shadow: var(--shadow-soft);
}

.button,
.btn,
.cta-button {
    background: var(--primary);
    color: #ffffff;
}

.button:hover,
.btn:hover,
.cta-button:hover {
    background: var(--primary-dark);
}