html.gate-locked,html.gate-locked body{overflow:hidden!important;height:100%;overscroll-behavior:none}
html.gate-locked body>*:not(#mms-gate):not(script){display:none!important}
html:not(.gate-locked) #mms-gate{display:none!important}
.gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:calc(20px + env(safe-area-inset-top,0px)) 16px calc(20px + env(safe-area-inset-bottom,0px));background:radial-gradient(ellipse at 50% 0%,#162435 0%,#0B1420 70%);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.gate-card{width:100%;max-width:440px;margin:auto;background:#131E2E;border:1px solid rgba(148,163,184,.12);border-radius:16px;padding:28px 24px 22px;box-shadow:0 24px 60px rgba(0,0,0,.45);animation:gatein .35s ease}
@keyframes gatein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.gate-brand{margin:0 0 10px;font:700 11px Inter,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#F4B000}
.gate-title{margin:0 0 20px;font:italic 800 clamp(26px,6.5vw,32px)/1.15 'Playfair Display',Georgia,serif;color:#F1F5F9;outline:none}
.gate-form{display:flex;flex-direction:column;gap:14px}
.gate-field{display:flex;flex-direction:column;gap:6px;font:600 13px Inter,sans-serif;color:#F1F5F9}
.gate-field abbr{color:#F4B000;text-decoration:none}
.gate-field input{height:48px;padding:0 14px;border-radius:10px;border:1.5px solid rgba(148,163,184,.18);background:#1A2B3D;color:#F1F5F9;font:400 16px Inter,sans-serif}
.gate-field input:focus{outline:0;border-color:rgba(244,176,0,.6);box-shadow:0 0 0 3px rgba(244,176,0,.18)}
.gate-field input[aria-invalid=true]{border-color:#F87171}
.gate-err{margin:0;padding:10px 12px;border-radius:10px;background:rgba(248,113,113,.10);border:1px solid rgba(248,113,113,.28);color:#FECACA;font-size:14px;line-height:1.5}
.gate-btn{margin-top:4px;min-height:50px;width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#F4B000,#E0A200);color:#0B1420;font:700 16px Inter,sans-serif;cursor:pointer;box-shadow:0 6px 24px rgba(244,176,0,.3)}
.gate-btn:focus-visible{outline:3px solid #FFF6D5;outline-offset:3px}
.gate-btn[disabled]{opacity:.65;cursor:progress}
.gate-disc{margin:14px 0 0;font-size:12px;line-height:1.5;color:#8B9BB0;text-align:center}
@media (prefers-reduced-motion:reduce){.gate-card{animation:none}}
@media print{html.gate-locked body>*{display:none!important}html.gate-locked body::after{content:"Please sign up to access and print the Christmas planner.";display:block;font:16px Georgia,serif;color:#000}}
