<!doctype html>
<html lang="en" class="{% if theme_mode == "dark" %}dark{% endif %}">
{{ head_html|safe }}
<body class="bg-background text-foreground antialiased min-h-screen flex flex-col film-grain" style="font-family: var(--font-body, &quot;Cormorant Garamond&quot;, &quot;Cormorant&quot;, Georgia, serif);">
	{{ admin_banner_html|safe }}
	<header class="w-full">
		<div class="max-w-3xl mx-auto px-4">{{ slots.header|safe }}</div>
	</header>
	<div class="flex-grow grid gap-12 w-full px-4 py-12 md:py-16 {% if slots.aside %}max-w-5xl mx-auto md:grid-cols-[2fr_1fr]{% else %}max-w-2xl mx-auto{% endif %}">
		<main class="prose max-w-none">
			{% if slots.main %}<article class="reel-dropcap" data-reel-dropcap="true">{{ slots.main|safe }}</article>{% else %}<div class="py-20 text-center"><p class="italic" style="color:hsl(var(--muted-foreground));">No content blocks assigned to this page.</p></div>{% endif %}
		</main>
		{% if slots.aside %}<aside class="w-full md:border-l md:border-[hsl(var(--primary)/0.3)] md:pl-10">{{ slots.aside|safe }}</aside>{% endif %}
	</div>
	<footer class="w-full mt-auto border-t border-[hsl(var(--primary)/0.35)]">
		<div class="max-w-5xl mx-auto px-4">{{ slots.footer|safe }}</div>
	</footer>
	{{ body_end_html|safe }}
	<script>
	(function(){if(window.__gothamMotion)return;window.__gothamMotion=1;var d=document,root=d.documentElement;root.classList.add('gotham-js');var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches;function pending(){return d.querySelectorAll('.reveal:not(.is-visible)');}function reveal(el){el.classList.add('is-visible');}function inView(){var h=window.innerHeight||root.clientHeight;pending().forEach(function(el){var r=el.getBoundingClientRect();if(r.top<h*1.05&&r.bottom>-h*0.25)reveal(el);});}function all(){pending().forEach(reveal);}function run(){if(reduce){all();return;}inView();if(window.requestAnimationFrame){requestAnimationFrame(inView);}window.addEventListener("scroll",inView,{passive:true});window.addEventListener('resize',inView,{passive:true});window.addEventListener('load',function(){inView();setTimeout(inView,120);},{once:true});setTimeout(inView,400);setTimeout(all,650);d.querySelectorAll('[data-spotlight]').forEach(function(s){s.addEventListener('pointermove',function(ev){var r=s.getBoundingClientRect();s.style.setProperty('--sx',((ev.clientX-r.left)/r.width*100)+'%');s.style.setProperty('--sy',((ev.clientY-r.top)/r.height*100)+'%');});});}if(d.readyState!='loading')run();else d.addEventListener('DOMContentLoaded',run);})();
	</script>
</body>
</html>
