:root{--gold:hsl(46.23,99.19%,51.76%);--black:#000;--panel:#111;--line:#2a2a2a;--muted:#bdbdbd}
*{box-sizing:border-box}html,body{margin:0;background:#000;color:#fff;font-family:Poppins,sans-serif;font-weight:300}
a{color:var(--gold)}
header{position:sticky;top:0;z-index:5;background:#000;display:flex;align-items:center;justify-content:space-between;padding:22px 4vw}
header img{height:64px;display:block;margin:-10px 0}
nav{display:flex;align-items:center;gap:22px}
nav a{color:var(--gold);text-decoration:none;font-size:.95rem;font-weight:400}nav a:hover{text-decoration:underline;text-underline-offset:6px}
.soc{display:flex;gap:8px}.soc a{width:30px;height:30px;border-radius:50%;background:var(--gold);color:#000;display:grid;place-items:center;font-size:.75rem;font-weight:700;text-decoration:none}
.btn{font-family:Cabin,sans-serif;text-transform:uppercase;letter-spacing:.02em;background:var(--gold);color:#000;border:0;border-radius:4px;padding:14px 18px;font-size:.9rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn.member{text-transform:none;font-family:Poppins;font-weight:500;font-size:.85rem}
#menuBtn{display:none;background:none;border:0;color:var(--gold);font-size:1.8rem}
.hero{background:linear-gradient(#000c,#000a 40%,#000),url(/assets/hero.webp) center/cover;text-align:center;padding:70px 6vw 50px}
.hero h1{font-weight:500;font-size:clamp(2rem,5vw,3.2rem);margin:0 0 14px;line-height:1.15}
.hero p{max-width:600px;margin:8px auto;line-height:1.8}.hero b{color:var(--gold);font-weight:600}
.locs{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.loc{border:1px solid var(--gold);border-radius:4px;padding:14px 20px;min-width:220px}.loc h3{margin:0;color:var(--gold);font-weight:600;letter-spacing:.08em}.loc p{margin:4px 0 0;font-size:.9rem}
.tag{font-style:italic;color:var(--gold);margin-top:22px}
main{max-width:1100px;margin:auto;padding:30px 4vw 60px}
h2{font-weight:500;font-size:1.7rem;margin:0 0 6px}.sub{color:var(--muted);margin:0 0 18px}
.wknav{display:flex;justify-content:space-between;align-items:center;margin:10px 0 14px;gap:8px}
.ghost{background:none;color:var(--gold);border:2px solid var(--gold);border-radius:4px;padding:8px 14px;font-family:Cabin;text-transform:uppercase;font-size:.8rem;cursor:pointer}.ghost:disabled{opacity:.3}
.week{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.day{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px}
.day h3{margin:0;font-size:.95rem;font-weight:500}.day .l{color:var(--gold);font-size:.78rem;margin:2px 0 8px;letter-spacing:.04em}
.slot{display:block;width:100%;margin:5px 0;padding:9px 4px;background:#000;color:#fff;border:1px solid #444;border-radius:4px;font-family:Poppins;cursor:pointer}
.slot:hover{border-color:var(--gold)}.slot.sel{background:var(--gold);color:#000;border-color:var(--gold);font-weight:600}
.none{font-size:.85rem;color:#777}
form{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px;margin-top:22px;display:grid;gap:12px;grid-template-columns:1fr 1fr}
form .full{grid-column:1/-1}label{font-size:.8rem;color:var(--muted);display:block;margin-bottom:4px}
input,select,textarea{font:inherit;font-weight:400;padding:11px;border:1px solid #444;border-radius:4px;width:100%;background:#000;color:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.chosen{background:#000;border-left:3px solid var(--gold);padding:10px 12px}.chosen b{color:var(--gold);font-weight:500}
.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem}.toggle input{width:auto}
#msg{font-weight:500;text-align:center;color:var(--gold)}
footer{border-top:3px solid var(--gold);border-radius:50% 50% 0 0/24px 24px 0 0;padding:34px 4vw;text-align:center;color:var(--muted);font-size:.85rem}
footer .soc{justify-content:center;margin-bottom:12px}
@media(max-width:820px){
 nav{display:none;position:absolute;top:100%;left:0;right:0;background:#000;flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid var(--line)}
 nav.open{display:flex}#menuBtn{display:block}header img{height:44px}header{position:relative}
 .week{grid-template-columns:1fr 1fr}form{grid-template-columns:1fr}.hero{padding:44px 6vw 34px}}
/* additions for the Cloudflare port */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#msg.err{color:#ff8a80}#msg.ok{color:var(--gold)}
input[aria-invalid=true],select[aria-invalid=true]{border-color:#ff8a80}
.btn:disabled{opacity:.6;cursor:wait}
.small{font-size:.75rem;color:#777;margin:0}
