/* Shared logo motion for the landing page and supporting pages. */
.brand-window,
.logo-crop {
  position: relative;
  animation: westmore-brand-enter 720ms cubic-bezier(.2, .7, .2, 1) 80ms backwards;
  transition: transform 240ms ease;
}

.brand-window::after,
.logo-crop::after {
  content: '';
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 2px;
  height: 2px;
  background: #d4aa4f;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 300ms cubic-bezier(.2, .7, .2, 1);
  pointer-events: none;
}

@keyframes westmore-brand-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) {
  .brand-window:hover,
  .logo-crop:hover { transform: translateY(-2px); }
  .brand-window:hover::after,
  .logo-crop:hover::after { transform: scaleX(1); }
}

.brand-window:focus-visible::after,
.logo-crop:focus-visible::after { transform: scaleX(1); }

@media (prefers-reduced-motion: reduce) {
  .brand-window,
  .logo-crop {
    animation: none;
    transition: none;
    transform: none;
  }
  .brand-window::after,
  .logo-crop::after { transition: none; }
  .brand-window:hover,
  .logo-crop:hover { transform: none; }
}
