:root{--bg:#fbf6ee;--bg-alt:#f3ebdd;--surface:#fff;--ink:#1f1a2e;--muted:#5f5870;--line:#e4d9c6;--accent:#5e17eb;--accent-hover:#4a0fc4;--accent-text:#5e17eb;--pink:#e65c7e;--on-pink:#1f1a2e;--focus:#5e17eb;--radius:14px;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17141f;--bg-alt:#1f1b2a;--surface:#262133;--ink:#f4eee4;--muted:#b3abc0;--line:#3a3349;--accent:#6a2bf2;--accent-hover:#5e17eb;--accent-text:#b796ff;--pink:#e65c7e;--on-pink:#1f1a2e;--focus:#b796ff;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.6}a{color:var(--accent-text)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0 0 .5em;line-height:1.1}h2{font-size:clamp(2rem,5vw,2.75rem);font-weight:800}h3{font-size:1.35rem;font-weight:800}.wrap{max-width:1040px;margin:0 auto;padding:0 1rem}.wrap-narrow{max-width:680px}.lede{color:var(--muted);max-width:60ch;font-size:1.15rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;padding-bottom:.5rem;display:flex}.brand{flex-shrink:0;display:block}.brand img{width:auto;height:84px;transition:transform .2s;display:block}.brand:hover img{transform:rotate(-6deg)scale(1.05)}.nav ul{align-items:center;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.nav ul a{color:var(--ink);font-size:.95rem;font-weight:600;text-decoration:none}.nav ul a:hover{color:var(--accent-text)}.nav .nav-cta{color:#fff;background:var(--accent);border-radius:999px;padding:.4rem .9rem}.nav .nav-cta:hover{color:#fff;background:var(--accent-hover)}@media (width<=480px){.nav ul li:not(:last-child){display:none}.brand img{height:68px}}.button{font:inherit;color:#fff;background:var(--accent);border:2px solid var(--accent);cursor:pointer;border-radius:999px;padding:.7rem 1.5rem;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-block}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.button-ghost{color:var(--ink);border-color:var(--ink);background:0 0}.button-ghost:hover{color:var(--bg);background:var(--ink);border-color:var(--ink)}.button-small{padding:.45rem 1.1rem;font-size:.95rem}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);padding-top:clamp(3rem,9vw,6rem);padding-bottom:clamp(4rem,10vw,7rem);display:grid}.hero h1{letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2.5rem,6vw,4.25rem);font-weight:800}.hero-logo{width:100%;height:auto}@media (width<=760px){.hero{grid-template-columns:minmax(0,1fr)}.hero-logo{order:-1;max-width:420px}}.tagline{color:var(--muted);max-width:34ch;margin:0 0 2rem;font-size:clamp(1.15rem,2.5vw,1.4rem)}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.footnote{color:var(--muted);margin:1.25rem 0 0;font-size:.85rem}.section{padding:clamp(3.5rem,8vw,5.5rem) 0}.section-alt{background:var(--bg-alt)}.shows{gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.show{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.25rem;display:grid}.show[hidden]{display:none}.show-date{background:var(--pink);width:4.5rem;height:4.5rem;color:var(--on-pink);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex}.show-date .month{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600}.show-date .day{font-family:var(--font-display);font-size:1.9rem;font-weight:800}.show h3{margin-bottom:.2rem}.show-meta{color:var(--accent-text);margin:0;font-size:.95rem;font-weight:600}.show-desc p{color:var(--muted);margin:.35rem 0 0}@media (width<=640px){.show{grid-template-columns:auto 1fr;align-items:start}.show .button{grid-column:2;justify-self:start}}.empty{color:var(--muted);margin-top:1.5rem}.members{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.member img,.member .avatar{object-fit:cover;border-radius:50%;width:112px;height:112px;margin-bottom:1rem}.member .avatar{font-family:var(--font-display);color:var(--ink);background:var(--bg);border:3px solid var(--ink);place-items:center;font-size:2rem;font-weight:800;display:grid}.member:nth-child(3n+1) .avatar{background:var(--pink);color:var(--on-pink)}.member:nth-child(3n+2) .avatar{background:var(--accent);color:#fff}.member p{color:var(--muted);margin:0;font-size:.98rem}.booking{gap:1.1rem;margin-top:2rem;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}@media (width<=560px){.field-row{grid-template-columns:1fr}}.booking label{gap:.35rem;font-size:.95rem;font-weight:600;display:grid}.optional{color:var(--muted);font-weight:400}.booking input,.booking select,.booking textarea{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:10px;width:100%;padding:.7rem .85rem;font-weight:400}.booking input:focus,.booking select:focus,.booking textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.booking textarea{resize:vertical}.booking .button{justify-self:start}.thanks-logo{width:min(280px,70vw);height:auto;margin-bottom:1.5rem}.thanks{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding-top:3rem;padding-bottom:3rem;display:flex}.thanks h1{font-size:clamp(2.5rem,8vw,4rem);font-weight:800}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:2rem 0;font-size:.9rem}.site-footer p{margin:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.brand img{transition:none}}
