:root{--bg:#2b2b2e;--bg-2:#353539;--text:#ececec;--muted:#b5b5b8;--accent:#e8b84a;--link:#f0c75e;--red:#c2413b;--blue:#3b7fc2;--green:#4f9a5a;--radius:6px;--side:240px}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(ellipse at 30% 20%, #3a3a3f 0%, var(--bg) 60%);color:var(--text);min-height:100vh;margin:0;font:15px/1.7 Open Sans,system-ui,sans-serif}.glow{pointer-events:none;z-index:0;opacity:.18;background:radial-gradient(circle at 25% 55%, var(--red) 0, transparent 30%), radial-gradient(circle at 45% 45%, var(--accent) 0, transparent 28%), radial-gradient(circle at 60% 65%, var(--blue) 0, transparent 30%), radial-gradient(circle at 40% 75%, var(--green) 0, transparent 22%);filter:blur(40px);position:fixed;inset:0}a{color:var(--link)}a:hover{color:#fff}img{max-width:100%;height:auto}.shell{z-index:1;grid-template-columns:var(--side) 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"top top""side main""foot foot";gap:28px clamp(24px,3vw,56px);min-height:100vh;padding:24px clamp(16px,3vw,48px);display:grid;position:relative}.top{grid-area:top;align-items:center;gap:24px;display:flex}.side{grid-area:side}.side>nav{position:sticky;top:24px}.content{grid-area:main;min-width:0}.footer{color:var(--muted);border-top:1px solid #fff2;grid-area:foot;padding-top:12px;font-size:13px}.footer a{color:var(--muted)}.small{font-size:12px}.logo{flex:none;text-decoration:none}.logo img{border-radius:var(--radius);width:auto;height:clamp(80px,7vw,100px);display:block;box-shadow:0 2px 10px #0008}.logo-text{border-radius:var(--radius);background:linear-gradient(135deg, var(--red), var(--accent) 45%, var(--blue));text-transform:uppercase;color:#fff;text-shadow:0 1px 3px #0008;letter-spacing:.04em;place-items:center;width:clamp(110px,10vw,150px);height:clamp(80px,7vw,110px);font:400 22px/1 Oswald,sans-serif;display:grid}.tiles{flex:1;justify-content:flex-end;gap:14px;display:flex}.tile{border-radius:var(--radius);text-align:center;color:#111;border:3px solid #d8d8d8;flex:0 200px;justify-content:center;align-items:flex-start;min-width:110px;height:clamp(80px,7vw,110px);font:600 12px/1.2 Open Sans,sans-serif;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0006}.tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile span{background:#fffc;width:100%;padding:6px 4px;position:relative}.tile img+span{clip:rect(0 0 0 0);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.tile:has(img){background:#fff}.tile-0{background:linear-gradient(135deg,#f5d36b,#d96a3b,#4f9a5a)}.tile-1{background:linear-gradient(135deg,#f7e36a,#e44b8d,#3bb3c2)}.tile-2{background:linear-gradient(135deg,#cfe7f5,#3b7fc2,#f0c75e)}.tile-3{background:linear-gradient(135deg,#fff,#7fb3e8,#3b5fc2)}.tile:hover{border-color:var(--accent);color:#111}.side ul{margin:0;padding:0;list-style:none}.side>nav>ul>li>a{text-transform:uppercase;color:#d9d9d9;padding:3px 0;font:400 19px/1.25 Oswald,sans-serif;text-decoration:none;display:block}.side a:hover,.side li.active>a{color:#fff}.side li.active>a{color:var(--accent)}.side li ul{border-left:2px solid #fff2;padding:2px 0 6px 12px;display:none}.side li.active ul,.side li:hover>ul,.side li:focus-within>ul{display:block}.side li ul a{color:var(--muted);padding:2px 0;font-size:14px;text-decoration:none;display:block}.social{gap:10px;margin-top:18px;display:flex}.social a{background:#d9d9d9;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.social a:hover{background:var(--accent)}.social svg{width:16px;height:16px;fill:var(--bg)}.menu-toggle{display:none}h1{color:#e6e6e6;margin:0 0 16px;font:italic 300 36px/1.2 Open Sans,sans-serif}h2{color:var(--accent);margin:28px 0 10px;font:400 22px/1.3 Oswald,sans-serif}.prose{max-width:90ch}.prose table{border-collapse:collapse;width:100%;margin:12px 0}.prose th,.prose td{text-align:left;border-bottom:1px solid #fff2;padding:6px 10px}.prose th{color:var(--accent);font-weight:600}.hero{border-radius:var(--radius);margin-bottom:16px}.meta{color:var(--muted);font-size:13px}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:28px;display:grid}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%;transition:transform .2s;box-shadow:0 2px 10px #0007}.gallery a:hover img{transform:scale(1.03)}.gallery figcaption{color:var(--muted);margin-top:4px;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:20px;display:grid}.card{background:var(--bg-2);border-radius:var(--radius);color:var(--text);border:1px solid #ffffff14;flex-direction:column;min-height:64px;text-decoration:none;display:flex;overflow:hidden}.card img{aspect-ratio:4/3;object-fit:cover}.card span{text-transform:uppercase;padding:12px;font:400 16px/1.3 Oswald,sans-serif}.card:hover{border-color:var(--accent)}.events,.posts{max-width:110ch;margin:0;padding:0;list-style:none}.events li,.posts li{border-bottom:1px solid #ffffff1a;flex-wrap:wrap;gap:16px;padding:10px 0;display:flex}.events .when{color:var(--accent);text-transform:capitalize;flex:0 0 210px}.events .what{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.events .details{color:var(--muted);flex-basis:100%;font-size:14px}.events .note{flex-basis:100%;font-size:14px}.events .note p{margin:0}.events li.past{opacity:.55}.events li.cancelled strong{text-decoration:line-through}.badge{text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:#222;border-radius:99px;padding:1px 8px;font-size:11px}.badge.muted{color:var(--text);background:#ffffff26}.hint{color:var(--muted);font-size:14px}h3{margin:22px 0 6px;font:400 18px/1.3 Oswald,sans-serif}h3 small{color:var(--muted);margin-left:8px;font:400 13px Open Sans,sans-serif}.prose blockquote{border-left:3px solid var(--accent);background:#ffffff0d;margin:16px 0;padding:10px 16px}.agenda-links{flex-wrap:wrap;gap:10px;margin:24px 0 6px;display:flex}.button{background:var(--accent);color:#222;border-radius:99px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.button:hover{color:#222;background:#fff}.button.ghost{color:var(--text);background:0 0;border:1px solid #fff4}.button.ghost:hover{border-color:var(--accent);color:var(--accent)}.updates{gap:4px;max-width:110ch;margin:0;padding:0;list-style:none;display:grid}.updates>li{border-bottom:1px solid #ffffff1a;grid-template-columns:170px 1fr;gap:16px;padding:12px 0;display:grid}.updates time{color:var(--accent);font-weight:600}.updates .prose>:first-child{margin-top:0}.updates .prose>:last-child{margin-bottom:0}.updates .prose ul{margin:4px 0;padding-left:20px}@media (width<=800px){.updates>li{grid-template-columns:1fr;gap:4px}}.posts time{color:var(--muted);margin-left:auto}.contact-card{background:var(--bg-2);border-radius:var(--radius);margin-top:12px;padding:16px 20px;font-style:normal;display:inline-block}@media (width<=800px){.shell{grid-template:"top""side""main""foot"/1fr}.side>nav{position:static}.tiles{display:none}.menu-toggle{color:var(--text);border-radius:var(--radius);text-transform:uppercase;background:0 0;border:1px solid #fff5;margin-left:auto;padding:8px 14px;font:400 16px Oswald,sans-serif;display:block}.logo img,.logo-text{height:60px}.logo-text{width:90px;font-size:18px}.side{display:none}body.nav-open .side,.side li ul{display:block}h1{font-size:28px}.events .when{flex-basis:100%}}.booking .events li{align-items:center}.booking .events .what{flex:1}.button.small{cursor:pointer;border:0;padding:5px 14px;font-family:inherit;font-size:13px}.booking-dialog{background:var(--bg-2);width:min(480px,100vw - 32px);color:var(--text);border:1px solid #ffffff26;border-radius:12px;padding:8px 24px 24px;box-shadow:0 20px 60px #000a}.booking-dialog::backdrop{backdrop-filter:blur(3px);background:#000b}.booking-dialog h3{color:var(--accent);margin-top:0}.booking-dialog label{color:var(--muted);gap:4px;margin-bottom:12px;font-size:14px;display:grid}.booking-dialog input,.booking-dialog select,.booking-dialog textarea{font:inherit;color:var(--text);background:var(--bg);border-radius:var(--radius);border:1px solid #ffffff2e;padding:9px 11px}.booking-dialog input:focus,.booking-dialog select:focus,.booking-dialog textarea:focus{outline:2px solid var(--accent);border-color:#0000}.booking-dialog .close-row{justify-content:flex-end;display:flex}.booking-dialog .close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1}.booking-dialog .button{cursor:pointer;border:0;font-family:inherit}.booking-dialog .button:disabled{opacity:.6;cursor:wait}.form-actions{justify-content:flex-end;display:flex}.form-error{color:#ff9b8f;font-size:14px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form{background:var(--bg-2);border:1px solid #ffffff1a;border-radius:12px;max-width:720px;margin-top:28px;padding:20px 24px 24px}.contact-form h2{margin-top:0}.contact-form .row{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.contact-form label{color:var(--muted);gap:4px;margin-bottom:12px;font-size:14px;display:grid}.contact-form input,.contact-form textarea{font:inherit;color:var(--text);background:var(--bg);border-radius:var(--radius);border:1px solid #ffffff2e;padding:9px 11px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);border-color:#0000}.contact-form .button{cursor:pointer;border:0;font-family:inherit}.contact-form .button:disabled{opacity:.6;cursor:wait}.form-ok{color:#9be3a8}@media (width<=600px){.contact-form .row{grid-template-columns:1fr}}.form-note{color:var(--muted);border-left:3px solid var(--accent);background:#ffffff0d;border-radius:4px;margin:4px 0 12px;padding:8px 12px;font-size:13px}
