@font-face{font-family:Apercu;src:url('/assets/apercu.otf') format('opentype');font-display:swap}
@font-face{font-family:Recoleta;src:url('/assets/recoleta.otf') format('opentype');font-display:swap}
:root{color-scheme:light;--navy:#153245;--cream:#f5f2e9;--muted:#bdcdd4}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cream);color:var(--navy)}body{font-family:Apercu,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.gate{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 20px}.panel{width:100%;max-width:500px;background:var(--navy);color:#fefbf6;text-align:center;padding:48px 48px 28px;border-radius:16px;box-shadow:0 22px 60px #15324510}.logo{display:block;width:218px;height:auto;margin:0 auto 42px}h1{font-family:Recoleta,Georgia,serif;font-size:58px;line-height:1.02;font-weight:400;letter-spacing:-.035em;margin:0 0 22px}#age-message{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 28px}.confirm{display:flex;align-items:center;justify-content:center;gap:26px;min-height:58px;padding:17px 22px;border-radius:6px;background:#f5f2e9;color:var(--navy);font-size:16px;text-decoration:none;transition:background .15s}.confirm:hover{background:#dfe5d9}.confirm span{font-family:Arial,sans-serif;font-size:22px;line-height:1}.decline,.back{display:block;margin:10px auto 0;min-height:44px;padding:10px;font:inherit;font-size:13px;color:#bdcdd4;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.denied{border-top:1px solid #ffffff30;padding-top:24px;color:var(--muted);font-size:15px;line-height:1.6}.back{color:#f5f2e9}footer{width:100%;max-width:500px;display:flex;justify-content:space-between;gap:20px;padding:20px 4px 0;font-size:11px;color:#78828a}footer nav{display:flex;gap:20px}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}:focus-visible{outline:3px solid #95bddb;outline-offset:5px}[hidden]{display:none!important}
@media(max-width:600px){.gate{padding:24px 18px}.panel{padding:38px 28px 22px;border-radius:14px}.logo{width:198px;margin-bottom:35px}h1{font-size:50px;margin-bottom:20px}#age-message{font-size:15px;margin-bottom:26px}.confirm{font-size:15px}footer{font-size:10px;padding-top:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
