:root{--bg:#fff;--text:#1f1a24;--accent:#7a1f2b;--muted:#6b6168;--border:#e6dfe2;--input-border:#cfc6cb;--quote-bg:#f8f3f4;color:var(--text);background:var(--bg);font-family:Georgia,Times New Roman,serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}.footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);padding:1.5rem 1rem 2rem;font-size:.95rem}.footer a{color:var(--accent);font-weight:600}.footer p{margin:.4rem 0 0}.contact{max-width:36rem;margin:0 auto}.contact>p{margin:0 0 1.5rem;font-size:1.1rem}.contact-details{gap:.5rem;margin:0 0 2rem;padding:0;font-size:1.15rem;list-style:none;display:grid}.contact-details span{min-width:5.5rem;color:var(--muted);display:inline-block}.contact-details a,.form-message a{color:var(--accent);font-weight:600}.contact-form{gap:1rem;display:grid}.contact-form label{gap:.3rem;font-weight:600;display:grid}.contact-form .optional{color:var(--muted);font-weight:400}.contact-form input,.contact-form textarea{font:inherit;border:1px solid var(--input-border);color:var(--text);background:#fff;border-radius:6px;padding:.6rem .75rem;font-weight:400}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.contact-form button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;justify-self:start;padding:.7rem 1.8rem;font-weight:600}.contact-form button:hover,.contact-form button:focus-visible{filter:brightness(1.15)}.contact-form button:disabled{opacity:.6;cursor:wait}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-message{border-radius:6px;margin:0;padding:.75rem 1rem}.form-message.success{color:#1e5a2a;background:#eef6ee}.form-message.error{color:#7a1f2b;background:#fbeeee}.reviews{max-width:52rem;margin:0 auto}.reviews h3{color:var(--accent);margin:1.5rem 0 1rem;font-size:1.35rem}.quotes{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;display:grid}.quotes blockquote{border-left:3px solid var(--accent);background:var(--quote-bg);border-radius:0 6px 6px 0;margin:0;padding:1rem 1.25rem;font-size:1.1rem;font-style:italic}.quotes blockquote:before,.quotes blockquote:after{content:"”"}.venues{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.4rem 1.5rem;margin:0;padding:0;font-size:1.1rem;list-style:none;display:grid}.venues li:before{content:"✦" / "";color:var(--accent);margin-right:.5rem}.shows{max-width:44rem;margin:0 auto}.shows p{margin:0 0 1rem;font-size:1.1rem}.show{margin-bottom:1.5rem}.show h3{color:var(--accent);margin:0 0 .4rem;font-size:1.35rem}.shows .note{border-top:2px solid var(--accent);margin-top:2rem;padding-top:1rem;font-style:italic}.hero{place-items:center;gap:2rem;max-width:68rem;margin:0 auto;display:grid}.hero img{max-width:min(100%,28rem);height:auto}.intro{max-width:34rem}.intro p{margin:0 0 1rem;font-size:1.1rem}.intro .closing{border-top:2px solid var(--accent);color:var(--accent);margin-top:1.5rem;padding-top:1rem;font-size:1.3rem;font-style:italic;font-weight:600}@media (width>=52rem){.hero{grid-template-columns:1fr 1fr}.hero img{justify-self:end}.intro{justify-self:start}}.header{text-align:center;padding:2rem 1rem 0}.header h1{letter-spacing:.02em;color:var(--accent);margin:0;font-size:clamp(2.5rem,8vw,4.5rem)}.title{justify-content:center;align-items:center;gap:clamp(.5rem,3vw,2rem);display:flex}.title img{border-radius:8px;width:auto;height:clamp(2.5rem,11vw,7.5rem)}.menu{flex-wrap:wrap;justify-content:center;gap:clamp(0rem,1vw,.5rem);margin:.5rem 0 0;padding:0;list-style:none;display:flex}.menu a{color:var(--text);border-bottom:2px solid #0000;padding:.35rem clamp(.4rem,2vw,1rem);font-size:clamp(1rem,4.4vw,1.1rem);text-decoration:none;transition:color .2s,border-color .2s;display:block}.menu a:hover,.menu a:focus-visible{color:var(--accent)}.menu a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.pages{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;align-items:flex-start;transition:height .3s;display:flex;overflow:auto hidden}.pages::-webkit-scrollbar{display:none}.page{scroll-snap-align:start;flex:0 0 100%;max-width:100%;padding:2rem 1rem 3rem}@media (prefers-reduced-motion:reduce){.pages{scroll-behavior:auto;transition:none}}.page h2{color:var(--accent);margin:0 0 1rem;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.2}
