@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --site-font: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --site-ink: #141816;
    --site-muted: #56615b;
    --site-line: rgba(20, 24, 22, 0.09);
    --site-shadow: 0 18px 46px rgba(20, 24, 22, 0.08);
}

html {
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--site-font) !important;
    color: var(--site-ink);
    letter-spacing: 0;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-serif {
    font-family: var(--site-font) !important;
    letter-spacing: 0;
    color: var(--site-ink);
}

h1 {
    font-weight: 800 !important;
    line-height: 1.05;
}

h2 {
    font-weight: 800 !important;
    line-height: 1.12;
}

h3,
h4,
h5,
h6 {
    font-weight: 700 !important;
    line-height: 1.22;
}

p,
li {
    color: inherit;
}

a,
button,
input,
select,
textarea {
    font-family: var(--site-font) !important;
    letter-spacing: 0;
}

::selection {
    background: rgba(41, 183, 101, 0.2);
    color: #102016;
}

.navbar,
.nav {
    border-bottom: 1px solid rgba(41, 183, 101, 0.1);
    box-shadow: 0 10px 34px rgba(20, 24, 22, 0.06);
}

.btn-primary,
.btn-secondary,
.btn-accent,
.nav-cta,
button[type="submit"] {
    font-weight: 700;
    letter-spacing: 0;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-accent:hover,
.nav-cta:hover,
button[type="submit"]:hover {
    transform: translateY(-2px);
}

.btn-primary,
.btn-accent,
button[type="submit"] {
    box-shadow: 0 12px 30px rgba(41, 183, 101, 0.24);
}

.btn-primary:hover,
.btn-accent:hover,
button[type="submit"]:hover {
    box-shadow: 0 16px 38px rgba(41, 183, 101, 0.3);
}

.service-card,
.portfolio-card,
.plan-card,
.story-card,
.article-card,
.feature-card,
.info-panel,
.sr-card,
.login-box,
.stat-card {
    border-color: rgba(41, 183, 101, 0.13) !important;
    box-shadow: var(--site-shadow);
}

.form-input,
input,
select,
textarea {
    color: var(--site-ink);
}

.form-input:focus,
input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: #29b765 !important;
    box-shadow: 0 0 0 4px rgba(41, 183, 101, 0.14) !important;
}

.gradient-text,
.gradient-text-green {
    font-weight: 800;
}

.section-subtitle,
.hero-subtitle,
.text-gray-600,
.text-gray-700 {
    color: var(--site-muted) !important;
}
