:root {
  --pink: #ff0099;
  --pink-2: #ff3abf;
  --cyan: #00e5ff;
  --blue: #1268ff;
  --yellow: #fff000;
  --lime: #9bff00;
  --orange: #ff6b00;
  --purple: #7c3cff;
  --ink: #101020;
  --dark: #080816;
  --white: #ffffff;
  --soft: rgba(255, 255, 255, .78);
  --card: rgba(255, 255, 255, .11);
  --border: rgba(255, 255, 255, .18);
  --shadow: 0 24px 80px rgba(0, 0, 0, .32);
  --radius: 28px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--white);
  background:
    radial-gradient(circle at 16% 8%, rgba(255, 0, 153, .42), transparent 28%),
    radial-gradient(circle at 78% 3%, rgba(0, 229, 255, .34), transparent 24%),
    linear-gradient(135deg, #09081c 0%, #1f0948 48%, #060714 100%);
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.58) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255,255,255,.05) 25%, transparent 25%);
  background-size: 20px 20px, 80px 80px;
  mix-blend-mode: screen;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-bg span { position: fixed; pointer-events: none; z-index: -1; filter: saturate(1.3); }
.shape-a { width: 280px; height: 280px; border-radius: 45% 55% 48% 52%; background: var(--pink); top: 12%; left: -130px; opacity: .55; }
.shape-b { width: 230px; height: 230px; border-radius: 50%; background: var(--cyan); bottom: 8%; right: -92px; opacity: .5; }
.shape-c { width: 210px; height: 210px; transform: rotate(18deg); background: var(--yellow); top: 25%; right: 7%; clip-path: polygon(50% 0, 100% 100%, 0 100%); opacity: .48; }
.shape-d { width: 180px; height: 70px; background: var(--lime); bottom: 20%; left: 5%; transform: skew(-18deg) rotate(-8deg); opacity: .5; }
.shape-e { width: 340px; height: 110px; background: var(--purple); top: 62%; right: 22%; transform: skew(24deg) rotate(-4deg); opacity: .42; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 14px clamp(18px, 4vw, 48px);
  background: rgba(8, 8, 22, .68);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  transition: background .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled { background: rgba(8, 8, 22, .92); box-shadow: 0 14px 40px rgba(0,0,0,.25); }

.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark {
  display: inline-grid;
  place-items: center;
  min-width: 62px;
  padding: 7px 11px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 24px;
  letter-spacing: .5px;
  color: #fff;
  background: linear-gradient(135deg, var(--pink), var(--cyan));
  border: 2px solid #fff;
  box-shadow: 6px 6px 0 var(--yellow), 9px 9px 0 rgba(0,0,0,.45);
  transform: rotate(-3deg);
}
.brand-text { font-weight: 900; text-transform: uppercase; letter-spacing: .02em; font-size: 14px; }

.main-nav { display: flex; align-items: center; gap: 8px; }
.main-nav a {
  padding: 10px 14px;
  border-radius: 999px;
  color: rgba(255,255,255,.84);
  font-weight: 800;
  font-size: 14px;
}
.main-nav a:hover { color: #fff; background: rgba(255,255,255,.13); }

.nav-toggle { display: none; background: transparent; border: 0; padding: 8px; cursor: pointer; }
.nav-toggle span:not(.sr-only) { display: block; width: 26px; height: 3px; margin: 5px 0; background: #fff; border-radius: 6px; }

.section-pad { padding: clamp(54px, 7vw, 96px) clamp(18px, 4vw, 48px); }
.section { max-width: var(--max); margin: 0 auto; position: relative; }

.hero {
  min-height: calc(100vh - 74px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 1.08fr);
  gap: clamp(28px, 5vw, 68px);
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 8px 12px;
  border-radius: 999px;
  color: #071017;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  background: linear-gradient(90deg, var(--yellow), var(--lime));
  box-shadow: 5px 5px 0 var(--pink);
}

h1, h2, h3 { margin: 0; line-height: .92; }
h1 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(54px, 7vw, 112px);
  text-transform: uppercase;
  letter-spacing: .015em;
  text-shadow: 5px 5px 0 var(--pink), 9px 9px 0 rgba(0,0,0,.38);
}
h1 span { color: var(--cyan); text-shadow: 4px 4px 0 var(--pink), 8px 8px 0 rgba(0,0,0,.35); }
h2 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(42px, 5.5vw, 82px);
  text-transform: uppercase;
  letter-spacing: .018em;
  text-shadow: 4px 4px 0 var(--pink), 8px 8px 0 rgba(0,0,0,.28);
}
h3 { font-size: clamp(22px, 2.3vw, 32px); }

.hero-lead, .section-head p, .card p, .form-copy p, .map-card p, .site-footer p {
  color: var(--soft);
  font-size: 18px;
  line-height: 1.65;
}
.hero-lead { max-width: 620px; margin: 24px 0 0; font-weight: 650; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  padding: 14px 21px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font-weight: 950;
  letter-spacing: .02em;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  color: #071017;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 6px 6px 0 var(--pink), 11px 11px 26px rgba(0,0,0,.24);
}
.btn-secondary {
  color: #fff;
  background: linear-gradient(135deg, var(--pink), var(--purple));
  box-shadow: 6px 6px 0 var(--cyan), 11px 11px 26px rgba(0,0,0,.24);
}
.btn-ghost {
  color: #fff;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.25);
}

.quick-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}
.quick-info div {
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
}
.quick-info strong { display: block; font-size: 18px; }
.quick-info span { display: block; color: var(--soft); margin-top: 4px; font-size: 13px; }

