/* Homepage-only overlay. All panel styles are scoped to preserve approved pages. */
.rental-popup {
  width: min(680px, calc(100% - 40px));
  max-width: none;
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 42px 46px 32px;
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--white);
  background: radial-gradient(ellipse at 100% 0, #12344b80, transparent 55%), #08131ef5;
  border: 1px solid #5ebbe980;
  border-radius: 8px;
  box-shadow: 0 0 0 5px #07283d40, 0 0 48px #0088cc25, 0 28px 90px #0009;
}
.rental-popup:not([open]) { display: none; }
.rental-popup::backdrop { background: #02070caf; }
.rental-popup[open] { animation: rental-popup-enter 180ms ease-out; }
.rental-popup-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 0; border-radius: 4px; background: transparent; color: #c9e2f1; font: 30px/1 var(--font); }
.rental-popup-close:hover { background: #72d8ff15; color: #fff; }
.rental-popup-eyebrow { padding-right: 28px; color: var(--cyan); font: 11px/1.5 var(--mono); letter-spacing: .18em; }
.rental-popup h2 { margin: 15px 0 16px; font: 750 clamp(28px, 4vw, 40px)/1.08 var(--display); letter-spacing: .01em; }
.rental-popup-description { max-width: 520px; color: #c6d5e2; font-size: 16px; line-height: 1.6; }
.rental-popup-equipment { margin: 18px 0 25px; color: #e2edf5; font: 12px/1.5 var(--mono); }
.rental-popup-equipment span { margin-inline: 9px; color: var(--cyan); }
.rental-popup-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rental-popup-fields label { min-width: 0; font-size: 13px; color: #dae6f0; }
.rental-popup-fields input { display: block; margin-top: 7px; min-height: 46px; font-size: 16px; background: #101f2d; border-color: #476276; }
.rental-popup-submit { width: calc(100% - 12px); margin: 24px 6px 0; }
.rental-popup-privacy { margin-top: 19px; color: #a9bdce; font-size: 12px; line-height: 1.6; }
.rental-popup-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; min-height: 30px; color: var(--cyan); font: 600 12px/1.5 var(--display); letter-spacing: .07em; }
.rental-popup-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.rental-popup :focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.rental-popup h2:focus, .rental-popup-success h3:focus { outline: none; }
.rental-popup-success { border-top: 1px solid #31516a; padding-top: 22px; }
.rental-popup-success h3 { font: 700 24px/1.2 var(--display); color: var(--cyan); }
.rental-popup-success p { margin: 12px 0 22px; color: #d5e2ed; line-height: 1.6; }
.rental-popup-success .button { margin-inline: 6px; }
html.rental-popup-open { overflow: hidden; }
html.rental-popup-open body { position: fixed; top: var(--rental-scroll-top); width: 100%; overflow: hidden; }
@keyframes rental-popup-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
  .rental-popup { padding: 30px 22px 22px; }
  .rental-popup h2 { margin-block: 14px; font-size: 29px; }
  .rental-popup-description { font-size: 14px; line-height: 1.5; }
  .rental-popup-equipment { margin: 14px 0 18px; font-size: 11px; }
  .rental-popup-equipment span { margin-inline: 5px; }
  .rental-popup-fields { grid-template-columns: 1fr; gap: 12px; }
  .rental-popup-submit { margin-top: 20px; font-size: 13px; gap: 10px; }
  .rental-popup-privacy { margin-top: 16px; font-size: 11px; line-height: 1.5; }
  .rental-popup-link { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) { .rental-popup[open] { animation: none; } .rental-popup .button, .rental-popup .button::before { transition: none; } }
