:root {
  --green-ink: #14532d;
  --green-primary: #16a34a;
  --green-soft: #e7f6ea;
  --sand: #f6f3ea;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--sand);
}

.nav {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  transition: box-shadow 0.25s ease, background-color 0.25s ease, padding 0.25s ease;
}

@media (min-width: 768px) {
  .nav {
    background-color: transparent;
    backdrop-filter: none;
  }
}

.nav.scrolled {
  
  padding-top: 1.25rem;
  padding-bottom: 1rem;
}

.scroll-link {
  position: relative;
  transition: color 0.2s ease;
}

.scroll-link.is-active {
  color: var(--green-primary);
  font-weight: 600;
}

.marquee {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  overflow: hidden;
}

.marquee__track {
  display: flex;
  gap: 1.25rem;
  animation: marquee 30s linear infinite;
}

.marquee--reverse .marquee__track {
  animation-direction: reverse;
}

.hero-gradient {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

footer {
  background-color: #1a322e !important;
}

.services-swiper {
  padding-bottom: 1rem;
}

.services-swiper .swiper-wrapper {
  align-items: stretch;
}

.services-swiper .swiper-slide {
  height: auto;
}

.services-swiper .swiper-slide article {
  height: 100%;
}

.value-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.floating-badge {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.floating-badge--raised {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(20, 83, 45, 0.25);
}

.swiper-slide img {
  width: 100%;
  height: 200px!important;
  object-fit: cover;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@keyframes heroGradientShift {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.3;
  }
  50% {
    transform: translate3d(-5%, 5%, 0) scale(1.05);
    opacity: 0.75;
  }
  100% {
    transform: translate3d(5%, -5%, 0) scale(1.02);
    opacity: 0.6;
  }
}