.hero-visual {
  position: relative;
  padding: 10px;
  border-radius: 34px;
  background: linear-gradient(135deg, var(--pink), var(--cyan), var(--yellow));
  box-shadow: var(--shadow);
  transform: rotate(1.2deg);
}
.hero-visual::after {
  content: "";
  position: absolute;
  inset: -18px;
  border-radius: 42px;
  z-index: -1;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.18) 0 8px, transparent 8px 18px);
  opacity: .35;
}
.hero-visual img { width: 100%; border-radius: 25px; }

.marquee {
  overflow: hidden;
  border-block: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(90deg, var(--pink), var(--cyan), var(--yellow), var(--lime));
  color: #070715;
  transform: rotate(-1deg) scale(1.02);
}
.marquee div {
  display: flex;
  width: max-content;
  gap: 24px;
  padding: 12px 0;
  animation: marquee 18s linear infinite;
}
.marquee span { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 26px; text-transform: uppercase; letter-spacing: .04em; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section-head { max-width: 780px; margin-bottom: 28px; }
.section-head p { margin: 18px 0 0; }

.ticket-highlights, .cards-grid, .info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ticket-highlights article,
.card,
.info-grid article,
.map-card,
.form-panel,
.iframe-card,
.steps-card,
.perks-card {
  border: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.06));
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}
.ticket-highlights article { padding: 18px; }
.ticket-highlights span, .info-grid span, .card-tag, .mini-label {
  display: inline-flex;
  color: #071017;
  background: linear-gradient(90deg, var(--cyan), var(--lime));
  font-weight: 950;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.ticket-highlights strong { display: block; margin-top: 14px; font-size: 20px; }

.iframe-card { margin-top: 22px; padding: clamp(14px, 2vw, 24px); }
.iframe-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.iframe-top h3 { margin-top: 8px; }
.external-link { font-weight: 900; color: var(--yellow); white-space: nowrap; }
.iframe-card iframe {
  width: 100%;
  min-height: 720px;
  border: 0;
  border-radius: 20px;
  background: #fff;
}

.card { padding: 24px; position: relative; overflow: hidden; }
.card::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -44px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,229,255,.42), transparent 65%);
}
.card h3 { margin-top: 16px; }
.card p { margin: 14px 0 0; font-size: 16px; }
.featured-card { border-color: rgba(255,240,0,.5); box-shadow: 0 24px 80px rgba(255,0,153,.22); }

.form-panel {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 26px;
  padding: clamp(22px, 3vw, 32px);
  margin-top: 22px;
}
.event-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.event-form label { display: grid; gap: 8px; color: rgba(255,255,255,.82); font-weight: 800; }
.event-form .full, .event-form button { grid-column: 1 / -1; }
input, textarea, select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 14px 15px;
  color: #fff;
  background: rgba(0,0,0,.22);
  outline: 0;
}
select option { color: #111; }
input:focus, textarea:focus, select:focus { border-color: var(--cyan); box-shadow: 0 0 0 4px rgba(0,229,255,.14); }

.collab-layout { display: grid; grid-template-columns: 1.04fr .96fr; gap: 22px; }
.steps-card, .perks-card { padding: clamp(22px, 3vw, 32px); }
.steps-card ol { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 16px; }
.steps-card li { display: grid; gap: 5px; padding-left: 20px; border-left: 5px solid var(--pink); }
.steps-card span { color: var(--soft); line-height: 1.5; }
.perks-list { display: grid; gap: 12px; margin-top: 22px; }
.perks-list div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px; border-radius: 18px; background: rgba(255,255,255,.1); }
.perks-list span { color: var(--yellow); font-weight: 950; }
.perks-list strong { text-align: right; }

.info-grid article { padding: 20px; }
.info-grid strong { display: block; margin-top: 14px; font-size: 19px; }
.map-card { margin-top: 22px; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.map-card p { margin: 8px 0 0; }

.site-footer {
  max-width: var(--max);
  margin: 28px auto 0;
  padding: 34px clamp(18px, 4vw, 48px) 118px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  color: rgba(255,255,255,.82);
}
.footer-logo-wrap { width: 82px; height: 82px; display: grid; place-items: center; border-radius: 24px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); }
.footer-logo { max-width: 58px; max-height: 58px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.35)); }
.footer-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.footer-socials a { padding: 10px 13px; border-radius: 999px; background: rgba(255,255,255,.11); font-weight: 850; }

