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

body {
  background:
    linear-gradient(120deg, rgba(45,212,191,.15), transparent 30%),
    linear-gradient(245deg, rgba(163,230,53,.11), transparent 34%),
    linear-gradient(180deg, #061A1D, #0B2A2F);
  color: #F1FFFD;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background:
    linear-gradient(90deg, rgba(241,255,253,.045) 1px, transparent 1px),
    linear-gradient(rgba(241,255,253,.045) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.72), transparent 80%);
}

.site-shell,
.site-header { position: relative; z-index: 1; }

.site-header {
  background: rgba(6,26,29,.9);
  border-bottom: 1px solid rgba(241,255,253,.08);
  backdrop-filter: blur(18px);
}

.site-nav a {
  background: rgba(11,42,47,.78);
  border-color: rgba(45,212,191,.22);
  color: #F1FFFD;
}

.site-nav a:hover,
.site-nav a:focus-visible {
  background: rgba(45,212,191,.14);
  border-color: #2DD4BF;
}

.hero { color: #F1FFFD; }
.hero__grid { grid-template-columns: minmax(0,1.02fr) minmax(320px,.88fr); }
.hero__copy { text-align: left; max-width: 750px; margin: 0; }
.hero__subtitle { margin-left: 0; margin-right: 0; color: rgba(241,255,253,.9); text-shadow: 0 2px 18px rgba(0,0,0,.38); }
.hero__actions { justify-content: flex-start; }
.hero__insights { grid-template-columns: 1fr; }
.hero__overlay { background: linear-gradient(135deg, rgba(6,26,29,.94), rgba(6,26,29,.48) 52%, rgba(45,212,191,.26)); }
.hero h1 { color: #FFFFFF; text-shadow: 0 2px 22px rgba(0,0,0,.46); }
.hero__subtitle a { color: #FFFFFF; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hero__subtitle a:hover,
.hero__subtitle a:focus-visible { color: #CCFBF1; }

.button--primary {
  background: linear-gradient(135deg, #2DD4BF, #A3E635);
  color: #061A1D;
}

.button--secondary {
  color: #F1FFFD;
  background: rgba(11,42,47,.72);
  border-color: rgba(241,255,253,.22);
}

.button--secondary:hover,
.button--secondary:focus-visible {
  background: rgba(241,255,253,.12);
  border-color: rgba(241,255,253,.38);
}

.hero .insight-card,
.kpi-band__grid {
  background: rgba(6,26,29,.72);
  color: #F1FFFD;
  backdrop-filter: blur(12px);
}

.insight-card,
.section__point-card,
.blog-card,
.contact-card,
.legal-card,
.table-card {
  background: rgba(11,42,47,.68);
  border-left-color: #2DD4BF;
  box-shadow: inset 0 0 0 1px rgba(241,255,253,.07);
}

.section:nth-of-type(odd) .section__point-card,
.section:nth-of-type(odd) .table-card { border-left-color: #A3E635; }

.kpi-band__grid {
  box-shadow: inset 0 1px 0 rgba(45,212,191,.44);
}

.kpi-card { color: #F1FFFD; }
.kpi-card::before { background: linear-gradient(90deg, #2DD4BF, #A3E635); }
.kpi-card__value { color: #FFFFFF; }
.kpi-card__text { color: rgba(241,255,253,.86); }
.kpi-card__source { color: rgba(241,255,253,.62); }

.table-card table { color: #F1FFFD; }
.table-wrap thead th { border-bottom: 1px solid rgba(241,255,253,.22); }
.table-wrap th,
.table-wrap td { border-bottom: 1px solid rgba(241,255,253,.12); }
.table-wrap th + th,
.table-wrap td + td { border-left: 1px solid rgba(241,255,253,.08); }
.table-wrap tbody tr:last-child td { border-bottom: 0; }

.faq-item { border-color: rgba(241,255,253,.14); background: rgba(11,42,47,.52); }
.site-footer { background: linear-gradient(180deg, rgba(11,42,47,.28), rgba(6,26,29,.96)); }

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