/* The researcher check on every page (markup: /js/gate-markup.js), laid out like ascend.science's: a white card over the
   dimmed, blurred page. The store wraps it in #overlay-root's .overlay.verification; other pages in .vt-gate (gate.js).
   Phones first (390px, then 320px, then desktop). */
.overlay.verification,.vt-gate{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));box-sizing:border-box;background:rgba(11,31,68,.42);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#0b1f44}
.vt-gate{font-family:var(--font,"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif)}
.vt-gate[hidden]{display:none}
/* Before gate.js draws the card, the page is already covered, so nothing shows unchecked. */
html[data-gate]:not([data-site="store"]) body::before{content:"";position:fixed;inset:0;z-index:99;background:rgba(11,31,68,.42);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
html[data-gate],html[data-gate] body,html.vt-gate-on,html.vt-gate-on body{overflow:hidden}
.vt-gate__dialog{width:100%;max-width:506px;margin:auto;box-sizing:border-box;background:#fff;border-radius:28px;padding:30px 24px 22px;box-shadow:0 30px 70px rgba(11,31,68,.28);text-align:left;font-family:inherit}
.vt-gate__brand{display:flex;justify-content:center;margin:0 0 22px}
.vt-gate__logo{display:block;width:150px;height:auto}
.vt-gate__title{margin:0 0 14px;font-size:clamp(22px,6.3vw,31px);white-space:nowrap;line-height:1.15;letter-spacing:-.025em;font-weight:700;color:#0b1f44}
.vt-gate__title span{background:linear-gradient(90deg,#176ab4,#3a9fd8);-webkit-background-clip:text;background-clip:text;color:transparent}
.vt-gate__lead{margin:0 0 20px;font-size:15px;line-height:1.6;color:#5b7189}
.vt-gate__check{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:15px 16px;border:1px solid #dfe7ef;border-radius:18px;font-size:15px;line-height:1.5;color:#33506f;cursor:pointer;transition:border-color .15s,background-color .15s}
.vt-gate__check strong{color:#0b1f44;font-weight:600}
.vt-gate__check input{flex:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid #b9c7d5;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer}
.vt-gate__check input::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg);opacity:0}
.vt-gate__check input:checked{background:#176ab4;border-color:#176ab4}
.vt-gate__check input:checked::after{opacity:1}
.vt-gate__check:has(input:checked){border-color:#9cc6ea;background:#f4f9fd}
.vt-gate__label{display:block;margin:20px 0 9px;font-size:15px;font-weight:600;color:#0b1f44}
.vt-gate__select{position:relative}
.vt-gate__select select{width:100%;height:54px;appearance:none;-webkit-appearance:none;margin:0;padding:0 46px 0 17px;border:1px solid #dfe7ef;border-radius:16px;background:#fff;font:inherit;font-size:16px;color:#0b1f44;cursor:pointer}
.vt-gate__select select:invalid,.vt-gate__select select:has(option[value=""]:checked){color:#7d90a5}
.vt-gate__chevron{position:absolute;right:17px;top:50%;width:18px;height:18px;margin-top:-9px;fill:none;stroke:#7d90a5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.vt-gate__enter{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;min-height:56px;padding:0 24px;border:0;border-radius:999px;font:inherit;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(90deg,#3a9fd8,#176ab4);box-shadow:0 14px 30px rgba(23,106,180,.25);cursor:pointer;transition:opacity .15s,transform .15s}
.vt-gate__enter:disabled{background:#e6edf3;color:#7d90a5;box-shadow:none;cursor:not-allowed}
.vt-gate__enter:not(:disabled):active{transform:scale(.985)}
.vt-gate__arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vt-gate__fine{margin:18px 0 0;font-size:12.5px;line-height:1.6;color:#7d90a5}
.vt-gate__fine a{color:#176ab4;text-decoration:underline;text-underline-offset:2px}
.vt-gate__exit{margin:16px 0 0;text-align:center;font-size:14px;color:#5b7189}
.vt-gate__exit a{color:#176ab4;font-weight:600;text-decoration:none}
.vt-gate__check input:focus-visible,.vt-gate__select select:focus-visible,.vt-gate__enter:focus-visible,.vt-gate a:focus-visible,.overlay.verification a:focus-visible{outline:3px solid #8fd3f4;outline-offset:3px}
/* The first box takes focus when the check opens (for keyboards and screen readers) without a ring on the screen. */
.vt-gate__check input[data-quiet-focus]:focus-visible{outline:none}
@media(max-width:359px){.vt-gate__dialog{padding:24px 18px 18px;border-radius:24px}.vt-gate__check{padding:13px;font-size:14px}.vt-gate__lead{font-size:14px}}
@media(min-width:760px){.overlay.verification,.vt-gate{align-items:center;padding:28px}.vt-gate__dialog{padding:34px 34px 26px}}
@media(prefers-reduced-motion:reduce){.vt-gate__check,.vt-gate__enter{transition:none}}