.mobile-cta {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 120;
  display: none;
  gap: 10px;
  padding: 10px;
  border-radius: 999px;
  background: rgba(8,8,22,.76);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.mobile-cta .btn { flex: 1; min-height: 48px; padding: 11px 14px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; min-height: 0; padding-top: 36px; }
  .hero-copy { order: 2; }
  .hero-visual { order: 1; transform: none; }
  .ticket-highlights, .cards-grid, .info-grid { grid-template-columns: 1fr; }
  .form-panel, .collab-layout { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .map-card { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 760px) {
  .site-header { padding: 12px 16px; }
  .brand-text { max-width: 170px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nav-toggle { display: block; }
  .main-nav {
    position: fixed;
    top: 67px;
    left: 12px;
    right: 12px;
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 24px;
    background: rgba(8,8,22,.94);
    border: 1px solid rgba(255,255,255,.16);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }
  .main-nav.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .main-nav a { padding: 14px 16px; background: rgba(255,255,255,.1); }
  .quick-info { grid-template-columns: 1fr; }
  .hero-lead, .section-head p, .form-copy p { font-size: 16px; }
  .event-form { grid-template-columns: 1fr; }
  .iframe-top { flex-direction: column; align-items: flex-start; }
  .iframe-card iframe { min-height: 640px; }
  .mobile-cta { display: flex; }
  .section-pad { padding-left: 16px; padding-right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}


/* V2 updates */
.brand-mark { display: none !important; }
.brand-text {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,0,153,.24), rgba(0,229,255,.16));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 5px 5px 0 rgba(255,240,0,.16);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .035em;
  font-size: 13px;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.call-panel {
  margin-top: 22px;
  padding: clamp(22px, 3vw, 32px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 12% 18%, rgba(255,240,0,.24), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}
.call-panel p { color: var(--soft); font-size: 17px; line-height: 1.6; max-width: 720px; margin: 12px 0 0; }
.call-panel .btn { white-space: nowrap; }

.highlight-perk { position: relative; overflow: hidden; }
.highlight-perk::before {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  opacity: .24;
}
.big-perk {
  margin: 22px 0 16px;
  padding: 22px;
  border-radius: 24px;
  color: #071017;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 8px 8px 0 var(--pink), 14px 14px 38px rgba(0,0,0,.24);
}
.big-perk span { display: block; font-weight: 950; text-transform: uppercase; font-size: 13px; letter-spacing: .05em; }
.big-perk strong { display: block; margin-top: 8px; font-size: clamp(27px, 3.2vw, 42px); line-height: .95; }
.highlight-perk p { color: var(--soft); line-height: 1.6; margin: 0; }

.info-grid small {
  display: block;
  margin-top: 8px;
  color: var(--soft);
  font-size: 14px;
  line-height: 1.4;
}

@media (max-width: 1080px) {
  .benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .benefits-grid { grid-template-columns: 1fr; }
  .call-panel { flex-direction: column; align-items: flex-start; }
  .call-panel .btn { width: 100%; }
  .hero-actions .btn { width: 100%; }
  .brand-text { max-width: 210px; }
}


/* V3 updates: collab paliers + background Memphis plus flashy */
body {
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 240, 0, .62) 0 0, transparent 24%),
    radial-gradient(circle at 87% 12%, rgba(155, 255, 0, .54) 0 0, transparent 26%),
    radial-gradient(circle at 72% 80%, rgba(255, 0, 153, .55) 0 0, transparent 30%),
    radial-gradient(circle at 18% 86%, rgba(0, 229, 255, .54) 0 0, transparent 24%),
    conic-gradient(from 218deg at 50% 34%, rgba(255, 0, 153, .82), rgba(0, 229, 255, .76), rgba(255, 240, 0, .72), rgba(155, 255, 0, .62), rgba(124, 60, 255, .74), rgba(255, 107, 0, .70), rgba(255, 0, 153, .82)),
    linear-gradient(135deg, #07051c 0%, #170035 45%, #050516 100%);
  background-attachment: fixed;
}

body::before {
  opacity: .42;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.78) 1.4px, transparent 1.7px),
    radial-gradient(circle, rgba(255,240,0,.58) 2px, transparent 2.4px),
    linear-gradient(135deg, rgba(255,0,153,.18) 0 14%, transparent 14% 31%, rgba(0,229,255,.16) 31% 47%, transparent 47% 66%, rgba(155,255,0,.14) 66% 82%, transparent 82% 100%);
  background-size: 20px 20px, 58px 58px, 260px 260px;
  background-position: 0 0, 18px 22px, 0 0;
  mix-blend-mode: screen;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .52;
  background:
    linear-gradient(118deg, transparent 0 11%, rgba(255,240,0,.50) 11% 18%, transparent 18% 34%, rgba(0,229,255,.36) 34% 42%, transparent 42% 65%, rgba(255,0,153,.42) 65% 76%, transparent 76%),
    linear-gradient(28deg, transparent 0 18%, rgba(155,255,0,.34) 18% 28%, transparent 28% 58%, rgba(124,60,255,.34) 58% 69%, transparent 69%);
}

.page-bg span { filter: saturate(1.9); opacity: .68; }
.shape-a {
  width: 360px; height: 360px;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  opacity: .62;
}
.shape-b {
  width: 320px; height: 320px;
  background: linear-gradient(135deg, var(--cyan), var(--lime));
  opacity: .58;
}
.shape-c {
  background: linear-gradient(135deg, var(--yellow), var(--orange));
  opacity: .62;
}
.shape-d {
  background: linear-gradient(90deg, var(--lime), var(--cyan));
  opacity: .62;
}
.shape-e {
  background: linear-gradient(90deg, var(--purple), var(--pink));
  opacity: .58;
}

.site-header {
  background: rgba(7, 4, 28, .66);
}
.site-header.is-scrolled {
  background: rgba(7, 4, 28, .93);
}

.ticket-highlights article,
.card,
.info-grid article,
.map-card,
.form-panel,
.iframe-card,
.steps-card,
.perks-card,
.call-panel {
  background:
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,.075)),
    radial-gradient(circle at 100% 0%, rgba(0,229,255,.16), transparent 35%);
}

