@font-face{font-family:"Jost";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
:root{--bg:#4a1228;--bg-deep:#2a0a17;--bg-lift:#651b38;--ink:#f6ebe9;--muted:#cdb0b6;--gold:#e8bd7e;--line:#7d3250}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;color:var(--ink);font:18px/1.75 Georgia,"Times New Roman",serif;background:linear-gradient(90deg,rgba(18,4,10,.78) 0,rgba(18,4,10,.35) 14%,rgba(18,4,10,0) 32%,rgba(18,4,10,0) 68%,rgba(18,4,10,.35) 86%,rgba(18,4,10,.78) 100%),radial-gradient(ellipse at top,var(--bg-lift) 0,var(--bg) 55%,var(--bg-deep) 100%) no-repeat fixed var(--bg);min-height:100vh}
header{text-align:center;padding:2.2rem 1rem 1rem}
.logo{display:block}
.logo img{display:block;width:min(720px,92vw);height:auto;margin:0 auto}
nav{margin-top:1.2rem;display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap}
nav a{color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;padding:.4rem 0;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{color:var(--gold);border-color:var(--gold)}
main{max-width:46rem;margin:0 auto;padding:2rem 1.25rem 4rem}
.tag{text-align:center;color:var(--muted);font-style:italic;margin:0 0 2.5rem}
h1,h2{font-weight:400;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;text-align:center}
h2{font-size:1.1rem}
p{margin:0 0 1.4rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:3rem 0}
.gallery img{width:100%;height:auto;display:block;border:1px solid var(--line);aspect-ratio:4/5;object-fit:cover}
.soon{text-align:center;padding:6rem 0}
.soon p{color:var(--muted);font-style:italic}
footer{text-align:center;color:var(--muted);font-size:.8rem;letter-spacing:.15em;padding:2rem 1rem 3rem}
.gallery img.flip{transform:scaleX(-1)}
@media(min-width:700px){.gallery .col3{grid-column:3}}
.mail{font-size:1.2rem;font-style:normal}.mail a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold)}.mail a:hover{color:var(--ink);border-color:var(--ink)}
.month{margin:2.5rem 0 1rem}
.shows{list-style:none;margin:0;padding:0}
.shows li{display:flex;gap:1.2rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}
.shows .date{flex:0 0 4rem;text-align:center;line-height:1.1}
.shows .dow{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.shows .day{display:block;font-size:1.9rem;color:var(--gold)}
.shows .info strong{display:block;font-weight:400;font-size:1.1rem}
.shows .info span{color:var(--muted);font-size:.9rem}
.tag.soft{font-size:.78rem;opacity:.62;letter-spacing:.04em}
.month{font-size:1.55rem;letter-spacing:.2em}
.shows .date{flex-basis:5rem}
.shows .dow{font-size:.85rem}
.shows .day{font-size:2.6rem}
.tag.soft{max-width:34rem;margin-left:auto;margin-right:auto;line-height:1.6}

/* Typography: Jost (body/menu) + Cormorant Garamond (headings), self-hosted */
:root{--sans:"Jost","Avenir Next","Helvetica Neue",Arial,sans-serif;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif}
body{font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.85;letter-spacing:.01em}
nav a{font-family:var(--sans);font-weight:400;font-size:.78rem;letter-spacing:.24em}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:.2em}
h1{font-size:2.1rem}
h2{font-size:1.3rem}
.month{font-size:1.8rem}
.tag{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.4rem}
.tag.soft{font-family:var(--sans);font-style:normal;font-weight:300;font-size:.82rem;letter-spacing:.03em}
.soon p{font-family:var(--serif);font-size:1.35rem}
.shows .day{font-family:var(--serif);font-weight:500;font-size:3rem}
.shows .dow{font-family:var(--sans);font-weight:400}
.shows .info strong{font-weight:500;font-size:1.05rem;letter-spacing:.02em}
.shows .info span{font-weight:300}
.mail{font-family:var(--sans)}
footer{font-family:var(--sans);font-weight:300}

/* Click-to-enlarge photos (CSS only, no scripts) */
.thumb{display:block;overflow:hidden}
.thumb img{transition:transform .35s ease,filter .35s ease}
.thumb:hover img,.thumb:focus-visible img{transform:scale(1.05);filter:brightness(1.08)}
.thumb:hover img.flip,.thumb:focus-visible img.flip{transform:scaleX(-1) scale(1.05)}
.thumb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.lightbox{display:none;position:fixed;inset:0;z-index:50;align-items:center;justify-content:center;padding:1.5rem;background:rgba(16,3,9,.92)}
.lightbox:target{display:flex}
.lb-bg{position:absolute;inset:0;cursor:zoom-out}
.lightbox>img{position:relative;max-width:min(92vw,980px);max-height:88vh;width:auto;height:auto;object-fit:contain;border:1px solid var(--line);box-shadow:0 24px 90px rgba(0,0,0,.65);animation:pop .3s ease}
.lightbox>img.flip{transform:scaleX(-1)}
.lb-close,.lb-nav{position:absolute;z-index:2;color:var(--gold);text-decoration:none;line-height:1;font-family:var(--serif);opacity:.85}
.lb-close:hover,.lb-nav:hover{opacity:1;color:var(--ink)}
.lb-close{top:.8rem;right:1.3rem;font-size:3rem}
.lb-nav{top:50%;transform:translateY(-50%);font-size:4rem;padding:.5rem 1rem}
.lb-prev{left:.4rem}.lb-next{right:.4rem}
@keyframes pop{from{opacity:0;scale:.92}to{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.lightbox>img{animation:none}.thumb img{transition:none}}
