/* Final, component-scoped layer over the legacy dialog and form rules. */
body.bede-site dialog.bede-entry-gate {
  box-sizing:border-box;width:min(570px,calc(100vw - 32px));max-width:570px;
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  margin:auto;padding:30px;border:0;border-radius:28px;background:#fff;color:#141c30;
  overflow:auto;overscroll-behavior:contain;box-shadow:0 26px 72px #10182b50;
  font:400 16px/1.45 BedeInter,Arial,sans-serif;
}
body.bede-site dialog.bede-entry-gate::backdrop {background:#171b36a6;backdrop-filter:blur(5px)}
body.bede-site .bede-entry-gate .bede-gate-body {min-width:0}
body.bede-site .bede-entry-gate .bede-gate-brand {margin:0 0 28px;text-align:center;font-size:16px;font-weight:400;line-height:1.35;letter-spacing:.28em;color:#395889}
body.bede-site .bede-entry-gate #bede-gate-title {margin:0 0 18px;font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-1.1px;overflow-wrap:normal}
body.bede-site .bede-entry-gate #bede-gate-title span {color:#3278dc}
body.bede-site .bede-entry-gate .bede-gate-intro {margin:0 0 24px;font-size:16px;line-height:1.7;color:#657c9e}
body.bede-site .bede-entry-gate .bede-entry-form {margin:0}
body.bede-site .bede-entry-gate .bede-entry-field {margin:0 0 14px}
body.bede-site .bede-entry-gate .bede-entry-choice {display:flex;align-items:flex-start;gap:14px;box-sizing:border-box;margin:0;padding:14px 20px;border:1px solid #d2def0;border-radius:18px;color:#344560;font-size:16px;font-weight:400;line-height:1.45;cursor:pointer;transition:border-color .15s,box-shadow .15s}
body.bede-site .bede-entry-gate .bede-entry-choice.is-selected {border-color:#3477de;box-shadow:0 0 0 1px #3477de20,0 5px 14px #3278dc0d}
body.bede-site .bede-entry-gate .bede-entry-choice input[type=checkbox] {appearance:none;flex:0 0 25px;box-sizing:border-box;width:25px;height:25px;margin:2px 0 0;padding:0;border:1px solid #c7d6ed;border-radius:10px;background:#fff;cursor:pointer;position:relative}
body.bede-site .bede-entry-gate .bede-entry-choice input[type=checkbox]:checked {background:#2a6bd3;border-color:#2a6bd3}
body.bede-site .bede-entry-gate .bede-entry-choice input[type=checkbox]:checked::after {content:"";position:absolute;width:6px;height:12px;top:3px;left:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
body.bede-site .bede-entry-gate .bede-entry-choice input:focus-visible {outline:3px solid #93baf4;outline-offset:3px}
body.bede-site .bede-entry-gate .bede-entry-type {margin-top:22px;margin-bottom:0}
body.bede-site .bede-entry-gate .bede-entry-type label {display:block;margin:0 0 10px;color:#344560;font-size:16px;font-weight:600;line-height:1.45}
body.bede-site .bede-entry-gate .bede-entry-form .bede-entry-type select {box-sizing:border-box;margin:0;min-height:58px;border-radius:18px;padding:14px 44px 14px 20px;font:400 16px/1.45 BedeInter,Arial,sans-serif;color:#344560}
body.bede-site .bede-entry-gate .bede-entry-type select:invalid {color:#8a9fbc}
body.bede-site .bede-entry-gate .bede-entry-type select:focus-visible {outline:2px solid #3477de;outline-offset:2px}
body.bede-site .bede-entry-gate .bede-entry-form .bede-entry-submit {display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;margin:26px 0 0;padding:15px 20px;border:0;border-radius:999px;font:700 18px/1.4 BedeInter,Arial,sans-serif;background:linear-gradient(90deg,#4f97ec,#2a6ad0);color:#fff;cursor:pointer;box-shadow:none}
body.bede-site .bede-entry-gate .bede-entry-submit.is-incomplete {background:#e3e9f2;color:#6d819f}
body.bede-site .bede-entry-gate .bede-entry-submit::after {content:none}
body.bede-site .bede-entry-gate .bede-entry-submit:focus-visible,body.bede-site .bede-entry-gate .bede-gate-exit:focus-visible {outline:2px solid #2a6ad0;outline-offset:4px}
body.bede-site .bede-entry-gate .bede-entry-error {margin:7px 4px 0;color:#ac2439;font-size:13px;line-height:1.5}
body.bede-site .bede-entry-gate .bede-entry-error[hidden] {display:none}
body.bede-site .bede-entry-gate .is-invalid .bede-entry-choice,body.bede-site .bede-entry-gate .is-invalid select {border-color:#c33a4b}
body.bede-site .bede-entry-gate .bede-entry-footnote {margin:22px 0 0;font-size:13px;line-height:1.7;color:#8298b8}
body.bede-site .bede-entry-gate .bede-entry-footnote a {color:#657c9e;text-decoration:underline;text-underline-offset:2px}
body.bede-site .bede-entry-gate .bede-entry-exit-row {margin:20px 0 0;padding-top:18px;border-top:1px solid #edf1f7;text-align:center;font-size:16px;line-height:1.5;color:#657c9e}
body.bede-site .bede-entry-gate .bede-gate-exit {display:inline;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#2a6ad0;font:600 16px/1.5 BedeInter,Arial,sans-serif;cursor:pointer;box-shadow:none}
body.bede-site .bede-entry-gate .bede-entry-announcement {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px) {
  body.bede-site dialog.bede-entry-gate {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px 20px;border-radius:24px}
  body.bede-site .bede-entry-gate .bede-gate-brand {margin-bottom:22px;font-size:13px;letter-spacing:.2em}
  body.bede-site .bede-entry-gate #bede-gate-title {font-size:27px;letter-spacing:-.8px}
  body.bede-site .bede-entry-gate .bede-gate-intro {font-size:15px;line-height:1.6}
  body.bede-site .bede-entry-gate .bede-entry-choice {gap:12px;padding:14px;font-size:15px}
  body.bede-site .bede-entry-gate .bede-entry-form .bede-entry-submit {font-size:16px}
}
@media(prefers-reduced-motion:reduce) {body.bede-site .bede-entry-gate .bede-entry-choice {transition:none}}
