:root {
    --color-primary: #2f2f2f;
    --color-primary-dark: #141414;
    --color-accent: #87a878;
    --color-surface: #faf8f3;
    --color-text: #2d2d2d;
    --rgb-primary: 47,47,47;
    --rgb-accent: 135,168,120;
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --shadow-sm: 0 1px 0 rgba(0,0,0,.04);
    --shadow-md: 0 14px 28px rgba(18,18,18,.10), 0 4px 10px rgba(18,18,18,.06), 0 1px 0 rgba(255,255,255,.55) inset;
    --shadow-lg: 0 22px 48px rgba(18,18,18,.16), 0 10px 22px rgba(18,18,18,.10), 0 0 0 1px rgba(135,168,120,.18) inset, 0 0 26px rgba(135,168,120,.18);
    --space-section: 3.5rem;
    --space-card: 1.15rem;
    --space-gap: 1.25rem;
    --transition: 280ms cubic-bezier(.2,.9,.2,1);
    --heading-weight: 700;
    --body-line-height: 1.7;
}

body { color: var(--color-text); line-height: var(--body-line-height); background: var(--color-surface); }
h1, h2, h3, h4 { font-weight: var(--heading-weight); }
section, .section { padding-top: var(--space-section); padding-bottom: var(--space-section); }
.card, [class*="card"] { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: var(--space-card); transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition); border: 1px solid rgba(45,45,45,.08); background: rgba(250,248,243,.92); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.btn, button[class*="btn"], a[class*="btn"] { border-radius: var(--radius-md); transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition); border: 1px solid rgba(45,45,45,.12); }
a:not([class]) { color: var(--color-primary); transition: var(--transition); text-shadow: 0 1px 0 rgba(255,255,255,.65); }

.card:hover, [class*="card"]:hover { transform: translateY(-6px); box-shadow: 0 26px 64px rgba(18,18,18,.20), 0 12px 26px rgba(18,18,18,.12), 0 0 0 1px rgba(135,168,120,.24) inset, 0 0 32px rgba(135,168,120,.42); border-color: rgba(135,168,120,.28); }

.hero, [class*="hero"], section:first-of-type { background: radial-gradient(1100px 520px at 18% 8%, rgba(135,168,120,.18) 0%, rgba(135,168,120,0) 55%), linear-gradient(135deg, #2f3a3a 0%, #141414 100%); color: rgba(250,248,243,.95); }
.hero, [class*="hero"] { box-shadow: 0 -1px 0 rgba(255,255,255,.08) inset; }
.hero * { text-shadow: 0 1px 0 rgba(0,0,0,.18); }

.btn:hover, button[class*="btn"]:hover, a[class*="btn"]:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(135,168,120,.22) inset, 0 14px 30px rgba(18,18,18,.14), 0 0 26px rgba(135,168,120,.30); border-color: rgba(135,168,120,.35); }

@keyframes softGlowPulse {
    0% { box-shadow: 0 26px 64px rgba(18,18,18,.20), 0 12px 26px rgba(18,18,18,.12), 0 0 0 1px rgba(135,168,120,.24) inset, 0 0 18px rgba(135,168,120,.28); }
    50% { box-shadow: 0 26px 64px rgba(18,18,18,.20), 0 12px 26px rgba(18,18,18,.12), 0 0 0 1px rgba(135,168,120,.28) inset, 0 0 34px rgba(135,168,120,.50); }
    100% { box-shadow: 0 26px 64px rgba(18,18,18,.20), 0 12px 26px rgba(18,18,18,.12), 0 0 0 1px rgba(135,168,120,.24) inset, 0 0 18px rgba(135,168,120,.28); }
}

.card:hover, [class*="card"]:hover { animation: softGlowPulse 1200ms ease-in-out infinite; }

section:focus-within, .card:focus-within, .btn:focus-visible, button[class*="btn"]:focus-visible, a[class*="btn"]:focus-visible { outline: 2px solid rgba(135,168,120,.35); outline-offset: 3px; }

section, .section { color-scheme: light; }
.card { color: var(--color-text); }

::selection { background: rgba(135,168,120,.28); color: var(--color-text); }

.card:before, [class*="card"]:before { }

::placeholder { color: rgba(45,45,45,.55); }

                .news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-gap); }
                .news-grid > *:first-child { grid-column: span 3; }

.feature-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-gap); }

.hero-content { text-align: center; max-width: 800px; margin: 0 auto; }

                .testimonial-list { display: flex; flex-direction: column; gap: var(--space-gap); max-width: 720px; margin: 0 auto; }

                .partner-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-gap); align-items: center; }

.faq-list { max-width: 800px; margin: 0 auto; }

.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-gap); text-align: center; }

.cta-inner { text-align: center; max-width: 700px; margin: 0 auto; }

            .page-main { max-width: 860px; margin: 0 auto; }

@media (max-width: 1024px) {
    .news-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .feature-list { grid-template-columns: repeat(2, 1fr) !important; }
    .partner-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .hero-inner { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
    :root { --space-section: 3rem; --space-card: 1.05rem; --space-gap: 1.05rem; }
    .news-grid { grid-template-columns: 1fr !important; }
    .feature-list { grid-template-columns: 1fr !important; }
    .faq-list { grid-template-columns: 1fr !important; }
    .testimonial-list { column-count: 1 !important; }
    .partner-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .cta-inner { grid-template-columns: 1fr !important; }
}