.guest-access { box-sizing:border-box; position:fixed; inset:0; width:min(490px,calc(100% - 32px)); max-height:calc(100dvh - 40px); margin:auto; padding:40px; overflow:auto; border:1px solid #dce2e9; border-radius:18px; background:#fff; color:#0e2244; font-family:Inter,'Inter Fallback',Arial,Helvetica,sans-serif; box-shadow:0 24px 90px #0e224433; }
.guest-access::backdrop { background:#0e224477; }
.guest-access-close { position:absolute; right:12px; top:12px; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f2f5fa; color:#586575; font:28px/1 system-ui; cursor:pointer; }
.guest-access-eyebrow { display:block; padding-right:24px; color:#2262ba; font-size:14px; margin-bottom:20px; }
.guest-access h2 { margin:0; font-size:28px; line-height:1.18; font-weight:600; letter-spacing:-.035em; }
.guest-access > p { margin:20px 0 0; font-size:16px; line-height:1.55; color:#586575; }
.guest-access-register { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:54px; padding:14px 20px; box-sizing:border-box; border-radius:8px; margin-top:28px; background:#2d74da; color:#fff; text-decoration:none; font-size:16px; font-weight:600; }
.guest-access-register:hover { background:#215eb9; color:#fff; }
.guest-access .guest-access-login { text-align:center; font-size:14px; }
.guest-access-login a { color:#2262ba; text-decoration:underline; text-underline-offset:3px; }
.guest-access .guest-access-note { border-top:1px solid #dce2e9; padding-top:18px; font-size:13px; }
.guest-access :focus-visible { outline:3px solid #2d74da; outline-offset:4px; }
.guest-access-fallback { padding:24px; background:#eef5ff; color:#0e2244; }
@media(max-width:600px) { .guest-access { padding:36px 24px 24px; } .guest-access h2 { font-size:25px; } }
