/* SignWheel seamless motion: the IEQ feel. Sections glide in as you
 * scroll, the hero wheel floats, the sign ribbon loops without a
 * seam. Everything is transform/opacity only, and every moving part
 * switches off for reduced-motion visitors. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .hero-wheel { animation: sw-floaty 9s ease-in-out infinite; }
  .marquee-track { animation: sw-marquee 58s linear infinite; }
  .marquee:hover .marquee-track { animation-play-state: paused; }
}
@keyframes sw-floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes sw-marquee {
  to { transform: translateX(-50%); }
}
/* Scroll reveals: JS adds .rv only when motion is welcome, so a
 * no-JS or reduced-motion visit simply sees the finished page. */
.rv { opacity: 0; transform: translateY(26px); }
.rv.in {
  opacity: 1; transform: none;
  transition: opacity .95s cubic-bezier(.22, 1, .36, 1), transform .95s cubic-bezier(.22, 1, .36, 1);
}
/* The sign ribbon under the home hero. */
.marquee {
  overflow: hidden;
  border-top: 1px solid rgba(217, 164, 65, .22);
  border-bottom: 1px solid rgba(217, 164, 65, .22);
  padding: 13px 0;
  margin: 6px 0 4px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track { display: flex; width: max-content; }
.marquee-group { display: flex; }
.marquee-group span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px; letter-spacing: .34em; text-transform: uppercase;
  color: #d8c491; white-space: nowrap; padding: 0 30px 0 0;
}
.marquee-group b { color: #d9a441; font-weight: 400; padding-right: 30px; }
