/* RevX "Let's talk" modal styles */
.revx-modal-overlay{
  position:fixed; inset:0; z-index:9999;
  background:rgba(10,12,11,.62); backdrop-filter:blur(3px);
  display:flex; align-items:flex-start; justify-content:center;
  padding:clamp(16px,5vh,64px) 16px; overflow-y:auto;
}
.revx-modal-overlay[hidden]{ display:none; }
.revx-modal{
  position:relative; width:100%; max-width:560px;
  background:#fff; border-radius:16px;
  box-shadow:0 24px 64px rgba(10,12,11,.34);
  padding:clamp(24px,4vw,40px);
  animation:revxModalIn .18s ease-out;
}
@keyframes revxModalIn{ from{ opacity:0; transform:translateY(8px) scale(.985);} to{ opacity:1; transform:none;} }
.revx-modal-close{
  position:absolute; top:12px; right:14px;
  width:38px; height:38px; border:0; border-radius:50%;
  background:#f1f2f1; color:#0a0c0b;
  font-size:24px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
.revx-modal-close:hover{ background:#e2e3e2; }
.revx-modal-close:focus-visible{ outline:2px solid #00a850; outline-offset:2px; }
.revx-modal-head{ margin-bottom:18px; padding-right:32px; }
.revx-modal-head h2{
  font-family:Inter,system-ui,sans-serif; font-weight:800;
  font-size:24px; letter-spacing:-.02em; color:#0a0c0b; margin:0 0 6px;
}
.revx-modal-head p{
  font-family:Inter,system-ui,sans-serif; font-size:14.5px; line-height:1.5;
  color:#5f6664; margin:0;
}
.revx-modal-body{ min-height:120px; }
/* Give the embedded HubSpot form room; HubSpot injects its own styles inside its frame. */
.revx-modal-body .hs-form-frame{ width:100%; }

@media (max-width:520px){
  .revx-modal{ border-radius:14px; padding:22px 18px; }
  .revx-modal-head h2{ font-size:21px; }
}
