.brand-logo {
  display: flex;
  align-items: center;
  height: 70px;
}

.brand-logo img {
  display: block;
  width: 190px;
  height: auto;
}

.hero-logo {
  display: block;
  width: clamp(420px, 55vw, 800px);
  max-width: 92vw;
  height: auto;
  margin: 8px auto 0;
  filter: drop-shadow(0 12px 30px #000);
}

.about {
  background: linear-gradient(#070709bb, #070709dd), url('assets/hero-v2.png') center/cover fixed;
}

.footer-logo {
  width: 220px;
  max-width: 75vw;
  height: auto;
}

.artist-profile {
  max-width: 1200px;
  margin: 70px auto 0;
  padding-top: 70px;
  border-top: 1px solid #ffffff1a;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 70px;
  align-items: center;
}

.artist-profile h3 {
  margin: 8px 0 18px;
  font: 700 clamp(2rem, 4vw, 4rem)/1 Oswald, sans-serif;
}

.artist-profile-copy > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 28px;
}

.artist-profile iframe {
  border-radius: 12px;
  box-shadow: 0 35px 90px #000;
}

.media-consent-frame { position: relative; min-height: 352px; border-radius: 12px; overflow: hidden; background: #0b0b0e; border: 1px solid #ffffff14; box-shadow: 0 35px 90px #000; }
.media-consent-frame iframe { display: none; border-radius: 12px; }
.media-consent-frame.media-loaded iframe { display: block; }
.media-consent-frame.media-loaded .media-consent-placeholder { display: none; }
.media-consent-placeholder { min-height: 352px; padding: 35px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 13px; background: radial-gradient(circle at 50% 45%, #1ed7601c, transparent 45%), linear-gradient(135deg, #121217, #08080b); text-align: center; }
.media-consent-placeholder strong { color: #1ed760; font: 700 2.4rem Oswald, sans-serif; letter-spacing: .05em; }
.media-consent-placeholder p { max-width: 440px; margin: 0 0 10px; color: var(--muted); line-height: 1.6; }

.booking-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.cookie-banner { position: fixed; z-index: 200; inset: auto 20px 20px; max-width: 1180px; margin: auto; padding: 26px 30px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; background: #0d0d11f7; border: 1px solid #ffffff27; box-shadow: 0 30px 100px #000; backdrop-filter: blur(18px); }
.cookie-banner[hidden] { display: none; }
.cookie-banner h2, .cookie-dialog h2 { margin: 4px 0 10px; font: 700 2rem Oswald, sans-serif; }
.cookie-banner p:not(.eyebrow) { max-width: 700px; margin: 0; color: var(--muted); line-height: 1.55; }
.cookie-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.cookie-link, .footer-cookie { padding: 8px; border: 0; background: none; color: #c7c7cc; font: inherit; text-decoration: underline; cursor: pointer; }

.cookie-dialog { width: min(92vw, 720px); padding: 0; border: 1px solid #ffffff2b; background: #0d0d11; color: white; box-shadow: 0 45px 120px #000; }
.cookie-dialog::backdrop { background: #000d; backdrop-filter: blur(6px); }
.cookie-dialog form { position: relative; padding: clamp(25px, 5vw, 48px); }
.cookie-dialog-close { position: absolute; top: 15px; right: 15px; width: 42px; height: 42px; border: 1px solid #ffffff30; border-radius: 50%; background: transparent; color: white; font-size: 1.6rem; cursor: pointer; }
.cookie-option { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 22px 0; border-top: 1px solid #ffffff18; }
.cookie-option strong { font: 700 1.2rem Oswald, sans-serif; }
.cookie-option p { margin: 6px 0 0; color: var(--muted); line-height: 1.55; }
.cookie-option input { width: 24px; height: 24px; accent-color: var(--red); }
.footer-cookie { margin: 0 12px; font-size: .72rem; }

.events-section {
  position: relative;
}

.event-spotlight {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(320px, .85fr) 1.15fr;
  background: #0d0d11;
  border: 1px solid #ffffff17;
  box-shadow: 0 40px 100px #0008;
}

.event-spotlight::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 45%, #ff163d14), linear-gradient(180deg, transparent 70%, #070709b8);
}

.event-spotlight-copy {
  position: relative;
  z-index: 2;
  padding: clamp(38px, 6vw, 78px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.event-spotlight-copy h3 {
  margin: .45em 0 .3em;
  font: 700 clamp(2.5rem, 5vw, 5.2rem)/.92 Oswald, sans-serif;
  letter-spacing: -.025em;
}

.event-spotlight-copy p {
  max-width: 470px;
  margin: 0 0 30px;
  color: var(--muted);
  line-height: 1.7;
}

.event-spotlight-visual {
  position: relative;
  z-index: 1;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #0d0d11 0, transparent 35%), linear-gradient(#0004, #0007), url('assets/hero-v2.png') center/cover;
  text-align: center;
  text-shadow: 0 8px 35px #000;
}

.event-spotlight-visual::before {
  content: "";
  position: absolute;
  width: min(34vw, 440px);
  aspect-ratio: 1;
  border: 1px solid #ff163d80;
  border-radius: 50%;
  box-shadow: 0 0 70px #ff163d28, inset 0 0 70px #ff163d1d;
}

.event-spotlight-visual span,
.event-spotlight-visual strong,
.event-spotlight-visual small {
  position: relative;
  z-index: 1;
}

.event-spotlight-visual span,
.event-spotlight-visual small {
  font-weight: 800;
  letter-spacing: .25em;
}

.event-spotlight-visual span { color: var(--red); font-size: .75rem; }
.event-spotlight-visual strong { font: 700 clamp(5rem, 11vw, 10rem)/.9 Oswald, sans-serif; }
.event-spotlight-visual small { color: #ddd; font-size: .67rem; }

.event-history {
  margin-top: 70px;
}

.event-history-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
  border-bottom: 1px solid #ffffff16;
  padding-bottom: 24px;
}

.event-history-head p { margin: 0; }
.event-history-head h3 { margin: 0; font: 700 clamp(2rem, 4vw, 3.8rem)/1 Oswald, sans-serif; }
.event-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.event-card {
  min-height: 150px;
  display: grid;
  grid-template-columns: 130px 1fr;
  align-items: stretch;
  background: linear-gradient(110deg, #121217, #0b0b0e);
  border: 1px solid #ffffff12;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.event-card:hover {
  transform: translateY(-3px);
  border-color: #ff163d66;
  background: linear-gradient(110deg, #17171d, #0d0d11);
}

.event-card time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #ff163d0e;
  border-right: 1px solid #ff163d45;
}

.event-card time strong { font: 700 2.3rem/1 Oswald, sans-serif; }
.event-card time span { margin-top: 8px; color: var(--red); font-size: .65rem; font-weight: 800; letter-spacing: .18em; }
.event-card > div { padding: 28px 30px; display: flex; flex-direction: column; justify-content: center; }
.event-status { color: var(--red); font-size: .61rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.event-card h4 { margin: 8px 0 5px; font: 700 1.45rem/1.1 Oswald, sans-serif; text-transform: uppercase; }
.event-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.event-card .event-description { margin-top: 9px; color: #d7d7dc; line-height: 1.55; }
.event-offer { width: max-content; margin-top: 10px; padding: 5px 8px; border: 1px solid #ff163d55; color: white; font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.event-card.has-flyer { grid-template-columns: 130px 108px 1fr; }
.event-flyer-thumb {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-right: 1px solid #ffffff14;
  background: #050507;
  color: white;
  cursor: zoom-in;
}
.event-flyer-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .3s ease; }
.event-flyer-thumb span { position: absolute; inset: auto 6px 7px; padding: 6px 4px; background: #08080bdd; color: white; font-size: .52rem; font-weight: 900; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.event-flyer-thumb:hover img { transform: scale(1.05); }
.event-flyer-dialog { width: min(94vw, 780px); max-height: 94vh; padding: 0; overflow: hidden; border: 1px solid #ffffff25; background: #08080b; color: white; box-shadow: 0 30px 100px #000d; }
.event-flyer-dialog::backdrop { background: #000d; backdrop-filter: blur(6px); }
.event-flyer-dialog img { display: block; width: 100%; max-height: calc(94vh - 58px); object-fit: contain; background: #050507; }
.event-flyer-dialog p { margin: 0; min-height: 58px; padding: 18px 70px 18px 22px; font: 700 1rem/1.25 Oswald, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.event-flyer-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 42px; height: 42px; border: 1px solid #ffffff40; border-radius: 50%; background: #08080be6; color: white; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.event-card.upcoming { border-color: #ff163d55; background: linear-gradient(110deg, #191116, #0b0b0e); }
.event-card.upcoming time { background: var(--red); border-right-color: var(--red); }
.event-card.upcoming time span, .event-card.upcoming .event-status { color: white; }
.event-ticket { width: max-content; margin-top: 13px; color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .09em; }
.event-ticket:hover { color: white; }

.showreel-section { max-width: 1380px; }
.showreel-frame { min-height: 0; aspect-ratio: 16 / 9; border-radius: 0; }
.showreel-frame iframe { width: 100%; height: 100%; min-height: 100%; }
.showreel-frame .media-consent-placeholder { min-height: 100%; }

.references-section { max-width: 1380px; }
.venue-cloud { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.venue-cloud span { min-height: 105px; display: flex; align-items: center; justify-content: center; padding: 20px; border: 1px solid #ffffff15; background: linear-gradient(135deg, #121217, #09090c); color: #e8e8eb; font: 700 1.25rem Oswald, sans-serif; text-align: center; text-transform: uppercase; letter-spacing: .04em; }
.testimonial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.testimonial-grid blockquote { margin: 0; padding: clamp(28px, 4vw, 48px); border: 1px solid #ffffff17; background: #101014; }
.testimonial-grid blockquote > p { margin: 0 0 28px; color: #e6e6e9; font-size: 1.1rem; line-height: 1.75; }
.testimonial-grid blockquote footer { padding: 0; border: 0; text-align: left; }
.testimonial-grid blockquote footer strong, .testimonial-grid blockquote footer span { display: block; }
.testimonial-grid blockquote footer strong { color: var(--red); font: 700 1.1rem Oswald, sans-serif; }
.testimonial-grid blockquote footer span { margin-top: 5px; color: var(--muted); font-size: .78rem; }
.testimonial-submit { max-width: 780px; margin: 44px auto 0; padding: clamp(24px, 4vw, 42px); border: 1px solid #ffffff17; background: #0d0d11; }
.testimonial-submit h3 { margin: 0 0 8px; font: 700 clamp(1.8rem, 4vw, 3rem) Oswald, sans-serif; }
.testimonial-submit > p { color: var(--muted); line-height: 1.7; }
.testimonial-submit form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.testimonial-submit label { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.testimonial-submit input:not([type="checkbox"]), .testimonial-submit textarea { display: block; width: 100%; margin-top: 8px; padding: 14px; border: 1px solid #ffffff20; background: #111116; color: #fff; font: inherit; }
.testimonial-submit input:focus, .testimonial-submit textarea:focus { border-color: var(--red); outline: none; }
.testimonial-submit .consent-check { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: .68rem; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.testimonial-submit .consent-check input { flex: 0 0 auto; margin-top: 2px; }
.not-found-page { min-height: 100svh; display: grid; place-items: center; align-content: center; gap: 18px; padding: 40px 24px; text-align: center; background: radial-gradient(circle at 50% 35%, #32101b, #070709 60%); }
.not-found-page h1 { margin: 0; font: 700 clamp(2.8rem, 8vw, 7rem)/.95 Oswald, sans-serif; }
.not-found-page p:not(.eyebrow) { max-width: 520px; color: var(--muted); line-height: 1.7; }
.not-found-logo { width: min(280px, 70vw); margin-bottom: 16px; }
@media (max-width: 700px) { .testimonial-submit form { grid-template-columns: 1fr; } }
.footer-socials { margin-bottom: 18px; }
.whatsapp-float { position: fixed; z-index: 80; right: 22px; bottom: 22px; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: #25d366; color: #07120b; font-weight: 900; box-shadow: 0 16px 45px #0009; }

.set-art-play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 78px; height: 78px; display: grid; place-items: center; padding-left: 5px; border: 1px solid #ffffff80; border-radius: 50%; background: #ff163de8; color: white; font-size: 1.5rem; box-shadow: 0 0 35px #ff163d55; }
.set-source-label { margin: 2px 0 8px; color: #d8d8dd; font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.set-audio, .set-list-item audio { width: 100%; min-height: 44px; color-scheme: dark; }
.set-stream-link { align-self: flex-start; margin-top: 16px; }
.set-list .set-list-item { min-height: 0; padding: 24px; display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 7px; border-left: 2px solid transparent; background: var(--panel); }
.set-list .set-list-item:hover { border-color: var(--red); }
.set-list-item > span { margin: 0 0 5px; }
.set-list-item > a { align-self: flex-start; margin-top: 3px; color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .08em; }

.event-gallery { margin-top: 90px; }
.gallery-intro { max-width: 420px; margin: 0; color: var(--muted); line-height: 1.6; text-align: right; }
.gallery-album-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 340px; align-items: stretch; gap: 16px; }
.gallery-all-albums { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.gallery-album-card {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #ffffff16;
  background: #111116;
  color: white;
  text-align: left;
  isolation: isolate;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.gallery-album-card:hover { transform: translateY(-5px); border-color: #ff163d78; box-shadow: 0 30px 70px #0009; }
.gallery-album-card > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .55s ease, filter .55s ease; }
.gallery-album-card:hover > img { transform: scale(1.045); filter: saturate(1.12); }
.gallery-album-placeholder { position: absolute; inset: 0; z-index: -2; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, #ff163d2b, transparent 42%), #0c0c10; }
.gallery-album-placeholder img { width: min(58%, 270px); height: auto; opacity: .86; }
.gallery-album-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #05050708 24%, #050507ee 92%), linear-gradient(110deg, #ff163d18, transparent 46%); }
.gallery-album-count { position: absolute; top: 18px; right: 18px; padding: 8px 11px; border: 1px solid #ffffff2e; background: #08080bd9; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.gallery-album-copy { position: absolute; inset: auto 26px 24px; display: flex; flex-direction: column; align-items: flex-start; }
.gallery-album-copy time { margin-bottom: 8px; color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .13em; }
.gallery-album-copy strong { max-width: 90%; font: 700 clamp(1.55rem, 2.7vw, 2.5rem)/1 Oswald, sans-serif; text-transform: uppercase; }
.gallery-album-copy small { margin-top: 12px; color: #d2d2d6; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gallery-album-copy small b { margin-left: 4px; color: var(--red); font-size: 1rem; }
.gallery-all-action { display: flex; justify-content: center; margin-top: 28px; }

.gallery-empty {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border: 1px dashed #ffffff27;
  background: linear-gradient(135deg, #111116, #0a0a0d);
  text-align: center;
}

.gallery-empty strong { font: 700 2rem Oswald, sans-serif; text-transform: uppercase; }
.gallery-empty span { color: var(--muted); }

.gallery-lightbox {
  width: min(94vw, 1500px);
  max-width: none;
  height: min(92vh, 1000px);
  padding: 0;
  border: 1px solid #ffffff2a;
  background: #050507;
  box-shadow: 0 40px 120px #000;
  overflow: hidden;
}

.gallery-lightbox::backdrop { background: #000e; backdrop-filter: blur(8px); }
.gallery-lightbox figure { width: 100%; height: 100%; margin: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.gallery-lightbox-stage { position: relative; min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; }
.gallery-lightbox-image, .gallery-lightbox-video { display: block; width: 100%; height: 100%; min-height: 0; margin: auto; object-fit: contain; background: #050507; }
.gallery-lightbox-video[hidden], .gallery-lightbox-image[hidden] { display: none; }
.gallery-lightbox-watermark { display: none; position: absolute; right: 24px; bottom: 22px; width: min(22%, 260px); height: auto; pointer-events: none; filter: drop-shadow(0 4px 12px #000c); }
.gallery-lightbox.is-video .gallery-lightbox-watermark { display: block; }
.gallery-lightbox figcaption { min-height: 48px; padding: 13px 80px; color: #d1d1d5; text-align: center; line-height: 1.45; }
.gallery-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 46px; height: 46px; border: 1px solid #ffffff38; border-radius: 50%; background: #08080bd9; color: white; font-size: 1.8rem; cursor: pointer; }
.gallery-control { position: absolute; z-index: 2; top: 50%; width: 52px; height: 70px; transform: translateY(-50%); border: 1px solid #ffffff30; background: #08080bd9; color: white; font-size: 2.5rem; cursor: pointer; }
.gallery-control:hover, .gallery-close:hover { border-color: var(--red); background: #151519; }
.gallery-previous { left: 12px; }
.gallery-next { right: 12px; }
.gallery-counter { position: absolute; z-index: 2; left: 15px; bottom: 15px; padding: 6px 9px; background: #08080bd9; color: #ddd; font-size: .7rem; font-weight: 800; letter-spacing: .1em; }

.gallery-archive-page { background: radial-gradient(circle at 50% 0, #ff163d0e, transparent 34%), var(--dark); }
.gallery-archive-main { min-height: 80vh; }
.gallery-archive-hero { max-width: 1500px; margin: auto; padding: 180px max(6vw, 24px) 65px; border-bottom: 1px solid #ffffff12; }
.gallery-archive-hero h1 { max-width: 1100px; margin: .12em 0 .2em; font: 700 clamp(4rem, 10vw, 9rem)/.9 Oswald, sans-serif; letter-spacing: -.035em; text-transform: uppercase; }
.gallery-archive-hero > p:last-child { max-width: 650px; margin: 22px 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.gallery-back { display: inline-flex; margin-bottom: 55px; color: #d5d5d9; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.gallery-back:hover { color: var(--red); }
.gallery-album-meta { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 28px; }
.gallery-album-meta > * { padding: 9px 12px; border: 1px solid #ffffff1e; background: #111116; color: #d6d6da; font-size: .75rem; font-weight: 700; }
.gallery-album-section, .gallery-photo-section { padding-top: 65px; }
.gallery-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gallery-photo-card { position: relative; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 1px solid #ffffff16; background: #111116; color: white; cursor: zoom-in; }
.gallery-photo-card > img:not(.gallery-video-watermark), .gallery-photo-card > video { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .45s ease, filter .45s ease; }
.gallery-photo-card.is-video { cursor: pointer; }
.gallery-photo-card.is-video > span { left: 50%; right: auto; top: 50%; bottom: auto; width: 62px; height: 62px; transform: translate(-50%, -50%); border-radius: 50%; padding-left: 4px; background: #08080be6; font-size: 1.25rem; }
.gallery-video-watermark { position: absolute; right: 14px; bottom: 13px; width: min(28%, 150px); height: auto; pointer-events: none; filter: drop-shadow(0 3px 9px #000c); }
.gallery-photo-card > span { position: absolute; right: 15px; bottom: 15px; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #ffffff35; background: #08080bd1; color: var(--red); font-weight: 900; }
.gallery-photo-card:hover > img:not(.gallery-video-watermark), .gallery-photo-card:hover > video { transform: scale(1.035); filter: saturate(1.12); }

.language-switcher {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-left: 18px;
  border-left: 1px solid #ffffff28;
}

.language-switcher a {
  min-width: 35px;
  padding: 6px 8px;
  border: 1px solid transparent;
  color: #aaa;
  font-size: 1.18rem;
  line-height: 1;
  text-align: center;
}

.language-switcher a.active {
  color: #fff;
  border-color: var(--red);
  background: #ff163d18;
}

.legal-page { max-width: 900px; min-height: 100vh; }
.legal-page > p { color: var(--muted); line-height: 1.8; }
.legal-switcher { display: flex; gap: 8px; margin: 35px 0; }
.legal-switcher a { padding: 7px 10px; border: 1px solid #ffffff2c; font-size: 1.2rem; line-height: 1; font-weight: 800; }
.legal-switcher a.active { color: #fff; border-color: var(--red); background: #ff163d18; }

.skip-link { position: fixed; z-index: 500; top: 12px; left: 12px; padding: 12px 16px; color: #fff; background: var(--red); transform: translateY(-160%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #ff5f78; outline-offset: 4px; }
.site-header nav { gap: clamp(.75rem, 1.6vw, 1.7rem); align-items: center; }

.epk-page { background: #070709; }
.epk-header { background: #08080bf2; border-bottom: 1px solid #ffffff13; }
.epk-hero { position: relative; min-height: 86svh; display: grid; place-items: center; overflow: hidden; text-align: center; }
.epk-hero-bg, .epk-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.epk-hero-bg { filter: saturate(.85) contrast(1.15); }
.epk-hero-shade { background: radial-gradient(circle at 50% 45%, #07070945, #070709ed 78%), linear-gradient(90deg, #070709b0, transparent, #070709b0); }
.epk-hero-copy { position: relative; z-index: 2; max-width: 900px; padding: 130px 24px 70px; }
.epk-main-logo { display: block; width: min(760px, 88vw); margin: 24px auto; filter: drop-shadow(0 18px 35px #000); }
.epk-hero-copy > p:not(.eyebrow) { max-width: 720px; margin: 0 auto; color: #ceced3; line-height: 1.8; }
.epk-profile-section { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.epk-profile-image { position: relative; min-height: 580px; overflow: hidden; border: 1px solid #ffffff18; }
.epk-profile-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, #070709e6); }
.epk-profile-image img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; }
.epk-profile-copy p:not(.eyebrow), .epk-download-copy > p:not(.eyebrow), .epk-contact-section > p:not(.eyebrow), .epk-empty { color: var(--muted); line-height: 1.8; }
.epk-facts-section { max-width: none; background: linear-gradient(135deg, #111116, #08080b); }
.epk-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid #ffffff1c; }
.epk-facts > div { padding: 30px 22px; border-bottom: 1px solid #ffffff1c; }
.epk-facts > div:nth-child(odd) { border-right: 1px solid #ffffff1c; }
.epk-facts dt { margin-bottom: 10px; color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.epk-facts dd { margin: 0; font: 700 clamp(1.45rem, 3vw, 2.5rem) Oswald, sans-serif; }
.epk-download-section { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(40px, 8vw, 100px); align-items: center; }
.epk-document { min-height: 430px; padding: 45px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid #ffffff1c; background: linear-gradient(145deg, #ff163d18, transparent 45%), url('assets/hero-v2.png') center/cover; box-shadow: 0 45px 100px #000; }
.epk-document span { color: var(--red); font: 800 1rem Inter, sans-serif; letter-spacing: .22em; }
.epk-document strong { color: white; font: 700 clamp(5rem, 10vw, 9rem)/1 Oswald, sans-serif; }
.epk-document small { font-weight: 800; letter-spacing: .18em; }
.epk-contact-section { max-width: 1050px; text-align: center; }
.epk-contact-section .contact { align-items: center; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 1100px) {
  .site-header:not(.epk-header) { height: 66px; }
  .site-header:not(.epk-header) .menu-toggle { display: block; }
  .site-header:not(.epk-header) nav { position: absolute; top: 66px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; padding: 30px; background: #09090bf5; border-bottom: 1px solid #ffffff18; }
  .site-header:not(.epk-header) nav.open { display: flex; }
  .site-header:not(.epk-header) .language-switcher { padding: 18px 0 0; border-left: 0; border-top: 1px solid #ffffff18; }
}

@media (max-width: 800px) {
  .brand-logo img { width: 145px; }
  .hero-logo { width: min(90vw, 650px); }
  .artist-profile { grid-template-columns: 1fr; gap: 35px; }
  .language-switcher { padding: 18px 0 0; border-left: 0; border-top: 1px solid #ffffff18; }
  .event-spotlight { grid-template-columns: 1fr; }
  .event-spotlight-visual { min-height: 380px; order: -1; }
  .event-spotlight-visual::before { width: 62vw; }
  .event-list { grid-template-columns: 1fr; }
  .event-history-head { align-items: flex-start; flex-direction: column; }
  .event-card { grid-template-columns: 105px 1fr; }
  .event-card.has-flyer { grid-template-columns: 105px 92px 1fr; }
  .event-card > div { padding: 24px 20px; }
  .gallery-intro { text-align: left; }
  .gallery-album-grid, .gallery-all-albums { grid-template-columns: 1fr 1fr; }
  .gallery-album-grid { grid-auto-rows: 300px; }
  .gallery-photo-grid { grid-template-columns: 1fr 1fr; }
  .gallery-archive-hero { padding-top: 135px; }
  .gallery-back { margin-bottom: 38px; }
  .cookie-banner { grid-template-columns: 1fr; }
  .cookie-actions { justify-content: flex-start; }
  .venue-cloud { grid-template-columns: 1fr 1fr; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .epk-nav { position: static; display: flex; flex-direction: row; padding: 0; background: transparent; }
  .epk-nav > a { display: none; }
  .epk-nav .language-switcher { padding: 0; border: 0; }
  .epk-profile-section, .epk-download-section { grid-template-columns: 1fr; }
  .epk-profile-image, .epk-profile-image img { min-height: 430px; }
  .epk-facts { grid-template-columns: 1fr; }
  .epk-facts > div:nth-child(odd) { border-right: 0; }
}

@media (max-width: 480px) {
  .event-card { grid-template-columns: 88px 1fr; }
  .event-card.has-flyer { grid-template-columns: 88px 82px 1fr; }
  .event-card time strong { font-size: 1.8rem; }
  .event-card h4 { font-size: 1.2rem; }
  .event-card.has-flyer > div { padding: 20px 14px; }
  .event-flyer-thumb span { display: none; }
  .gallery-album-grid, .gallery-all-albums, .gallery-photo-grid { grid-template-columns: 1fr; }
  .gallery-album-grid { grid-auto-rows: 260px; }
  .gallery-album-copy { inset: auto 20px 20px; }
  .gallery-album-copy strong { max-width: 100%; }
  .gallery-photo-card { aspect-ratio: 4 / 3; }
  .gallery-lightbox { width: 100vw; height: 100vh; max-height: none; border: 0; }
  .gallery-lightbox figcaption { padding: 12px 58px; }
  .gallery-control { top: auto; bottom: 8px; width: 46px; height: 46px; transform: none; font-size: 2rem; }
  .gallery-previous { left: 8px; }
  .gallery-next { right: 8px; }
  .gallery-counter { left: 50%; bottom: 17px; transform: translateX(-50%); }
  .cookie-banner { inset: auto 10px 10px; padding: 22px 18px; }
  .cookie-actions .btn { width: 100%; }
  .venue-cloud { grid-template-columns: 1fr; }
}
