body { position: relative; isolation: isolate; }
body::before, body::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(242,240,234,.05) 5%, rgba(242,240,234,.05) 95%, transparent),
    linear-gradient(to bottom, transparent, rgba(255,255,255,.32), rgba(255,0,35,.25), transparent);
  background-size: 100% 100%, 100% 260px;
  background-repeat: no-repeat;
  background-position: center, center -300px;
  animation: edge-light 24s linear infinite;
}
body::before { left: max(8px, calc((100% - 1360px) / 2)); }
body::after { right: max(8px, calc((100% - 1360px) / 2)); animation-delay: -12s; }
@keyframes edge-light { to { background-position: center, center calc(100% + 300px); } }
.button-primary[href="#contact"], .site-menu .nav-contact {
  position: relative;
  isolation: isolate;
  border: 1px solid #ff526b;
  border-radius: 6px;
  background: linear-gradient(165deg, #ff3c54 0%, #ff0023 42%, #d30020 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -2px 0 rgba(110,0,15,.3),
    0 5px 0 #850016, 0 10px 22px rgba(0,0,0,.32);
  transform: perspective(700px) rotateX(5deg);
  transition: transform .2s ease, box-shadow .2s ease;
}
.button-primary[href="#contact"]::before, .site-menu .nav-contact::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.45) 49%, transparent 65%);
  background-size: 350% 100%;
  background-position: 100% center;
  pointer-events: none;
  animation: brand-sheen 8s ease-in-out infinite;
}
.button-primary[href="#contact"]:hover, .site-menu .nav-contact:hover {
  background: linear-gradient(165deg, #ff526b, #ff0023 55%, #dc0021);
  transform: perspective(700px) rotateX(0) translateY(-2px);
  box-shadow: inset 0 1px 0 #ffffff66, 0 7px 0 #850016, 0 15px 26px #0006;
}
.button-primary[href="#contact"]:active, .site-menu .nav-contact:active {
  transform: translateY(3px);
  box-shadow: inset 0 1px 0 #ffffff55, 0 2px 0 #850016, 0 5px 12px #0005;
}
.brand-sculpture { position: relative; display: inline-block; line-height: 0; flex-shrink: 0; max-width: 100%; }
.brand > .brand-sculpture { width: 100%; }
.brand-sculpture img {
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.24));
}
.brand-sculpture::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.95) 48%, transparent 64%);
  background-size: 350% 100%;
  background-position: 100% center;
  -webkit-mask: var(--logo-mask) center / 100% 100% no-repeat;
  mask: var(--logo-mask) center / 100% 100% no-repeat;
  animation: brand-sheen 9s ease-in-out infinite;
}
@keyframes brand-sheen {
  0%, 62% { background-position: 100% center; }
  85%, 100% { background-position: 0% center; }
}
@media (prefers-reduced-motion: reduce) {
  body::before, body::after, .brand-sculpture::after,
  .button-primary[href="#contact"]::before, .site-menu .nav-contact::after { animation: none; }
  .button-primary[href="#contact"], .site-menu .nav-contact { transition: none; }
}
