
    footer { background: var(--surface); border-top: 1px solid var(--steel); }

    /* Sponsors */
    .footer-sponsors { border-bottom: 1px solid var(--steel); padding: 2rem 3rem; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 3rem; flex-wrap: wrap; }
    .sponsors-label { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.3em; color: var(--muted); white-space: nowrap; }
    .sponsors-sep { width: 1px; height: 28px; background: var(--steel); }
    .sponsors-logos { display: flex; gap: 2rem; align-items: center; flex-wrap: wrap; }
    .sponsor-logo { display: flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-size: 1rem; letter-spacing: 0.12em; color: rgba(90,90,90,0.55); text-decoration: none; border: 1px solid rgba(44,44,44,0.5); padding: 0.45rem 1rem; transition: all 0.25s; filter: grayscale(1); clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px)); }
    .sponsor-logo:hover { color: var(--off-white); border-color: var(--steel); filter: grayscale(0); }
    .sponsor-logo svg { width: 16px; height: 16px; opacity: 0.5; }

    /* Main footer grid */
    .footer-main { max-width: 1200px; margin: 0 auto; padding: 2.5rem 3rem; display: grid; grid-template-columns: 1fr auto auto; gap: 4rem; align-items: start; }

    /* Brand */
    .footer-logo { font-family: var(--font-display); font-size: 1.4rem; letter-spacing: 0.05em; }
    .footer-logo span { color: var(--red); }
    .footer-tagline { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.2em; color: var(--muted); margin-top: 5px; }
    .footer-contact { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 4px; }
    .footer-contact a { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.1em; color: var(--muted); text-decoration: none; transition: color 0.2s; }
    .footer-contact a:hover { color: var(--off-white); }
    .footer-copy { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.1em; color: rgba(90,90,90,0.5); margin-top: 1.2rem; line-height: 1.9; }

    /* Downloads block */
    .footer-block-title { font-family: var(--font-mono); font-size: 0.63rem; letter-spacing: 0.25em; color: var(--muted); margin-bottom: 1rem; }
    .dl-toggle-btn { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; font-family: var(--font-heading); font-size: 0.95rem; letter-spacing: 0.12em; color: var(--off-white); background: var(--bg); border: 1px solid var(--steel); padding: 0.65rem 1.1rem; cursor: pointer; transition: all 0.25s; min-width: 190px; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)); }
    .dl-toggle-btn:hover { border-color: rgba(192,57,43,0.5); }
    .dl-caret { font-size: 0.6rem; transition: transform 0.3s; }
    .dl-toggle-btn.open .dl-caret { transform: rotate(180deg); }
    .dl-menu { position: absolute; bottom: calc(100% + 8px); left: 0; background: rgba(10,10,10,0.99); border: 1px solid var(--steel); border-top: 2px solid var(--red); min-width: 220px; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity 0.25s, transform 0.25s; z-index: 50; }
    .dl-menu.open { opacity: 1; pointer-events: all; transform: translateY(0); }
    .dl-item { display: flex; align-items: center; gap: 12px; padding: 0.9rem 1.2rem; border-bottom: 1px solid rgba(44,44,44,0.4); text-decoration: none; color: var(--muted); transition: color 0.2s, background 0.2s; cursor: pointer; }
    .dl-item:last-child { border-bottom: none; }
    .dl-item:hover { color: var(--off-white); background: rgba(192,57,43,0.07); }
    .dl-item-icon { width: 30px; height: 30px; background: rgba(44,44,44,0.5); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .dl-item-icon svg { width: 13px; fill: var(--red); }
    .dl-item-name { font-family: var(--font-heading); font-size: 1rem; letter-spacing: 0.08em; color: var(--off-white); }
    .dl-item-desc { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.1em; color: var(--muted); }
    .dl-wrap { position: relative; }

    /* Socials */
    .footer-socials-list { display: flex; flex-direction: column; gap: 0.45rem; }
    .social-link { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 0.67rem; letter-spacing: 0.12em; color: var(--muted); text-decoration: none; padding: 0.45rem 0.7rem; border: 1px solid transparent; transition: all 0.2s; clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)); }
    .social-link:hover { color: var(--off-white); border-color: var(--steel); background: rgba(255,255,255,0.02); }
    .social-link svg { width: 14px; fill: currentColor; flex-shrink: 0; }

    /* Footer bottom */
    .footer-bottom { border-top: 1px solid var(--steel); }
    .footer-bottom-inner { max-width: 1200px; margin: 0 auto; padding: 1rem 3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
    .footer-bottom-left { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.12em; color: rgba(90,90,90,0.45); }
    .footer-bottom-right { display: flex; gap: 1.5rem; }
    .footer-bottom-right a { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.1em; color: rgba(90,90,90,0.45); text-decoration: none; transition: color 0.2s; }
    .footer-bottom-right a:hover { color: var(--muted); }

        /* ─── RESPONSIVE ──────────────────────────────────── */
    @media (max-width: 960px) {
      .nav-links { display: none; }
      .nav-hamburger { display: flex; }
      .next-show-block { grid-template-columns: 80px 1fr; padding: 1.75rem; }
      .next-ticket-block { display: none; }
      .countdown-strip { padding: 1rem 1.5rem; }
      .release-grid { grid-template-columns: 1fr; }
      .album-cover { max-width: 220px; }
      .videos-grid { grid-template-columns: repeat(2, 1fr); }
      .gallery-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
      .gal-item { grid-column: span 1 !important; grid-row: span 1 !important; height: 170px; }
      .footer-main { grid-template-columns: 1fr; gap: 2.5rem; padding: 2rem 1.5rem; }
      .footer-sponsors { padding: 1.5rem; flex-direction: column; align-items: flex-start; gap: 1.2rem; }
      .section-wrap { padding: 4rem 1.5rem; }
      .footer-bottom-inner { padding: 1rem 1.5rem; }
    }
