/* Darby Events final local stabilization layer.
   Loaded after page styles so repeated post-launch fixes stay consistent. */

html,
body {
  overscroll-behavior-y: none;
}

/* Safari clips script font glyph ascenders/descenders when animated or nested in masked sections. */
body :is(
  .wed-section-head__eyebrow,
  .wed-awards-kicker,
  .preset-custom__eyebrow,
  .after-steps__side-script,
  .after-steps__side-script-line,
  .afterparty-vibes__script,
  .afterparty-celebrate__script,
  .lighting-gallery__eyebrow,
  .lighting-gallery__wordmark,
  .lighting-gallery__wordmark .split-letter,
  .lighting-signature__script,
  .photobooth-script,
  .photo-booth__script,
  .add-ons-hero__script,
  .add-ons-fx__script,
  .song-editing__script,
  .music-hero__script,
  .music-mashups__script,
  .music-genre-mixes__script,
  .dj-video-grid__eyebrow--heatwood,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .msx-awards-script,
  .dr-difference-sticky__eyebrow,
  .about-story__eyebrow,
  .about-discovery__eyebrow,
  .about-kudos__eyebrow,
  .heatwood,
  [class*="heatwood"]
) {
  overflow: visible !important;
  clip-path: none !important;
  contain: initial !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  line-height: 1.18 !important;
  padding-block: 0.18em 0.34em !important;
}

body :is(
  .dj-video-grid__headline-group,
  .wed-section-head,
  .dr-difference-sticky__header,
  .live-msx-intro,
  .live-msx-intro__media,
  .lighting-gallery__header,
  .music-genre-mixes__heading,
  .music-mashups__heading,
  .about-story__header,
  .about-discovery__header,
  .about-kudos__header
) {
  overflow: visible !important;
  clip-path: none !important;
  contain: initial !important;
}

