@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Inter:wght@400;600;700&display=swap";:root{color:#f7eedc;font-synthesis:none;background:#18110c;font-family:Inter,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 70% -10%,#6d3219 0,#0000 38%),#18110c;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.shell{min-height:100vh}.hero{background:linear-gradient(#0000,#18110c),linear-gradient(120deg,#2d160cbb,#7d3d1b55);border-bottom:1px solid #b9874a55;flex-direction:column;justify-content:end;min-height:42vh;padding:clamp(2rem,7vw,6rem);display:flex}.hero.compact{min-height:280px}.hero h1{max-width:900px;margin:.2rem 0;font-family:Cinzel,serif;font-size:clamp(2.5rem,8vw,6rem);line-height:1}.hero p{color:#d6c5a8;font-size:1.05rem}.eyebrow{color:#e4aa58;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.back{cursor:pointer;color:#ddc7a7;background:0 0;border:0;gap:.4rem;width:fit-content;padding:0 0 2rem;display:flex}main{max-width:1100px;margin:auto;padding:2rem clamp(1rem,5vw,4rem) 5rem}.notice{color:#cbb997;margin-bottom:1.5rem}.eventGrid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.eventCard{text-align:left;cursor:pointer;background:linear-gradient(145deg,#302018,#21160f);border:1px solid #9b6b3a66;border-radius:18px;padding:1.5rem;transition:all .2s}.eventCard:hover{border-color:#d99b51;transform:translateY(-3px)}.eventCard>span{color:#e6ab58;margin-top:1rem;font-weight:700;display:block}.eventCard h2,.programCard h2{font-family:Cinzel,serif}.eventCard p,.eventCard small{color:#bba98d}.backstageLink{color:#dda85f;margin-top:2rem;display:block}.viewTabs{border-bottom:1px solid #5f432e;gap:.4rem;margin-bottom:1rem;display:flex}.viewTabs button{cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.8rem 1rem}.viewTabs button.active{color:#edb467;border-color:#edb467}.search{background:#251a13;border:1px solid #6f5138;border-radius:12px;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.search input{color:#fff;background:0 0;border:0;outline:0;width:100%}.program{gap:.75rem;display:grid}.programCard{background:#241811e8;border:1px solid #5f432e;border-radius:14px;grid-template-columns:90px 1fr auto;align-items:center;gap:1.25rem;padding:1rem;display:grid}.time{border-right:1px solid #5f432e;flex-direction:column;display:flex}.time strong{font-size:1.3rem}.time span,.programBody p{color:#bca88a}.programBody h2{margin:.25rem 0;font-size:1.1rem}.programBody p{align-items:center;gap:.35rem;margin:.2rem 0;display:flex}.format{color:#dfa65d;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.states{gap:.5rem;display:flex}.states button{cursor:pointer;background:0 0;border:1px solid #715039;border-radius:9px;gap:.3rem;padding:.55rem .7rem;display:flex}.states button.active{background:#87461e;border-color:#e7a254}.states button.seen{background:#3d653a;border-color:#78a66b}.empty{text-align:center;color:#cbb99f;padding:4rem 1rem}.locationGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;display:grid}.locationGrid article{background:#241811e8;border:1px solid #5f432e;border-radius:12px;gap:1rem;padding:1rem;display:flex}.locationGrid article>svg{color:#dfa65d;flex:none}.locationGrid h2{margin:.2rem 0;font-family:Cinzel,serif;font-size:1.05rem}.locationGrid span{color:#dfa65d;text-transform:uppercase;font-size:.7rem}.locationGrid p{color:#bca88a;margin:.4rem 0 0;font-size:.9rem}.eventMap>header{justify-content:space-between;align-items:end;display:flex}.eventMap h2{margin:.2rem 0 1rem;font-family:Cinzel,serif}.eventMap small{color:#bca88a}.mapCanvas{background:#2b2119;border:1px solid #6a4931;border-radius:16px;min-height:360px;position:relative;overflow:hidden}.mapCanvas>img{width:100%;height:auto;display:block}.mapPlaceholder{color:#947f62;place-items:center;min-height:360px;display:grid}.mapMarker{cursor:default;white-space:nowrap;background:#32190ee8;border:1px solid #f0c17b;border-radius:8px;align-items:center;gap:.25rem;padding:.25rem .45rem;display:flex;position:absolute;transform:translate(-50%,-100%)}.mapMarker span{font-size:.7rem}@media (width<=680px){.hero{min-height:330px;padding:2rem 1.2rem}.programCard{grid-template-columns:70px 1fr}.states{grid-column:1/-1}.states button{flex:1;justify-content:center}}
