/* A quiet, continuous motion for the sculpted brand ribbon. */
.brand-sculpture {
  transform-origin: 58% 58%;
  animation: brand-ribbon-float 16s ease-in-out infinite;
  will-change: transform;
}

.brand-ribbon::after {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 34%, #fffdf1 48%, #fff 51%, transparent 66%);
  opacity: 0;
  animation: brand-ribbon-sheen 19s ease-in-out infinite;
}

@keyframes brand-ribbon-float {
  0%, 100% { transform: translate3d(-2px, 2px, 0) rotate(-.15deg) scale(1); }
  50% { transform: translate3d(3px, -6px, 0) rotate(.3deg) scale(1.012); }
}

@keyframes brand-ribbon-sheen {
  0%, 12% { transform: translate3d(-70%, 0, 0); opacity: 0; }
  30% { opacity: .18; }
  63% { opacity: .14; }
  82%, 100% { transform: translate3d(70%, 0, 0); opacity: 0; }
}

body.is-motion-paused .brand-sculpture,
body.is-motion-paused .brand-ribbon::after {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .brand-sculpture { animation: none; transform: none; will-change: auto; }
  .brand-ribbon::after { animation: none; opacity: 0; }
}
