:root { --accent:#f5bd56; --overlay:.35; --ink:#f7f3ed; --muted:#c1bdba; }
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; background-color:#0c0d10; }
body { margin:0; min-height:100vh; background:transparent; color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; isolation:isolate; }
body::before { content:""; position:fixed; z-index:0; inset:0; background:rgba(0,0,0,var(--overlay)); pointer-events:none; }
body::after { content:""; position:fixed; inset:0; z-index:0; background:linear-gradient(155deg,rgba(16,18,25,.08),rgba(0,0,0,.04)); pointer-events:none; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.skip-link { position:absolute; top:-100px; left:16px; background:#fff; color:#111; padding:12px 18px; z-index:20; }
.skip-link:focus { top:16px; }
.site-shell { position:relative; z-index:1; width:min(100% - 40px, 1100px); margin-inline:auto; }
.hero { position:relative; display:flex; min-height:clamp(265px,41vw,470px); padding:64px 10px 42px; flex-direction:column; align-items:center; justify-content:center; text-align:center; isolation:isolate; }
.hero-glow { position:absolute; inset:10% 7%; z-index:-1; border-radius:50%; background:radial-gradient(ellipse at center,rgba(0,0,0,.42),transparent 69%); pointer-events:none; }
.band-logo { display:block; width:80%; height:auto; max-width:100%; max-height:none; object-fit:contain; filter:drop-shadow(0 9px 24px rgba(0,0,0,.5)); }
.band-name { font-size:clamp(3rem,10vw,7rem); margin:0; letter-spacing:-.075em; line-height:1.05; font-weight:900; text-transform:uppercase; text-shadow:0 9px 32px rgba(0,0,0,.6); }
.hero-rule { display:flex; align-items:center; width:min(280px,60%); height:2px; background:linear-gradient(90deg,transparent,var(--accent),transparent); margin-top:42px; opacity:.85; }
.section-heading { margin-bottom:25px; text-align:center; }
.eyebrow { margin:0 0 5px; font-size:.73rem; text-transform:uppercase; color:var(--accent); font-weight:800; letter-spacing:.27em; }
h2 { font-size:clamp(1.7rem,4.5vw,2.35rem); letter-spacing:-.035em; line-height:1.2; margin:0; font-weight:850; }
.news-section, .links-section, .shows-section, .contact-section { border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(13,15,20,.84); box-shadow:0 22px 70px rgba(0,0,0,.32); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:clamp(28px,5vw,48px); }
.news-section, .links-section { margin-bottom:24px; }
.news-list { border-top:1px solid rgba(255,255,255,.13); }
.news-item { display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr); align-items:start; gap:24px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.news-item:not(.has-image) { grid-template-columns:1fr; }
.news-image img { display:block; width:100%; height:auto; border-radius:8px; }
.news-copy h3 { margin:0 0 12px; font-size:clamp(1.2rem,2.5vw,1.6rem); line-height:1.25; }
.news-content { color:var(--muted); overflow-wrap:anywhere; }
.news-content > :first-child { margin-top:0; }
.news-content > :last-child { margin-bottom:0; }
.news-content img { max-width:100%; height:auto; }
.news-content a { color:var(--accent); }

.link-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.link-group h3 { font-size:.74rem; color:#dbd6d0; font-weight:800; text-transform:uppercase; letter-spacing:.19em; margin:0 0 12px; border-bottom:1px solid rgba(255,255,255,.14); padding-bottom:12px; }
.button-list { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; }
.button-list > .platform-button { flex:1 1 230px; min-width:0; }
.platform-button { display:flex; align-items:center; justify-content:flex-start; gap:22px; min-height:104px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.055); border-radius:8px; padding:13px 17px; font-weight:700; text-decoration:none; transition:background .2s,border-color .2s,transform .2s; }
.platform-button:hover { transform:translateY(-2px); background:rgba(245,189,86,.12); border-color:var(--accent); }
.platform-icon { display:block; flex:0 0 76px; width:76px; height:76px; aspect-ratio:1; object-fit:contain; border-radius:10px; }
.platform-icon-placeholder { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); }
.platform-label { font-size:clamp(1.05rem,2.2vw,1.25rem); }
.edit-hint { text-align:center; font-size:.88rem; color:var(--muted); }
.shows-section { margin-bottom:24px; }
.contact-section { margin-bottom:50px; text-align:center; }
.contact-message { max-width:680px; margin:0 auto 18px; white-space:normal; color:var(--muted); }
.contact-methods { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 30px; }
.contact-methods a { font-weight:750; color:var(--accent); overflow-wrap:anywhere; }
.events-list { border-top:1px solid rgba(255,255,255,.13); }
.event-row { display:grid; grid-template-columns:68px minmax(0,1fr) auto; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.event-date { border-radius:7px; background:var(--accent); color:#111; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:68px; padding:5px; line-height:1.1; }
.event-month { font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.event-date strong { font-size:2rem; line-height:1.07; }
.event-details h3 { margin:0 0 4px; font-size:1.1rem; line-height:1.3; }
.event-details p { margin:0; color:var(--muted); font-size:.91rem; }
.event-details .event-time { color:var(--accent); margin-top:4px; font-size:.82rem; }
.ticket-button { display:inline-flex; justify-content:center; gap:12px; align-items:center; color:var(--accent); padding:11px 14px; border:1px solid var(--accent); border-radius:7px; font-size:.82rem; font-weight:800; text-decoration:none; white-space:nowrap; transition:background .2s,color .2s; }
.ticket-button:hover { color:#111; background:var(--accent); }
.no-shows { padding:22px 10px; text-align:center; color:var(--muted); border-top:1px solid rgba(255,255,255,.13); }
.site-footer { position:relative; z-index:1; padding:0 20px 32px; text-align:center; font-size:.77rem; color:#a9a5a1; letter-spacing:.02em; }
@media (max-width:640px) {
 .site-shell { width:min(100% - 24px,1100px); }
 .hero { min-height:230px; padding:55px 4px 38px; }
 .hero-rule { margin-top:30px; }
 .news-section,.links-section,.shows-section,.contact-section { padding:27px 22px; }
 .news-item { grid-template-columns:1fr; gap:14px; }
 .news-image img { max-width:340px; }
 .link-groups { gap:28px; }
 .button-list > .platform-button { flex-basis:200px; }
 .platform-button { min-height:88px; gap:16px; padding:10px 12px; }
 .platform-icon { width:64px; height:64px; flex-basis:64px; }
 .event-row { grid-template-columns:56px minmax(0,1fr); gap:13px; }
 .event-date { min-height:59px; }
 .event-date strong { font-size:1.6rem; }
 .ticket-button { grid-column:2; width:max-content; max-width:100%; margin-top:-3px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
