.brand-mark{
  cursor:pointer;
}
.brand-mark:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
}
.rv-contact-button{
  box-sizing:border-box;
  position:absolute;
  top:15px;
  left:1148px;
  width:150px;
  height:35px;
  border:1px solid #79dcff;
  border-radius:6px;
  background:linear-gradient(90deg,rgba(61,183,234,.14),rgba(139,79,214,.12));
  color:#fff;
  font:700 13px/1 Inter,Arial,sans-serif;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
  animation:rv-contact-idle-pulse 2.25s ease-in-out infinite;
}
.rv-contact-button:hover,
.rv-contact-button:focus-visible{
  background:linear-gradient(90deg,#3db7ea,#8b4fd6);
  color:#fff;
  border-color:#ecf63c;
  box-shadow:0 0 0 2px rgba(236,246,60,.26),0 0 18px rgba(61,183,234,.48),0 0 34px rgba(139,79,214,.36);
  transform:translateY(-1px) scale(1.025);
  outline:none;
  animation:rv-contact-hover-pulse 1.05s ease-in-out infinite;
}
@keyframes rv-contact-idle-pulse{
  0%,100%{
    box-shadow:0 0 0 1px rgba(112,216,255,.18),0 0 9px rgba(61,183,234,.18),0 0 16px rgba(139,79,214,.10);
  }
  50%{
    box-shadow:0 0 0 3px rgba(112,216,255,.24),0 0 18px rgba(61,183,234,.42),0 0 30px rgba(139,79,214,.26);
  }
}
@keyframes rv-contact-hover-pulse{
  0%,100%{
    box-shadow:0 0 0 2px rgba(236,246,60,.20),0 0 18px rgba(61,183,234,.42),0 0 30px rgba(139,79,214,.30);
  }
  50%{
    box-shadow:0 0 0 4px rgba(236,246,60,.32),0 0 26px rgba(61,183,234,.62),0 0 42px rgba(139,79,214,.46);
  }
}
@media (prefers-reduced-motion:reduce){
  .rv-contact-button{animation:none}
  .rv-contact-button:hover,
  .rv-contact-button:focus-visible{animation:none}
}
.rv-contact-overlay{
  z-index:1000;
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.78);
  padding:24px;
}
.rv-contact-overlay.is-open{display:flex}
.rv-contact-modal{
  box-sizing:border-box;
  width:520px;
  max-width:calc(100vw - 48px);
  background:#111;
  color:#fff;
  border:1px solid #333;
  border-radius:12px;
  padding:32px;
  position:relative;
  box-shadow:0 18px 60px rgba(0,0,0,.5);
}
.rv-contact-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.rv-contact-modal h2{
  margin:0 48px 8px 0;
  font-size:30px;
  line-height:1.05;
}
.rv-contact-modal .rv-contact-intro{
  margin:0 0 24px;
  color:#cfcfcf;
  font-size:14px;
  line-height:1.5;
}
.rv-contact-form{display:grid;gap:15px}
.rv-contact-form label{
  display:grid;
  gap:7px;
  font-size:12px;
  font-weight:700;
  color:#e8e8e8;
}
.rv-contact-form input,
.rv-contact-form textarea{
  box-sizing:border-box;
  width:100%;
  border:1px solid #3a3a3a;
  border-radius:6px;
  background:#1a1a1a;
  color:#fff;
  padding:11px 12px;
  font:400 14px/1.4 Inter,Arial,sans-serif;
  outline:none;
}
.rv-contact-form input:focus,
.rv-contact-form textarea:focus{border-color:#fff}
.rv-contact-form textarea{
  min-height:120px;
  resize:vertical;
}
.rv-contact-submit{
  height:42px;
  border:0;
  border-radius:6px;
  background:#d9d9d9;
  color:#111;
  font:700 13px/1 Inter,Arial,sans-serif;
  cursor:pointer;
  margin-top:2px;
}
.rv-contact-submit:hover,
.rv-contact-submit:focus-visible{background:#fff;outline:none}
.rv-contact-helper{
  min-height:18px;
  margin:0;
  font-size:11px;
  line-height:1.4;
  color:#aaa;
}
