:root{--ink:#0b0b0d;--paper:#f4f1ec;--red:#e1262f;--muted:#a5a3a1;--line:#2c2c30;--display:"Barlow Condensed",Impact,sans-serif;--body:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.65 var(--body)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:88px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;border-bottom:1px solid #ffffff26}.brand img{width:145px;height:58px;object-fit:contain;filter:brightness(0) invert(1)}nav{display:flex;gap:34px}nav a{font:700 .9rem var(--body);letter-spacing:.09em;text-transform:uppercase}nav a:hover{color:var(--red)}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:white;margin:5px}.hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden}.hero-image,.hero-wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:55% 25%;filter:saturate(.72) contrast(1.1)}.hero-wash{background:linear-gradient(90deg,#08080be8 0%,#08080bbf 35%,#08080b25 72%),linear-gradient(0deg,#09090bf2 0%,transparent 45%)}.hero-content{position:relative;z-index:2;padding:150px clamp(22px,7vw,105px) clamp(74px,9vw,125px);max-width:900px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.78rem}.eyebrow{color:#fff;margin:0 0 18px}.eyebrow:before{content:"";display:inline-block;width:34px;height:3px;background:var(--red);vertical-align:middle;margin-right:12px}.hero-logo{display:none}.hero h1,.section h2,.contact h2{font-family:var(--display);text-transform:uppercase;line-height:.83;letter-spacing:-.035em;margin:0;font-size:clamp(4.5rem,10.2vw,9rem)}.hero h1 em{font-style:italic;color:var(--red)}.hero-copy{font-size:clamp(1rem,1.7vw,1.25rem);max-width:540px;color:#d6d4d1;margin:30px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border:1px solid #ffffff50;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--red);border-color:var(--red);color:white}.button.primary:hover{background:#ff303a}.button.ghost:hover{background:white;color:#111}.scroll-cue{position:absolute;z-index:3;right:5vw;bottom:46px;border:1px solid #ffffff55;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.section{padding:clamp(80px,10vw,150px) clamp(22px,7vw,105px)}.section-kicker{color:#57575b;border-bottom:1px solid #d4d0c8;padding-bottom:18px;margin-bottom:60px}.section-kicker span{color:var(--red);margin-right:14px}.about{background:var(--paper);color:var(--ink)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw}.about h2,.gallery h2{font-size:clamp(4rem,8.2vw,7.5rem)}.about h2 span,.gallery h2 span{color:var(--red);font-style:italic}.about-copy{font-size:clamp(1rem,1.55vw,1.2rem);max-width:620px}.about-copy p:first-child{font-weight:600;font-size:1.1em}.lineup{margin-top:90px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbc7bf}.lineup article{padding:25px 22px 12px 0;border-right:1px solid #cbc7bf}.lineup article+article{padding-left:22px}.lineup article:last-child{border-right:0}.lineup small{color:#777;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.lineup h3{font:800 clamp(1.4rem,2vw,2rem)/1.05 var(--display);text-transform:uppercase;margin:10px 0}.lineup h3 span{display:block;color:var(--red)}.shows{background:#111114}.section-kicker.light{color:#9b9999;border-color:#36363a}.show-intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.shows h2{font-size:clamp(4.5rem,9vw,8rem)}.show-intro p{color:#afada9}.show-card{border-top:1px solid #3a3a3e;border-bottom:1px solid #3a3a3e;padding:38px 0;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:30px}.date{display:flex;align-items:center;gap:13px}.date strong{font:900 5.6rem/.8 var(--display);color:var(--red)}.date span{font:800 1.15rem/1 var(--display);letter-spacing:.1em}.show-info p{margin:0;color:#aaa;text-transform:uppercase;font-size:.78rem;letter-spacing:.15em;font-weight:700}.show-info h3{font:800 clamp(2rem,4vw,3.5rem)/1 var(--display);text-transform:uppercase;margin:7px 0}.show-info address{font-style:normal;color:#b8b6b3;line-height:1.4}.gallery{background:var(--paper);color:var(--ink)}.gallery-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.gallery-head p{color:#5d5c5a}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:12px}.photo{padding:0;border:0;overflow:hidden;background:#222;cursor:zoom-in}.photo.wide{grid-column:span 2}.photo.tall{grid-row:span 2}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:saturate(.85)}.photo:hover img{transform:scale(1.035);filter:saturate(1.1)}.contact{position:relative;min-height:720px;display:grid;grid-template-columns:1fr 1fr;padding:0}.contact-art{min-height:650px}.contact-art img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.15)}.contact-copy{padding:clamp(70px,9vw,135px) clamp(28px,7vw,110px);background:linear-gradient(135deg,#161619,#08080a)}.contact-copy h2{font-size:clamp(4.5rem,8vw,8rem);color:white}.contact-copy p{color:#bbb8b4;font-size:1.1rem;max-width:490px;margin:30px 0}.contact .section-kicker{margin-bottom:55px}footer{min-height:150px;padding:36px clamp(22px,5vw,76px);display:grid;grid-template-columns:auto 1fr auto auto;gap:28px;align-items:center;border-top:1px solid #252529;color:#8e8c89}footer img{width:120px;filter:brightness(0) invert(1)}footer p{margin:0}footer a{color:white;font-weight:700}footer a:hover{color:var(--red)}footer small{font-size:.75rem}.lightbox{width:min(92vw,1050px);padding:0;background:#08080a;border:1px solid #444;overflow:visible}.lightbox::backdrop{background:#000d;backdrop-filter:blur(6px)}.lightbox img{max-height:86vh;width:100%;object-fit:contain}.lightbox-close{position:absolute;right:-12px;top:-12px;width:42px;height:42px;border-radius:50%;border:0;background:var(--red);color:white;font-size:1.7rem;cursor:pointer}
@media(max-width:850px){.site-header{height:72px}.brand img{width:115px}.nav-toggle{display:block;z-index:2}nav{display:none;position:absolute;top:0;right:0;background:#0c0c0ff7;width:min(78vw,340px);height:100vh;padding:110px 35px;flex-direction:column;gap:25px;font-size:1.2rem}nav.open{display:flex}.hero h1{font-size:clamp(4.1rem,17vw,7rem)}.hero-wash{background:linear-gradient(0deg,#08080bf7 0%,#08080b8f 66%,#08080b55)}.hero-content{padding-top:120px}.about-grid{grid-template-columns:1fr}.lineup{grid-template-columns:1fr 1fr}.lineup article:nth-child(2){border-right:0}.lineup article:nth-child(3),.lineup article:nth-child(4){border-top:1px solid #cbc7bf}.show-card{grid-template-columns:130px 1fr}.show-card .button{grid-column:1/-1}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.contact{grid-template-columns:1fr}.contact-art{min-height:420px}.contact-copy{order:-1}footer{grid-template-columns:1fr 1fr}footer p{display:none}}
@media(max-width:540px){.hero-logo{display:block;width:170px;filter:brightness(0) invert(1);margin-bottom:24px}.hero h1{font-size:3.8rem}.section{padding:75px 22px}.section-kicker{margin-bottom:42px}.about h2,.gallery h2{font-size:3.7rem}.lineup{grid-template-columns:1fr;margin-top:58px}.lineup article,.lineup article+article{padding:18px 0;border-right:0;border-top:1px solid #cbc7bf}.show-intro,.gallery-head{display:block}.show-card{grid-template-columns:1fr}.show-card .button{grid-column:auto}.date strong{font-size:4.5rem}.photo-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:290px}.photo.wide{grid-column:auto}.photo.tall{grid-row:auto}.contact-copy{padding:70px 22px}.contact-copy h2{font-size:4rem}footer{grid-template-columns:1fr auto}footer small{grid-column:1/-1}.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.brand img{width:190px;height:auto}.hero-logo{display:block;width:clamp(300px,38vw,560px);height:auto;filter:brightness(0) invert(1);margin:0 0 34px}.hero h1{font-size:clamp(3.8rem,7.7vw,7rem)}
@media(max-width:850px){.brand img{width:145px}.hero-logo{width:clamp(260px,58vw,430px);margin-bottom:28px}}
@media(max-width:540px){.hero-logo{width:min(86vw,340px);margin-bottom:24px}.hero h1{font-size:3.55rem}}
.brand img,.hero-logo,footer img{filter:none}.hero-image{object-position:38% 32%}
.schedule-poster{width:min(100%,900px);margin:90px auto 0}.schedule-poster h3{font:800 clamp(2.4rem,5vw,4.5rem)/1 var(--display);text-transform:uppercase;margin:0 0 24px}.schedule-poster img{width:100%;height:auto;border:1px solid #3c3c42;box-shadow:0 28px 70px #0009}
.photo.dave{grid-column:span 2;grid-row:span 2}
.contact-form{display:grid;gap:18px;margin-top:34px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px;color:#d6d3ce;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid #48484d;background:#0d0d10;color:white;padding:13px 14px;font:1rem/1.4 var(--body);border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--red);outline-offset:2px}.contact-form .button{justify-self:start;cursor:pointer}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}.form-success{display:none;margin:24px 0 0;padding:14px 16px;border-left:4px solid var(--red);background:#222228;color:white}.form-success.visible{display:block}.contact-alt{font-size:.9rem!important;margin:20px 0 0!important}.contact-alt a{color:white;text-decoration:underline;text-underline-offset:3px}
@media(max-width:540px){.form-row{grid-template-columns:1fr}}
@media(max-width:540px){.photo.dave{grid-column:auto;grid-row:auto}}
.show-card + .show-card{border-top:0}.show-note{margin-top:12px;color:#eee;font-size:.95rem;font-weight:700}.show-intro p{max-width:370px;text-align:right}@media(max-width:540px){.show-intro p{text-align:left}}
