diff --git a/site/index.html b/site/index.html
index 24c1813f5..93623ed7b 100644
--- a/site/index.html
+++ b/site/index.html
@@ -504,9 +504,11 @@ footer .wrap{padding-block:48px 32px}
var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
// nav
- var burger=document.getElementById('burger'),links=document.getElementById('links');
- burger.addEventListener('click',function(){var o=links.classList.toggle('open');burger.setAttribute('aria-expanded',o?'true':'false');});
- links.querySelectorAll('a').forEach(function(a){a.addEventListener('click',function(){links.classList.remove('open');burger.setAttribute('aria-expanded','false');});});
+ var burger=document.getElementById('burger'),navLinks=document.getElementById('links');
+ burger.addEventListener('click',function(){var o=navLinks.classList.toggle('open');burger.setAttribute('aria-expanded',o?'true':'false');});
+ navLinks.querySelectorAll('a').forEach(function(a){a.addEventListener('click',function(){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');});});
+ document.addEventListener('click',function(e){if(navLinks.classList.contains('open')&&!navLinks.contains(e.target)&&!burger.contains(e.target)){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');}});
+ document.addEventListener('keydown',function(e){if(e.key==='Escape'&&navLinks.classList.contains('open')){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');burger.focus();}});
// reveal on scroll
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}});},{threshold:.12});
diff --git a/site/live.html b/site/live.html
index 72327883c..6ee1ec094 100644
--- a/site/live.html
+++ b/site/live.html
@@ -252,8 +252,9 @@ footer{border-top:1px solid var(--line);padding-block:48px 32px}
var dpr=Math.min(2,window.devicePixelRatio||1);
// nav
- var burger=document.getElementById('burger'),links=document.getElementById('links');
- burger.addEventListener('click',function(){var open=links.classList.toggle('open');burger.setAttribute('aria-expanded',open?'true':'false');});
+ var burger=document.getElementById('burger'),navLinks=document.getElementById('links');
+ burger.addEventListener('click',function(){var open=navLinks.classList.toggle('open');burger.setAttribute('aria-expanded',open?'true':'false');});
+ document.addEventListener('click',function(e){if(navLinks.classList.contains('open')&&!navLinks.contains(e.target)&&!burger.contains(e.target)){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');}});
// formatting
function $(id){return document.getElementById(id);}