.perks-card.highlight-perk {
  border-color: rgba(255, 240, 0, .5);
  box-shadow: 0 26px 85px rgba(255,0,153,.28), 0 0 0 1px rgba(255,240,0,.10) inset;
}
.perks-card.highlight-perk h3 { position: relative; }
.perks-card.highlight-perk .perks-list { position: relative; }
.perks-card.highlight-perk .perks-list div {
  background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.08));
  border: 1px solid rgba(255,255,255,.13);
}
.perks-card.highlight-perk .perks-list .gold-perk {
  color: #071017;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 7px 7px 0 var(--pink), 13px 13px 34px rgba(0,0,0,.26);
  border: 0;
}
.perks-card.highlight-perk .perks-list .gold-perk span,
.perks-card.highlight-perk .perks-list .gold-perk strong { color: #071017; }
.perks-note {
  color: var(--soft);
  line-height: 1.6;
  margin: 18px 0 0;
}

.footer-socials a:hover,
.main-nav a:hover {
  background: linear-gradient(135deg, rgba(255,0,153,.55), rgba(0,229,255,.35));
}


/* V4 updates */
.hero-actions { margin-bottom: 0; }

.nrj-plus-card {
  margin-top: 22px;
  padding: clamp(20px, 3vw, 30px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.08)),
    radial-gradient(circle at 5% 10%, rgba(255,240,0,.26), transparent 36%),
    radial-gradient(circle at 90% 70%, rgba(255,0,153,.24), transparent 34%);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
  overflow: hidden;
  position: relative;
}
.nrj-plus-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background-image: radial-gradient(circle, rgba(255,255,255,.8) 1px, transparent 1.4px);
  background-size: 18px 18px;
  mix-blend-mode: screen;
}
.nrj-logo-box,
.nrj-plus-copy,
.nrj-plus-card .btn { position: relative; z-index: 1; }
.nrj-logo-box {
  width: 120px;
  min-height: 86px;
  display: grid;
  place-items: center;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 8px 8px 0 var(--yellow), 13px 13px 34px rgba(0,0,0,.24);
  transform: rotate(-2deg);
}
.nrj-logo-box img { width: 100%; height: auto; object-fit: contain; }
.nrj-plus-copy h3 { margin-top: 10px; }
.nrj-plus-copy p {
  margin: 10px 0 0;
  color: var(--soft);
  font-size: 18px;
  line-height: 1.55;
  font-weight: 700;
}
.site-footer a[href^="mailto:"] {
  color: var(--yellow);
  font-weight: 900;
}
.site-footer a[href^="mailto:"]:hover { color: var(--cyan); }

@media (max-width: 860px) {
  .nrj-plus-card {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }
  .nrj-plus-card .btn { width: 100%; }
}

/* V5 updates: typographies cohérentes mobile/desktop, menu fluo, formulaire collab sans mailto */
:root {
  --title-font: 'Anton', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  --body-font: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

body,
button,
input,
textarea,
select {
  font-family: var(--body-font);
}

h1,
h2,
.marquee span {
  font-family: var(--title-font);
  font-weight: 400;
}

h3,
.brand-text,
.main-nav a,
.btn,
.kicker,
.ticket-highlights span,
.info-grid span,
.card-tag,
.mini-label {
  font-family: var(--body-font);
}

/* Menu plus lumineux, plus dans le thème Memphis fluo */
.site-header,
.site-header.is-scrolled {
  background:
    radial-gradient(circle at 8% 10%, rgba(255,255,255,.42), transparent 20%),
    linear-gradient(96deg, rgba(255,0,153,.94), rgba(0,229,255,.92) 38%, rgba(255,240,0,.96) 70%, rgba(155,255,0,.90));
  border-bottom: 3px solid rgba(255,255,255,.95);
  box-shadow: 0 14px 42px rgba(255,0,153,.20), 0 12px 34px rgba(0,0,0,.20);
  overflow: visible;
}

.site-header::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .38;
  background-image: radial-gradient(circle, rgba(7,16,23,.35) 1.4px, transparent 1.8px);
  background-size: 18px 18px;
  mix-blend-mode: multiply;
}

.site-header > * {
  position: relative;
  z-index: 1;
}

.brand-text {
  color: #071017;
  background: rgba(255,255,255,.92);
  border: 2px solid rgba(255,255,255,.98);
  box-shadow: 6px 6px 0 rgba(124,60,255,.72), 10px 10px 0 rgba(255,0,153,.42);
  text-shadow: none;
}

.main-nav {
  gap: 10px;
}