/* Remove the gray hover/focus slab that page-level video cards can reintroduce. */
body:is(.home, .live-instrumentation-page, .music-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .music-genre-mixes__video-wrapper,
  .music-genre-mixes__surface,
  .music-genre-mixes__poster
):is(:hover, :focus, :focus-visible, :active) {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body:is(.home, .live-instrumentation-page, .music-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .music-genre-mixes__video-wrapper,
  .music-genre-mixes__surface,
  .music-genre-mixes__poster
)::before,
body:is(.home, .live-instrumentation-page, .music-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .music-genre-mixes__video-wrapper,
  .music-genre-mixes__surface,
  .music-genre-mixes__poster
)::after {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* Keep image-based music video cards filling their approved frame. */
body.music-page .music-genre-mixes__poster {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.music-page :is(.music-genre-mixes__surface, .music-genre-mixes__poster) {
  inline-size: 100% !important;
  block-size: 100% !important;
}

/* Weddings venue section must begin on the image layer, then soften toward cream. */
body.weddings-page .wed-venues,
body.weddings-page .wed-venues--transition {
  background-color: #071211 !important;
  background-image:
    linear-gradient(180deg, rgba(4, 14, 14, 0.8), rgba(4, 14, 14, 0.54) 46%, rgba(245, 240, 228, calc(var(--transition-sand-fade, 0) * 0.9)) 100%),
    url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.weddings-page .wed-venues-bg-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background-image: url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.weddings-page .wed-venues-bg-soften {
  opacity: clamp(0, var(--transition-sand-fade, 0), 0.84) !important;
}

body.weddings-page .wed-venues :is(.wed-section-head__title, .wed-section-head__copy) {
  color: #fffaf2 !important;
  opacity: 1 !important;
}

/* Stabilize sticky explainer assemblies that were hiccuping at their release point. */
body.faqs-page .dr-difference-sticky__aside,
body:is(.afterparty-page, .special-events-page) .dr-difference-sticky__aside,
body .special-events-page-root .dr-difference-sticky__aside,
body .add-ons-page-root .dr-difference-sticky__aside {
  top: clamp(72px, 8vh, 110px) !important;
  will-change: auto !important;
}

body.faqs-page .dr-difference-sticky__header,
body .special-events-page-root .dr-difference-sticky__header,
body .add-ons-page-root .dr-difference-sticky__header {
  transform: none !important;
  will-change: auto !important;
}

/* FAQ active states: green-tinted overlays and readable active text. */
body.faqs-page :is(.de-faq__item, .de-social-ref__faq, .faq-item):is(:hover, .is-active, [open], [aria-expanded="true"]) {
  background: rgba(28, 180, 166, 0.12) !important;
}

body.faqs-page :is(.de-faq__item, .de-social-ref__faq, .faq-item):is([open], [aria-expanded="true"]) :is(summary, button, h3, h4, .de-faq__question, .de-social-ref__faq-question) {
  color: #fffaf2 !important;
}

body.faqs-page :is(.faq-flow-card, .process-card, .faq-step-card):is(:hover, .is-active, [aria-selected="true"], [aria-current="true"]) {
  background: rgba(28, 180, 166, 0.12) !important;
  color: #10231f !important;
}

@media (max-width: 767px) {
  body.faqs-page :is(.faq-flow-card, .process-card, .faq-step-card) {
    min-height: auto !important;
    padding-block: clamp(1.2rem, 6vw, 1.75rem) !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Shared drawer artifact guard: no frosted-glass halo around closed tabs. */
html body :is(.lux-event-drawer, .lux-event-drawer__panel, .lux-event-drawer__trigger, .lux-event-drawer__body) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html body :is(.lux-event-drawer__panel, .lux-event-drawer__body)::before,
html body :is(.lux-event-drawer__panel, .lux-event-drawer__body)::after {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

html body .lux-event-drawer:not(.is-open):not(:hover):not(:focus-within) :is(.lux-event-drawer__panel, .lux-event-drawer__body) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

html body .lux-event-drawer {
  z-index: 150000 !important;
}

/* Lighting gallery eyebrow is script-styled, not block caps. */
body.lighting-page .lighting-gallery__eyebrow {
  font-family: "Heatwood", "High Tide", cursive !important;
  font-size: clamp(3rem, 8vw, 7rem) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Corporate cards use white headings over dark cards. */
body.corporate-page :is(
  .dr-difference-sticky__card h3,
  .dr-difference-sticky__card-title,
  .dr-difference-sticky__card-heading,
  .corporate-card__title,
  .feature-card__title
) {
  color: #fffaf2 !important;
}

/* Live instrumentation hero/signature fixes. */
body.live-instrumentation-page :is(.live-msx-intro, .live-msx-intro__media, .live-msx-intro__content) {
  overflow: visible !important;
  clip-path: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark {
  z-index: 5 !important;
  max-width: none !important;
  overflow: visible !important;
  padding-block: 0.24em 0.4em !important;
}

body.live-instrumentation-page :is(.live-msx-intro__title, .live-msx-header__title) {
  letter-spacing: 0.045em !important;
}

body.live-instrumentation-page :is(.live-video-hero, .live-video-band, .music-video-band)::before {
  top: 0 !important;
  height: 100% !important;
}

body.live-instrumentation-page :is(.live-video-hero__content, .live-video-band__content, .music-video-band__content) {
  align-items: center !important;
  justify-content: center !important;
}

/* Keep home service-card text color stable during tap navigation. */
body.home :is(.event-card, .event-card *, .services-card, .services-card *):is(:active, :focus, :focus-visible) {
  color: inherit !important;
  -webkit-tap-highlight-color: transparent;
}

/* Add-ons mobile alignment fixes. */
@media (max-width: 767px) {
  body .add-ons-page-root .package-ideas,
  body .add-ons-page-root .package-ideas__eyebrow {
    margin-left: clamp(14px, 5vw, 22px) !important;
  }

  body .add-ons-page-root :is(.package-card li, .add-ons-check-list li, .bundle-card li) {
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
}

/* Mobile contact button sits between form and direct contact block. */
@media (max-width: 767px) {
  body.contact-page :is(.schedule-chat, .schedule-chat-button, .contact-schedule-chat, a[href*="calendly"]) {
    margin-top: clamp(2.25rem, 10vw, 3.6rem) !important;
    margin-bottom: clamp(2.25rem, 10vw, 3.6rem) !important;
  }
}

/* Event-type service cards: keep headings consistent across breakpoints. */
body.home :is(.event-types-card__title, .event-card__title, .services-card__title) {
  font-size: inherit !important;
}

/* 2026-07-10 consolidated regression guardrails.
   These are intentionally late in the cascade so the verified fixes do not regress
   when individual page styles reintroduce hover states, clipped masks, or drawer blur. */

body :is(
  [data-wordmark-word],
  [data-gallery-wordmark-word],
  .wed-section-head__eyebrow,
  .wed-awards-kicker,
  .wedding-experience__eyebrow,
  .preset-custom__eyebrow,
  .afterparty-vibes__script,
  .afterparty-celebrate__script,
  .special-celebrate__script,
  .lighting-signature__script,
  .lighting-gallery__eyebrow,
  .lighting-gallery__wordmark,
  .photobooth-script,
  .photo-booth__script,
  .add-ons-fx__script,
  .song-editing__script,
  .music-hero__script,
  .music-mashups__script,
  .music-genre-mixes__script,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .msx-awards-script,
  .about-story__eyebrow,
  .about-discovery__eyebrow,
  .about-kudos__eyebrow
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
  line-height: 1.34 !important;
  padding-block: 0.34em 0.56em !important;
}

body :is(
  .wed-section-head,
  .wedding-experience,
  .preset-custom,
  .afterparty-vibes,
  .afterparty-celebrate,
  .special-celebrate,
  .lighting-signature,
  .lighting-gallery__header,
  .photobooth-hero,
  .photo-booth__header,
  .add-ons-hero,
  .add-ons-fx,
  .song-editing__header,
  .music-hero__heading,
  .music-mashups__heading,
  .music-genre-mixes__heading,
  .live-msx-intro,
  .live-msx-intro__media,
  .live-msx-intro__content,
  .live-msx-intro__copy,
  .live-msx-intro__header,
  .about-story__header,
  .about-discovery__header,
  .about-kudos__header
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark {
  z-index: 20 !important;
  transform: none !important;
  max-inline-size: calc(100vw - clamp(52px, 8vw, 132px)) !important;
  margin-inline-start: clamp(18px, 4vw, 64px) !important;
}

@media (max-width: 767px) {
  body.home .hero__media::after,
  body.home .hero__slide::after,
  body.home .hero__visual::after {
    background: rgba(0, 0, 0, 0.12) !important;
  }
}

/* Video cards should not swap to the gray hover art/slab on Home or Live Instrumentation. */
body:is(.home, .live-instrumentation-page) :is(
  #video-gallery,
  #video-gallery-duplicate,
  #music-duo-gallery,
  .music-duo-grid,
  .music-mashup-grid,
  .dj-video-grid
) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) .dj-video-grid__hover,
body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) .dj-video-grid__hover {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  filter: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:is(.home, .live-instrumentation-page) :is(
  #video-gallery,
  #video-gallery-duplicate,
  #music-duo-gallery,
  .music-duo-grid,
  .music-mashup-grid,
  .dj-video-grid
) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) .dj-video-grid__rest,
body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) .dj-video-grid__rest {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover
)::before,
body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover
)::after {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

@media (hover: none), (pointer: coarse) {
  body:is(.home, .live-instrumentation-page, .music-page) :is(.dj-video-grid__hover, .music-genre-mixes__card-occlusion) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Music genre-specific cards use their card image as a filled background, not a centered partial tile. */
body.music-page :is(.music-genre-mixes__video-wrapper, .music-genre-mixes__surface, .music-genre-mixes__frame, .music-genre-mixes__frame-overlay) {
  overflow: hidden !important;
}

body.music-page .music-genre-mixes__poster {
  position: absolute !important;
  inset: 0 !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.music-page .music-genre-mixes__card-occlusion {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Keep Weddings venue image visible before the scroll fade begins. */
body.weddings-page .wed-venues-bg-soften {
  opacity: clamp(0, calc(var(--transition-sand-fade, 0) * 0.48), 0.46) !important;
}

body.weddings-page .wed-venues::before,
body.weddings-page .wed-venues--transition::before {
  opacity: 0 !important;
}

/* FAQ selected/dark states must remain readable and on-brand. */
body.faqs-page :is(.de-faq__item, .de-social-ref__faq, .faq-item):is(:hover, .is-active, [open], [aria-expanded="true"]) {
  background: rgba(28, 180, 166, 0.14) !important;
}

body.faqs-page :is(.de-faq__item, .de-social-ref__faq, .faq-item):is(:hover, .is-active, [open], [aria-expanded="true"]) :is(summary, button, h2, h3, h4, p, span, .de-faq__question, .de-social-ref__faq-question) {
  color: #fffaf2 !important;
}

/* Remove drawer/tab frosted halos wherever the shared drawer is used. */
html body :is(
  .lux-event-drawer,
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__head,
  .lux-event-drawer__toggle,
  .services-drawer,
  .services-drawer__panel,
  .services-drawer__trigger
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html body :is(
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__head,
  .lux-event-drawer__toggle,
  .services-drawer__trigger
)::before,
html body :is(
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__head,
  .lux-event-drawer__toggle,
  .services-drawer__trigger
)::after {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

html body .lux-event-drawer:not(.is-open):not(:hover):not(:focus-within) :is(.lux-event-drawer__panel, .lux-event-drawer__body, .lux-event-drawer__head) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* 2026-07-10 regression lock.
   Keep the repeated cross-page fixes stable after page-level hover/scroll styles run. */

body :is(
  [data-wordmark-word],
  [data-gallery-wordmark-word],
  .heatwood,
  [class*="heatwood"],
  .wed-section-head__eyebrow,
  .wed-awards-kicker,
  .wedding-experience__eyebrow,
  .preset-custom__eyebrow,
  .afterparty-vibes__script,
  .afterparty-celebrate__script,
  .special-celebrate__script,
  .lighting-signature__script,
  .lighting-gallery__eyebrow,
  .lighting-gallery__wordmark,
  .photobooth-script,
  .photo-booth__script,
  .add-ons-hero__script,
  .add-ons-fx__script,
  .song-editing__script,
  .music-hero__script,
  .music-mashups__script,
  .music-genre-mixes__script,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .msx-awards-script,
  .dr-difference-sticky__eyebrow,
  .about-story__eyebrow,
  .about-discovery__eyebrow,
  .about-kudos__eyebrow
),
body :is(
  [data-wordmark-word],
  [data-gallery-wordmark-word],
  .heatwood,
  [class*="heatwood"],
  .wed-section-head__eyebrow,
  .wed-awards-kicker,
  .wedding-experience__eyebrow,
  .preset-custom__eyebrow,
  .afterparty-vibes__script,
  .afterparty-celebrate__script,
  .special-celebrate__script,
  .lighting-signature__script,
  .lighting-gallery__eyebrow,
  .lighting-gallery__wordmark,
  .photobooth-script,
  .photo-booth__script,
  .add-ons-hero__script,
  .add-ons-fx__script,
  .song-editing__script,
  .music-hero__script,
  .music-mashups__script,
  .music-genre-mixes__script,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .msx-awards-script,
  .dr-difference-sticky__eyebrow,
  .about-story__eyebrow,
  .about-discovery__eyebrow,
  .about-kudos__eyebrow
) :is(.split-letter, .char, [class*="char"], span) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
  line-height: 1.42 !important;
  padding-block: 0.42em 0.68em !important;
}

body :is(
  .wed-section-head,
  .wedding-experience,
  .preset-custom,
  .afterparty-vibes,
  .afterparty-celebrate,
  .special-celebrate,
  .lighting-signature,
  .lighting-gallery__header,
  .photobooth-hero,
  .photo-booth__header,
  .add-ons-hero,
  .add-ons-fx,
  .song-editing__header,
  .music-hero__heading,
  .music-mashups__heading,
  .music-genre-mixes__heading,
  .live-msx-intro,
  .live-msx-intro__media,
  .live-msx-intro__content,
  .live-msx-intro__copy,
  .live-msx-intro__header,
  .about-story__header,
  .about-discovery__header,
  .about-kudos__header
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark {
  z-index: 60 !important;
  transform: none !important;
  margin-inline-start: clamp(76px, 11vw, 172px) !important;
  max-inline-size: calc(100vw - clamp(164px, 20vw, 288px)) !important;
  padding-inline: 0.08em !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  body.live-instrumentation-page .live-msx-intro__wordmark {
    margin-inline-start: clamp(42px, 12vw, 72px) !important;
    max-inline-size: calc(100vw - clamp(86px, 24vw, 132px)) !important;
  }
}

/* Home and Live Instrumentation video cards keep the approved thumbnail only.
   No gray hover image, focus slab, or pseudo shadow should appear. */
body:is(.home, .live-instrumentation-page) .dj-video-grid__hover {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  filter: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:is(.home, .live-instrumentation-page) .dj-video-grid__rest {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__rest
):is(:hover, :focus, :focus-visible, :active) {
  background-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover
)::before,
body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover
)::after {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* Drawer tabs keep the teal tab, but lose the accidental gray/frosted halo. */
html body :is(
  .lux-event-drawer,
  .services-drawer,
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head,
  .lux-event-drawer__toggle,
  .services-drawer__panel
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  filter: none !important;
}

html body :is(
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head,
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__toggle,
  .services-drawer__panel,
  .services-drawer__trigger
)::before,
html body :is(
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head,
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__toggle,
  .services-drawer__panel,
  .services-drawer__trigger
)::after {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

html body .lux-event-drawer:not(.is-open):not(:hover):not(:focus-within) :is(
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head
) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

html body .lux-event-drawer {
  z-index: 250000 !important;
}

/* The Weddings venue band should never appear as a flat cream block before the image is visible. */
body.weddings-page :is(.wed-venues, .wed-venues--transition) {
  position: relative !important;
  isolation: isolate !important;
  background-color: #071211 !important;
  background-image:
    linear-gradient(180deg, rgba(4, 14, 14, 0.78), rgba(4, 14, 14, 0.56) 48%, rgba(245, 240, 228, calc(var(--transition-sand-fade, 0) * 0.44)) 100%),
    url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.weddings-page :is(.wed-venues, .wed-venues--transition)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  display: block !important;
  opacity: 1 !important;
  background-image: url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}

body.weddings-page .wed-venues-bg-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.weddings-page .wed-venues-bg-soften {
  opacity: clamp(0, calc(var(--transition-sand-fade, 0) * 0.34), 0.38) !important;
}

body.weddings-page .wed-venues :is(.wed-section-head__title, .wed-section-head__copy) {
  color: #fffaf2 !important;
}

/* Sticky headline columns should release with their cards instead of doing a tiny catch-up jump. */
body.faqs-page .dr-difference-sticky__aside,
html.special-events-page-root body .dr-difference-sticky__aside,
html.add-ons-page-root body .dr-difference-sticky__aside {
  position: sticky !important;
  top: clamp(72px, 8vh, 110px) !important;
  transform: translateZ(0) !important;
  will-change: auto !important;
}

body.faqs-page .dr-difference-sticky__header,
html.special-events-page-root body .dr-difference-sticky__header,
html.add-ons-page-root body .dr-difference-sticky__header {
  transform: none !important;
  will-change: auto !important;
}

/* 2026-07-10 continuation: final guardrails for recurring hover/crop regressions. */
body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__card:hover,
  .dj-video-grid__card:focus,
  .dj-video-grid__card:focus-visible,
  .dj-video-grid__card:active,
  .dj-video-grid__shell,
  .dj-video-grid__shell:hover,
  .dj-video-grid__frame,
  .dj-video-grid__frame:hover,
  .dj-video-grid__media,
  .dj-video-grid__rest
) {
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card:hover .dj-video-grid__shell,
  .dj-video-grid__card:hover .dj-video-grid__frame,
  .dj-video-grid__card:hover .dj-video-grid__media,
  .dj-video-grid__card:hover .dj-video-grid__rest,
  .dj-video-grid__card:focus-visible .dj-video-grid__shell,
  .dj-video-grid__card:focus-visible .dj-video-grid__frame
) {
  background-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body.music-page :is(
  .music-genre-mixes__slide,
  .music-genre-mixes__video-wrapper,
  .music-genre-mixes__surface,
  .music-genre-mixes__frame,
  .music-genre-mixes__frame-overlay,
  .music-genre-mixes__poster,
  .music-genre-mixes__poster[style]
) {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
}

body.music-page .music-genre-mixes__poster {
  inline-size: 100% !important;
  block-size: 100% !important;
}

body.music-page .music-genre-mixes__poster :is(picture, img),
body.music-page :is(.music-genre-mixes__poster-image, .music-genre-mixes__image) {
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.music-page :is(
  .music-genre-mixes__video-wrapper:hover,
  .music-genre-mixes__video-wrapper:focus,
  .music-genre-mixes__video-wrapper:focus-visible,
  .music-genre-mixes__video-wrapper:active,
  .music-genre-mixes__poster:hover,
  .music-genre-mixes__poster:focus,
  .music-genre-mixes__poster:focus-visible,
  .music-genre-mixes__poster:active
) {
  background-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body.live-instrumentation-page :is(
  .live-msx-intro,
  .live-msx-intro__panel,
  .live-msx-intro__visual,
  .live-msx-intro__stage,
  .live-msx-intro__wrap,
  .live-msx-intro__art,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .live-msx-intro__wordmark-char
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  contain: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark {
  left: clamp(26px, 4vw, 72px) !important;
  right: auto !important;
  inline-size: min(72vw, 920px) !important;
  max-inline-size: min(72vw, 920px) !important;
  margin-inline-start: 0 !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark-line,
body.live-instrumentation-page .live-msx-intro__wordmark-char {
  line-height: 1.52 !important;
  padding-block: 0.5em 0.78em !important;
}

@media (max-width: 767px) {
  body.live-instrumentation-page .live-msx-intro__wordmark {
    left: clamp(18px, 6vw, 34px) !important;
    inline-size: 78vw !important;
    max-inline-size: 78vw !important;
  }
}

/* 2026-07-10b anti-regression pass:
   Safari keeps exposing page-level masks/hover layers that override earlier fixes. */
body :is(
  [style*="Heatwood"],
  [style*="heatwood"],
  [style*="High Tide"],
  [style*="high tide"],
  [class*="__script"],
  [class*="--script"],
  [class*="-script"],
  [class*="heatwood"],
  [class*="Heatwood"]
):not(.hero__headline-script):not(.hero__headline-script-shell):not(.hero__headline-script-char) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
}

body :is(
  [style*="Heatwood"],
  [style*="heatwood"],
  [style*="High Tide"],
  [style*="high tide"],
  [class*="__script"],
  [class*="--script"],
  [class*="-script"],
  [class*="heatwood"],
  [class*="Heatwood"]
):not(.hero__headline-script):not(.hero__headline-script-shell):not(.hero__headline-script-char):not(svg):not(path) {
  line-height: 1.34 !important;
  padding-block: 0.24em 0.46em !important;
}

body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome,
  .party-homepage-slider__card,
  .party-homepage-slider__frame,
  .party-homepage-slider__media
):is(:hover, :focus, :focus-visible, :active),
body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome
) {
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__hover,
  .dj-video-grid__chrome
) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}

body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome,
  .party-homepage-slider__card,
  .party-homepage-slider__frame,
  .party-homepage-slider__media
)::before,
body:is(.home, .live-instrumentation-page) :is(
  .dj-video-grid__card,
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome,
  .party-homepage-slider__card,
  .party-homepage-slider__frame,
  .party-homepage-slider__media
)::after {
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__hover,
  .dj-video-grid__chrome,
  .dj-video-grid__frame-overlay
)::before,
body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__hover,
  .dj-video-grid__chrome,
  .dj-video-grid__frame-overlay
)::after {
  background: transparent !important;
  opacity: 0 !important;
}

body.live-instrumentation-page :is(
  .live-msx-intro,
  .live-msx-intro__media,
  .live-msx-intro__content,
  .live-msx-intro__header,
  .live-msx-intro__visual,
  .live-msx-intro__stage,
  .live-msx-intro__art,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .live-msx-intro__wordmark-char
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark {
  left: clamp(42px, 6vw, 96px) !important;
  right: auto !important;
  z-index: 30 !important;
  inline-size: min(68vw, 900px) !important;
  max-inline-size: min(68vw, 900px) !important;
  margin-inline-start: 0 !important;
  transform: none !important;
  transform-origin: center center !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  body.live-instrumentation-page .live-msx-intro__wordmark {
    left: clamp(30px, 8vw, 44px) !important;
    inline-size: 74vw !important;
    max-inline-size: 74vw !important;
  }
}

/* 2026-07-10c final shared locks.
   These sit last on purpose: page files were reintroducing the same visual regressions. */

body :is(
  [data-wordmark-word],
  [data-side-script-word],
  [data-gallery-wordmark-word],
  [style*="Heatwood"],
  [style*="heatwood"],
  [style*="High Tide"],
  [style*="high tide"],
  .heatwood,
  [class*="heatwood"],
  [class*="Heatwood"],
  [class*="__script"],
  [class*="--script"],
  [class*="-script"],
  .wed-awards-kicker,
  .wed-section-head__eyebrow,
  .lighting-gallery__eyebrow,
  .lighting-gallery__wordmark,
  .dr-difference-sticky__eyebrow,
  .about-kudos__eyebrow,
  .rc__title--swatch
):not(.hero__headline-script):not(.hero__headline-script-shell):not(.hero__headline-script-char),
body :is(
  [data-wordmark-word],
  [data-side-script-word],
  [data-gallery-wordmark-word],
  [style*="Heatwood"],
  [style*="heatwood"],
  [style*="High Tide"],
  [style*="high tide"],
  .heatwood,
  [class*="heatwood"],
  [class*="Heatwood"],
  [class*="__script"],
  [class*="--script"],
  [class*="-script"],
  .wed-awards-kicker,
  .wed-section-head__eyebrow,
  .lighting-gallery__eyebrow,
  .lighting-gallery__wordmark,
  .dr-difference-sticky__eyebrow,
  .about-kudos__eyebrow,
  .rc__title--swatch
):not(.hero__headline-script):not(.hero__headline-script-shell) :is(span, .split-letter, .char, [class*="char"]) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
  line-height: 1.58 !important;
  padding-block: 0.48em 0.86em !important;
}

body :is(
  .wed-section-head,
  .wed-awards,
  .after-steps,
  .after-steps__inner,
  .after-steps__script-wrap,
  .lighting-gallery__header,
  .photobooth-hero,
  .add-ons-hero,
  .music-mashups__heading,
  .music-genre-mixes__heading,
  .about-kudos__header,
  .rc__title
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
}

body.live-instrumentation-page :is(
  .live-msx-intro,
  .live-msx-intro__media,
  .live-msx-intro__content,
  .live-msx-intro__header,
  .live-msx-intro__visual,
  .live-msx-intro__stage,
  .live-msx-intro__art,
  .live-msx-intro__wordmark,
  .live-msx-intro__wordmark-line,
  .live-msx-intro__wordmark-char
) {
  overflow: visible !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  contain: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark {
  left: 50% !important;
  right: auto !important;
  top: clamp(0.35rem, 2.4vw, 1.8rem) !important;
  z-index: 260 !important;
  inline-size: min(92vw, 1180px) !important;
  max-inline-size: min(92vw, 1180px) !important;
  width: min(92vw, 1180px) !important;
  max-width: min(92vw, 1180px) !important;
  margin: 0 !important;
  padding: 0.78em 1.1em 1.12em !important;
  transform: translateX(-50%) rotate(-3deg) !important;
  transform-origin: center center !important;
  pointer-events: none !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark-line,
body.live-instrumentation-page .live-msx-intro__wordmark-char {
  display: block !important;
  line-height: 1.68 !important;
  padding-block: 0.64em 0.98em !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark-line--main {
  font-size: clamp(72px, 9.4vw, 148px) !important;
}

body.live-instrumentation-page .live-msx-intro__wordmark-line--underline {
  font-size: clamp(52px, 6.5vw, 108px) !important;
  transform: scaleX(1.72) !important;
  transform-origin: left center !important;
}

@media (max-width: 767px) {
  body.live-instrumentation-page .live-msx-intro__wordmark {
    top: clamp(0.15rem, 3.2vw, 0.9rem) !important;
    inline-size: min(104vw, 620px) !important;
    max-inline-size: min(104vw, 620px) !important;
    width: min(104vw, 620px) !important;
    max-width: min(104vw, 620px) !important;
    padding: 0.88em 1.04em 1.22em !important;
  }

  body.live-instrumentation-page .live-msx-intro__wordmark-line--main {
    font-size: clamp(86px, 24vw, 128px) !important;
  }

  body.live-instrumentation-page .live-msx-intro__wordmark-line--underline {
    font-size: clamp(56px, 17vw, 88px) !important;
  }
}

body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active),
body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome
) {
  background-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__hover,
  .dj-video-grid__chrome
) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome
)::before,
body:is(.home, .live-instrumentation-page) .dj-video-grid__card:is(:hover, :focus, :focus-visible, :active) :is(
  .dj-video-grid__shell,
  .dj-video-grid__frame,
  .dj-video-grid__frame-overlay,
  .dj-video-grid__media,
  .dj-video-grid__rest,
  .dj-video-grid__hover,
  .dj-video-grid__chrome
)::after {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 0 !important;
}

body.music-page :is(
  .music-genre-mixes__video-wrapper,
  .music-genre-mixes__surface,
  .music-genre-mixes__poster
) {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.music-page .music-genre-mixes__poster {
  position: absolute !important;
  inset: 0 !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  width: 100% !important;
  height: 100% !important;
}

html body :is(
  .lux-event-drawer,
  .services-drawer,
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head,
  .lux-event-drawer__toggle,
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .services-drawer__panel,
  .services-drawer__trigger
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  filter: none !important;
}

html body :is(
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head,
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__toggle,
  .services-drawer__panel,
  .services-drawer__trigger
)::before,
html body :is(
  .lux-event-drawer__panel,
  .lux-event-drawer__body,
  .lux-event-drawer__head,
  .lux-event-drawer__trigger,
  .lux-event-drawer__tab,
  .lux-event-drawer__toggle,
  .services-drawer__panel,
  .services-drawer__trigger
)::after {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

body.weddings-page :is(.wed-venues, .wed-venues--transition) {
  background-color: #071211 !important;
  background-image:
    linear-gradient(180deg, rgba(4, 14, 14, 0.84), rgba(4, 14, 14, 0.62) 48%, rgba(245, 240, 228, calc(var(--transition-sand-fade, 0) * 0.5)) 100%),
    url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.weddings-page .wed-venues-bg-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.weddings-page .wed-venues-bg-soften {
  opacity: clamp(0, calc(var(--transition-sand-fade, 0) * 0.34), 0.42) !important;
}

body.weddings-page .wed-venues :is(.wed-section-head__title, .wed-section-head__copy, p, span) {
  color: #fffaf2 !important;
}

body.faqs-page :is(.de-faq__item, .de-social-ref__faq, .faq-item):is(:hover, .is-active, [open], [aria-expanded="true"]),
body.faqs-page :is(.de-faq__item, .de-social-ref__faq, .faq-item):is(:hover, .is-active, [open], [aria-expanded="true"]) :is(summary, button, h2, h3, h4, p, span, .de-faq__question, .de-social-ref__faq-question) {
  color: #fffaf2 !important;
}

@media (max-width: 767px) {
  body.home .hero__headline {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.36), rgba(0, 0, 0, 0.56)) !important;
  }
}
