/* Site-wide logo (the "R" mark), shared by the Framer homepage and the generated
   pages. It sits at the left edge of the header's 1000px content column,
   vertically centred on the 49px "Book a call" button. menu.js fine-tunes
   `left` to the exact header column so it also accounts for the scrollbar. */
.rvx-logo {
  position: fixed;
  top: 26.5px;
  left: max(40px, calc((100vw - 1000px) / 2));
  z-index: 1003;
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  line-height: 0;
}
.rvx-logo svg { display: block; width: 100%; height: 100%; }
.rvx-logo:focus-visible { outline: 2px solid #ff520e; outline-offset: 4px; }
@media (max-width: 809px) {
  /* Next to the 32px menu button at left: 20px. */
  .rvx-logo { left: 64px !important; top: 28.5px; width: 32px; height: 32px; }
}

/* Glass finish: frosted backdrop, orange glow, and a light sweep on load and hover. */
.rvx-logo {
  overflow: hidden;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 20px 4px rgba(255, 82, 14, 0.3), 0 6px 16px rgba(0, 0, 0, 0.35);
  transition: box-shadow 0.3s, transform 0.3s;
}
.rvx-logo::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -80%;
  width: 45%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-20deg);
  pointer-events: none;
  animation: rvx-shine 1.2s 0.6s ease-out 1 both;
}
.rvx-logo:hover { box-shadow: 0 0 28px 6px rgba(255, 82, 14, 0.45), 0 6px 16px rgba(0, 0, 0, 0.35); transform: translateY(-1px); }
.rvx-logo:hover::after { animation: rvx-shine 0.9s ease-out 1 both; }
@keyframes rvx-shine { from { left: -80%; } to { left: 140%; } }
@media (prefers-reduced-motion: reduce) { .rvx-logo::after { animation: none; display: none; } }
