:root {
  --ink: #111713;
  --deep: #0b0f0d;
  --violet: #218653;
  --coral: #f4c542;
  --coral-soft: #f4c542;
  --mist: #fbfcf8;
  --surface: #edf2ed;
  --muted: #637068;
  --line: #d7e0d8;
  --yellow: #f4c542;
}

body {
  color: var(--ink);
  background: var(--mist);
}

a:focus-visible,
select:focus-visible {
  outline-color: var(--yellow);
}

.brand,
.nav-cta,
.hero h1,
.section h2,
.contact h2,
.text-link {
  color: var(--deep);
}

.brand-mark span,
.brand-mark span:nth-child(3) {
  background: var(--deep);
}

.brand-mark span:nth-child(2),
.eyebrow span:first-child,
.button-primary,
.contact-box,
.orbit-two {
  background: var(--yellow);
}

.brand-mark span:nth-child(3) {
  background: var(--violet);
}

.nav nav a:hover,
.text-link:hover,
.nav-cta span,
.text-link span,
em {
  color: var(--violet);
}

.language-picker select {
  background: var(--mist);
  color: var(--deep);
  border-color: var(--line);
}

.eyebrow {
  color: var(--violet);
}

.hero-art {
  background-color: #dec9a8;
  background-image:
    radial-gradient(circle at 18% 22%, #f6e7c625 0 1px, transparent 2px),
    radial-gradient(circle at 74% 68%, #8c68452b 0 1px, transparent 2px),
    radial-gradient(circle at 44% 54%, #f6e7c61c 0 1px, transparent 2px),
    linear-gradient(135deg, #ead8b9 0%, #dec6a0 48%, #cbaa7c 100%);
  background-size: 17px 17px, 23px 23px, 29px 29px, 100% 100%;
  border: 1px solid #b9956c;
  box-shadow: 0 28px 55px #6e4f351f;
}

.hero-art::after {
  background: linear-gradient(90deg, #f6e7c61c, transparent 45%, #805d3b18), radial-gradient(circle at 70% 42%, #f6e7c62d, transparent 32%);
}

.world-map {
  color: #8c6845;
  opacity: .38;
}

.map-grid {
  stroke: #9b7653;
  opacity: .24;
}

.map-land {
  opacity: .42;
}

.orbit {
  border-color: #2186536b;
}

.orbit-two {
  border-color: #f4c542b0;
  background: transparent;
}

.globe {
  background: linear-gradient(145deg, #218653, #0b0f0d 82%);
  box-shadow: 0 28px 55px #0b0f0d5c;
}

.globe-lines {
  border-color: #fbfcf870;
  background: repeating-linear-gradient(90deg, transparent 0 39px, #fbfcf82b 40px 41px), repeating-linear-gradient(0deg, transparent 0 39px, #fbfcf82b 40px 41px);
}

.neural-links {
  stroke: var(--yellow);
  stroke-width: 2;
  stroke-dasharray: 3 5;
}

.neural-nodes {
  fill: var(--yellow);
  stroke: var(--mist);
  stroke-width: 2;
  filter: drop-shadow(0 0 4px #f4c54288);
}

.neural-network {
  transform: none;
}

.globe > .globe-dot {
  display: none;
}

.globe-dot,
.dot-one,
.dot-two {
  background: var(--yellow);
  box-shadow: 0 0 0 7px #f4c54245;
}

.dot-three {
  background: var(--mist);
}

.trust-bar {
  background: var(--deep);
  color: var(--mist);
}

.trust-inner span:first-child {
  color: var(--yellow);
}

.trust-line {
  background: #fbfcf83d;
}

.card {
  background: var(--surface);
  border-color: var(--line);
  border-top-color: var(--violet);
}

.card-featured {
  background: var(--deep);
  border-color: var(--yellow);
}

.card-number,
.card a {
  color: var(--violet) !important;
}

.card-featured .card-number {
  color: var(--yellow) !important;
}

.card-featured h3,
.card-featured p,
.card-featured a {
  color: var(--mist) !important;
}

.card-featured a {
  color: var(--yellow) !important;
}

.button-primary {
  color: var(--deep);
  box-shadow: 0 12px 24px #f4c54247;
}

.button-primary:hover {
  background: var(--violet);
  color: var(--mist);
  box-shadow: 0 12px 24px #21865336;
}

.statement {
  background: var(--yellow);
}

.statement p,
.statement p strong {
  color: var(--deep);
}

.yellow-disc {
  background: var(--deep);
  color: var(--yellow);
}

.contact-box {
  border-left-color: var(--yellow);
  background: transparent;
}

.button-dark {
  background: var(--deep);
  color: var(--mist);
}

.button-dark:hover {
  background: var(--violet);
}

.footer {
  border-top-color: var(--line);
  color: var(--muted);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
  }
}
