:root{--ink:#111;--purple:#4b2692;--deep:#29116c;--pink:#f05ba0;--orange:#ff7138;--yellow:#ffc34e;--cream:#fff7ee;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 clamp(22px,4vw,64px);display:flex;align-items:center;gap:36px;justify-content:space-between;background:rgba(255,247,238,.93);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid #111}.brand{font-family:'Archivo Black';font-size:17px;letter-spacing:-.06em}.brand span{background:var(--pink);padding:1px 4px}.site-header nav{display:flex;gap:30px;font-size:14px;font-weight:700}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--yellow);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:17px 24px;font-weight:800;text-transform:uppercase;transition:.2s}.button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}.button-small{padding:10px 18px;box-shadow:3px 3px 0 var(--ink);font-size:13px}.hero{min-height:calc(100vh - 76px);position:relative;overflow:hidden;background:linear-gradient(135deg,var(--orange) 0 31%,var(--pink) 31% 56%,var(--purple) 56%);padding:clamp(55px,8vw,110px) clamp(24px,8vw,125px);display:grid;grid-template-columns:1fr minmax(300px,520px);gap:clamp(35px,7vw,110px);align-items:center}.orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.35);pointer-events:none}.orb-one{width:50vw;height:50vw;right:-19vw;top:-24vw;background:radial-gradient(circle at 30% 30%,rgba(255,195,78,.7),transparent 55%)}.orb-two{width:34vw;height:34vw;left:-22vw;bottom:-15vw;background:var(--yellow);opacity:.45}.hero-copy{position:relative;z-index:2}.eyebrow,.section-number,.kicker{text-transform:uppercase;font-weight:800;letter-spacing:.14em;font-size:12px}.hero h1,.intro h2,.lineup h2,.mission h2,.tickets h2{font-family:'Archivo Black';text-transform:uppercase;line-height:.82;letter-spacing:-.075em;margin:.22em 0}.hero h1{font-size:clamp(68px,9vw,144px);color:white;text-shadow:5px 5px 0 #111}.hero h1 span{color:var(--yellow)}.hero-tagline{font-weight:800;text-transform:uppercase;max-width:570px}.event-facts{display:flex;gap:0;margin:32px 0}.event-facts div{padding:10px 20px;border-left:2px solid #111;display:grid}.event-facts strong{font-family:'Archivo Black';font-size:20px}.event-facts span{text-transform:uppercase;font-size:11px;font-weight:700}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:5px}.hero-poster{position:relative;z-index:2;transform:rotate(2deg)}.hero-poster img{width:100%;max-height:70vh;object-fit:cover;object-position:top;display:block;border:2px solid #111;box-shadow:14px 14px 0 #111}.venue-card{position:absolute;right:-20px;bottom:30px;background:var(--yellow);border:2px solid #111;padding:14px 18px;display:grid;text-transform:uppercase;transform:rotate(-4deg)}.venue-card span{font-size:10px;font-weight:800}.venue-card strong{font-family:'Archivo Black';font-size:18px}.hero-side{position:absolute;right:10px;top:50%;writing-mode:vertical-rl;color:white;font-weight:800;font-size:11px;letter-spacing:.2em}.ticker{overflow:hidden;background:#111;color:#fff;border-block:2px solid #111;padding:17px 0;white-space:nowrap}.ticker div{font-family:'Archivo Black';font-size:18px;word-spacing:14px;animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.intro{padding:110px clamp(24px,8vw,125px);display:grid;grid-template-columns:.45fr 1.3fr .7fr;gap:50px;align-items:start}.intro h2,.lineup h2,.mission h2,.tickets h2{font-size:clamp(50px,7vw,104px)}.intro h2 em{font-style:normal;color:var(--purple)}.intro>p:last-child{font-size:19px;line-height:1.6;margin-top:20px}.program-grid{display:grid;grid-template-columns:1fr 1fr}.program-card{min-height:620px;padding:clamp(32px,6vw,90px);position:relative;display:flex;flex-direction:column;align-items:flex-start}.concert-card{background:var(--orange)}.party-card{background:var(--deep);color:white}.program-card .time{font-family:'Archivo Black';font-size:clamp(44px,6vw,80px)}.program-card h3{font-family:'Archivo Black';font-size:clamp(42px,5vw,74px);line-height:.9;text-transform:uppercase;letter-spacing:-.06em;margin:45px 0 22px}.program-card>p:not(.kicker){font-size:17px;line-height:1.6;max-width:550px}.program-card a,.poster-open{margin-top:auto;font:800 14px Inter;text-transform:uppercase;border:0;border-bottom:2px solid currentColor;padding:0 0 6px;background:none;color:inherit;cursor:pointer}.lineup{padding:120px clamp(24px,8vw,125px);background:var(--pink);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.lineup-heading{position:sticky;top:120px;align-self:start}.lineup-heading>p:last-child{line-height:1.6;max-width:420px}.names{display:flex;flex-wrap:wrap;align-content:center;gap:10px}.names span{font-family:'Archivo Black';text-transform:uppercase;border:2px solid #111;background:var(--cream);padding:11px 14px;font-size:clamp(17px,2.1vw,31px);box-shadow:3px 3px 0 #111}.names .featured{background:var(--yellow);font-size:clamp(28px,3.6vw,54px);width:100%}.mission{padding:120px clamp(24px,8vw,125px);background:var(--purple);color:white;display:grid;grid-template-columns:.2fr 1fr .65fr;gap:55px;align-items:center}.mission-mark{font-family:'Archivo Black';font-size:180px;color:var(--pink)}.mission-copy{font-size:18px;line-height:1.6}.button-light{color:#111;margin-top:20px}.tickets{min-height:700px;padding:120px 24px;background:linear-gradient(140deg,var(--orange),var(--pink) 48%,var(--purple));text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.tickets h2 span{color:var(--yellow)}.button-black{background:#111;color:white;box-shadow:6px 6px 0 var(--yellow);border-color:#111;margin:30px}.address{font-weight:700;line-height:1.5}footer{padding:36px clamp(24px,6vw,90px);display:flex;align-items:center;gap:35px;font-size:12px;border-top:2px solid #111}footer img{width:150px;height:auto}footer p:last-child{margin-left:auto}dialog{padding:0;border:0;background:transparent;max-height:92vh}dialog::backdrop{background:rgba(0,0,0,.86)}dialog img{display:block;max-height:88vh;max-width:88vw}dialog button{position:fixed;right:25px;top:15px;background:white;border:0;border-radius:50%;font-size:34px;width:52px;height:52px;cursor:pointer}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero h1{font-size:clamp(60px,17vw,110px)}.hero-poster{max-width:520px}.hero-side{display:none}.intro{grid-template-columns:1fr}.intro .section-number{margin-bottom:-30px}.program-grid,.lineup,.mission{grid-template-columns:1fr}.program-card{min-height:540px}.lineup-heading{position:static}.mission-mark{display:none}.event-facts{flex-wrap:wrap}.hero-actions{align-items:flex-start;flex-direction:column}.site-header{height:66px}.button-small{display:flex}.intro,.lineup,.mission{padding-block:80px}}
@media(max-width:540px){.hero{padding-inline:20px}.hero h1{text-shadow:3px 3px 0 #111}.hero-poster{margin-right:12px}.venue-card{right:-10px}.event-facts div{padding:9px 12px}.program-card{padding:55px 24px}.intro h2,.lineup h2,.mission h2,.tickets h2{font-size:clamp(45px,14vw,70px)}footer{align-items:flex-start;flex-direction:column}footer p:last-child{margin-left:0}.site-header{padding-inline:18px}.brand{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}}

/* Bilingual navigation, linked artists and partner wall */
.site-header nav{gap:20px}.header-actions{display:flex;align-items:center;gap:16px}.language-switch{display:flex;border:2px solid #111}.language-switch button{border:0;background:transparent;padding:8px 9px;font-weight:800;cursor:pointer}.language-switch button.active{background:#111;color:#fff}

.hero-actions{flex-wrap:wrap}.tickets{scroll-margin-top:76px}
.names span,.names a{font-family:'Archivo Black';text-transform:uppercase;border:2px solid #111;background:var(--cream);padding:11px 14px;font-size:clamp(17px,2.1vw,31px);box-shadow:3px 3px 0 #111;transition:.2s}.names a:hover{background:var(--yellow);transform:translate(-2px,-2px);box-shadow:6px 6px 0 #111}.names .featured{background:var(--yellow);font-size:clamp(28px,3.6vw,54px);width:100%}
.party-headliners{grid-column:2;display:flex;gap:10px;flex-wrap:wrap}.party-headliners .kicker{width:100%}.party-headliners a{border-bottom:2px solid #111;font-weight:800;font-size:19px;padding:6px 0;margin-right:18px}
.partners{padding:110px clamp(24px,8vw,125px);background:#171717;color:#fff}.partners-heading{display:grid;grid-template-columns:.45fr 1fr .7fr;gap:40px;align-items:start}.partners h2{font-family:'Archivo Black';text-transform:uppercase;line-height:.9;letter-spacing:-.06em;font-size:clamp(42px,6vw,82px);margin:0}.partners-heading>p:last-child{line-height:1.6}.partner-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:65px}.partner-logos a{min-height:120px;background:linear-gradient(135deg,var(--pink),var(--purple));border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;padding:12px;transition:.2s}.partner-logos a:hover{transform:translateY(-5px);border-color:var(--yellow)}.partner-logos img{max-width:100%;height:auto}
@media(max-width:900px){.party-headliners{grid-column:1}.partners-heading{grid-template-columns:1fr}.partner-logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:540px){.partner-logos{grid-template-columns:repeat(2,1fr)}.partner-logos a{min-height:95px}.language-switch button{padding:7px}.header-actions .button-small{display:none}}

/* Artist portraits and major drag-show feature */
.artist-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.artist-card{position:relative;min-height:360px;overflow:hidden;background:#111;border:2px solid #111;box-shadow:5px 5px 0 #111}.artist-card img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .35s}.artist-card:hover img{transform:scale(1.035)}.artist-card span{position:absolute;left:0;right:0;bottom:0;padding:35px 13px 13px;background:linear-gradient(transparent,rgba(0,0,0,.92));color:#fff;font-family:'Archivo Black';text-transform:uppercase;font-size:19px}.artist-card small{position:absolute;top:12px;left:12px;background:var(--yellow);padding:7px 9px;font-weight:800;text-transform:uppercase}.artist-featured{grid-column:span 2}.more-artists{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.more-artists p{width:100%;font-weight:800;text-transform:uppercase}.more-artists span,.more-artists a{border:1px solid #111;padding:8px 10px;font-weight:700;background:rgba(255,255,255,.35)}
.drag-show{padding:100px clamp(24px,7vw,110px);background:linear-gradient(145deg,var(--orange),var(--pink) 46%,var(--deep));color:#fff;display:grid;grid-template-columns:minmax(300px,.75fr) 1.25fr;gap:clamp(40px,7vw,100px);align-items:center;overflow:hidden}.drag-poster{position:relative}.drag-poster:before{content:'35 QUEENS';position:absolute;z-index:2;left:-35px;top:45px;background:var(--yellow);color:#111;border:2px solid #111;padding:10px 16px;font-family:'Archivo Black';font-size:clamp(24px,3vw,42px);transform:rotate(-5deg)}.drag-poster img{width:100%;display:block;border:2px solid #111;box-shadow:14px 14px 0 #111;transform:rotate(1.5deg)}.drag-copy h2{font-family:'Archivo Black';font-size:clamp(54px,7vw,105px);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;margin:.25em 0}.drag-copy h2 em{font-style:normal;color:var(--yellow)}.drag-lead{max-width:700px;font-size:19px;line-height:1.6}.party-links{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.party-links a{background:#111;padding:11px 13px;font-weight:800;text-transform:uppercase}.queen-names{display:flex;flex-wrap:wrap;gap:7px;max-height:260px;overflow:auto;padding-right:8px}.queen-names span,.queen-names a{border:1px solid rgba(255,255,255,.65);padding:6px 8px;text-transform:uppercase;font-weight:700;font-size:12px;background:rgba(20,10,60,.3)}.queen-names a{transition:.18s}.queen-names a:hover,.queen-names a:focus-visible{background:var(--yellow);border-color:var(--yellow);color:#111}.queen-names span{opacity:.72}
.partner-logos{grid-template-columns:repeat(4,1fr)}.partner-logos a{background:#fff;border:2px solid #333;padding:22px;min-height:145px}.partner-logos img{width:100%;height:80px;object-fit:contain}.partner-logos a:hover{border-color:var(--yellow);box-shadow:0 7px 0 var(--yellow)}
@media(max-width:1100px){.artist-gallery{grid-template-columns:repeat(2,1fr)}.artist-featured{grid-column:span 1}.drag-show{grid-template-columns:.8fr 1.2fr}.partner-logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.drag-show{grid-template-columns:1fr}.drag-poster{max-width:480px;margin:auto}.artist-card{min-height:430px}.more-artists{grid-column:1}.partner-logos{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.artist-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.artist-card{min-height:0;aspect-ratio:3/4;box-shadow:3px 3px 0 #111}.artist-card span{padding:28px 9px 9px;font-size:clamp(13px,3.7vw,16px);line-height:1.05}.artist-card small{top:8px;left:8px;right:8px;padding:5px 6px;font-size:10px;line-height:1.15}.partner-logos{grid-template-columns:1fr}.partner-logos a{min-height:125px}}
.partner-logos .partner-logo{background:#fff;border:2px solid #333;padding:22px;min-height:145px;display:flex;align-items:center;justify-content:center}

/* White partner marks sit directly on the dark section */
.partner-logos a,
.partner-logos .partner-logo{background:transparent;border:0;box-shadow:none;padding:18px;min-height:115px}
.partner-logos a:hover{border:0;box-shadow:none;transform:translateY(-4px);opacity:.78}
.partner-logos img{height:72px;filter:none}

.sponsor-contact{margin-top:64px;padding-top:38px;border-top:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:space-between;gap:36px}.sponsor-contact p{max-width:720px;margin:0;font-size:18px;line-height:1.55;font-weight:600}.sponsor-button{flex:none;background:var(--yellow);color:#111}
.press-contact{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:16px}.press-contact p{margin:0}.press-contact-links{display:flex;flex-wrap:wrap;gap:10px 22px}.press-contact a{color:inherit;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.sponsor-contact{margin-top:44px;align-items:flex-start;flex-direction:column;gap:24px}.sponsor-contact p{font-size:17px}.sponsor-button{width:100%}}
@media(max-width:760px){.press-contact{align-items:flex-start;flex-direction:column;gap:12px}.press-contact-links{flex-direction:column;gap:8px}}

/* Mobile repair for the drag-show section: keep every element inside the viewport. */
.drag-show > *,
.drag-copy,
.drag-poster{min-width:0}

@media(max-width:760px){
  .drag-show{
    width:100%;
    padding:72px 20px 78px;
    gap:50px;
    overflow:hidden;
  }
  .drag-poster{
    width:calc(100% - 12px);
    max-width:460px;
  }
  .drag-poster:before{
    left:-8px;
    top:28px;
    padding:8px 12px;
    font-size:clamp(22px,7vw,30px);
  }
  .drag-poster img{
    box-shadow:8px 8px 0 #111;
    transform:rotate(.5deg);
  }
  .drag-copy{
    width:100%;
    max-width:100%;
  }
  .drag-copy h2{
    max-width:100%;
    font-size:clamp(40px,10.8vw,54px);
    line-height:.9;
    letter-spacing:-.065em;
    overflow-wrap:normal;
  }
  .drag-lead{
    max-width:100%;
    font-size:17px;
    line-height:1.55;
  }
  .party-links{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    margin:26px 0 30px;
  }
  .party-links a{
    width:100%;
    min-width:0;
    padding:13px 14px;
    overflow-wrap:anywhere;
  }
  .queen-names{
    width:100%;
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
  .queen-names span,
  .queen-names a{
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

/* Lightweight, self-hosted analytics consent */
.cookie-settings{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:2px 0;font:700 12px Inter,Arial,sans-serif;cursor:pointer}
.cookie-settings:hover,.cookie-settings:focus-visible{color:var(--purple)}
.consent-banner[hidden]{display:none}
.consent-banner{position:fixed;z-index:1000;left:24px;right:24px;bottom:24px;margin:auto;width:min(1120px,calc(100% - 48px));background:var(--cream);color:var(--ink);border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.consent-kicker{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.14em}
.consent-copy h2{margin:0 0 10px;font-family:'Archivo Black';font-size:clamp(25px,3vw,38px);line-height:1;text-transform:uppercase;letter-spacing:-.045em}
.consent-copy>p:last-of-type{max-width:720px;margin:0;font-size:15px;line-height:1.5}
.consent-copy details{margin-top:12px;font-size:13px;line-height:1.45}
.consent-copy summary{width:max-content;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent-copy details p{max-width:760px;margin:8px 0 0}
.consent-actions{display:flex;gap:12px;align-items:center}
.consent-button{min-height:48px;padding:12px 18px;border:2px solid var(--ink);font:800 13px Inter,Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.consent-reject{background:var(--cream);color:var(--ink)}
.consent-accept{background:var(--yellow);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.consent-button:hover,.consent-button:focus-visible{transform:translate(-1px,-1px)}
@media(max-width:760px){
  .consent-banner{left:12px;right:12px;bottom:12px;width:calc(100% - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:20px;grid-template-columns:1fr;gap:18px;box-shadow:6px 6px 0 var(--ink)}
  .consent-actions{display:grid;grid-template-columns:1fr 1fr}
  .consent-button{padding-inline:10px;font-size:12px}
}
@media(max-width:390px){
  .consent-actions{grid-template-columns:1fr}
  .consent-accept{grid-row:1}
}

@media(max-width:390px){
  .drag-show{padding-inline:18px}
  .drag-copy h2{font-size:clamp(34px,10.2vw,40px)}
}

/* Compact mobile gallery and complete sticky header. */
@media(max-width:540px){
  .artist-card{aspect-ratio:2/3}
  .site-header{padding-inline:12px;gap:8px}
  .brand{font-size:13px;white-space:nowrap}
  .header-actions{gap:7px}
  .language-switch button{min-height:40px;padding:8px 7px;font-size:11px}
  .header-actions .button-small{
    display:inline-flex;
    min-height:40px;
    padding:8px 9px;
    gap:0;
    font-size:10px;
    box-shadow:2px 2px 0 #111;
  }
}

@media(max-width:350px){
  .site-header{padding-inline:9px;gap:6px}
  .brand{font-size:12px}
  .header-actions{gap:5px}
  .language-switch button{padding-inline:6px}
  .header-actions .button-small{padding-inline:7px;font-size:9px}
}

/* The English introduction is longer than the French one. */
.intro > *{min-width:0}

@media(max-width:540px){
  html[lang="en"] .intro h2,
  html[lang="nl"] .intro h2{
    width:100%;
    max-width:100%;
    font-size:clamp(34px,10.4vw,48px);
    line-height:.9;
    letter-spacing:-.065em;
  }
  html[lang="en"] .intro > p:last-child{max-width:100%}
  html[lang="nl"] .intro > p:last-child{max-width:100%}
}

@media(max-width:1050px){.site-header nav{display:none}}

/* Three voluntary support levels, all leading to the same ticket shop. */
.pricing-note{max-width:720px;margin:26px auto 8px;font-size:18px;line-height:1.55}
.ticket-pricing{width:min(100%,960px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:34px auto 8px;text-align:left}
.price-card{min-width:0;min-height:190px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:var(--cream);color:#111;border:2px solid #111;box-shadow:7px 7px 0 #111;transition:.2s}
.price-card span{font-family:'Archivo Black';font-size:17px;text-transform:uppercase}
.price-card strong{font-family:'Archivo Black';font-size:clamp(48px,5vw,72px);line-height:1;margin:20px 0 14px}
.price-card small{font-size:14px;font-weight:800;text-transform:uppercase;line-height:1.3}
.price-card.price-solidarity{background:var(--yellow)}
.price-card.price-love{background:#111;color:#fff;box-shadow:7px 7px 0 var(--yellow)}
.price-card:hover,.price-card:focus-visible{transform:translate(-3px,-3px);box-shadow:10px 10px 0 #111}
.price-card.price-love:hover,.price-card.price-love:focus-visible{box-shadow:10px 10px 0 var(--yellow)}

@media(max-width:760px){
  .pricing-note{font-size:17px}
  .ticket-pricing{grid-template-columns:1fr;width:min(100%,420px);gap:14px}
  .price-card{min-height:150px;padding:20px}
  .price-card strong{font-size:54px;margin:14px 0 10px}
}
