/* The Fireflies — responsive site */
:root{--ink:#17141b;--paper:#f5edda;--gold:#e7a52b;--orange:#d65a28;--blue:#102e4d;--cream:#fff9e9;--muted:#756b5d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:1160px;margin:auto;padding:0 24px}
header{position:sticky;top:0;z-index:20;background:rgba(245,237,218,.97);border-bottom:3px solid var(--ink)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{font:900 28px/1 Georgia,serif;letter-spacing:2px;text-decoration:none;white-space:nowrap}.logo span{color:var(--orange)}nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}nav a{text-decoration:none;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px}nav a:hover,nav a.active{color:var(--orange)}
.hero{min-height:76vh;display:grid;place-items:center;text-align:center;padding:90px 20px;background:radial-gradient(circle at 50% 42%,#ffe98b 0,#f3b63d 22%,#d75c2b 48%,#183c63 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:-20%;background:repeating-conic-gradient(from 0deg,transparent 0 14deg,rgba(255,248,229,.12) 14deg 16deg);animation:spin 28s linear infinite}.hero:after{display:none}.hero-content{position:relative;z-index:1;max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:5px;font-weight:900;color:#fff8e5}.hero h1{font:900 clamp(64px,13vw,150px)/.82 Georgia,serif;color:#fff8e5;text-shadow:7px 7px 0 #183c63;letter-spacing:-5px;margin:20px 0}.hero p{font:clamp(20px,3vw,30px)/1.35 Georgia,serif;color:#fff8e5;max-width:720px;margin:25px auto}.button{display:inline-block;background:var(--ink);color:var(--cream);padding:13px 22px;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:1px;border:2px solid var(--ink);margin:6px}.button.alt{background:transparent;color:var(--ink);border-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}
.section{padding:72px 0}.section.dark{background:var(--blue);color:var(--cream)}h2{font:900 clamp(38px,6vw,65px)/1 Georgia,serif;margin:0 0 18px}h3{font:900 27px/1.15 Georgia,serif;margin:0 0 8px}.lead{font-size:20px;max-width:820px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:900;color:var(--orange)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.two{grid-template-columns:1fr 1fr}.card{background:var(--cream);padding:28px;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.dark .card{color:var(--ink)}
.quote{font:28px/1.25 Georgia,serif;border-left:7px solid var(--gold);padding-left:22px}.tag{display:inline-block;padding:5px 9px;background:var(--gold);font-size:11px;font-weight:900;text-transform:uppercase;margin:4px 4px 0 0}.band-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border:3px solid var(--ink)}
.member{overflow:hidden;background:var(--cream);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.member img{width:100%;aspect-ratio:16/9;object-fit:cover}.member div{padding:18px}.member h3{margin:0}.member p{margin:4px 0 0;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery figure{margin:0;background:var(--cream);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery figcaption{padding:10px 12px;font-weight:800;font-size:13px}
.album{aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(135deg,#e7a52b,#d65a28 45%,#102e4d);color:#fff9e9;border:3px solid var(--ink)}.album strong{font:900 48px/.9 Georgia,serif;text-shadow:4px 4px 0 var(--ink);text-align:center}.track{padding:20px 0;border-bottom:2px solid currentColor}.track:last-child{border:0}.track audio{width:100%;margin-top:10px}.track-title{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.track-number{font:bold 13px Arial,sans-serif;color:var(--orange)}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.video{background:var(--cream);color:var(--ink);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:0 0 18px}.video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.video h3,.video p{margin-left:18px;margin-right:18px}.video h3{margin-top:17px}.video p{color:var(--muted)}
footer{background:var(--ink);color:var(--cream);padding:40px 0;text-align:center}footer a{margin:0 8px}.small{font-size:14px;color:var(--muted)}
@media(max-width:800px){.nav{align-items:flex-start;padding:15px 0}.grid,.two,.gallery,.video-grid{grid-template-columns:1fr}nav{gap:9px}.hero{min-height:70vh}.hero h1{font-size:72px}.section{padding:55px 0}.track-title{display:block}}
@media(max-width:480px){.wrap{padding:0 16px}.logo{font-size:23px}nav a{font-size:11px}.hero{padding:70px 15px}.hero p{font-size:19px}}

.member div h3{display:block!important;visibility:visible!important;color:var(--ink)!important}.member div p{display:block!important;visibility:visible!important}

/* V7 reliability fixes: keep media inside its grid at all viewport sizes */
.gallery, .gallery figure, .tracks, .music-layout { min-width: 0; }
.gallery figure { overflow: hidden; }
.gallery img { max-width: 100% !important; width: 100%; height: auto; }
.music-layout > * { min-width: 0; }
.track audio { display: block; width: 100%; max-width: 100%; min-width: 0; }

/* V8: web-safe image filenames and robust gallery sizing */
.gallery figure { min-width: 0; overflow: hidden; }
.gallery img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media (max-width: 800px) {
  .gallery img { aspect-ratio: 4 / 3; }
}