.main-nav a {
  color: #071017;
  background: rgba(255,255,255,.88);
  border: 2px solid rgba(255,255,255,.95);
  box-shadow: 4px 4px 0 rgba(124,60,255,.58);
  font-weight: 950;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.main-nav a:hover {
  color: #071017;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 4px 4px 0 rgba(255,0,153,.75), 8px 8px 0 rgba(0,229,255,.45);
  transform: translateY(-2px) rotate(-1deg);
}

.nav-toggle {
  background: rgba(255,255,255,.90);
  border: 2px solid rgba(255,255,255,.95);
  border-radius: 16px;
  box-shadow: 5px 5px 0 rgba(124,60,255,.65);
}

.nav-toggle span:not(.sr-only) {
  background: linear-gradient(90deg, var(--pink), var(--cyan));
}

.event-form .hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-status {
  grid-column: 1 / -1;
  margin: 0;
  padding: 13px 15px;
  border-radius: 18px;
  display: none;
  font-weight: 850;
  line-height: 1.35;
}

.form-status.is-visible {
  display: block;
}

.form-status.is-success {
  color: #071017;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 5px 5px 0 var(--pink);
}

.form-status.is-error {
  color: #fff;
  background: linear-gradient(135deg, #ff206e, #7c3cff);
  border: 1px solid rgba(255,255,255,.24);
}

.event-form button[disabled] {
  opacity: .7;
  cursor: wait;
  transform: none;
}

@media (max-width: 760px) {
  .site-header,
  .site-header.is-scrolled {
    padding: 12px 14px;
    background:
      radial-gradient(circle at 5% 0%, rgba(255,255,255,.40), transparent 22%),
      linear-gradient(100deg, rgba(255,0,153,.97), rgba(0,229,255,.95) 43%, rgba(255,240,0,.96) 78%, rgba(155,255,0,.94));
  }

  .brand-text {
    max-width: min(68vw, 280px);
    min-height: 42px;
    padding: 9px 12px;
    font-size: 12px;
    line-height: 1;
  }

  .main-nav {
    top: 74px;
    left: 12px;
    right: 12px;
    padding: 14px;
    border-radius: 28px;
    background:
      radial-gradient(circle at 10% 12%, rgba(255,255,255,.55), transparent 26%),
      linear-gradient(135deg, var(--pink), var(--cyan) 48%, var(--yellow));
    border: 3px solid rgba(255,255,255,.95);
    box-shadow: 0 22px 70px rgba(0,0,0,.35), 8px 8px 0 rgba(124,60,255,.55);
  }

  .main-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .35;
    border-radius: inherit;
    background-image: radial-gradient(circle, rgba(7,16,23,.35) 1.3px, transparent 1.7px);
    background-size: 18px 18px;
    mix-blend-mode: multiply;
  }

  .main-nav a {
    position: relative;
    color: #071017;
    background: rgba(255,255,255,.92);
    border: 2px solid #fff;
    box-shadow: 4px 4px 0 rgba(124,60,255,.58);
    font-size: 15px;
  }

  h1,
  h2 {
    font-family: var(--title-font);
    font-weight: 400;
    letter-spacing: .025em;
  }

  h3,
  p,
  a,
  span,
  strong,
  small,
  label,
  input,
  textarea,
  button {
    font-family: var(--body-font);
  }
}

/* V6 updates: menu plus clean/fluo, mobile compact, typo hero corrigée */
.site-header,
.site-header.is-scrolled {
  top: 12px;
  width: min(calc(100% - 32px), var(--max));
  margin: 12px auto 0;
  padding: 10px 12px;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.84)),
    linear-gradient(90deg, var(--pink), var(--cyan), var(--yellow), var(--lime));
  border: 3px solid rgba(255,255,255,.98);
  box-shadow:
    0 18px 50px rgba(0,0,0,.18),
    7px 7px 0 rgba(255,0,153,.38),
    13px 13px 0 rgba(0,229,255,.22);
  backdrop-filter: blur(16px);
  overflow: visible;
}

.site-header::after { display: none !important; }

.site-header::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,0,153,.22), rgba(0,229,255,.18), rgba(255,240,0,.20), rgba(155,255,0,.18)),
    radial-gradient(circle, rgba(7,16,23,.18) 1.1px, transparent 1.5px);
  background-size: 100% 100%, 18px 18px;
  opacity: .85;
  mix-blend-mode: multiply;
}

