@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Poppins:wght@200;300;400;600&family=Montserrat:wght@800&display=swap');
*{box-sizing:border-box}body{margin:0;font-family:Poppins,sans-serif;font-weight:300;color:#111;background:#fff;line-height:1.7}
a{color:#111}header{background:#000;color:#fff;position:sticky;top:0;z-index:9}
.bar{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;flex-wrap:wrap;gap:10px}
.logo{font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:.25em;text-transform:uppercase;font-size:15px;color:#fff;text-decoration:none}
.logo small{display:block;font-family:Poppins;font-weight:200;letter-spacing:.3em;font-size:10px;color:#bbb}
nav a{color:#ddd;text-decoration:none;font-size:13px;letter-spacing:.08em;margin:0 9px;text-transform:uppercase}nav a:hover,nav a.on{color:#fff;border-bottom:1px solid #fff}
.hero{background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.85)),url(img/hero-lounge.webp) center/cover,#111;color:#fff;text-align:center;padding:110px 24px}
.hero h1{font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:.3em;text-transform:uppercase;font-size:clamp(28px,6vw,64px);margin:0}
.hero p{font-weight:200;letter-spacing:.2em;text-transform:uppercase;color:#ccc}
section{max-width:1100px;margin:auto;padding:60px 24px}h2{font-family:'Playfair Display',serif;font-size:34px;font-weight:400;margin-top:0}
h3{font-family:'Playfair Display',serif;font-weight:700}.dark{background:#111;color:#eee;max-width:none}.dark>div{max-width:1100px;margin:auto}.dark a{color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.card{border:1px solid #E2E2E2;padding:26px;background:#fff;color:#111}.card h3{margin:.2em 0}.role{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:#8F8F8F;font-weight:600}
.card img{max-width:100%;max-height:180px;display:block;margin:0 auto 14px}
.btn{display:inline-block;background:#fff;color:#000;padding:12px 28px;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:600;border:1px solid #fff}
.btn.blk{background:#000;color:#fff;border-color:#000}
footer{background:#000;color:#aaa;text-align:center;padding:40px 24px;font-size:13px}footer a{color:#fff}
.src{font-size:13px;color:#8F8F8F}
.logo{display:flex;align-items:center;gap:12px}.logo img{height:52px}.herologo{width:min(240px,55vw);display:block;margin:0 auto 20px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6))}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.split img,.wide{width:100%;border-radius:2px;display:block}
.band{height:260px;background:url(img/flag.webp) center/cover}@media(max-width:760px){.split{grid-template-columns:1fr}}
.lcard{text-decoration:none;display:block;text-align:center;transition:box-shadow .2s}.lcard:hover{box-shadow:0 8px 24px rgba(0,0,0,.15)}.lcard span{font-size:12px;color:#8F8F8F;word-break:break-all}
.lbox{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.lbox img{max-height:140px;max-width:100%;margin:0}.lbox.dk{background:#111}
.grid{align-items:stretch}.ecard{padding:0;display:flex;flex-direction:column;height:100%}.ecard img.wide{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;margin:0}.ecard .role,.ecard h3,.ecard p{padding:0 22px}.ecard .role{padding-top:18px}.ecard p:last-child{padding-bottom:18px}
.egrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ecard img.wide{max-height:none;height:auto;max-width:100%}
.contact-sec{max-width:640px}
.contact-form{display:flex;flex-direction:column;gap:8px;margin-top:24px}
.contact-form label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#444;margin-top:10px}
.contact-form .req{color:#b00020}
.contact-form input,.contact-form textarea{font:inherit;padding:12px 14px;border:1px solid #ccc;border-radius:2px;background:#fff;color:#111}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #111;outline-offset:1px}
.contact-form button{margin-top:18px;cursor:pointer;align-self:flex-start;border:1px solid #000}
.contact-form button:disabled{opacity:.55;cursor:wait}
.contact-status{min-height:1.4em;margin:12px 0 0;font-size:14px}
.contact-status.ok{color:#0a7a32}
.contact-status.err{color:#b00020}

.upcoming-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}
.ecard a.flyer-link{display:block;line-height:0;background:#111}
.ecard img.flyer{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:top center;margin:0;aspect-ratio:auto;cursor:zoom-in;background:#111}
.ecard a.flyer-link:hover img.flyer{opacity:.92}

.board-lead{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:24px;align-items:start;grid-column:1/-1}
.board-lead .board-photo{max-width:100%;max-height:320px;width:100%;height:auto;object-fit:cover;object-position:top center;margin:0;border-radius:2px}
.board-bio{font-size:15px;margin:12px 0 0;color:#333;line-height:1.7}
@media(max-width:600px){.board-lead{grid-template-columns:1fr}.board-lead .board-photo{max-height:280px;margin:0 auto}}

.mgrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.mcard{text-align:center;display:flex;flex-direction:column;align-items:center}
.mcard p{max-width:28ch}
.mcard img.qr{width:220px;height:220px;max-width:100%;max-height:none;object-fit:contain;margin:18px auto;image-rendering:pixelated;background:#fff;border:1px solid #eee;padding:10px}
.mcard .btn{margin-top:auto}
