#accessGate{position:fixed;inset:0;z-index:1100;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:rgba(124,23,62,.82);padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:center;color:#2a1b3d;font:16px/1.4 Effra,system-ui,sans-serif;user-select:text;-webkit-user-select:text}
#accessGate[hidden]{display:none}
#accessGate *{touch-action:manipulation}
#accessGate .access-card{margin:auto;width:100%;max-width:460px;flex-shrink:0;padding:24px;background:#fff3df;border:3px solid #7c173e;border-radius:24px;box-shadow:6px 6px 0 #ff5fa2;text-align:left}
#accessGate .access-gizmo{display:block;width:88px;height:88px;object-fit:contain;margin:0 auto 12px}
#accessGate .access-brand{margin:0;text-align:center;font-size:14px;font-weight:900;color:#7c173e}
#accessGate h1{font:600 31px/1.1 Fredoka,system-ui,sans-serif;color:#7c173e;margin:8px 0 12px;text-align:center}
#accessGate p{margin:12px 0}
#accessGate label{display:block;font-weight:900;margin-top:16px}
#accessGate input[type=email]{width:100%;height:48px;padding:10px 12px;margin-top:6px;background:#fff;color:#2a1b3d;border:2px solid #7c173e;border-radius:10px;font:16px Effra,system-ui,sans-serif;user-select:text;-webkit-user-select:text;touch-action:auto}
#accessGate .access-choice{display:flex;gap:10px;font-weight:400;align-items:flex-start}
#accessGate input[type=checkbox]{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:#7c173e}
#accessGate .access-marketing{border-top:1px solid #d9b4ba;padding-top:16px;margin-top:20px}
#accessGate a{color:#7c173e;text-decoration:underline;font-weight:900}
#accessGate .access-note{font-size:14px;margin:8px 0 18px}
#accessGate button{min-height:48px;font:900 16px Effra,system-ui,sans-serif;padding:12px 18px;border:2px solid #7c173e;border-radius:12px;color:#fff3df;background:#7c173e;box-shadow:0 4px 0 #ff5fa2;cursor:pointer}
#accessSubmit{width:100%}
#accessGate button:disabled{opacity:.6;cursor:default;box-shadow:none}
#accessGate :focus-visible{outline:3px solid #2a1b3d;outline-offset:3px}
#accessStatus{font-size:14px;color:#7c173e}
body.access-blocked{touch-action:pan-y;user-select:text;-webkit-user-select:text}
@media(max-width:480px){#accessGate .access-card{padding:20px}}
@media(max-height:720px){#accessGate{align-items:flex-start}#accessGate .access-gizmo{width:56px;height:56px}#accessGate .access-card{margin:0 auto}}

body.access-blocked #loading *{animation:none!important}

html.access-blocked{touch-action:pan-y}
