
body.gate-locked{overflow:hidden}
.access-gate{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px}
.access-gate[hidden]{display:none}
.gate-backdrop{position:absolute;inset:0;background:linear-gradient(rgba(3,18,43,.72),rgba(3,18,43,.82)),radial-gradient(circle at 72% 18%,rgba(20,122,255,.35),transparent 34%),url("../images/hero-display-wide.png") center/cover no-repeat;backdrop-filter:blur(12px)}
.gate-panel{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:32px;border:1px solid rgba(159,198,241,.72);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(235,245,255,.95));box-shadow:0 32px 90px rgba(0,13,35,.48),inset 0 1px rgba(255,255,255,.9)}
.gate-brand{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid #d8e4f0}
.gate-brand img{width:78px;height:78px;object-fit:contain}
.gate-brand p{margin:0}
.gate-brand-name{color:#064a9f;font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.gate-brand-subtitle{margin-top:7px!important;color:#26384f;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.gate-heading{display:flex;align-items:center;gap:18px;margin-top:24px}
.gate-age{flex:0 0 auto;width:78px;height:78px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:27px;font-weight:900;background:linear-gradient(145deg,#0c89ff,#04367e);box-shadow:0 12px 26px rgba(7,78,173,.28)}
.gate-kicker{margin:0 0 6px;color:#0752b2;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.gate-heading h1{margin:0;color:#03152f;font-size:clamp(26px,4vw,38px);line-height:1.05}
.gate-intro{margin:20px 0;color:#35475c;line-height:1.55}
.gate-check{position:relative;display:grid;grid-template-columns:28px 1fr;gap:13px;align-items:start;margin:12px 0;padding:16px;border:1px solid #cfdeed;border-radius:12px;background:rgba(255,255,255,.7);cursor:pointer;transition:.18s ease}
.gate-check:hover{transform:translateY(-1px);border-color:#8eb8e8;box-shadow:0 8px 20px rgba(4,55,120,.08)}
.gate-check input{position:absolute;opacity:0;pointer-events:none}
.gate-box{width:24px;height:24px;display:grid;place-items:center;border:2px solid #6d8fb5;border-radius:6px;background:#fff}
.gate-check input:checked + .gate-box{border-color:#0869dd;background:linear-gradient(145deg,#118dff,#064aa6)}
.gate-check input:checked + .gate-box::after{content:"✓";color:#fff;font-weight:900}
.gate-check input:focus-visible + .gate-box{outline:3px solid rgba(17,137,255,.28);outline-offset:2px}
.gate-check span:last-child{color:#25364a;font-size:14px;line-height:1.48}
.gate-check strong{display:block;margin-bottom:4px;color:#07182d;font-size:14px}
.gate-check a{color:#0759bd;font-weight:800;text-decoration:underline}
.gate-error{min-height:20px;margin:8px 0 0;color:#9d1c1c;font-size:13px;font-weight:700}
.gate-actions{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:14px}
.gate-enter,.gate-exit{min-height:50px;border-radius:7px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.gate-enter{border:1px solid #06479e;color:#fff;background:linear-gradient(145deg,#0d86ff,#053a8a);box-shadow:0 12px 25px rgba(5,70,156,.22)}
.gate-enter:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}
.gate-exit{padding:0 22px;border:1px solid #829bb7;color:#31455c;background:#fff}
.gate-note{margin:16px 0 0;color:#63758a;font-size:12px;text-align:center}
@media (max-width:600px){.access-gate{padding:12px}.gate-panel{max-height:calc(100vh - 24px);padding:22px 18px;border-radius:16px}.gate-brand img{width:62px;height:62px}.gate-heading{align-items:flex-start}.gate-age{width:62px;height:62px;font-size:22px}.gate-actions{grid-template-columns:1fr}.gate-exit{width:100%}}
@media (prefers-reduced-motion:reduce){.gate-check{transition:none}}
