*{box-sizing:border-box}html{scroll-behavior:smooth}img{max-width:100%;height:auto;display:block}
body{margin:0;line-height:1.6}.section{max-width:720px;margin:0 auto;padding:2rem 1rem}
.members{list-style:none;padding:0;margin:0}.embed{border:0;border-radius:12px;margin-bottom:1rem;width:100%}
.button{display:inline-block;font-weight:700;padding:.75rem 1.5rem;text-decoration:none}
a:focus-visible,.button:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:#f1ede4;color:#222;font-family:"League Spartan",system-ui,sans-serif}
a{color:#222;text-decoration-thickness:3px;text-underline-offset:3px}
.hero{border-bottom:6px solid #222}.hero-photo{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;filter:grayscale(1) contrast(1.15);border-bottom:6px solid #222}
.hero-text{padding:2rem 1rem;max-width:960px;margin:0 auto}.logo{width:min(380px,85%);margin-bottom:1rem}
h1{font-size:clamp(2.2rem,9vw,5.5rem);line-height:.95;text-transform:uppercase;font-weight:900;margin:0 0 1rem}
.tagline{font-size:1.2rem;margin:0 0 1.5rem}.button{background:#e8785c;color:#222;border:4px solid #222;box-shadow:5px 5px 0 #222;text-transform:uppercase}
.button:active{transform:translate(2px,2px);box-shadow:3px 3px 0 #222}
@media(hover:hover){.button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 #222}}
h2{font-size:2rem;text-transform:uppercase;font-weight:900;border-bottom:4px solid #222;display:inline-block}
.card{background:#e8785c;border:4px solid #222;box-shadow:6px 6px 0 #222;margin:2rem auto;padding:1.5rem}
.members li{border-bottom:3px solid #222;padding:.15rem 0;min-height:3.5rem;align-items:center;display:flex;justify-content:space-between;font-size:1.3rem;font-weight:700;gap:1rem}.members span{font-weight:400}
footer{text-align:center;padding:2rem;border-top:6px solid #222}

.gigs{list-style:none;padding:0;margin:0}
.gig{display:grid;gap:.25rem 1.5rem;padding:1rem 0;border-bottom:3px solid #222;grid-template-columns:1fr}
.gig-when{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:1.3rem;font-weight:700}.gig-when span{font-weight:400}
.gig-what{display:flex;flex-direction:column}.gig-title{font-size:1.3rem;text-transform:uppercase}
.gig-description{margin:.5rem 0 0;white-space:pre-line}
.no-gigs{margin:0}
@media(min-width:600px){.gig{grid-template-columns:14rem 1fr}.gig-when{flex-direction:column;gap:0}}

/* Mobile / touch */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
a,.button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(34,34,34,.15)}
h1,h2,.gig-title,.gig-when{overflow-wrap:break-word}
.members a{display:inline-block;padding:.6rem 0}
.gig-place,#seuraa p a{display:inline-block;padding:.65rem 0}
.gig-place{align-self:flex-start}
.members a,.gig-place,#seuraa p a{min-width:44px}
@media(max-width:599px){.section{padding:1.5rem 1rem}.card{padding:1.25rem 1rem}.hero-text{padding:1.5rem 1rem}h2{font-size:1.7rem}}
@media(max-width:759px){.card{margin:1.5rem 1rem;box-shadow:5px 5px 0 #222}}

footer p{margin:0}
.press-link{display:inline-block;padding:.65rem 1rem;color:#222;font-weight:700;text-transform:uppercase;letter-spacing:.08em;min-width:44px}

.listen-links{display:flex;flex-wrap:wrap;gap:1rem}
.listen-links .button{padding-left:1rem;padding-right:1rem}
.button-secondary{background:#f1ede4}
@media(max-width:599px){.listen-links{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.listen-links .button{text-align:center;padding-left:.5rem;padding-right:.5rem}.listen-links .button:first-child{grid-column:1/-1}}
