/* Request Access modal (HubSpot-embedded form) */
.ra-overlay {
  position: fixed; inset: 0;
  background: rgba(8, 15, 28, 0.72);
  z-index: 1000;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 5vh 24px;
  overflow-y: auto;
  animation: ra-fade 0.18s ease-out;
}
@keyframes ra-fade { from { opacity: 0; } to { opacity: 1; } }

.ra-modal {
  background: var(--parchment, #efe9de);
  color: var(--on-parch, #0d1220);
  width: min(720px, 100%);
  max-height: calc(100vh - 10vh);
  border-radius: 14px;
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 30px 80px rgba(0,0,0,0.35);
  animation: ra-rise 0.22s ease-out;
}
@keyframes ra-rise {
  from { transform: translateY(12px); opacity: 0.6; }
  to   { transform: translateY(0); opacity: 1; }
}

.ra-modal__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 22px;
  border-bottom: 1px solid rgba(8, 15, 28, 0.08);
  background: rgba(8, 15, 28, 0.02);
}

.ra-modal__eyebrow {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--arc-teal-text, #006B56);
}

.ra-modal__close {
  background: transparent; border: 1px solid rgba(8, 15, 28, 0.14);
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: inherit;
  transition: all 0.15s;
}
.ra-modal__close:hover {
  background: var(--void, #0d1220); color: var(--parchment, #efe9de);
  border-color: var(--void, #0d1220);
}

.ra-modal__body {
  overflow-y: auto;
  padding: 32px 40px 48px;
}

.ra-modal__h {
  font-family: var(--font-display, Lexend, ui-sans-serif, sans-serif);
  font-size: clamp(26px, 3.2vw, 34px);
  font-weight: 500;
  line-height: 1.12;
  margin: 0 0 10px;
}

.ra-modal__p {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(13, 18, 32, 0.72);
  margin: 0 0 24px;
  max-width: 520px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* HubSpot form inside modal — scope overrides stay gentle */
.ra-modal .hs-form-frame { min-height: 280px; }

@media (max-width: 640px) {
  .ra-overlay { padding: 0; }
  .ra-modal {
    width: 100%; max-height: 100vh;
    border-radius: 0;
  }
  .ra-modal__body { padding: 24px 20px 40px; }
}