.brand-text {
  color: #071017;
  background: linear-gradient(135deg, #fff, rgba(255,255,255,.86));
  border: 2px solid #071017;
  box-shadow: 4px 4px 0 var(--yellow), 7px 7px 0 var(--pink);
  text-shadow: none;
}

.main-nav a {
  color: #071017;
  background: linear-gradient(135deg, #fff, rgba(255,255,255,.88));
  border: 2px solid #071017;
  box-shadow: 3px 3px 0 var(--cyan);
  padding: 9px 13px;
}

.main-nav a:hover {
  color: #071017;
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 3px 3px 0 var(--pink), 6px 6px 0 rgba(0,229,255,.55);
}

.nav-toggle {
  background: #fff;
  border: 2px solid #071017;
  border-radius: 14px;
  box-shadow: 4px 4px 0 var(--pink);
}

.nav-toggle span:not(.sr-only) {
  background: #071017;
}

.hero h1,
.hero h1 span {
  font-family: var(--title-font) !important;
  font-weight: 400 !important;
}

@media (max-width: 760px) {
  .site-header,
  .site-header.is-scrolled {
    top: 8px;
    width: calc(100% - 20px);
    margin: 8px auto 0;
    padding: 8px 9px;
    border-radius: 22px;
    gap: 8px;
    box-shadow:
      0 14px 38px rgba(0,0,0,.18),
      5px 5px 0 rgba(255,0,153,.35),
      9px 9px 0 rgba(0,229,255,.18);
  }

  .brand-text {
    max-width: min(66vw, 270px);
    min-height: 38px;
    padding: 8px 10px;
    font-size: 11px;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nav-toggle {
    display: inline-grid;
    place-items: center;
    min-width: 44px;
    height: 42px;
    padding: 7px 9px;
    flex: 0 0 auto;
  }

  .nav-toggle span:not(.sr-only) {
    width: 23px;
    height: 3px;
    margin: 3px 0;
  }

  .main-nav {
    position: absolute !important;
    top: calc(100% + 9px) !important;
    left: auto !important;
    right: 0 !important;
    width: min(280px, calc(100vw - 28px)) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 9px;
    border-radius: 20px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.90)),
      linear-gradient(135deg, var(--pink), var(--cyan), var(--yellow));
    border: 3px solid #071017;
    box-shadow: 6px 6px 0 var(--pink), 12px 12px 36px rgba(0,0,0,.24);
    transform: translateY(-8px) scale(.98);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    z-index: 150;
  }

  .main-nav::before {
    display: none !important;
  }

  .main-nav.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .main-nav a {
    padding: 10px 9px;
    min-height: 40px;
    font-size: 13px;
    text-align: center;
    justify-content: center;
    border-radius: 999px;
    box-shadow: 3px 3px 0 var(--cyan);
  }

  .hero h1,
  .hero h1 span {
    font-family: var(--title-font) !important;
    font-weight: 400 !important;
  }
}


/* V7 updates: iframe mobile plus long + liens partenaires /CODE */
.partner-code-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  margin: 0 0 16px;
  padding: clamp(15px, 2vw, 20px);
  border-radius: 24px;
  color: #071017;
  background:
    radial-gradient(circle at 92% 20%, rgba(255,255,255,.62), transparent 22%),
    linear-gradient(135deg, var(--yellow), var(--lime) 44%, var(--cyan));
  border: 3px solid #fff;
  box-shadow: 7px 7px 0 var(--pink), 14px 14px 34px rgba(0,0,0,.22);
  position: relative;
  overflow: hidden;
}

.partner-code-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .30;
  background-image: radial-gradient(circle, rgba(7,16,23,.55) 1.2px, transparent 1.6px);
  background-size: 16px 16px;
  mix-blend-mode: multiply;
}

.partner-code-banner > * { position: relative; z-index: 1; }
.partner-code-banner[hidden] { display: none !important; }

.partner-badge {
  align-self: stretch;
  display: grid;
  place-items: center;
  padding: 10px 13px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--pink), var(--purple));
  color: #fff;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .045em;
  font-size: 12px;
  box-shadow: 4px 4px 0 rgba(255,255,255,.72);
  transform: rotate(-1.5deg);
}

.partner-code-banner strong {
  display: block;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.04;
  text-transform: uppercase;
  font-weight: 950;
}

.partner-code-banner p {
  margin: 7px 0 0;
  color: rgba(7,16,23,.82);
  font-weight: 800;
  line-height: 1.38;
}

.partner-code-banner span[data-partner-code] {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: #fff;
  color: var(--pink);
  font-weight: 950;
  box-shadow: 3px 3px 0 rgba(124,60,255,.42);
}

.iframe-card iframe {
  min-height: 790px;
}

@media (max-width: 860px) {
  .iframe-card iframe {
    min-height: 1080px !important;
  }
}

@media (max-width: 520px) {
  .partner-code-banner {
    grid-template-columns: 1fr;
    text-align: left;
    border-radius: 20px;
  }

  .partner-badge {
    width: fit-content;
    min-height: 0;
  }

  .iframe-card iframe {
    min-height: 1240px !important;
  }
}

/* V8 updates: formulaire plus lisible, sticky mobile Collab, codes partenaires validés */
.event-form input,
.event-form textarea,
.event-form select {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.055)),
    rgba(5, 6, 22, .58);
  border: 2px solid rgba(255,255,255,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 28px rgba(0,0,0,.14);
}

.event-form input::placeholder,
.event-form textarea::placeholder {
  color: rgba(255,255,255,.86);
  opacity: 1;
  font-weight: 750;
}

.event-form input:focus,
.event-form textarea:focus,
.event-form select:focus {
  border-color: var(--yellow);
  box-shadow: 0 0 0 4px rgba(255,240,0,.16), 0 14px 34px rgba(0,0,0,.18);
}

.partner-code-banner.is-error {
  color: #071017;
  background:
    radial-gradient(circle at 92% 20%, rgba(255,255,255,.52), transparent 22%),
    linear-gradient(135deg, #ff4eb8, #ff8a00 48%, #fff000);
  box-shadow: 7px 7px 0 var(--cyan), 14px 14px 34px rgba(0,0,0,.22);
}

.partner-code-banner.is-error .partner-badge {
  background: linear-gradient(135deg, #071017, var(--purple));
  box-shadow: 4px 4px 0 rgba(255,255,255,.72);
}

.partner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 13px;
}

.partner-actions[hidden] {
  display: none !important;
}

.mini-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 999px;
  color: #071017;
  background: #fff;
  border: 2px solid rgba(7,16,23,.92);
  box-shadow: 3px 3px 0 var(--pink);
  font-weight: 950;
  font-size: 13px;
}

