:root{--bg: #f5f5f4;--text: #111827;--text-muted: #4b5563;--accent: #2563eb;--accent-hover: #1d4ed8;--card-bg: #ffffff;--border-subtle: #e5e7eb;--header-bg: #111827;--header-text: #f9fafb;--footer-height: 150px;--footer-bg: #050509;--footer-text: #f4f4f4;--footer-border: rgba(255, 255, 255, .1);--header-height: 120px;--archive-strip-offset: 64px;--archive-strip-extra: 160px;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}html,body{height:auto;overflow:auto}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg);color:var(--text);display:block;padding-top:var(--header-height)}.records-page,.community-page,.hero,.page{max-width:1280px;margin:0 auto;padding:0 2rem 2rem}.concert-page{position:relative;padding:2rem}@media(prefers-color-scheme:light){:root{color:var(--text);background-color:var(--bg)}}h1{font-size:3.2em;line-height:1.1}#main-content{min-height:100vh;box-sizing:border-box}body.has-concert-archive #main-content{padding-bottom:0}#app{width:100%;max-width:none;margin:0;padding:2rem 0;box-sizing:border-box;height:auto;overflow:visible;text-align:center}#app,.page{padding-top:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vanilla:hover{filter:drop-shadow(0 0 2em #f7df1eaa)}.card{padding:2em}.read-the-docs{color:#888}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.concert-poster-img{width:50%;max-width:500px;height:auto;display:block;margin:0 auto}.concert-section.concert-artists{margin-top:2rem}.artists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1rem}.artist-card{background:var(--card-bg);border-radius:12px;padding:1rem;box-shadow:0 4px 10px #0f172a0d;border:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100%}.artist-name{font-size:1.1rem;font-weight:600;margin:0;color:var(--text)}.artist-instagram{font-size:.9rem;color:var(--text-muted)}.artist-bio{font-size:.9rem;line-height:1.5;margin:.25rem 0 0;white-space:pre-wrap;color:var(--text-muted)}.artist-photo{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:10px;margin-bottom:.75rem}.artist-meta{display:flex;flex-direction:column;gap:.35rem}.artist-instagram a{color:inherit;text-decoration:none}.artist-instagram a:hover{text-decoration:underline}.site-header{position:fixed;top:0;left:0;right:0;background:var(--header-bg);color:var(--header-text);padding:1rem 2rem;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1)}.site-header-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.site-logo{display:flex;align-items:center;text-decoration:none}.site-logo-img{height:100px;width:auto;display:block}.site-nav{display:flex;gap:1rem}.site-nav a{color:var(--header-text);font-weight:500;text-decoration:none;font-size:1.5rem}.site-nav a:hover{color:var(--accent);text-decoration:underline}.nav-toggle{display:none;border:none;background:transparent;color:var(--header-text);font-size:1.8rem;cursor:pointer;padding:.25rem .5rem}.site-footer{position:static;width:100%;left:0;right:0;bottom:0;background:var(--footer-bg);color:var(--footer-text);border-top:1px solid var(--footer-border);padding:.6rem 1.5rem .4rem;box-sizing:border-box;z-index:100;font-size:.85rem;transform:translateY(110%);transition:transform .18s ease}.site-footer.is-visible{transform:translateY(0)}.site-footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.footer-column{flex:1 1 0;min-width:180px}.footer-title{margin:0 0 .25rem;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.footer-text{margin:0;opacity:.8}.footer-heading{margin:0 0 .3rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.footer-list{list-style:none;padding:0;margin:0}.footer-list li+li{margin-top:.2rem}.footer-list a,.site-footer a{color:var(--footer-text);text-decoration:none;opacity:.8}.footer-list a:hover,.site-footer a:hover{opacity:1;text-decoration:underline}.footer-form{display:flex;flex-wrap:nowrap;gap:.4rem;margin-top:.2rem}.footer-form input[type=email]{flex:1;min-width:0;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--footer-border);background:#111218;color:var(--footer-text)}.footer-form button{padding:.25rem .7rem;border-radius:4px;border:none;cursor:pointer;background:#fff;color:#000;font-size:.8rem}.site-footer-bottom{margin-top:.35rem;border-top:1px solid var(--footer-border);padding-top:.3rem;font-size:.75rem;opacity:.7;display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-donation-box{font-size:.8rem;line-height:1.4;border-radius:6px;padding:.2rem 0rem;color:var(--footer-text)}.footer-donation-box p{margin:0;opacity:.9}.footer-donate-button{display:inline-block;margin-top:.4rem;padding:.25rem .7rem;border-radius:999px;background:#f9fafb;color:#050509!important;font-size:.75rem;font-weight:600;text-decoration:none;white-space:nowrap}.footer-donate-button:hover{background:#e5e5e5;text-decoration:none}.community-page,.community-page *{text-align:left!important}.community-line{margin:.5rem 0;font-size:.95rem;line-height:1.4;color:#000}.community-line b{font-weight:600}.community-line a{color:inherit;text-decoration:underline}.community-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.community-col{display:flex;flex-direction:column;gap:.75rem}.community-card{margin:0;padding:0}.community-role-heading{font-size:1rem;font-weight:700;margin:0 0 .15rem;line-height:1.2}.community-line{margin:0;line-height:1.3}.concert-history-jump{margin:.75rem 0 0;font-size:1.2rem;position:absolute;top:1rem;right:2rem;z-index:10;margin:0}.concert-history-jump a{color:inherit;text-decoration:none}.concert-history-jump a:hover{color:var(--text);text-decoration:underline}.past-concerts{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);text-align:left}.past-concerts-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.past-concerts .archive-poster-card img{width:100%;height:auto;display:block}.archive-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.archive-actions{display:flex;align-items:center;gap:.4rem}.archive-carousel{margin-top:0rem;display:flex;gap:1rem;overflow-x:auto;padding-bottom:.2rem}.archive-carousel::-webkit-scrollbar{height:8px}.archive-carousel::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:999px}.archive-poster-card{flex:0 0 auto;border:none;background:transparent;padding:0;cursor:pointer;text-align:center}.archive-poster-card img{display:block;width:120px;height:auto;border-radius:0;box-shadow:0 4px 12px #0f172a1f}.archive-poster-label{display:inline-block;margin-top:.35rem;font-size:.8rem;color:#374151}body:has(.concert-archive-strip) .concert-page{margin-bottom:calc(var(--footer-height) + 140px)}.archive-poster-date{color:#6b7280}#global-playbar-root{margin:0;padding:0;border:none}.global-playbar{display:flex;align-items:center;gap:.5rem;padding:0}.playbar-toggle{border:none;border-radius:999px;width:2rem;height:2rem;cursor:pointer;background:#fff;color:#000;font-size:1rem;display:inline-flex;align-items:center;justify-content:center}.playbar-info{flex:1;display:flex;flex-wrap:wrap;gap:.25rem;align-items:baseline}.playbar-label{opacity:.6;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.playbar-title{font-weight:500;font-size:.8rem}.playbar-skip{border:none;border-radius:999px;width:1.8rem;height:1.8rem;cursor:pointer;background:#fff;color:#000;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center}.playbar-skip:hover,.playbar-toggle:hover{background:#e5e5e5}.page{max-width:800px;margin:0 auto;padding:2rem;text-align:left}.page h1{margin-top:0;margin-bottom:1rem}.page p{margin:.5rem 0}.page-list{margin:.75rem 0 1rem 1.25rem;padding:0}.page-list li{margin-bottom:.4rem}.donation-box{margin-top:2rem;padding:1rem 1.2rem;background:#f0f0f5;border-left:4px solid var(--accent);border-radius:6px;color:#111}.donate-button{display:inline-block;margin-top:.5rem;padding:.5rem 1rem;border-radius:6px;background:var(--accent);color:#fff!important;font-weight:600;text-decoration:none}.donate-button:hover{background:var(--accent-hover)}.mailchimp-footer{display:flex;gap:.4rem;align-items:center}.mailchimp-footer input[type=email]{flex:1;min-width:0;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--footer-border);background:#111218;color:var(--footer-text)}.mailchimp-footer button{padding:.25rem .7rem;border-radius:4px;border:none;cursor:pointer;background:#fff;color:#000;font-size:.8rem}.mailchimp-footer button:hover{opacity:.9}.page{max-width:900px;margin:0 auto;padding:2rem;text-align:left}.page-about h1{margin-top:0;margin-bottom:1rem}.about-intro{font-size:1.05rem;line-height:1.6;margin-bottom:1.5rem}.about-section{margin-bottom:1.75rem}.about-section h2{margin-bottom:.5rem;font-size:1.3rem}.about-section p{margin:.4rem 0;color:var(--text-muted)}.about-cta-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.about-cta-buttons a{text-decoration:none}.records-page{max-width:1280px;margin:0 auto;padding:2.5rem 2rem 2rem;text-align:left}.featured-record{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}.featured-record-text{flex:1 1 260px;max-width:480px}.featured-record-year{margin:0;color:var(--text-muted)}.featured-record-player{flex:0 0 auto}.records-hero{margin-bottom:2rem}.records-hero h1{margin-top:0;margin-bottom:1rem}.records-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.record-card{text-align:left}.record-card-button{width:100%;padding:0;border-radius:12px;border:1px solid var(--border-subtle);background:var(--card-bg);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 10px #0f172a0d;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.record-card-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0f172a14;border-color:var(--accent)}.record-cover{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.record-meta{padding:.6rem .75rem .75rem}.record-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.record-year{margin:0;font-size:.85rem;color:var(--text-muted)}.featured-record{display:grid;grid-template-columns:minmax(220px,1.3fr) auto minmax(260px,1.6fr);gap:1.5rem;align-items:flex-start}.featured-record-text{text-align:left}.featured-record-text h2{margin:0 0 .5rem;font-size:1.8rem}.featured-record-year{margin:0 0 .75rem;color:var(--text-muted)}.featured-label{font-weight:600;margin-right:.25rem}.featured-record-performers,.featured-record-instruments{margin:.25rem 0;font-size:.9rem;color:var(--text-muted)}.featured-record-notes{text-align:left;font-size:.9rem;color:var(--text-muted)}.featured-notes-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--text)}.featured-notes-body p{margin:0 0 .5rem}@media(max-width:1024px){.featured-record{grid-template-columns:1fr}.featured-record-player iframe{width:100%!important;max-width:350px}}.home-hero{text-align:left}.hero-inner{max-width:800px;margin:0 auto 1.5rem}.hero-actions{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap}.btn-primary,.btn-secondary{display:inline-block;padding:.6rem 1.2rem;border-radius:999px;font-size:.95rem;font-weight:600;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.btn-secondary{border:1px solid var(--border-subtle);background:transparent;color:var(--text)}.btn-secondary:hover{border-color:var(--accent);text-decoration:none}.home-highlights{max-width:1280px;margin:1rem auto 0;padding:0 2rem 2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.feedback-block{margin-top:2rem;max-width:40rem}.feedback-button{display:inline-block;margin-top:.75rem;padding:.5rem 1.25rem;border-radius:999px;border:1px solid var(--accent, #000);text-decoration:none;font-weight:500}.feedback-button:hover{background:var(--accent, #000);color:#fff}.experience-page{max-width:1100px;margin:0 auto;padding:2rem;text-align:left}.experience-hero h1{margin-top:0;margin-bottom:.5rem}.experience-tagline{font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.experience-intro{margin:.5rem 0 1.5rem;color:var(--text-muted)}.experience-section{margin-top:2.5rem}.experience-section h2{margin-bottom:.4rem}.experience-section-intro{margin:0 0 1rem;color:var(--text-muted);font-size:.95rem}.experience-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.experience-photo-card{margin:0;cursor:pointer;overflow:hidden;border-radius:12px;background:var(--card-bg);box-shadow:0 4px 10px #0f172a0d;border:1px solid var(--border-subtle)}.experience-photo-card img{width:100%;display:block;object-fit:cover}.experience-photo-card figcaption{padding:.5rem .75rem;font-size:.85rem}.caption-main{display:block}.caption-credit{display:block;margin-top:.15rem;color:var(--text-muted);font-size:.8rem}.no-scroll{overflow:hidden}.experience-modal{position:fixed;inset:0;display:none;z-index:2000}.experience-modal.is-open{display:flex;align-items:center;justify-content:center}.experience-modal-backdrop{position:absolute;inset:0;background:#000000b3}.experience-modal-dialog{position:relative;max-width:90vw;max-height:90vh;z-index:1;background:#000;border-radius:12px;overflow:hidden;padding:.5rem}.experience-modal-figure{margin:0;color:#f9fafb}#experience-modal-image{max-width:100%;max-height:70vh;display:block;margin:0 auto}#experience-modal-caption{margin-top:.5rem;font-size:.9rem;color:#e5e7eb}.experience-modal-close{position:absolute;top:.4rem;right:.4rem;border:none;background:#0f172abf;color:#f9fafb;border-radius:999px;width:2rem;height:2rem;font-size:1.3rem;cursor:pointer}.experience-press-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.experience-press-card{background:var(--card-bg);border-radius:12px;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 4px 12px #0f172a0d}.experience-press-card img{width:100%;display:block}.experience-press-meta{padding:.75rem 1rem 1rem}.experience-press-title{margin:0 0 .25rem;font-size:1rem}.experience-press-outlet{margin:0 0 .4rem;font-size:.85rem;color:var(--text-muted)}.experience-press-quote{margin:0 0 .5rem;font-size:.9rem}.experience-press-link a{font-size:.85rem}.experience-instagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.experience-instagram-card{background:var(--card-bg);border-radius:12px;padding:.75rem;border:1px solid var(--border-subtle)}.experience-instagram-card iframe,.experience-instagram-card .instagram-media{width:100%;max-width:100%}.experience-instagram-caption{margin-top:.5rem;font-size:.9rem;color:var(--text-muted)}.experience-testimonials{position:relative}.experience-testimonial-rotator{position:relative;min-height:6rem;margin-top:.75rem}.experience-quote{position:absolute;inset:0;opacity:0;transition:opacity .5s ease-in-out;margin:0}.experience-quote.is-active{opacity:1;position:relative}.experience-quote-text{font-size:1rem;line-height:1.6}.experience-quote-footer{margin-top:.5rem;font-size:.9rem;color:var(--text-muted)}.experience-quote-name{font-weight:600}.experience-quote-role{margin-left:.25rem}.home-card{background:var(--card-bg);border-radius:16px;border:1px solid var(--border-subtle);padding:1rem;box-shadow:0 6px 16px #0f172a0f;text-align:left;display:flex;flex-direction:column;gap:.6rem}.home-card-title{margin:0 0 .4rem;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.home-card-button{padding:0;border-radius:12px;border:1px solid transparent;background:transparent;display:flex;gap:.75rem;align-items:center;box-shadow:none;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.home-card-button:hover{border-color:var(--accent);background:#f9fafb;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a12}.home-card-image{width:96px;height:96px;border-radius:10px;object-fit:cover;flex-shrink:0}.home-card-meta h3{margin:0 0 .25rem;font-size:1.05rem}.home-card-line{margin:0;font-size:.9rem;color:var(--text-muted)}.home-card-link{font-size:.9rem;align-self:flex-start}@media(max-width:768px){html,body{height:auto;overflow:auto}body{display:flex;flex-direction:column;min-height:100vh;padding-top:0}#app{flex:1;height:auto;max-height:none;overflow-y:visible;overflow-x:visible;padding-bottom:2rem}#app,.page{padding-top:10px}.site-header{position:static;padding:.75rem 1.25rem}.site-logo-img{height:64px}.site-header-inner{gap:.55rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.site-nav{display:none;position:static;left:0;right:0;background:var(--header-bg);padding:.75rem 2rem 1rem;flex-direction:column;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.site-nav.is-open{display:flex}.site-nav a{font-size:1.05rem;padding:.25rem 0}.site-footer{position:static;width:100%;margin-top:2rem}.concert-archive-strip{position:static;bottom:auto;left:auto;transform:none;box-shadow:none;padding:.5rem 1rem;margin-bottom:1rem}.mobile-concert-archive-top{display:block;padding:1rem 1.5rem;margin-bottom:1.5rem;background:var(--bg);border-bottom:1px solid var(--border-subtle)}.concert-archive-strip,.concert-history-jump{display:none}.home-highlights{grid-template-columns:1fr;padding:0 1rem 2rem;gap:1rem}.home-card-button{flex-direction:column;align-items:flex-start}.home-card-image{width:100%;height:auto;max-width:100%}.home-card-meta{width:100%}.press-modal{position:fixed;inset:0;display:none;z-index:10000}.press-modal.is-open{display:block}.press-modal-backdrop{position:absolute;inset:0;background:#000000b3}.press-modal-content{position:relative;max-width:960px;max-height:90vh;margin:3vh auto;background:#111827;color:#f9fafb;border-radius:12px;padding:1rem 1.5rem 1.25rem;box-sizing:border-box;display:flex;flex-direction:column}.press-modal-close{align-self:flex-end;border:none;background:transparent;color:#f9fafb;font-size:1.4rem;cursor:pointer}.press-modal-main{display:flex;align-items:center;gap:.75rem}.press-modal-figure{flex:1;text-align:center}#press-modal-image{max-width:100%;max-height:60vh;object-fit:contain}#press-modal-caption{margin-top:.5rem;font-size:.9rem;opacity:.9}.press-modal-nav{border:none;background:#ffffff1a;color:#f9fafb;border-radius:999px;width:2rem;height:2rem;cursor:pointer}.press-modal-nav:hover{background:#ffffff40}.press-modal-thumbs{margin-top:.75rem;display:flex;gap:.5rem;overflow-x:auto}.press-thumb{border:none;padding:0;background:transparent;cursor:pointer;opacity:.6;border-radius:4px;overflow:hidden}.press-thumb.is-active{opacity:1;outline:2px solid #f9fafb}.press-thumb img{display:block;width:80px;height:auto}.experience-page{padding:1.5rem 1.25rem 2.5rem}.experience-modal-dialog{max-width:95vw;max-height:90vh}.experience-press-manual{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.experience-press-manual img{width:100%;height:auto;display:block;border-radius:4px}.community-two-col{grid-template-columns:1fr;gap:1rem}.community-col{gap:.85rem}.featured-record{flex-direction:column;align-items:flex-start}.featured-record-player iframe{width:100%!important;max-width:350px}}
