:root{--bg:#faf8f3;--accent:#ff8c42;--muted:#666}
*{box-sizing:border-box}body{font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;margin:0;background:var(--bg);color:#111}
.container{max-width:900px;margin:0 auto;padding:24px}
.hero{background:white;padding:28px 0 12px;border-bottom:4px solid #eee;position:relative;overflow:hidden}
.hero h1{margin:0;font-size:28px}
.floaties{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}
.floaty{position:absolute;font-size:32px;animation:float 6s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}100%{transform:translateY(0px) rotate(-5deg)}}
.date{color:var(--muted);margin-top:8px}
.cta a{color:var(--accent);text-decoration:none}
section{background:white;margin:18px 0;padding:18px;border-radius:8px}
section h2{margin-top:0}
pre{background:#f1f3f5;padding:12px;border-radius:6px;overflow:auto}
footer{color:var(--muted);font-size:13px;text-align:center;padding:12px}
/* 1 + 4 gallery layout: one large image with a 2x2 grid beside it */
.gallery{display:flex;gap:12px;align-items:stretch}
.gallery-left{flex:1 1 60%;min-width:0}
.gallery-left img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}
.gallery-right{flex:1 1 40%;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px}
.gallery-right img{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}

@media (max-width:800px){
	.gallery{flex-direction:column}
	.gallery-left{height:320px}
	.gallery-right{grid-template-columns:repeat(2,1fr)}
}
.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:1000;align-items:center;justify-content:center}
.lightbox.active{display:flex}
.lightbox-content{position:relative;max-width:90vw;max-height:90vh}
.lightbox-content img{width:100%;height:100%;object-fit:contain}
.lightbox-close{position:absolute;top:-40px;right:0;color:#fff;font-size:40px;cursor:pointer;user-select:none}
.lightbox-close:hover{opacity:0.8}
@media (max-width:600px){.floaty{display:none}.hero h1{font-size:22px}.hero .date, .hero .address{margin-left:0;margin-right:0}.container{padding:12px}.lightbox-close{top:10px;right:10px;background:rgba(0,0,0,0.5);padding:5px 12px;border-radius:4px}}