/* Harvensa motion layer: subtle, accessible, and intentionally restrained. */
.brand small {
  font: 600 .55em/1 var(--font-head);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
  margin-left: 2px;
}

.footer-brand small { color: #93aaa6; }

.scroll-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .7s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    transform .7s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.orbit-one { animation: orbit-breathe 5.5s ease-in-out infinite; }
.orbit-two { animation: orbit-breathe 5.5s ease-in-out 1.2s infinite; }
.visual-core { animation: core-float 4s ease-in-out infinite; }
.capability { animation: capability-float 4.8s ease-in-out infinite; }
.c2, .c5 { animation-delay: -.9s; }
.c3, .c6 { animation-delay: -1.8s; }
.c4 { animation-delay: -2.7s; }
.pulse { animation: pulse-ring 2.4s ease-out infinite; }

.service-icon,
.industry-list b,
.button span,
.text-link span {
  display: inline-block;
  transition: transform .25s ease;
}

.service-card:hover .service-icon { transform: rotate(-7deg) scale(1.12); }
.industry-list article { transition: background-color .25s ease, padding-left .25s ease; }
.industry-list article:hover { background: rgba(255,255,255,.045); padding-left: 13px; }
.industry-list article:hover b,
.button:hover span,
.text-link:hover span { transform: translate(3px,-3px); }
.nav-links > a:not(.button) { position: relative; }
.nav-links > a:not(.button)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -5px;
  height: 1px;
  background: #78930f;
  transition: right .25s ease;
}
.nav-links > a:not(.button):hover::after { right: 0; }

@keyframes orbit-breathe {
  0%,100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.035); opacity: 1; }
}
@keyframes core-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes capability-float {
  0%,100% { margin-top: 0; }
  50% { margin-top: -6px; }
}
@keyframes pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(145,173,28,.45); }
  65%,100% { box-shadow: 0 0 0 9px rgba(145,173,28,0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .scroll-reveal { opacity: 1; transform: none; }
}

@media (max-width: 600px) {
  .brand { font-size: 17px; }
  .brand small { display: block; margin: 2px 0 0; }
}