.mini-action-alt {
  background: linear-gradient(135deg, var(--yellow), var(--lime));
  box-shadow: 3px 3px 0 var(--purple);
}

@media (max-width: 520px) {
  .partner-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .mini-action {
    width: 100%;
  }
}

/* V12 updates: ancres plus hautes, iframe -30%, placeholders à 50% */
.iframe-card iframe {
  min-height: 553px !important;
}

@media (max-width: 860px) {
  .iframe-card iframe {
    min-height: 756px !important;
  }
}

@media (max-width: 520px) {
  .iframe-card iframe {
    min-height: 868px !important;
  }
}

.event-form input::placeholder,
.event-form textarea::placeholder {
  color: rgba(255,255,255,.50) !important;
  opacity: 1 !important;
}


/* V13 updates: ancrage légèrement plus bas + iframe encore -15% */
.iframe-card iframe {
  min-height: 470px !important;
}

@media (max-width: 860px) {
  .iframe-card iframe {
    min-height: 643px !important;
  }
}

@media (max-width: 520px) {
  .iframe-card iframe {
    min-height: 738px !important;
  }
}

/* V14 updates: ancrage plus confortable + réseaux sociaux avec logos */
.footer-socials {
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.footer-socials .social-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 14px 10px 11px;
  border-radius: 999px;
  color: #071017;
  background: linear-gradient(135deg, #fff, rgba(255,255,255,.88));
  border: 2px solid rgba(255,255,255,.95);
  box-shadow: 4px 4px 0 var(--cyan), 8px 8px 24px rgba(0,0,0,.18);
  font-weight: 950;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.footer-socials .social-link:nth-child(1) { box-shadow: 4px 4px 0 var(--pink), 8px 8px 24px rgba(0,0,0,.18); }
.footer-socials .social-link:nth-child(2) { box-shadow: 4px 4px 0 var(--cyan), 8px 8px 24px rgba(0,0,0,.18); }
.footer-socials .social-link:nth-child(3) { box-shadow: 4px 4px 0 var(--yellow), 8px 8px 24px rgba(0,0,0,.18); }

.footer-socials .social-link:hover {
  transform: translateY(-2px) rotate(-1deg);
  background: linear-gradient(135deg, var(--yellow), var(--lime));
}

.footer-socials svg {
  width: 23px;
  height: 23px;
  display: block;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-socials .social-link:nth-child(2) svg,
.footer-socials .social-link:nth-child(3) svg {
  fill: currentColor;
  stroke: none;
}

@media (max-width: 980px) {
  .footer-socials {
    justify-content: center;
  }
}

@media (max-width: 520px) {
  .footer-socials {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .footer-socials .social-link {
    width: 100%;
    justify-content: center;
  }
}

/* V17 updates: compteur partenaire affiché comme un faux bouton social */
.footer-socials .partner-sales-social {
  cursor: default;
  user-select: none;
  pointer-events: none;
  background: linear-gradient(135deg, #fff, rgba(255,255,255,.90));
  box-shadow: 4px 4px 0 var(--lime), 8px 8px 24px rgba(0,0,0,.18);
}

.footer-socials .partner-sales-social[hidden] {
  display: none !important;
}

.footer-socials .partner-sales-social span {
  min-width: 1.2em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.footer-socials .partner-sales-social .partner-sales-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 520px) {
  .footer-socials .partner-sales-social {
    width: 100%;
    justify-content: center;
  }
}

/* V18 update: iframe Weticket agrandie de 15% sur desktop et mobile */
.iframe-card iframe {
  min-height: 541px !important;
}

@media (max-width: 860px) {
  .iframe-card iframe {
    min-height: 739px !important;
  }
}

@media (max-width: 520px) {
  .iframe-card iframe {
    min-height: 849px !important;
  }
}

/* V19 update: iframe Weticket +15% supplémentaire */
.iframe-card iframe {
  min-height: 541px !important;
}

@media (max-width: 860px) {
  .iframe-card iframe {
    min-height: 739px !important;
  }
}

@media (max-width: 520px) {
  .iframe-card iframe {
    min-height: 849px !important;
  }
}

/* V20 update: fond du menu plus flashy, cohérent Memphis/piscine, sans toucher aux boutons */
.site-header,
.site-header.is-scrolled {
  background:
    radial-gradient(circle at 10% 18%, rgba(255, 240, 0, .88) 0 9%, transparent 25%),
    radial-gradient(circle at 90% 8%, rgba(155, 255, 0, .75) 0 10%, transparent 28%),
    radial-gradient(circle at 46% 110%, rgba(0, 229, 255, .78) 0 18%, transparent 40%),
    linear-gradient(115deg, rgba(255, 0, 153, .97) 0%, rgba(124, 60, 255, .96) 34%, rgba(0, 229, 255, .96) 70%, rgba(255, 128, 0, .92) 100%);
  border-color: rgba(255, 255, 255, .98);
  box-shadow:
    0 18px 52px rgba(0,0,0,.18),
    7px 7px 0 rgba(255, 240, 0, .58),
    13px 13px 0 rgba(255, 0, 153, .34),
    19px 19px 0 rgba(0, 229, 255, .18);
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(255,255,255,.52) 1.1px, transparent 1.6px),
    linear-gradient(135deg, transparent 0 44%, rgba(255,255,255,.22) 45% 53%, transparent 54% 100%);
  background-size: 18px 18px, 100% 100%;
  opacity: .62;
  mix-blend-mode: soft-light;
}

@media (max-width: 760px) {
  .site-header,
  .site-header.is-scrolled {
    background:
      radial-gradient(circle at 8% 14%, rgba(255, 240, 0, .82) 0 12%, transparent 32%),
      radial-gradient(circle at 92% 0%, rgba(155, 255, 0, .65) 0 11%, transparent 30%),
      linear-gradient(125deg, rgba(255, 0, 153, .98) 0%, rgba(124, 60, 255, .96) 42%, rgba(0, 229, 255, .96) 76%, rgba(255, 128, 0, .92) 100%);
    border-color: rgba(255,255,255,.98);
    box-shadow:
      0 14px 40px rgba(0,0,0,.18),
      5px 5px 0 rgba(255, 240, 0, .55),
      10px 10px 0 rgba(255, 0, 153, .26);
  }

  .main-nav {
    background:
      radial-gradient(circle at 12% 18%, rgba(255, 240, 0, .88) 0 12%, transparent 34%),
      radial-gradient(circle at 88% 10%, rgba(155, 255, 0, .72) 0 12%, transparent 34%),
      linear-gradient(135deg, rgba(255, 0, 153, .98) 0%, rgba(124, 60, 255, .96) 38%, rgba(0, 229, 255, .96) 74%, rgba(255, 128, 0, .92) 100%) !important;
    border-color: rgba(255,255,255,.98) !important;
    box-shadow:
      6px 6px 0 rgba(255, 240, 0, .58),
      12px 12px 0 rgba(255, 0, 153, .30),
      0 24px 56px rgba(0,0,0,.28) !important;
  }
}

/* V21 update: fond du menu plus cohérent avec le reste du site
   Palette dominante reprise du site : violet profond, rose fluo, cyan électrique,
   avec de petites touches jaunes, moins de vert/orange dans la base. */
.site-header,
.site-header.is-scrolled {
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 0, 153, .88) 0 14%, transparent 34%),
    radial-gradient(circle at 78% 5%, rgba(0, 229, 255, .70) 0 13%, transparent 34%),
    radial-gradient(circle at 42% 110%, rgba(255, 240, 0, .42) 0 16%, transparent 40%),
    linear-gradient(118deg, rgba(31, 9, 72, .98) 0%, rgba(124, 60, 255, .96) 36%, rgba(255, 0, 153, .94) 63%, rgba(0, 229, 255, .88) 100%);
  border-color: rgba(255, 255, 255, .72);
  box-shadow:
    0 18px 48px rgba(0,0,0,.24),
    6px 6px 0 rgba(255, 0, 153, .34),
    12px 12px 0 rgba(0, 229, 255, .22),
    18px 18px 0 rgba(255, 240, 0, .14);
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(255,255,255,.36) 1.1px, transparent 1.6px),
    linear-gradient(135deg, transparent 0 42%, rgba(255, 240, 0, .14) 43% 51%, transparent 52% 100%);
  background-size: 18px 18px, 100% 100%;
  opacity: .52;
  mix-blend-mode: soft-light;
}

@media (max-width: 760px) {
  .site-header,
  .site-header.is-scrolled {
    background:
      radial-gradient(circle at 9% 12%, rgba(255, 0, 153, .84) 0 16%, transparent 38%),
      radial-gradient(circle at 88% 4%, rgba(0, 229, 255, .68) 0 15%, transparent 36%),
      radial-gradient(circle at 48% 120%, rgba(255, 240, 0, .36) 0 17%, transparent 42%),
      linear-gradient(125deg, rgba(31, 9, 72, .99) 0%, rgba(124, 60, 255, .96) 40%, rgba(255, 0, 153, .92) 66%, rgba(0, 229, 255, .86) 100%);
    border-color: rgba(255,255,255,.72);
    box-shadow:
      0 14px 38px rgba(0,0,0,.22),
      5px 5px 0 rgba(255, 0, 153, .30),
      10px 10px 0 rgba(0, 229, 255, .18);
  }

  .main-nav {
    background:
      radial-gradient(circle at 10% 14%, rgba(255, 0, 153, .86) 0 17%, transparent 40%),
      radial-gradient(circle at 88% 8%, rgba(0, 229, 255, .70) 0 15%, transparent 38%),
      radial-gradient(circle at 48% 110%, rgba(255, 240, 0, .38) 0 18%, transparent 44%),
      linear-gradient(135deg, rgba(31, 9, 72, .99) 0%, rgba(124, 60, 255, .96) 42%, rgba(255, 0, 153, .92) 70%, rgba(0, 229, 255, .86) 100%) !important;
    border-color: rgba(255,255,255,.74) !important;
    box-shadow:
      6px 6px 0 rgba(255, 0, 153, .30),
      12px 12px 0 rgba(0, 229, 255, .18),
      0 24px 56px rgba(0,0,0,.30) !important;
  }
}
