html.age-pending{overflow:hidden}
.age-pending body>:not(.age-gate){pointer-events:none}
.age-denied body>:not(.age-gate){visibility:hidden}
.age-gate{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:36px 40px 28px;border:1px solid #d9ceb1;border-radius:10px;background:#f5f0e2;color:#003b28;text-align:center;box-shadow:0 18px 70px #0004;font-family:Arial,sans-serif}
.age-gate::backdrop{background:rgba(15,20,15,.7)}
.age-denied .age-gate::backdrop{background:#f5f0e2}
.age-logo{display:block;width:250px;max-width:85%;height:auto;margin:0 auto 28px}
.age-gate .age-kicker{font-size:11px;letter-spacing:2px;font-weight:700;color:#8b6c2d;margin:0 0 12px}
.age-gate h2{font:700 clamp(27px,6vw,38px)/1.15 Georgia,serif;margin:0}
.age-rule{width:52px;height:2px;background:#b08b3d;margin:24px auto}
.age-gate #age-description{font-size:16px;line-height:1.6;margin:0 0 26px}
.age-choices{display:grid;gap:12px}.age-choices[hidden]{display:none}
.age-choices button{width:100%;min-height:52px;padding:14px 12px;border:2px solid #003b28;border-radius:6px;background:#003b28;color:#fff;font:700 16px/1.35 Arial,sans-serif;cursor:pointer}
.age-choices button[data-age=no]{background:transparent;color:#003b28}
.age-gate :focus-visible{outline:3px solid #b08b3d;outline-offset:4px}
.age-gate .age-motto{font:italic 16px/1.5 Georgia,serif;margin:26px 0 20px}
.age-gate nav{font-size:13px;display:flex;justify-content:center;gap:14px}.age-gate a{color:#003b28;text-decoration:underline}
@media(max-width:480px){.age-gate{padding:26px 20px 22px}.age-logo{width:210px;margin-bottom:22px}.age-rule{margin:20px auto}.age-gate .age-motto{margin:22px 0 18px}}
