:root {
  --button-radius: 7px;
}

body {
  background:
    linear-gradient(115deg, rgba(37, 99, 235, 0.1), transparent 31%),
    linear-gradient(250deg, rgba(22, 163, 74, 0.16), transparent 34%),
    linear-gradient(180deg, var(--bg), var(--bg-alt));
}

.site-header {
  background: rgba(245, 249, 241, 0.92);
  border-bottom: 1px solid rgba(28, 78, 52, 0.14);
  box-shadow: 0 18px 40px rgba(16, 32, 24, 0.08);
}

.site-nav a {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(28, 78, 52, 0.14);
  color: #143321;
  box-shadow: 0 10px 22px rgba(16, 32, 24, 0.06);
}

.site-nav a:hover,
.site-nav a:focus-visible {
  background: #143321;
  color: #ffffff;
  outline: 0;
}

.hero {
  color: #ffffff;
}

.hero h1 {
  max-width: 780px;
  letter-spacing: 0;
  text-transform: uppercase;
  text-shadow: 0 18px 46px rgba(0, 0, 0, 0.38);
}

.hero__subtitle {
  color: rgba(255, 255, 255, 0.88);
  max-width: 760px;
}

.button {
  box-shadow: 0 16px 32px rgba(16, 32, 24, 0.16);
}

.button--primary {
  background: linear-gradient(135deg, #16a34a, #15803d);
  color: #ffffff;
}

.button--secondary {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.28);
  color: #ffffff;
  backdrop-filter: blur(14px);
}

.insight-card {
  background: rgba(255, 255, 255, 0.14);
  border-left-color: #7ddf8b;
  color: #ffffff;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.16);
}

.insight-card span {
  color: rgba(255, 255, 255, 0.82);
}

.kpi-band__grid {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 24px 54px rgba(16, 32, 24, 0.14);
}

.kpi-card {
  color: var(--text);
}

.kpi-card + .kpi-card {
  border-left-color: rgba(28, 78, 52, 0.12);
}

.kpi-card__value {
  color: #0f6f36;
  letter-spacing: 0;
}

.kpi-card__source,
.kpi-card__text,
.section__text,
.section__point-card span,
.faq__intro,
.faq-item__panel p,
.blog-preview__intro,
.blog-card p,
.contact-view__intro,
.legal-view__intro,
.site-footer__legal a,
.site-footer__content p,
.site-footer__bottom {
  color: var(--text-soft);
}

.section__content h2,
.faq h2,
.blog-preview h1,
.blog-preview h2,
.contact-view h1,
.legal-view h1 {
  letter-spacing: 0;
  text-transform: uppercase;
  color: #102018;
}

.section__point-card,
.table-card,
.blog-card,
.contact-card,
.legal-card {
  background: rgba(255, 255, 255, 0.72);
}

.section__point-card {
  border-left-color: #16a34a;
}

.section__media {
  box-shadow: 0 28px 58px rgba(16, 32, 24, 0.12);
}

.section__media img,
.blog-card__media img {
  filter: saturate(1.05) contrast(1.02);
}

.table-wrap th,
.table-wrap td {
  border-bottom-color: rgba(28, 78, 52, 0.12);
}

.table-wrap thead th {
  color: #102018;
}

.table-wrap tbody td {
  color: #496156;
}

.faq__list,
.faq-item {
  border-color: rgba(28, 78, 52, 0.16);
}

.faq-item button {
  color: #102018;
}

.blog-card {
  box-shadow: 0 22px 46px rgba(16, 32, 24, 0.1);
}

.blog-card__status,
.blog-card a {
  color: #0f7a3a;
}

.contact-form input,
.contact-form textarea {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(28, 78, 52, 0.16);
  color: #102018;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #7b8d84;
}

.site-footer {
  background: #102018;
  border-top: 0;
  color: #f3fff7;
}

.site-footer .site-logo {
  filter: brightness(0) invert(1);
}

.site-footer__social a {
  background: rgba(255, 255, 255, 0.08);
  color: #f3fff7;
}

.site-footer__bottom {
  border-top-color: rgba(255, 255, 255, 0.12);
}

@media (max-width: 1024px) {
  .hero__insights {
    grid-template-columns: 1fr;
  }

  .kpi-card + .kpi-card {
    border-left: 0;
    border-top-color: rgba(28, 78, 52, 0.12);
  }
}

@media (max-width: 720px) {
  .site-header__inner {
    align-items: flex-start;
    padding: 12px 0;
  }

  .site-logo {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
  }

  .site-nav {
    justify-content: flex-end;
  }

  .site-nav a {
    min-height: 36px;
    padding: 0 10px;
    font-size: 0.84rem;
  }

  .hero h1 {
    font-size: clamp(2.4rem, 17vw, 3.6rem);
  }
}
