:root {
  --brand-purple: #452273;
  --brand-purple-dark: #24103d;
  --brand-purple-soft: #efe9f5;
  --brand-green: #79ad32;
  --brand-green-bright: #b8d83f;
  --brand-green-dark: #4f791f;
  --brand-green-soft: #f0f6df;
}

/* Header and navigation */
.site-header {
  border-bottom: 2px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, var(--brand-purple), var(--brand-green-bright)) border-box;
}

.main-nav a::after {
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-green));
}

/* Hero: both brand colors share the lead */
.hero {
  background:
    radial-gradient(circle at 79% 43%, rgba(184, 216, 63, 0.3) 0, rgba(121, 173, 50, 0.13) 23%, transparent 43%),
    radial-gradient(circle at 18% 110%, rgba(184, 216, 63, 0.16), transparent 33%),
    linear-gradient(128deg, #211036 0%, #4c2877 52%, #314b1f 118%);
}

.hero h1 em {
  color: #d8ed75;
  text-shadow: 0 8px 28px rgba(132, 183, 51, 0.28);
}

.hero-orbit {
  border-color: rgba(184, 216, 63, 0.22);
}

.button.primary {
  color: #21300e;
  background: linear-gradient(135deg, #d9eb7b, var(--brand-green-bright));
  box-shadow: 0 12px 28px rgba(89, 130, 30, 0.28), inset 0 1px rgba(255, 255, 255, 0.65);
}

.button.primary:hover {
  background: linear-gradient(135deg, #e4f39a, #a7cc35);
}

.hero-facts strong {
  color: #e1f197;
}

/* Reusable purple + green section language */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.eyebrow::before {
  content: "";
  width: 25px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-green-bright));
}

.eyebrow.light::before {
  background: linear-gradient(90deg, #cbb4dd, #d8ed75);
}

.alt {
  background:
    radial-gradient(circle at 100% 0, rgba(184, 216, 63, 0.09), transparent 27%),
    radial-gradient(circle at 0 100%, rgba(69, 34, 115, 0.07), transparent 25%),
    linear-gradient(135deg, #f8f6fa, #f4f8ea);
}

.value-row article:nth-child(2) > span,
.feature-card:nth-child(3) > span {
  color: #24350e;
  background: linear-gradient(145deg, #c8e55e, var(--brand-green));
  box-shadow: 0 8px 18px rgba(96, 143, 32, 0.22), inset 0 1px rgba(255, 255, 255, 0.45);
}

.value-row article:nth-child(2) h3,
.feature-card:nth-child(3) h3 {
  color: var(--brand-green-dark);
}

/* Business cards alternate the two brand colors */
.feature-card.featured {
  border-top: 5px solid var(--brand-green);
  background:
    radial-gradient(circle at 88% 12%, rgba(184, 216, 63, 0.17), transparent 27%),
    linear-gradient(155deg, #fff 52%, var(--brand-green-soft));
}

.feature-card:nth-child(2) {
  border-top: 5px solid var(--brand-purple);
}

.feature-card:nth-child(3) {
  border-top: 5px solid var(--brand-green);
  background: linear-gradient(150deg, #fff, #f4f9e9);
}

.feature-card.dark {
  border-top: 5px solid var(--brand-green-bright);
  background:
    radial-gradient(circle at 88% 5%, rgba(184, 216, 63, 0.27), transparent 36%),
    linear-gradient(145deg, #48266f, #201032);
}

.feature-card.featured li:nth-child(odd) {
  color: var(--brand-green-dark);
  border-color: rgba(121, 173, 50, 0.3);
  background: var(--brand-green-soft);
}

.feature-card.featured li:nth-child(even) {
  color: var(--brand-purple);
  border-color: rgba(69, 34, 115, 0.2);
  background: var(--brand-purple-soft);
}

/* Solutions */
.solution-list {
  border-image: linear-gradient(90deg, var(--brand-purple), var(--brand-green-bright)) 1;
}

.solution-card:nth-child(even) .solution-no {
  color: #26370f;
  background: linear-gradient(145deg, #d0e96f, var(--brand-green));
  box-shadow: 0 12px 24px rgba(92, 137, 30, 0.23), inset 0 1px rgba(255, 255, 255, 0.55);
}

.solution-card:nth-child(even) .solution-tag,
.solution-card:nth-child(even) .department {
  color: var(--brand-green-dark);
}

.solution-points span:nth-child(odd) {
  color: var(--brand-purple);
  background: var(--brand-purple-soft);
}

.solution-points span:nth-child(even) {
  color: var(--brand-green-dark);
  background: var(--brand-green-soft);
}

.custom-solution {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 15%, rgba(216, 237, 117, 0.26), transparent 30%),
    linear-gradient(125deg, var(--brand-purple-dark), var(--brand-purple) 62%, #526f27 132%);
}

.custom-solution::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -130px;
  width: 290px;
  height: 290px;
  border: 34px solid rgba(184, 216, 63, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

.custom-solution > * {
  position: relative;
  z-index: 1;
}

/* Projects */
.client-grid {
  border-top: 4px solid var(--brand-purple);
  border-bottom: 4px solid var(--brand-green);
}

.client-grid figure:nth-child(even) {
  background: linear-gradient(155deg, #fff 50%, var(--brand-green-soft));
}

.client-grid figure:nth-child(odd) {
  background: linear-gradient(155deg, #fff 50%, var(--brand-purple-soft));
}

.client-grid figcaption::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--brand-green);
  vertical-align: 2px;
}

/* Technology and future */
.future {
  background:
    radial-gradient(circle at 8% 15%, rgba(184, 216, 63, 0.15), transparent 30%),
    linear-gradient(118deg, #20102f 0%, #392057 58%, #30471f 140%);
}

.future::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg, transparent 68%, rgba(184, 216, 63, 0.06));
}

.future-grid {
  z-index: 1;
}

.future-steps > div:nth-child(even) span {
  color: #d9ed75;
}

.ai-panel {
  background:
    radial-gradient(circle at 90% 7%, rgba(184, 216, 63, 0.25), transparent 31%),
    linear-gradient(145deg, #57327d, #34204d 70%, #3d5524 145%);
  border-color: rgba(184, 216, 63, 0.28);
}

.ai-panel li:nth-child(even) span {
  color: #d8ed75;
}

/* Support and contact */
.support-items span:nth-child(3n + 2),
.support-items span:nth-child(3n + 3) {
  color: var(--brand-green-dark);
}

.contact-card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(184, 216, 63, 0.28), transparent 34%),
    linear-gradient(145deg, var(--brand-purple), #39205a 70%, #445c27 145%);
  border: 1px solid rgba(184, 216, 63, 0.25);
}

.contact-card::after {
  content: "";
  position: absolute;
  right: -75px;
  bottom: -75px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(184, 216, 63, 0.1);
  pointer-events: none;
}

.contact-card > * {
  position: relative;
  z-index: 1;
}

.contact-card .button.white {
  color: #304615;
  background: linear-gradient(135deg, #fff, #edf6cf);
}

.to-top {
  color: #24350e;
  background: linear-gradient(145deg, #cce663, var(--brand-green));
  box-shadow: 0 10px 24px rgba(69, 34, 115, 0.22);
}

.site-footer {
  border-top: 4px solid transparent;
  background:
    linear-gradient(#17121c, #17121c) padding-box,
    linear-gradient(90deg, var(--brand-purple), var(--brand-green-bright)) border-box;
}

@media (max-width: 600px) {
  .main-nav {
    border-bottom: 4px solid var(--brand-green);
  }
}
