  /* keep videos invisible and unclickable while gated */
  .gated-vimeo {
    visibility: hidden !important;   /* stays in layout, but invisible */
    pointer-events: none !important; /* unclickable */
  }

  /* Wrapper that positions the form on top of the video area */
  .vg-wrap { position: static; }

  /* The form overlay that sits exactly over the video */
  .vg-overlay {
    position: static; /* No overlay */
    display: grid; gap: 10px; align-content: center; justify-items: center;
    padding: 20px; background: rgba(255,255,255,0.96);
    border: 1px solid #ddd; border-radius: 8px;
    margin: 32px auto; /* Center in page */
    max-width: 520px;
    z-index: 1;
  }
  #access-ui {
    max-width: 520px; margin: 32px auto; padding: 20px;
    border: 1px solid #ddd; border-radius: 8px; background: #fff;
    font: 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  }
  #access-ui h3 { margin: 0 0 8px; }
  #access-ui label { display:block; margin: 8px 0 0; }
  #access-ui input { width:100%; padding:8px; box-sizing:border-box; }
  #access-ui button { margin-top:12px; padding:10px 14px; cursor:pointer; }
  #acc-status { margin-left:10px; font-size:0.95em }