:root {
      --wed-bg: #080909;
      --wed-ink: #f7f1e7;
      --wed-copy: rgba(247, 241, 231, 0.82);
      --wed-soft: rgba(247, 241, 231, 0.64);
      --wed-panel: rgba(255, 255, 255, 0.06);
      --wed-panel-strong: rgba(255, 255, 255, 0.1);
      --wed-border: rgba(255, 255, 255, 0.14);
      --wed-accent: #2ec2bc;
      --wed-accent-soft: rgba(46, 194, 188, 0.18);
      --wed-gold: #d6bb7b;
      --wed-blush: #d79cab;
      --wed-shadow: 0 22px 54px rgba(0, 0, 0, 0.34);
      --wed-shell: min(var(--container-wide), calc(100vw - 2rem));
      --event-drawer-accent: #16a89f;
      --event-drawer-accent-soft: rgba(22, 168, 159, 0.12);
      --event-drawer-surface: rgba(247, 241, 232, 0.96);
      --event-drawer-border: rgba(60, 67, 64, 0.12);
      --event-drawer-ink: #2e3431;
    }


/* Final Event Types tab parity: approved curved Services silhouette and sizing. */
html body .lux-event-drawer {
  z-index: 250000 !important;
}

/* Keep the page drawer beneath the approved full-screen global menu. */
body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) {
  z-index: 420 !important;
}

html body .lux-event-drawer .lux-event-drawer__panel {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body .lux-event-drawer .lux-event-drawer__trigger {
  background: transparent url("./assets/slide-out-mobile-menu.svg") center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

html body .lux-event-drawer .lux-event-drawer__trigger::before,
html body .lux-event-drawer .lux-event-drawer__trigger::after {
  content: none !important;
  display: none !important;
}

html body .lux-event-drawer .lux-event-drawer__trigger-label {
  font-family: "Oswald", "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
}

@media (min-width: 1025px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 58px !important;
    width: min(286px, calc(100vw - 24px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 305.484375px !important;
    min-height: 305.484375px !important;
    max-height: 305.484375px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1024px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 58px !important;
    width: min(286px, calc(100vw - 24px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 251.453125px !important;
    min-height: 251.453125px !important;
    max-height: 251.453125px !important;
  }

  html body .lux-event-drawer .lux-event-drawer__trigger {
    background-image: url("./assets/drawer-tab-live.png") !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 36px !important;
    width: min(180px, calc(100vw - 10px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 254.578125px !important;
    min-height: 254.578125px !important;
    max-height: 254.578125px !important;
  }
}

@media (max-width: 767px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 36px !important;
    width: min(180px, calc(100vw - 8px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 234.90625px !important;
    min-height: 234.90625px !important;
    max-height: 234.90625px !important;
  }
}

/* User-reviewed mixed-font CTA parity: match the approved Photo Booths button baseline. */
html body.weddings-page #main-content a.msx-button.approved-button[aria-label="Get a quote"] {
  --approved-button-main-size: clamp(1.01rem, 1.56vw, 1.495rem);
  --approved-button-script-size: clamp(0.66rem, 0.98vw, 0.92rem);
  --approved-button-gap: clamp(7px, 0.62vw, 10px);
  min-height: 56px !important;
  padding: 10px 18px !important;
}

html body.weddings-page #main-content a.msx-button.approved-button[aria-label="Get a quote"] .msx-button__block {
  align-items: baseline !important;
  gap: var(--approved-button-gap) !important;
  transform: translateY(4px) !important;
}

html body.weddings-page #main-content a.msx-button.approved-button[aria-label="Get a quote"] .msx-button__main {
  font-family: "Oswald SemiBold", "Oswald", Impact, sans-serif !important;
  font-size: var(--approved-button-main-size) !important;
  font-weight: 600 !important;
  line-height: 0.82 !important;
  transform: none !important;
}

html body.weddings-page #main-content a.msx-button.approved-button[aria-label="Get a quote"] .msx-button__script {
  font-family: "Heatwood", "High Tide", "Script Font", cursive !important;
  font-size: var(--approved-button-script-size) !important;
  line-height: 1.34 !important;
  padding: 0.24em 0 0.46em !important;
  transform: none !important;
}

@media (max-width: 743px) {
  html body.weddings-page #main-content a.msx-button.approved-button[aria-label="Get a quote"] {
    --approved-button-main-size: 1.02rem;
    --approved-button-script-size: 0.84rem;
    --approved-button-gap: 6px;
    min-height: 38px !important;
    padding: 4px 11px 3px !important;
  }
}

    html {
      scroll-behavior: smooth;
    }

    body.weddings-page {
      background:
        radial-gradient(circle at 20% 0%, rgba(46, 194, 188, 0.1), transparent 22%),
        radial-gradient(circle at 88% 20%, rgba(214, 187, 123, 0.08), transparent 18%),
        #090b0b;
      color: var(--wed-ink);
    }

    .msx-button.approved-button {
      --approved-button-main-size: clamp(1.06rem, 1.45vw, 1.42rem);
      --approved-button-script-size: clamp(0.96rem, 1.32vw, 1.28rem);
      --approved-button-gap: clamp(6px, 0.62vw, 10px);
      --approved-button-main-y: 1px;
      --approved-button-script-y: 1px;
      --approved-button-row-y: 0px;
      min-height: 56px;
      padding: 10px 18px;
    }

    .msx-button.approved-button .msx-button__block {
      display: inline-flex !important;
      align-items: flex-end !important;
      justify-content: center !important;
      flex-wrap: nowrap !important;
      gap: var(--approved-button-gap) !important;
      line-height: 1 !important;
      transform: translateY(var(--approved-button-row-y)) !important;
    }

    .msx-button.approved-button .msx-button__main,
    .msx-button.approved-button .msx-button__script,
    .msx-button.approved-button .msx-button__script--dj-piano {
      display: inline-flex !important;
      align-items: flex-end !important;
      justify-content: center !important;
      margin: 0 !important;
      padding: 0 !important;
      white-space: nowrap !important;
    }

    .msx-button.approved-button .msx-button__main {
      font-size: var(--approved-button-main-size) !important;
      line-height: 0.78 !important;
      transform: translateY(var(--approved-button-main-y)) !important;
    }

    .msx-button.approved-button .msx-button__script,
    .msx-button.approved-button .msx-button__script--dj-piano {
      font-size: var(--approved-button-script-size) !important;
      line-height: 0.64 !important;
      transform: translateY(var(--approved-button-script-y)) !important;
    }

    .msx-button.approved-button .msx-button__script--dj-piano {
      font-size: calc(var(--approved-button-script-size) * 0.86) !important;
    }

    @media (max-width: 743px) {
      .msx-button.approved-button {
        --msx-button-border: 3px;
        --approved-button-main-size: 0.92rem;
        --approved-button-script-size: 0.76rem;
        --approved-button-gap: 4px;
        --approved-button-main-y: 1px;
        --approved-button-script-y: 1px;
        --approved-button-row-y: 0px;
        min-height: 38px !important;
        padding: 4px 11px 3px !important;
      }
    }

    .weddings-page .dj-footer-links a[href="/weddings/"] .dj-roll-stack span:first-child {
      color: #b9fff4;
    }

    .weddings-page .dj-footer-links a[href="/weddings/"]::after {
      content: "";
      display: block;
      width: 100%;
      height: 2px;
      margin-top: 0.35rem;
      background: linear-gradient(90deg, rgba(46, 194, 188, 0), rgba(46, 194, 188, 0.95), rgba(46, 194, 188, 0));
    }

    .wed-hero,
    .wed-story,
    .wed-packages,
    .wed-coverage,
    .wed-coverage-wheel,
    .wed-venues {
      position: relative;
      z-index: 4;
    }

    #meet-stephen {
      --msx-curve-height: 0px;
      --msx-top-mask: linear-gradient(#fff, #fff);
      margin-bottom: -1260px;
    }

    #meet-stephen .msx-title {
      font-size: clamp(36px, 6vw, 81px);
    }

    #meet-stephen .msx-title-line {
      display: block;
    }

    #meet-stephen .msx-meta {
      display: flex;
      align-items: baseline;
      gap: clamp(0.75rem, 1.6vw, 1.35rem);
      flex-wrap: wrap;
      transform: translate(55px, -85px);
    }

    #meet-stephen .msx-overlap-card-overflow {
      width: clamp(238px, calc(19.8vw + 38px), 296px);
    }

    #meet-stephen .msx-overlap-card-overflow img {
      aspect-ratio: 1 / 1;
      object-fit: cover;
      object-position: 46% 34%;
      transform: translate3d(-150px, -120px, 0);
    }

    @media (min-width: 1025px) {
      #meet-stephen .msx-overlap-card {
        display: none;
      }

      #meet-stephen .msx-overlap-card-overflow {
        display: block;
        top: clamp(348px, 26.6vw, 410px);
        right: clamp(474px, 33vw, 558px);
        width: clamp(198px, 15.8vw, 236px);
        z-index: 8;
      }

      #meet-stephen .msx-overlap-card-overflow img {
        position: static;
        top: auto;
        left: auto;
        width: 100%;
        aspect-ratio: auto;
        object-fit: cover;
        object-position: center center;
        transform: none;
        filter: grayscale(0);
      }
    }

    #meet-stephen .msx-photo-main-overlap {
      isolation: isolate;
    }

    #meet-stephen .msx-photo-main-overlap::before,
    #meet-stephen .msx-photo-main-overlap::after {
      content: "";
      position: absolute;
      width: clamp(44px, 4.8vw, 62px);
      height: clamp(44px, 4.8vw, 62px);
      border-color: var(--wed-accent);
      border-style: solid;
      pointer-events: none;
      z-index: 2;
      filter: drop-shadow(0 0 10px rgba(46, 194, 188, 0.16));
    }

    #meet-stephen .msx-photo-main-overlap::before {
      top: 0;
      left: 0;
      border-width: 6px 0 0 6px;
    }

    #meet-stephen .msx-photo-main-overlap::after {
      right: 0;
      bottom: 0;
      border-width: 0 6px 6px 0;
    }

    #meet-stephen .wed-credentials-name {
      margin: 0;
      font-family: "Marcellus", serif;
      font-size: clamp(1.3rem, 1.95vw, 2.18rem);
      line-height: 1;
      letter-spacing: -0.03em;
      color: #4f534d;
    }

    #meet-stephen .wed-credentials-role {
      margin: 0;
      font-family: "Montserrat", sans-serif;
      font-size: clamp(0.62rem, 0.94vw, 1.04rem);
      line-height: 1.1;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      font-weight: 700;
      color: #57a299;
    }

    #meet-stephen .wed-awards-kicker {
      margin: 12px 0 0.1rem calc(0.15rem - 15px);
      display: inline-block;
      font-family: "Heatwood", "Yellowtail", cursive;
      font-size: clamp(0.62rem, 1vw, 1.12rem);
      line-height: 0.95;
      font-weight: 400;
      color: var(--wed-accent);
      text-shadow: none;
      transform: rotate(-2deg) scaleX(1.18);
      transform-origin: left center;
    }

    #meet-stephen .msx-awards-title-wrap {
      display: block;
      min-height: auto;
      margin-left: 0;
    }

    #meet-stephen .msx-awards-title {
      font-size: clamp(34.56px, 5.76vw, 77.76px);
    }

    #meet-stephen .msx-awards-title em {
      font-size: 0.4464em;
      color: var(--wed-accent);
    }

    #meet-stephen .msx-awards-script {
      display: none;
    }

    #meet-stephen .msx-awards-intro {
      grid-template-columns: minmax(380px, 0.82fr) minmax(0, 0.9fr);
      align-items: start;
    }

    #meet-stephen .wed-awards-copy-col {
      grid-column: 1;
      display: grid;
      gap: 1.25rem;
      transform: translateY(-1100px);
    }

    #meet-stephen .wed-awards-heading-col {
      grid-column: 2;
      justify-self: end;
      width: min(100%, 900px);
      display: grid;
      gap: 1rem;
      transform: translateX(70px);
    }

    #meet-stephen .msx-awards-top-marquee {
      width: 100%;
      margin-top: 0;
      justify-self: start;
      transform: translateX(-50px);
    }

    #meet-stephen .wed-awards-title-divider,
    #meet-stephen .wed-awards-image-top-divider,
    #meet-stephen .wed-awards-image-divider,
    #meet-stephen .wed-awards-divider {
      width: 100%;
      background: transparent;
    }

    #meet-stephen .wed-awards-title-divider,
    #meet-stephen .wed-awards-image-top-divider,
    #meet-stephen .wed-awards-image-divider {
      height: 30px;
    }

    #meet-stephen .wed-awards-heading-col .msx-awards-image-wrap {
      --msx-awards-base-x: 0px;
      --msx-awards-base-y: 0px;
      width: min(100%, 380px);
      margin: 0.15rem 0 0;
      justify-self: center;
      transform: translate(-40px, 25px);
    }

    #meet-stephen .wed-awards-heading-col .msx-awards-stats-grid {
      width: min(100%, 576px);
      justify-self: center;
      margin-top: 2rem;
      transform: translateX(-15px);
      gap: 18px 28px;
    }

    #meet-stephen .wed-awards-heading-col .msx-awards-stat {
      --msx-awards-stat-base-x: 0px;
      min-height: 150px;
      padding: 0;
      align-items: center;
      text-align: center;
    }

    #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(2),
    #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(4) {
      --msx-awards-stat-base-x: 0px;
    }

    #meet-stephen .wed-awards-heading-col .msx-awards-stat-label {
      font-size: clamp(11.2px, 0.92vw, 14.4px);
      margin-bottom: 8px;
    }

    #meet-stephen .wed-awards-heading-col .msx-awards-stat-value {
      font-size: clamp(51.2px, 5.6vw, 96px);
    }

    #meet-stephen .msx-awards-shell {
      top: -125px;
    }

    #meet-stephen .msx-awards-lede {
      margin: 0;
    }

    #meet-stephen .wed-awards-divider {
      height: 40px;
    }

    #meet-stephen .wed-awards-copy-col .wed-story__stack {
      max-width: 42rem;
    }

    #meet-stephen .wed-awards-copy-col .wed-story__card {
      opacity: 1;
      background:
        linear-gradient(180deg, rgba(29, 32, 31, 0.96), rgba(20, 22, 21, 0.94)),
        radial-gradient(circle at 84% 18%, rgba(214, 187, 123, 0.13), transparent 30%);
      border-color: rgba(255, 255, 255, 0.16);
      box-shadow:
        0 22px 54px rgba(0, 0, 0, 0.28),
        inset 0 0 0 1px rgba(255, 255, 255, 0.02);
    }

    #meet-stephen .wed-awards-copy-col .wed-story__step {
      color: #57a299;
    }

    #meet-stephen .msx-awards-left {
      display: none;
    }

    #meet-stephen .msx-awards-lower {
      grid-template-columns: 1fr;
    }

    #meet-stephen .msx-awards-bottom-marquee {
      left: 50%;
      width: 100vw;
      max-width: none;
      margin: 0 0 1.35rem;
      justify-self: center;
      opacity: 1;
      transform: translateX(calc(-50% - var(--msx-awards-shell-shift, 0px))) translateY(-40px);
      transition: none;
    }

    #meet-stephen .msx-awards-shell.is-visible .msx-awards-bottom-marquee {
      transform: translateX(calc(-50% - var(--msx-awards-shell-shift, 0px))) translateY(-40px);
    }

    .wed-hero {
      position: relative;
      min-height: clamp(620px, 88vh, 920px);
      overflow: hidden;
      isolation: isolate;
      background: #050408;
    }

    .wed-hero::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: 100vw;
      height: clamp(210px, 24vw, 330px);
      transform: translateX(-50%);
      background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.98) 0%,
        rgba(0, 0, 0, 0.94) 28%,
        rgba(0, 0, 0, 0.76) 56%,
        rgba(0, 0, 0, 0.24) 84%,
        rgba(0, 0, 0, 0) 100%
      );
      z-index: 2;
      pointer-events: none;
    }

    .wed-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 50% 43%, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.04) 16%, rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 50% 46%, rgba(28, 12, 42, 0) 0%, rgba(28, 12, 42, 0.06) 34%, rgba(28, 12, 42, 0.16) 62%, rgba(10, 4, 18, 0.32) 100%),
        linear-gradient(90deg, rgba(4, 2, 8, 0.82) 0%, rgba(4, 2, 8, 0.46) 28%, rgba(4, 2, 8, 0.12) 50%, rgba(4, 2, 8, 0.42) 72%, rgba(4, 2, 8, 0.76) 100%),
        linear-gradient(180deg, rgba(12, 6, 24, 0.12) 0%, rgba(12, 6, 24, 0.28) 54%, rgba(8, 4, 14, 0.78) 100%),
        radial-gradient(circle at 72% 28%, rgba(134, 66, 184, 0.28), transparent 20%),
        radial-gradient(circle at 18% 14%, rgba(88, 199, 197, 0.14), transparent 20%);
      z-index: 1;
      pointer-events: none;
    }

    .wed-hero__media,
    .wed-hero__slide {
      position: absolute;
      inset: 0;
    }

    .wed-hero__media {
      z-index: 0;
    }

    .wed-hero__slide {
      background-image: url("https://charlestonweddingdjs.com/wp-content/uploads/2025/10/Wedding-Header-Image.jpg");
      background-position: center 78%;
      background-size: cover;
      transform: scale(1.06) translateY(-1%);
      will-change: transform;
    }

    .wed-hero__slide.is-active {
      animation: wedHeroKenBurns 12s ease-out forwards;
    }

    .wed-hero__topbar,
    .wed-hero__content {
      position: relative;
      z-index: 3;
    }

    .wed-hero__topbar {
      position: absolute;
      inset: 0 0 auto;
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      z-index: 6;
      pointer-events: auto;
    }

    .wed-hero__content {
      min-height: inherit;
      display: flex;
      align-items: center;
      padding-top: clamp(136px, 16vh, 208px);
      padding-bottom: 0;
    }

    .wed-hero__inner {
      width: min(var(--container-wide), calc(100vw - 2rem));
      margin: 0 auto;
      max-width: 78rem;
    }

    .wed-hero__copy {
      max-width: 52rem;
    }

    .wed-hero__eyebrow {
      margin: 0 0 0.85rem;
      color: #58c7c5;
      font-family: "Oswald SemiBold", "Oswald", "Montserrat", sans-serif;
      font-size: clamp(1rem, 1.3vw, 1.28rem);
      line-height: 1;
      letter-spacing: 0.11em;
      text-transform: uppercase;
      text-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
    }

    .wed-hero__title {
      margin: 0;
      font-family: "Uniqueen Bold", "Montserrat", sans-serif;
      font-size: clamp(3rem, 5.5vw, 6.3rem);
      line-height: 0.9;
      letter-spacing: -0.03em;
      text-transform: uppercase;
      color: #fff;
      text-shadow:
        0 10px 24px rgba(0, 0, 0, 0.44),
        0 2px 10px rgba(0, 0, 0, 0.28);
    }

    .wed-hero__tag {
      margin: clamp(1.3rem, 2vw, 1.9rem) 0 0;
      max-width: 44rem;
      font-family: "Oswald SemiBold", "Oswald", "Montserrat", sans-serif;
      font-size: clamp(1.32rem, 2.35vw, 2.3rem);
      line-height: 1.08;
      letter-spacing: 0.01em;
      text-transform: uppercase;
      color: #58c7c5;
      text-shadow:
        0 8px 18px rgba(0, 0, 0, 0.28),
        0 0 18px rgba(88, 199, 197, 0.14);
    }

    .wed-hero__actions {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-top: 2.15rem;
      flex-wrap: wrap;
    }

    .wed-hero__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 56px;
      padding: 0.9rem 2rem;
      border-radius: 8px;
      border: 1px solid rgba(127, 240, 235, 0.26);
      background: linear-gradient(180deg, #62cfcc 0%, #4cb8b5 100%);
      box-shadow:
        0 18px 36px rgba(0, 0, 0, 0.24),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
      color: #f7fffe;
      font-family: "Montserrat", sans-serif;
      font-size: 1.02rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
    }

    .wed-hero__button:hover,
    .wed-hero__button:focus-visible {
      transform: translateY(-2px);
      box-shadow:
        0 24px 40px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
      filter: brightness(1.03);
    }

    .wed-hero__button:focus-visible {
      outline: 2px solid rgba(127, 240, 235, 0.72);
      outline-offset: 4px;
    }

    .wed-hero__note {
      margin: 0;
      color: rgba(255, 250, 244, 0.64);
      font-family: "Jost", sans-serif;
      font-size: 0.96rem;
      letter-spacing: 0.03em;
      text-transform: uppercase;
    }

    .wed-reveal {
      opacity: 0;
      transform: translateY(28px);
      transition:
        opacity 0.8s cubic-bezier(.22, .9, .28, 1),
        transform 0.8s cubic-bezier(.22, .9, .28, 1);
    }

    .wed-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .wed-hero .wed-reveal {
      opacity: 0;
      transform: translate3d(0, 30px, 0);
      animation: wedHeroReveal 0.9s cubic-bezier(.22, 1, .36, 1) forwards;
    }

    .wed-hero .wed-reveal--1 { animation-delay: 0.12s; }
    .wed-hero .wed-reveal--2 { animation-delay: 0.28s; }
    .wed-hero .wed-reveal--3 { animation-delay: 0.44s; }
    .wed-hero .wed-reveal--4 { animation-delay: 0.6s; }

    .wed-section-head {
      max-width: 48rem;
      margin-bottom: clamp(1.8rem, 4vw, 2.8rem);
    }

    .wed-section-head--center {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    .wed-section-head__eyebrow {
      margin: 0 0 0.9rem;
      color: var(--wed-accent);
      font-family: "Heatwood", "Yellowtail", cursive;
      font-size: clamp(1.35rem, 2.2vw, 2rem);
      line-height: 0.95;
    }

    .wed-section-head__title {
      margin: 0;
      font-family: "Uniqueen Bold", "Montserrat", sans-serif;
      font-size: clamp(2.2rem, 4.2vw, 4.7rem);
      line-height: 0.94;
      letter-spacing: -0.045em;
      text-transform: uppercase;
      color: #f7f3eb;
    }

    .wed-section-head__copy {
      margin: 1rem 0 0;
      color: var(--wed-copy);
      font-size: clamp(0.98rem, 1.2vw, 1.08rem);
      line-height: 1.8;
    }

    .wed-story {
      padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(4rem, 7vw, 6rem);
      background:
        linear-gradient(180deg, #090b0b 0%, #0b1010 62%, #0a0d0d 100%);
    }

    .wed-story__shell {
      width: var(--wed-shell);
      margin: 0 auto;
    }

    .wed-story__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
      gap: clamp(2rem, 4vw, 4rem);
      align-items: center;
    }

    .wed-story__copy p {
      margin: 0.9rem 0 0;
      color: var(--wed-copy);
      font-size: 1rem;
      line-height: 1.84;
      max-width: 42rem;
    }

    .wed-story__signature {
      display: inline-flex;
      align-items: baseline;
      gap: 0.55rem;
      margin-top: 1.25rem;
      color: #fff1df;
    }

    .wed-story__signature strong {
      font-family: "Cormorant Garamond", serif;
      font-size: 1.5rem;
      font-weight: 600;
    }

    .wed-story__signature span {
      color: var(--wed-gold);
      font: 700 0.78rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .wed-story__stack {
      display: grid;
      gap: 1rem;
    }

    .wed-story__card {
      position: relative;
      overflow: hidden;
      padding: 1.4rem 1.35rem;
      border: 1px solid var(--wed-border);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)),
        radial-gradient(circle at 84% 18%, rgba(214, 187, 123, 0.13), transparent 30%);
      box-shadow: var(--wed-shadow);
      transform: translateX(0);
      transition: transform 0.45s ease, border-color 0.35s ease, background 0.35s ease;
    }

    .wed-story__card:nth-child(even) {
      transform: translateX(28px);
    }

    .wed-story__card:hover {
      transform: translateX(0) translateY(-4px);
      border-color: rgba(214, 187, 123, 0.34);
    }

    .wed-story__step {
      color: var(--wed-gold);
      font: 700 0.78rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .wed-story__card h3 {
      margin: 0.55rem 0 0;
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(1.7rem, 2.3vw, 2.2rem);
      line-height: 0.98;
      color: #fff6ea;
    }

    .wed-story__card p {
      margin: 0.7rem 0 0;
      color: var(--wed-copy);
      line-height: 1.72;
    }

    .wed-packages {
      padding: clamp(4.2rem, 7vw, 6.8rem) 0;
      background:
        radial-gradient(circle at top center, rgba(46, 194, 188, 0.08), transparent 20%),
        linear-gradient(180deg, #0a0d0d 0%, #101515 100%);
    }

    .wed-packages__shell {
      width: var(--wed-shell);
      margin: 0 auto;
    }

    .wed-bundles {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.2rem;
      margin-top: clamp(2rem, 4vw, 2.8rem);
    }

    .wed-bundle,
    .wed-builder {
      position: relative;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04)),
        linear-gradient(180deg, rgba(46, 194, 188, 0.06), rgba(46, 194, 188, 0));
      box-shadow: var(--wed-shadow);
      overflow: hidden;
    }

    .wed-bundle::before,
    .wed-builder::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.14), transparent 38%),
        radial-gradient(circle at 100% 0%, rgba(214, 187, 123, 0.22), transparent 34%);
      opacity: 0.72;
      pointer-events: none;
    }

    .wed-bundle {
      display: grid;
      grid-template-rows: auto 1fr auto;
      min-height: 100%;
      transition: transform 0.45s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .wed-bundle:hover,
    .wed-builder:hover {
      transform: translateY(-8px);
      border-color: rgba(214, 187, 123, 0.34);
      box-shadow: 0 28px 60px rgba(0, 0, 0, 0.38);
    }

    .wed-bundle--featured {
      border-color: rgba(214, 187, 123, 0.34);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04)),
        linear-gradient(180deg, rgba(214, 187, 123, 0.1), rgba(46, 194, 188, 0.06));
      transform: translateY(-12px);
    }

    .wed-bundle__badge {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 1;
      padding: 0.45rem 0.75rem;
      background: linear-gradient(135deg, var(--wed-gold), #f0deae);
      color: #151515;
      font: 800 0.66rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .wed-bundle__head,
    .wed-bundle__body,
    .wed-bundle__foot,
    .wed-builder__shell {
      position: relative;
      z-index: 1;
    }

    .wed-bundle__head {
      padding: 1.65rem 1.35rem 1.05rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .wed-bundle__kicker,
    .wed-service-tile__eyebrow,
    .wed-builder__eyebrow {
      margin: 0;
      color: var(--wed-accent);
      font: 700 0.76rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .wed-bundle__title {
      margin: 0.55rem 0 0;
      font-family: "Big Shoulders Display", sans-serif;
      font-size: clamp(2rem, 2.6vw, 2.45rem);
      line-height: 0.94;
      letter-spacing: 0.01em;
      text-transform: uppercase;
      color: #fff5ea;
    }

    .wed-bundle__sub {
      margin: 0.5rem 0 0;
      color: rgba(247, 243, 235, 0.76);
      font: 600 0.92rem/1.45 "Jost", sans-serif;
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }

    .wed-bundle__body {
      padding: 1.15rem 1.35rem 1.1rem;
      display: grid;
      gap: 0.95rem;
    }

    .wed-bundle__copy {
      margin: 0;
      color: rgba(247, 243, 235, 0.88);
      font-size: 0.98rem;
      line-height: 1.68;
    }

    .wed-bundle__list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 0.76rem;
    }

    .wed-bundle__list li {
      display: grid;
      grid-template-columns: 16px 1fr;
      gap: 0.82rem;
      color: rgba(247, 243, 235, 0.9);
      font-size: 0.95rem;
      line-height: 1.52;
    }

    .wed-bundle__list li::before {
      content: "";
      width: 11px;
      height: 11px;
      border-radius: 50%;
      margin-top: 0.34rem;
      background: linear-gradient(135deg, var(--wed-accent), var(--wed-gold));
      box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.06);
    }

    .wed-bundle__foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 1rem 1.35rem 1.25rem;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      color: rgba(247, 243, 235, 0.72);
      font: 700 0.72rem/1.3 "Montserrat", sans-serif;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .wed-bundle__foot strong {
      color: var(--wed-gold);
      font-weight: 800;
    }

    .wed-builder {
      margin-top: clamp(1.4rem, 3vw, 2.1rem);
    }

    .wed-builder__shell {
      display: grid;
      grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
      gap: clamp(1.3rem, 3vw, 2.2rem);
      padding: clamp(1.5rem, 3vw, 2rem);
    }

    .wed-builder__title {
      margin: 0.55rem 0 0;
      color: #fff5ea;
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(2rem, 3vw, 2.7rem);
      line-height: 0.96;
    }

    .wed-builder__copy {
      margin: 0.95rem 0 0;
      color: rgba(247, 243, 235, 0.88);
      font-size: 1rem;
      line-height: 1.75;
      max-width: 34rem;
    }

    .wed-builder__note {
      margin: 1rem 0 0;
      color: rgba(214, 187, 123, 0.92);
      font: 700 0.76rem/1.45 "Montserrat", sans-serif;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .wed-builder__actions {
      margin-top: 1.4rem;
    }

    .wed-service-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.95rem;
    }

    .wed-service-tile {
      position: relative;
      min-height: 150px;
      padding: 1rem 1rem 1.05rem;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03)),
        radial-gradient(circle at top right, rgba(46, 194, 188, 0.14), transparent 34%);
      display: grid;
      align-content: start;
      gap: 0.65rem;
    }

    .wed-service-tile__title {
      margin: 0;
      color: #fff6ea;
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(1.35rem, 1.7vw, 1.7rem);
      line-height: 1.02;
    }

    .wed-service-tile__copy {
      margin: 0;
      color: rgba(247, 243, 235, 0.82);
      font-size: 0.92rem;
      line-height: 1.6;
    }

    .wed-service-tile__tag {
      justify-self: start;
      margin-top: auto;
      padding: 0.45rem 0.62rem;
      border: 1px solid rgba(214, 187, 123, 0.24);
      color: rgba(214, 187, 123, 0.94);
      font: 700 0.66rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .wed-coverage-wheel {
      position: relative;
      isolation: isolate;
      overflow: visible;
      padding: clamp(4.8rem, 7vw, 6.9rem) 0 clamp(0.2rem, 0.9vw, 0.7rem);
      background-color: #030807;
      background:
        linear-gradient(
          180deg,
          rgba(1, 10, 9, 0.98) 0%,
          rgba(2, 14, 13, 0.94) 22%,
          rgba(1, 8, 7, 0.86) 52%,
          rgba(0, 3, 3, 0.96) 100%
        ),
        radial-gradient(circle at 14% 34%, rgba(35, 177, 165, 0.28) 0%, rgba(35, 177, 165, 0.18) 14%, rgba(35, 177, 165, 0.08) 24%, rgba(35, 177, 165, 0) 38%),
        radial-gradient(circle at 78% 72%, rgba(35, 177, 165, 0.26) 0%, rgba(35, 177, 165, 0.16) 15%, rgba(35, 177, 165, 0.06) 24%, rgba(35, 177, 165, 0) 37%),
        radial-gradient(circle at 50% 50%, rgba(16, 86, 80, 0.18) 0%, rgba(16, 86, 80, 0.08) 22%, rgba(16, 86, 80, 0) 44%),
        linear-gradient(135deg, rgba(9, 43, 40, 0.34) 0%, rgba(2, 10, 9, 0) 34%, rgba(12, 52, 48, 0.18) 100%);
    }

    .wed-coverage-wheel::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      background-image:
        linear-gradient(rgba(62, 197, 186, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(62, 197, 186, 0.05) 1px, transparent 1px);
      background-size: 92px 92px;
      mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.72), transparent 92%);
      opacity: 0.14;
      pointer-events: none;
    }

    .wed-coverage-wheel .msx-canvas {
      z-index: 1;
    }

    .wed-coverage-wheel .msx-overlay {
      z-index: 2;
      background:
        radial-gradient(circle at 18% 30%, rgba(79, 218, 206, 0.08), transparent 20%),
        radial-gradient(circle at 76% 70%, rgba(79, 218, 206, 0.07), transparent 19%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0) 18%, rgba(3, 14, 13, 0.12) 100%);
      mix-blend-mode: normal;
    }

    .wed-coverage-wheel__shell {
      position: relative;
      z-index: 3;
      width: min(1780px, calc(100vw - 0.5rem));
      margin: 0 auto;
      display: grid;
      justify-items: center;
      gap: clamp(0.35rem, 1vw, 0.75rem);
      text-align: center;
    }

    .wed-coverage-wheel__head {
      max-width: 56rem;
      margin-bottom: clamp(0.6rem, 1.4vw, 1.15rem);
      position: relative;
      z-index: 3;
    }

    .wed-coverage-wheel__head .wed-section-head__title {
      font-size: clamp(1.87rem, 3.57vw, 4rem);
    }

    .wed-coverage-wheel__gallery {
      width: min(1680px, 100%);
      height: clamp(620px, 52vw, 780px);
      margin-top: -140px;
      padding: 0 clamp(1rem, 4vw, 2.25rem) 0;
      overflow: visible;
    }

    .wed-coverage-wheel__track {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    .wed-coverage-wheel__card {
      position: absolute;
      top: 0;
      left: 0;
      width: clamp(214px, 18.6vw, 332px);
      aspect-ratio: 1.08 / 1;
      padding: clamp(4px, 0.28vw, 6px);
      border: 0.04px solid rgba(255, 255, 255, 0.96);
      border-radius: 28px;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 240, 233, 0.96)),
        #ffffff;
      box-shadow:
        0 24px 58px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(255, 255, 255, 0.24) inset;
      will-change: transform, opacity;
      overflow: hidden;
      backface-visibility: hidden;
      transform-style: preserve-3d;
      transform-origin: center center;
      transition: none;
    }

    .wed-coverage-wheel__card img {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 20px;
      object-fit: cover;
      object-position: center;
      backface-visibility: hidden;
      transform: translateZ(0);
    }

    .wed-coverage-wheel__card-label {
      position: absolute;
      left: clamp(14px, 1.2vw, 22px);
      right: clamp(14px, 1.2vw, 22px);
      bottom: clamp(14px, 1.2vw, 22px);
      z-index: 2;
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      padding: 0.5rem 0.8rem 0.46rem;
      border: 1px solid rgba(255, 255, 255, 0.26);
      background: linear-gradient(180deg, rgba(5, 12, 12, 0.18), rgba(5, 12, 12, 0.54));
      backdrop-filter: blur(8px);
      color: #f7f3eb;
      font-family: "Oswald", Impact, sans-serif;
      font-size: clamp(0.9rem, 1.1vw, 1.15rem);
      font-weight: 600;
      letter-spacing: 0.14em;
      line-height: 1;
      text-transform: uppercase;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
      pointer-events: none;
      opacity: 0;
      transition: opacity 180ms ease;
    }

    .wed-coverage-wheel__card-label.is-visible {
      opacity: 1;
    }

    .wed-coverage-wheel__content {
      width: min(850px, 100%);
      display: grid;
      justify-items: center;
      gap: 0.95rem;
      margin-bottom: -140px;
      transform: translateY(-175px);
    }

    .wed-coverage-wheel__title {
      margin: 0;
      color: var(--wed-ink);
      font-family: "Montserrat", "Poppins", sans-serif;
      font-size: clamp(2.5rem, 5vw, 5.3rem);
      line-height: 0.9;
      letter-spacing: -0.08em;
      text-transform: uppercase;
      font-weight: 900;
      text-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
    }

    .wed-coverage-wheel__copy {
      margin: 0;
      max-width: 42rem;
      color: rgba(247, 241, 231, 0.88);
      font-size: clamp(1rem, 1.2vw, 1.1rem);
      line-height: 1.75;
    }

    .wed-coverage-wheel__actions {
      margin-top: 0.45rem;
    }

    .wed-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 54px;
      padding: 0.9rem 1.5rem;
      border: 1px solid rgba(11, 46, 52, 0.16);
      background: #fffaf2;
      color: #13867d;
      text-decoration: none;
      box-shadow: 0 18px 36px rgba(7, 43, 44, 0.18);
      font: 800 0.78rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }

    .wed-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 24px 42px rgba(7, 43, 44, 0.22);
    }

    .wed-venues {
      padding: clamp(4.1rem, 7vw, 6.5rem) 0;
      background: transparent;
    }

    .wed-venues--transition {
      position: relative;
      z-index: 2;
      padding-top: clamp(3.6rem, 6vw, 5.2rem);
      padding-bottom: clamp(9rem, 13vw, 12rem);
    }

    .wed-venues__shell {
      width: var(--wed-shell);
      margin: 0 auto;
    }

    .wed-venues__shell .wed-section-head {
      max-width: min(100%, 88rem);
      margin: 0;
      padding-left: clamp(116px, 12vw, 210px);
      padding-right: 0;
      text-align: left;
    }

    .wed-venues__shell .wed-section-head > *:not(.wed-venues__bubbles) {
      position: relative;
      z-index: 1;
    }

    .wed-venues__shell .wed-section-head__title,
    .wed-venues__shell .wed-section-head__copy {
      margin-left: 0;
      margin-right: 0;
      max-width: 72rem;
    }

    .wed-venues__shell .wed-section-head__title {
      font-size: clamp(1.65rem, 3.15vw, 3.55rem);
      color: #fffaf2;
    }

    .wed-venues__shell .wed-section-head__copy {
      color: rgba(255, 250, 242, 0.82);
    }

    .wed-venues__bubbles {
      position: absolute;
      left: clamp(0px, 1vw, 18px);
      top: clamp(10px, 1.2vw, 24px);
      width: clamp(84px, 10vw, 144px);
      height: auto;
      transform: rotate(-6deg);
      pointer-events: none;
      opacity: 0.95;
      z-index: 0;
    }

    .wed-venues__marquee {
      position: relative;
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      overflow: hidden;
      margin-top: 2.4rem;
      display: grid;
      gap: 1.15rem;
      padding-block: 0.35rem;
      padding-inline: 0;
      background: transparent;
    }

    .wed-venues__track {
      display: flex;
      width: max-content;
      gap: 1rem;
      animation: wedVenueMarquee 44s linear infinite;
    }

    .wed-venues__track--reverse {
      animation-direction: reverse;
      animation-duration: 48s;
    }

    .wed-venues__card {
      flex: 0 0 auto;
      position: relative;
      overflow: hidden;
      width: clamp(280px, 29vw, 420px);
      aspect-ratio: 1.48;
      border: 1px solid rgba(214, 187, 123, 0.2);
      border-radius: 30px;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        var(--venue-image) center center / cover no-repeat;
      box-shadow: none;
      transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    }

    .wed-venues__card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(7, 8, 8, 0.04) 0%, rgba(7, 8, 8, 0.14) 30%, rgba(7, 8, 8, 0.72) 100%),
        radial-gradient(circle at top right, rgba(214, 187, 123, 0.22), transparent 30%);
      z-index: 0;
    }

    .wed-venues__card::after {
      content: "";
      position: absolute;
      inset: 14px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 22px;
      opacity: 0.8;
      z-index: 1;
    }

    .wed-venues__card-body {
      position: absolute;
      inset: auto 0 0;
      z-index: 2;
      padding: 1.2rem 1.15rem 1.15rem;
      display: grid;
      gap: 0.45rem;
    }

    .wed-venues__card-kicker {
      color: rgba(214, 187, 123, 0.95);
      font: 700 0.7rem/1 "Montserrat", sans-serif;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .wed-venues__card-title {
      margin: 0;
      color: #fff8ee;
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(1.42rem, 1.9vw, 2rem);
      line-height: 0.96;
      text-wrap: balance;
    }

    .wed-venues__card-meta {
      color: rgba(247, 243, 235, 0.78);
      font: 700 0.68rem/1.4 "Montserrat", sans-serif;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .wed-venues__card:hover {
      transform: translateY(-6px);
      border-color: rgba(214, 187, 123, 0.34);
      box-shadow: none;
    }

    .dj-piano-burst-band {
      position: relative;
      width: 100vw;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
      min-height: clamp(420px, 54vw, 760px);
      overflow: hidden;
      background-color: #050505;
      isolation: isolate;
      z-index: 3;
      --burst-parallax-shift: 0px;
    }

    .dj-piano-burst-band__divider {
      position: absolute;
      left: 0;
      width: 100%;
      height: auto;
      display: block;
      z-index: 4;
      pointer-events: none;
    }

    .dj-piano-burst-band__divider--top {
      display: none;
    }

    .dj-piano-burst-band__divider--bottom {
      bottom: 0;
      transform: translateY(50%);
    }

    .dj-piano-burst-band::before {
      display: none;
    }

    .dj-piano-burst-band::after {
      display: none;
    }

    .dj-piano-burst-band__copy {
      position: absolute;
      inset: 50% auto auto 50%;
      z-index: 2;
      display: grid;
      justify-items: center;
      align-content: center;
      gap: clamp(0px, 0.4vw, 6px);
      width: min(100%, calc(100vw - 2rem));
      max-width: min(100%, 58rem);
      transform: translate(-50%, -50%);
      text-align: center;
      pointer-events: none;
    }

    .dj-piano-burst-band__copy::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(900px, 78vw);
      height: min(420px, 48vw);
      transform: translate(-50%, -50%);
      border-radius: 999px;
      background:
        radial-gradient(
          ellipse at center,
          rgba(0, 0, 0, 0.5) 0%,
          rgba(0, 0, 0, 0.3) 42%,
          rgba(0, 0, 0, 0.12) 68%,
          rgba(0, 0, 0, 0) 100%
        );
      filter: blur(10px);
      z-index: -1;
      pointer-events: none;
    }

    .dj-piano-burst-band__eyebrow {
      margin: 0;
      font-family: "Heatwood", "Yellowtail", cursive;
      font-size: clamp(34px, 5.2vw, 120px);
      line-height: 0.82;
      font-weight: 400;
      letter-spacing: 0;
      color: #16a89f;
      transform: none;
      transform-origin: center;
      text-shadow:
        0 8px 22px rgba(0, 0, 0, 0.52),
        0 0 18px rgba(22, 168, 159, 0.3),
        0 0 34px rgba(22, 168, 159, 0.14);
    }

    .dj-piano-burst-band__title {
      margin: 0;
      min-height: 1.1em;
      max-width: 100%;
      font-family: "Uniqueen Bold", "Montserrat", sans-serif;
      font-size: clamp(42px, 6.2vw, 104px);
      line-height: 0.9;
      letter-spacing: -0.05em;
      text-transform: uppercase;
      color: #f7f3eb;
      transform: none;
      text-shadow:
        0 10px 24px rgba(0, 0, 0, 0.64),
        0 0 1px rgba(0, 0, 0, 0.85),
        0 0 16px rgba(22, 168, 159, 0.12);
      -webkit-text-stroke: 1px rgba(0, 0, 0, 0.24);
    }

    .dj-piano-burst-band__rotator {
      display: inline-block;
      min-width: 10ch;
    }

    .dj-piano-burst-band__media {
      position: absolute;
      inset: 0;
      overflow: hidden;
      z-index: 0;
      background: var(--burst-image) center calc(50% + var(--burst-parallax-shift)) / cover no-repeat;
      transform: scale(1);
      transform-origin: center center;
      will-change: transform, background-position;
    }

    @supports (background-attachment: fixed) {
      .dj-piano-burst-band__media {
        background-attachment: fixed;
      }
    }

    @keyframes djPianoBurstKenBurns {
      from {
        transform: scale(1);
      }

      to {
        transform: scale(1.08);
      }
    }

    .dj-piano-burst-band__vignette {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      box-shadow:
        inset 0 0 180px rgba(8, 10, 12, 0.42),
        inset 0 0 320px rgba(8, 10, 12, 0.22);
      background:
        linear-gradient(90deg, rgba(8, 10, 12, 0.78) 0, rgba(8, 10, 12, 0.34) 120px, rgba(8, 10, 12, 0) 280px),
        linear-gradient(270deg, rgba(8, 10, 12, 0.78) 0, rgba(8, 10, 12, 0.34) 120px, rgba(8, 10, 12, 0) 280px),
        linear-gradient(180deg, rgba(8, 10, 12, 0.72) 0, rgba(8, 10, 12, 0.28) 110px, rgba(8, 10, 12, 0) 240px),
        linear-gradient(0deg, rgba(8, 10, 12, 0.72) 0, rgba(8, 10, 12, 0.28) 110px, rgba(8, 10, 12, 0) 240px),
        radial-gradient(circle at 0% 0%, rgba(8, 10, 12, 0.42) 0, rgba(8, 10, 12, 0) 220px),
        radial-gradient(circle at 100% 0%, rgba(8, 10, 12, 0.42) 0, rgba(8, 10, 12, 0) 220px),
        radial-gradient(circle at 0% 100%, rgba(8, 10, 12, 0.42) 0, rgba(8, 10, 12, 0) 220px),
        radial-gradient(circle at 100% 100%, rgba(8, 10, 12, 0.42) 0, rgba(8, 10, 12, 0) 220px),
        radial-gradient(circle at 20% 20%, rgba(22, 176, 164, 0.04), transparent 38%);
    }

    .dj-piano-burst-band__media::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(
          180deg,
          rgba(0, 0, 0, 0.26) 0%,
          rgba(0, 0, 0, 0.14) 28%,
          rgba(0, 0, 0, 0.1) 52%,
          rgba(0, 0, 0, 0.16) 100%
        );
      pointer-events: none;
    }

    .dj-piano-burst-band__media::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: transparent;
    }

    .dstp-page {
      --transition-progress: 0;
      --transition-eased: 0;
      --transition-bridge: 0;
      --transition-sand-fade: 0;
      --dstp-page-bg-image: url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg");
      position: relative;
      z-index: 2;
      overflow: clip;
      padding: 0 0 clamp(6rem, 10vw, 8rem);
      background:
        linear-gradient(180deg, rgba(246, 242, 234, 0.96) 0%, rgba(246, 242, 234, 0.975) 38%, rgba(246, 242, 234, 0.99) 70%, rgba(246, 242, 234, 1) 100%),
        linear-gradient(180deg, rgba(173, 170, 162, 0.04) 0%, rgba(173, 170, 162, 0.1) 100%),
        #f4f0e7;
      isolation: isolate;
    }

    .dstp-page::before,
    .dstp-page::after,
    .dstp-shared-light,
    .dstp-page-bg-image,
    .dstp-page-bg-soften {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      transform: translateZ(0);
      backface-visibility: hidden;
      will-change: opacity;
    }

    .dstp-page::before {
      z-index: 0;
      background:
        linear-gradient(180deg, rgba(10, 14, 14, 0.98) 0%, rgba(10, 14, 14, 0.84) 18%, rgba(10, 14, 14, 0.34) 44%, rgba(10, 14, 14, 0.04) 74%, rgba(10, 14, 14, 0) 100%);
      opacity: calc(1 - min(1, calc(var(--transition-sand-fade) * 1.08)));
      transition: none;
    }

    .dstp-page::after {
      z-index: 1;
      background:
        radial-gradient(circle at 50% 0%, rgba(214, 187, 123, 0.22), transparent 54%),
        linear-gradient(180deg, rgba(214, 187, 123, 0.12) 0%, rgba(214, 187, 123, 0) 42%);
      opacity: calc(min(1, calc(var(--transition-bridge) * 1.02)) * (1 - min(1, calc(var(--transition-sand-fade) * 1.08))));
      transition: none;
    }

    .dstp-page-bg-image {
      z-index: 0;
      background-image: var(--dstp-page-bg-image, none);
      background-position: center center;
      background-size: cover;
      background-repeat: no-repeat;
      opacity: calc(0.18 * (1 - min(1, calc(var(--transition-sand-fade) * 1.08))));
      transition: none;
    }

    .dstp-shared-light {
      z-index: 1;
      background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.54), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 54%);
      opacity: calc(min(1, calc(var(--transition-eased) * 1.04)) + ((1 - min(1, calc(var(--transition-eased) * 1.04))) * min(1, calc(var(--transition-sand-fade) * 1.08))));
      transition: none;
    }

    .dstp-page-bg-soften {
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(246, 242, 234, min(1, calc(var(--transition-sand-fade) * 1.08))), rgba(246, 242, 234, min(1, calc(var(--transition-sand-fade) * 1.08)))),
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, calc(0.03 + (0.12 * min(1, calc(var(--transition-eased) * 1.04))))), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, calc(0.02 + (0.17 * min(1, calc(var(--transition-eased) * 1.04))))), rgba(255, 255, 255, calc(0.01 + (0.08 * min(1, calc(var(--transition-eased) * 1.04))))));
      transition: none;
    }

    .de-social-ref {
      position: relative;
      z-index: 2;
      margin-top: clamp(-120px, -7vw, -72px);
      margin-bottom: -120px;
      background: transparent;
      box-shadow: none;
    }

    .de-social-ref::after {
      content: none;
    }

    .de-social-ref__inner {
      width: var(--wed-shell);
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    .de-social-ref__divider {
      width: 100%;
      height: 50px;
      background: transparent;
    }

    .de-social-ref__head {
      display: grid;
      justify-items: center;
      text-align: center;
      gap: 0.7rem;
      position: relative;
      margin-bottom: 0;
      padding-bottom: clamp(3rem, 12vw, 7rem);
      transform: none !important;
      transition: none !important;
    }

    .de-social-ref__title {
      margin: 0;
      color: #10211f;
      font-family: "Montserrat", "Poppins", sans-serif;
      font-size: clamp(40px, 4.3vw, 66px);
      line-height: 0.96;
      letter-spacing: -0.05em;
      font-weight: 900;
      text-transform: uppercase;
    }

    .de-social-ref__title-top,
    .de-social-ref__title-bottom {
      display: block;
    }

    .de-social-ref__title-bottom {
      max-width: 24ch;
      margin: 0.12em auto 0;
      font-size: 0.58em;
      line-height: 1.16;
      letter-spacing: -0.035em;
      text-transform: none;
    }

    .de-social-ref__faq-list {
      width: min(960px, 100%);
      margin: 0 auto;
      display: grid;
      gap: 1rem;
    }

    .de-social-ref__faq-item {
      border: 1px solid rgba(16, 33, 31, 0.12);
      border-radius: 1.5rem;
      background: rgba(255, 255, 255, 0.58);
      box-shadow: 0 18px 38px rgba(16, 33, 31, 0.08);
      backdrop-filter: blur(10px);
      overflow: hidden;
    }

    .de-social-ref__faq-question {
      position: relative;
      list-style: none;
      cursor: pointer;
      padding: 1.25rem 4.5rem 1.25rem 1.4rem;
      color: #10211f;
      font-family: "Montserrat", "Poppins", sans-serif;
      font-size: clamp(1.05rem, 1.5vw, 1.3rem);
      font-weight: 700;
      line-height: 1.15;
      letter-spacing: -0.03em;
    }

    .de-social-ref__faq-question::-webkit-details-marker {
      display: none;
    }

    .de-social-ref__faq-question::before,
    .de-social-ref__faq-question::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 1.5rem;
      width: 16px;
      height: 2px;
      border-radius: 999px;
      background: #16a89f;
      transform: translateY(-50%);
      transition: transform 220ms ease, opacity 220ms ease;
    }

    .de-social-ref__faq-question::after {
      transform: translateY(-50%) rotate(90deg);
    }

    .de-social-ref__faq-item[open] .de-social-ref__faq-question::after {
      transform: translateY(-50%) rotate(180deg);
      opacity: 0;
    }

    .de-social-ref__faq-answer {
      padding: 0 1.4rem 1.35rem;
      color: rgba(16, 33, 31, 0.8);
      font-family: "Open Sans", sans-serif;
      font-size: clamp(0.98rem, 1.05vw, 1.06rem);
      line-height: 1.72;
    }

    .de-social-ref__faq-answer p {
      margin: 0;
    }

    .de-social-ref__cta {
      display: flex;
      justify-content: center;
      margin-top: clamp(1.5rem, 3vw, 2.4rem);
      transform: translateY(-15px);
    }

    .de-social-ref__cta .wed-button {
      min-width: 220px;
    }

    .dj-footer-section {
      margin-top: -3px;
      background-color: #f4f1e9;
      box-shadow: 0 -3px 0 #f4f1e9 inset;
      background: linear-gradient(180deg, #f4f1e9 0%, #f4f1e9 44px, #dad4c9 72px, #3a3732 140px, #080706 240px, #080706 100%);
    }

    .dj-footer-section::before {
      background: linear-gradient(180deg, #f4f1e9 0%, #f4f1e9 44px, #d9f2ec 88px, #8fd6c9 38%, #35c4b0 47%, #04a58a 50%, #04a58a 100%);
    }

    @keyframes wedHeroKenBurns {
      0% {
        transform: scale(1.08) translateY(-2%);
      }
      100% {
        transform: scale(1) translateY(0);
      }
    }

    @keyframes wedHeroReveal {
      0% {
        opacity: 0;
        transform: translateY(18px);
      }
      100% {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes wedVenueMarquee {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-50%);
      }
    }

    @media (max-width: 1024px) {
      :root {
        --wed-shell: min(var(--container-wide), calc(100vw - 2rem));
      }

      .wed-story__grid,
      .wed-builder__shell {
        grid-template-columns: 1fr;
      }

      .wed-hero__copy {
        max-width: none;
      }

      .wed-hero__actions {
        align-items: flex-start;
      }

      .wed-hero__note {
        max-width: 34rem;
        line-height: 1.45;
      }

      #meet-stephen {
        margin-bottom: 0;
      }

      #meet-stephen .msx-wrap {
        width: min(100%, calc(100vw - 2rem));
        transform: none;
      }

      #meet-stephen .msx-grid {
        grid-template-columns: 1fr;
        gap: clamp(1.75rem, 4vw, 2.75rem);
      }

      #meet-stephen .msx-copy-col {
        min-width: 0;
        max-width: none;
        padding-top: clamp(0.75rem, 2vw, 1.25rem);
        padding-left: 0;
      }

      #meet-stephen .msx-eyebrow {
        top: 0;
        left: 0;
      }

      #meet-stephen .msx-eyebrow-icon {
        width: clamp(74px, 9vw, 96px);
        transform: translate(-10px, 10px) rotate(-14deg);
      }

      #meet-stephen .msx-photo-main-overlap,
      #meet-stephen .msx-overlap-card-overflow,
      #meet-stephen .msx-visor,
      #meet-stephen .msx-visor-bottom {
        display: none;
      }

      #meet-stephen .msx-media-col {
        min-height: 0;
        margin-top: 0.5rem;
      }

      #meet-stephen .msx-photo-main {
        display: block;
        position: relative;
        top: 0;
        right: auto;
        width: min(100%, 42rem);
        margin: 0 auto;
      }

      #meet-stephen .msx-overlap-card {
        display: block;
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: min(16rem, 42vw);
        margin: -4.5rem 1.5rem 0 auto;
      }

      #meet-stephen .msx-meta {
        gap: 0.5rem;
        transform: none;
      }

      #meet-stephen .wed-credentials-name,
      #meet-stephen .wed-credentials-role {
        width: 100%;
      }

      #meet-stephen .msx-awards-shell {
        top: auto;
        margin-top: clamp(1.5rem, 3vw, 2rem);
      }

      #meet-stephen .msx-awards-intro {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 3vw, 2.25rem);
      }

      #meet-stephen .msx-awards-title-wrap,
      #meet-stephen .wed-awards-copy-col {
        grid-column: auto;
        justify-self: start;
      }

      #meet-stephen .wed-awards-heading-col,
      #meet-stephen .wed-awards-copy-col {
        width: 100%;
        transform: none;
      }

      #meet-stephen .wed-awards-heading-col {
        grid-column: auto;
        justify-self: start;
        gap: 0.85rem;
      }

      #meet-stephen .msx-awards-top-marquee {
        width: 100%;
        margin-top: 0.85rem;
        transform: none;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-image-wrap {
        width: min(100%, 22rem);
        margin: 0.25rem auto 0;
        transform: none;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stats-grid {
        width: min(100%, 38rem);
        margin: 1.4rem auto 0;
        transform: none;
        gap: 1rem 1.5rem;
      }

      #meet-stephen .wed-awards-copy-col {
        gap: 1rem;
      }

      #meet-stephen .wed-awards-copy-col .wed-story__stack {
        max-width: none;
      }

      #meet-stephen .msx-awards-bottom-marquee {
        left: 0;
        width: 100%;
        max-width: 100%;
        margin: 0 0 1rem;
        justify-self: start;
        transform: none;
        transition: opacity 0.8s ease 0.62s;
      }

      #meet-stephen .msx-awards-shell.is-visible .msx-awards-bottom-marquee {
        transform: none;
      }

      .wed-coverage-wheel__content {
        width: min(100%, 45rem);
      }

      .dj-piano-burst-band {
        min-height: clamp(320px, 48vw, 520px);
      }

      .dj-piano-burst-band__copy {
        width: min(100%, calc(100vw - 1.5rem));
      }

      .dj-piano-burst-band__eyebrow,
      .dj-piano-burst-band__title {
        transform: none;
      }

      .dj-piano-burst-band__copy::before {
        width: min(520px, 90vw);
        height: min(240px, 50vw);
        transform: translate(-50%, -50%);
      }

      .dj-piano-burst-band__eyebrow {
        font-size: clamp(44px, 8vw, 76px);
      }

      .dj-piano-burst-band__title {
        font-size: clamp(42px, 7vw, 72px);
      }

      .wed-venues__marquee,
      .wed-venues__track {
        gap: 0.9rem;
      }

      .lux-event-drawer {
        right: 0;
        bottom: 12px;
        left: auto;
        transform: none;
      }

      .lux-event-drawer__panel {
        --drawer-tab-size: 28px;
        width: min(146px, calc(100vw - 10px));
        margin-left: auto;
        grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr);
        grid-template-rows: none;
        align-items: stretch;
        border: 0;
        border-radius: 0 !important;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        overflow: visible;
        transform: translateX(calc(100% - var(--drawer-tab-size)));
      }

      .lux-event-drawer:hover .lux-event-drawer__panel,
      .lux-event-drawer.is-open .lux-event-drawer__panel,
      .lux-event-drawer__panel:focus-within {
        transform: translateX(0);
      }

      .lux-event-drawer__trigger {
        align-self: stretch;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        letter-spacing: 0.08em;
        border: 0;
        padding: 0;
        font-size: 0.52rem;
        line-height: 1;
        color: #f8f4ed;
        background: transparent;
        position: relative;
        isolation: isolate;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
      }

      .lux-event-drawer__trigger::before,
      .lux-event-drawer__trigger::after {
        position: absolute;
        inset: 0;
        pointer-events: none;
      }

      .lux-event-drawer__trigger::before {
        content: "";
        display: block !important;
        background: center / 100% 100% no-repeat url("https://charlestonweddingdjs.com/wp-content/uploads/2026/05/drawer-tabe-desktop.png");
        transform: scaleX(-1);
        z-index: -1;
      }

      .lux-event-drawer__trigger::after {
        content: none;
        display: none !important;
      }

      .lux-event-drawer__body {
        padding: 0.46rem 0.46rem 0.4rem 0.4rem;
        max-height: none;
        overflow: visible;
        opacity: 1;
        background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 241, 232, 0.98)),
          radial-gradient(circle at top right, rgba(26, 182, 173, 0.08), transparent 42%);
        border: 1px solid rgba(214, 203, 182, 0.92);
        border-left: 0;
        box-shadow: 0 18px 34px rgba(31, 35, 33, 0.12);
        transition: none;
      }

      .lux-event-drawer:hover .lux-event-drawer__body,
      .lux-event-drawer.is-open .lux-event-drawer__body,
      .lux-event-drawer__panel:focus-within .lux-event-drawer__body {
        padding: 0.46rem 0.46rem 0.4rem 0.4rem;
      }

      .lux-event-drawer__links {
        display: flex;
        flex-direction: column;
        gap: 0;
        counter-reset: mobile-event-types;
      }

      .lux-event-drawer__link {
        position: relative;
        padding: 0.4rem 0 0.38rem;
        border: 0;
        border-bottom: 1px solid rgba(198, 183, 154, 0.72);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        counter-increment: mobile-event-types;
      }

      .lux-event-drawer__link:last-child {
        border-bottom: 0;
      }

      .lux-event-drawer__link::before {
        content: counter(mobile-event-types, decimal-leading-zero);
        display: block;
        margin-bottom: 0.2rem;
        color: rgba(73, 77, 74, 0.58);
        font-family: "Montserrat", sans-serif;
        font-size: 0.34rem;
        letter-spacing: 0.16em;
      }

      .lux-event-drawer__label {
        font-size: 0.66rem;
        line-height: 1.02;
        letter-spacing: 0.12em;
      }

      .lux-event-drawer__meta {
        font-size: 0.4rem;
        margin-top: 0.1rem;
        line-height: 1.18;
        letter-spacing: 0.12em;
        max-width: 14ch;
      }

      .lux-event-drawer__link:hover,
      .lux-event-drawer__link:focus-visible {
        transform: none;
        border-color: rgba(164, 151, 124, 0.82);
        background: transparent;
        box-shadow: none;
      }

      .lux-event-drawer__link[aria-current="page"] {
        border-color: rgba(164, 151, 124, 0.82);
        background: transparent;
        box-shadow: none;
      }

      .lux-event-drawer__link[aria-current="page"]::before,
      .lux-event-drawer__link[aria-current="page"] .lux-event-drawer__label {
        color: #178a84;
      }
    }

    @media (min-width: 768px) and (max-width: 1024px) {
      .wed-bundles,
      .wed-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #meet-stephen .msx-title {
        max-width: 9ch;
        font-size: clamp(3.25rem, 8vw, 4.75rem);
      }

      #meet-stephen .wed-awards-kicker {
        margin-left: 0.1rem;
        font-size: clamp(0.72rem, 1.2vw, 0.95rem);
      }

      .wed-coverage-wheel {
        padding-top: 4.6rem;
      }

      .wed-coverage-wheel__gallery {
        width: min(100%, 880px);
        height: clamp(540px, 70vw, 700px);
        margin-top: -100px;
        padding: 0 0.75rem 2rem;
      }

      .wed-coverage-wheel__card {
        width: clamp(180px, 26vw, 280px);
      }

      .wed-coverage-wheel__content {
        margin-bottom: -92px;
        transform: translateY(-110px);
      }

      .wed-coverage-wheel__title {
        font-size: clamp(2.4rem, 5.5vw, 4.4rem);
      }

      .wed-venues__shell .wed-section-head {
        padding-left: clamp(88px, 10vw, 140px);
      }

      .wed-venues__card {
        width: clamp(250px, 37vw, 360px);
        aspect-ratio: 1.38;
      }

      .dstp-page {
        padding-top: 6.5rem;
      }

      .de-social-ref {
        margin-top: -84px;
      }

      .de-social-ref__title {
        font-size: clamp(2.85rem, 5.6vw, 3.75rem);
      }

      .de-social-ref__title-bottom {
        max-width: 25ch;
        font-size: 0.56em;
        line-height: 1.18;
      }
    }

    @media (max-width: 767px) {
      :root {
        --wed-shell: min(var(--container-wide), calc(100vw - 1.25rem));
      }

      .wed-hero {
        min-height: clamp(560px, 88svh, 760px);
      }

      .wed-hero::before {
        height: clamp(170px, 34vw, 240px);
      }

      .wed-hero__content {
        padding-top: clamp(7.4rem, 20vw, 8.2rem);
        padding-bottom: 2.5rem;
      }

      .wed-hero__inner {
        width: min(100%, calc(100vw - 1.5rem));
      }

      .wed-hero__slide {
        background-position: center center;
      }

      .wed-hero__title {
        font-size: clamp(2.45rem, 10vw, 4.2rem);
      }

      .wed-hero__tag {
        font-size: clamp(1.05rem, 5vw, 1.65rem);
      }

      .wed-hero__actions {
        gap: 0.75rem;
        margin-top: 1.6rem;
      }

      .wed-hero__note {
        font-size: 0.82rem;
      }

      .wed-hero__button {
        width: 100%;
      }

      #meet-stephen .msx-wrap {
        width: min(100%, calc(100vw - 1.25rem));
      }

      #meet-stephen .msx-title {
        max-width: 7.5ch;
        font-size: clamp(2.35rem, 11.5vw, 3.5rem);
      }

      #meet-stephen .msx-eyebrow-icon {
        transform: translate(-10px, -20px) rotate(-14deg);
      }

      #meet-stephen .msx-media-col {
        margin-top: 1.5rem;
      }

      #meet-stephen .msx-photo-main img,
      #meet-stephen .msx-overlap-card img {
        filter: grayscale(0);
      }

      #meet-stephen .msx-photo-main:hover img,
      #meet-stephen .msx-photo-main:focus-within img,
      #meet-stephen .msx-overlap-card:hover img,
      #meet-stephen .msx-overlap-card:focus-within img {
        filter: grayscale(1);
      }

      #meet-stephen .wed-awards-kicker {
        margin-left: 0.1rem;
        font-size: clamp(0.65rem, 2.9vw, 0.9rem);
      }

      #meet-stephen .msx-awards-shell {
        margin-top: calc(clamp(1.5rem, 3vw, 2rem) - 50px);
      }

      #meet-stephen .wed-awards-copy-col {
        margin-top: -193px;
      }

      #meet-stephen .msx-awards-top-marquee {
        margin-top: 0.85rem;
        transform: translateY(-40px);
      }

      #meet-stephen .msx-overlap-card {
        width: min(13rem, 44vw);
        margin: -4rem 1rem 0 auto;
        transform: translateY(-39px);
      }

      #meet-stephen .msx-overlap-card img {
        transform: scale(1.14);
        transform-origin: center center;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-image-wrap {
        width: min(100%, 18rem);
        margin-left: auto;
        margin-right: auto;
        justify-self: center;
        transform: translate(37px, -65px);
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stats-grid {
        width: min(100%, 19.5rem);
        gap: 18px 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: center;
        align-items: start;
        transform: translateY(-95px);
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat {
        width: 100%;
        max-width: 9.25rem;
        min-width: 0;
        justify-self: center;
        margin-inline: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        text-align: center;
        transform: none;
      }

      #meet-stephen .wed-awards-copy-col .wed-story__card {
        background: #1d201f;
        box-shadow: none;
        border-color: rgba(255, 255, 255, 0.12);
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat-label {
        width: 100%;
        min-height: 2.18em;
        margin: 0 0 8px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        font-size: clamp(11.2px, 3vw, 14.4px);
        line-height: 1.05;
        text-align: center;
        white-space: normal;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat-label {
        font-size: 0;
        line-height: 0;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat-label::before {
        display: block;
        font-size: clamp(11.2px, 3vw, 14.4px);
        line-height: 1.05;
        letter-spacing: inherit;
        text-transform: uppercase;
        color: inherit;
        white-space: pre-line;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(1) .msx-awards-stat-label::before {
        content: "Events\A Performed";
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(2) .msx-awards-stat-label::before {
        content: "Venues";
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(3) .msx-awards-stat-label::before {
        content: "Destinations";
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(4) .msx-awards-stat-label::before {
        content: "Recognitions";
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat-value {
        margin: 0;
        line-height: 0.86;
      }

      #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(3),
      #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(4) {
        transform: translateY(-60px);
      }

      .wed-bundles,
      .wed-service-grid {
        grid-template-columns: 1fr;
      }

      .wed-bundle--featured,
      .wed-story__card:nth-child(even) {
        transform: none;
      }

      .wed-bundle__foot {
        flex-direction: column;
        align-items: flex-start;
      }

      .wed-builder__shell {
        padding: 1.25rem;
      }

      .wed-service-tile {
        min-height: 0;
      }

      .wed-coverage-wheel {
        padding-top: 4.2rem;
      }

      .wed-coverage-wheel__gallery {
        width: calc(100vw + 80px);
        height: clamp(440px, 102vw, 640px);
        margin-top: -56px;
        margin-left: calc(50% - 50vw - 40px);
        margin-right: calc(50% - 50vw - 40px);
        padding: 0 0 2rem;
      }

      .wed-coverage-wheel__card {
        width: clamp(168px, 49vw, 276px);
        padding: 2px;
        border-width: 0.5px;
        border-radius: 20px;
      }

      .wed-coverage-wheel__card img {
        border-radius: 18px;
      }

      .wed-coverage-wheel__card-label {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 0.42rem 0.65rem 0.4rem;
        font-size: clamp(0.72rem, 2.9vw, 0.92rem);
      }

      .wed-coverage-wheel__content {
        margin-bottom: -72px;
        transform: translateY(-82px);
        padding-inline: 0.5rem;
      }

      .wed-coverage-wheel__actions {
        transform: translateY(-13px);
      }

      .wed-coverage-wheel__title {
        font-size: clamp(2rem, 10vw, 3.3rem);
      }

      .wed-coverage-wheel__copy {
        font-size: 0.98rem;
      }

      .wed-coverage-wheel__head .wed-section-head__title {
        font-size: clamp(1.8rem, 9vw, 3rem);
        letter-spacing: 0.02em;
      }

      .dj-piano-burst-band {
        min-height: clamp(280px, 64vw, 420px);
      }

      .dj-piano-burst-band__copy {
        width: min(100%, calc(100vw - 1.25rem));
        transform: translate(-50%, -50%);
      }

      .dj-piano-burst-band__eyebrow {
        font-size: clamp(22px, 6.5vw, 36px);
        transform: none;
      }

      .dj-piano-burst-band__title {
        font-size: clamp(28px, 7.5vw, 44px);
        transform: none;
      }

      .dj-piano-burst-band__vignette,
      .dj-piano-burst-band__media::before {
        opacity: 0.5;
      }

      #meet-stephen .msx-awards-bottom-marquee,
      #meet-stephen .msx-awards-shell.is-visible .msx-awards-bottom-marquee {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateY(-25px);
      }

      .wed-venues__shell .wed-section-head {
        margin: 0 auto;
        padding: calc(3.75rem - 85px) 0 0;
        text-align: center;
      }

      .wed-venues__shell .wed-section-head__title,
      .wed-venues__shell .wed-section-head__copy {
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
      }

      .wed-venues__shell .wed-section-head__eyebrow {
        line-height: 1.18;
      }

      .wed-venues__shell .wed-section-head__title {
        letter-spacing: 0.025em;
      }

      .wed-venues__bubbles {
        left: calc(50% - 133px);
        top: 0;
        width: clamp(65px, 19.8vw, 94px);
        transform: translateX(-50%) translateY(88px) rotate(-6deg);
      }

      .wed-venues__card {
        width: clamp(240px, 72vw, 320px);
        aspect-ratio: 1.36;
      }

      .wed-venues--transition::after {
        content: none;
      }

      .dstp-page {
        padding-top: calc(clamp(6rem, 18vw, 7.5rem) - 85px);
        padding-bottom: 4.5rem;
      }

      .de-social-ref {
        margin-top: -88px;
        margin-bottom: 0;
        background: transparent;
      }

      .de-social-ref__divider {
        height: clamp(1.25rem, 5vw, 2rem);
      }

      .de-social-ref__head {
        padding-bottom: clamp(2rem, 9vw, 3rem);
      }

      .de-social-ref__title {
        font-size: clamp(1.9rem, 8.4vw, 2.65rem);
        line-height: 0.98;
      }

      .de-social-ref__title-bottom {
        max-width: 22ch;
        margin-top: 0.14em;
        font-size: 0.58em;
        line-height: 1.2;
      }

      .de-social-ref__faq-question {
        padding: 1.1rem 3.75rem 1.1rem 1.1rem;
      }

      .de-social-ref__faq-answer {
        padding: 0 1.1rem 1.15rem;
      }

      .de-social-ref__cta {
        background: transparent;
        padding-bottom: 1.25rem;
      }

      .lux-event-drawer {
        left: auto;
        right: 0;
        bottom: 10px;
      }

      .lux-event-drawer__panel {
        --drawer-tab-size: 54px;
        width: min(146px, calc(100vw - 8px));
        margin-left: auto;
        grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr);
        grid-template-rows: none;
        align-items: stretch;
        border: 0;
        border-radius: 0 !important;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        overflow: visible;
        transform: translateX(calc(100% - var(--drawer-tab-size))) !important;
      }

      .lux-event-drawer:hover .lux-event-drawer__panel,
      .lux-event-drawer.is-open .lux-event-drawer__panel,
      .lux-event-drawer__panel:focus-within {
        transform: translateX(0) !important;
      }

      .lux-event-drawer__trigger {
        align-self: stretch;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        letter-spacing: 0.12em;
        border: 0;
        padding: 0;
        font-size: 0.86rem;
        line-height: 1;
        color: #f8f4ed;
        background: transparent;
        position: relative;
        isolation: isolate;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
      }

      .lux-event-drawer__trigger::before,
      .lux-event-drawer__trigger::after {
        position: absolute;
        inset: 0;
        pointer-events: none;
      }

      .lux-event-drawer__trigger::before {
        content: "";
        display: block !important;
        background: center / 100% 100% no-repeat url("./assets/slide-out-mobile-menu.svg");
        transform: scaleX(-1);
        z-index: -1;
      }

      .lux-event-drawer__trigger::after {
        content: none;
        display: none !important;
      }

      .lux-event-drawer__body {
        padding: 0.42rem 0.42rem 0.36rem 0.36rem;
        max-height: none;
        overflow: visible;
        opacity: 1;
        background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 241, 232, 0.98)),
          radial-gradient(circle at top right, rgba(26, 182, 173, 0.08), transparent 42%);
        border: 1px solid rgba(214, 203, 182, 0.92);
        border-left: 0;
        box-shadow: 0 18px 34px rgba(31, 35, 33, 0.12);
        transition: none;
      }

      .lux-event-drawer:hover .lux-event-drawer__body,
      .lux-event-drawer.is-open .lux-event-drawer__body,
      .lux-event-drawer__panel:focus-within .lux-event-drawer__body {
        padding: 0.42rem 0.42rem 0.36rem 0.36rem;
      }

      .lux-event-drawer__links {
        display: flex;
        flex-direction: column;
        gap: 0;
        counter-reset: mobile-event-types;
      }

      .lux-event-drawer__link {
        position: relative;
        padding: 0.36rem 0 0.34rem;
        border: 0;
        border-bottom: 1px solid rgba(198, 183, 154, 0.72);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        counter-increment: mobile-event-types;
      }

      .lux-event-drawer__link:last-child {
        border-bottom: 0;
      }

      .lux-event-drawer__link::before {
        content: counter(mobile-event-types, decimal-leading-zero);
        display: block;
        margin-bottom: 0.34rem;
        color: rgba(73, 77, 74, 0.58);
        font-family: "Montserrat", sans-serif;
        font-size: 0.48rem;
        letter-spacing: 0.16em;
      }

      .lux-event-drawer__label {
        font-size: 0.88rem;
        line-height: 1.02;
        letter-spacing: 0.11em;
      }

      .lux-event-drawer__meta {
        font-size: 0.56rem;
        margin-top: 0.16rem;
        line-height: 1.25;
        letter-spacing: 0.11em;
        max-width: 14ch;
      }

      .lux-event-drawer__link:hover,
      .lux-event-drawer__link:focus-visible {
        transform: none;
        border-color: rgba(164, 151, 124, 0.82);
        background: transparent;
        box-shadow: none;
      }

      .lux-event-drawer__link[aria-current="page"] {
        border-color: rgba(164, 151, 124, 0.82);
        background: transparent;
        box-shadow: none;
      }

      .lux-event-drawer__link[aria-current="page"]::before,
      .lux-event-drawer__link[aria-current="page"] .lux-event-drawer__label {
        color: #178a84;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      .wed-hero__slide.is-active,
      .wed-hero .wed-reveal,
      .wed-venues__track {
        animation: none !important;
      }

      .wed-reveal,
      .wed-hero .wed-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
      }
    }

    .lux-event-drawer {
      position: fixed;
      bottom: calc(18px + 125px);
      right: 0;
      z-index: 80;
      transform: none;
      pointer-events: none;
      transition: opacity 0.24s ease, visibility 0.24s ease;
    }

    .lux-event-drawer.is-hidden {
      opacity: 0;
      visibility: hidden;
    }

    .lux-event-drawer__panel {
      --drawer-tab-size: 56px;
      width: min(340px, calc(100vw - 20px));
      display: grid;
      grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr);
      align-items: stretch;
      border: 1px solid var(--event-drawer-border);
      border-radius: 28px 0 0 28px !important;
      border-top-right-radius: 0 !important;
      border-bottom-right-radius: 0 !important;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.12)),
        var(--event-drawer-surface);
      box-shadow:
        0 24px 60px rgba(31, 35, 33, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.42) inset;
      backdrop-filter: blur(18px) saturate(135%);
      -webkit-backdrop-filter: blur(18px) saturate(135%);
      overflow: hidden;
      transform: translateX(calc(100% - var(--drawer-tab-size)));
      transition:
        transform 0.5s cubic-bezier(.22, 1, .36, 1),
        box-shadow 0.35s ease,
        border-color 0.35s ease;
      pointer-events: auto;
    }

    .lux-event-drawer:hover .lux-event-drawer__panel,
    .lux-event-drawer.is-open .lux-event-drawer__panel,
    .lux-event-drawer__panel:focus-within {
      transform: translateX(0);
      box-shadow:
        0 28px 74px rgba(31, 35, 33, 0.24),
        0 0 0 1px rgba(255, 255, 255, 0.55) inset;
      border-color: rgba(22, 168, 159, 0.22);
    }

    .lux-event-drawer__trigger {
      appearance: none;
      border: 0;
      border-right: 1px solid rgba(12, 92, 86, 0.26);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)),
        linear-gradient(180deg, #1ab6ad 0%, #11988f 100%);
      color: #f8f4ed;
      font: inherit;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      padding: 1rem 0.55rem;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      letter-spacing: 0.34em;
      text-transform: uppercase;
      font-family: "Oswald", "Montserrat", sans-serif;
      font-size: 0.78rem;
      line-height: 1;
      position: relative;
      transition: background 0.3s ease, color 0.3s ease;
    }

    .lux-event-drawer__trigger::before,
    .lux-event-drawer__trigger::after {
      content: "";
      position: absolute;
      left: 50%;
      width: 1px;
      transform: translateX(-50%);
      background: linear-gradient(180deg, rgba(248, 244, 237, 0), rgba(248, 244, 237, 0.95), rgba(248, 244, 237, 0));
    }

    .lux-event-drawer__trigger::before {
      top: 16px;
      height: 42px;
    }

    .lux-event-drawer__trigger::after {
      bottom: 16px;
      height: 42px;
    }

    .lux-event-drawer__trigger:hover,
    .lux-event-drawer__trigger:focus-visible {
      color: #fff;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.03)),
        linear-gradient(180deg, #20c4bb 0%, #16a89f 100%);
      outline: none;
    }

    .lux-event-drawer__body {
      position: relative;
      padding: 0.75rem;
      background:
        radial-gradient(circle at top right, var(--event-drawer-accent-soft), transparent 38%),
        rgba(247, 241, 232, 0.98);
    }

    .lux-event-drawer__links {
      display: grid;
      gap: 0.34rem;
    }

    .lux-event-drawer__link {
      display: block;
      align-items: center;
      padding: 0.62rem 0.78rem;
      border: 1px solid rgba(54, 63, 59, 0.08);
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.44);
      color: var(--event-drawer-ink);
      text-decoration: none;
      transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        background 0.28s ease,
        box-shadow 0.28s ease;
    }

    .lux-event-drawer__link:hover,
    .lux-event-drawer__link:focus-visible {
      transform: translateX(-3px);
      border-color: rgba(22, 168, 159, 0.24);
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 14px 20px rgba(31, 35, 33, 0.1);
      outline: none;
    }

    .lux-event-drawer__label {
      display: block;
      font-family: "Montserrat", sans-serif;
      font-size: 0.9rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .lux-event-drawer__meta {
      display: block;
      margin-top: 0.08rem;
      color: rgba(46, 52, 49, 0.58);
      font-size: 0.66rem;
      letter-spacing: 0.07em;
      text-transform: uppercase;
    }

    .lux-event-drawer__link[aria-current="page"] {
      border-color: rgba(22, 168, 159, 0.52);
      background: linear-gradient(90deg, rgba(22, 168, 159, 0.16), rgba(255, 255, 255, 0.54));
      box-shadow:
        0 16px 26px rgba(31, 35, 33, 0.12),
        0 0 0 1px rgba(22, 168, 159, 0.14) inset;
    }

    .lux-event-drawer__link[aria-current="page"] .lux-event-drawer__label {
      color: #0e6e68;
    }

    @media (min-width: 744px) and (max-width: 1024px) {
      #meet-stephen .msx-wrap {
        width: min(100%, calc(100vw - 1.25rem));
      }

      #meet-stephen .msx-copy-col {
        width: min(100%, 46rem);
        margin-left: auto;
        margin-right: auto;
      }

      #meet-stephen .msx-body {
        width: min(100%, 46rem);
        max-width: none;
        margin: clamp(1.5rem, 2.8vw, 2rem) auto 0;
        font-size: 16px !important;
        line-height: 1.56 !important;
      }

      #meet-stephen .msx-body p {
        margin-bottom: 1rem !important;
      }

      #meet-stephen .msx-media-col {
        margin-top: clamp(1rem, 2.6vw, 1.5rem);
      }

      #meet-stephen .msx-photo-main img,
      #meet-stephen .msx-overlap-card img,
      #meet-stephen .msx-photo-main:hover img,
      #meet-stephen .msx-photo-main:focus-within img,
      #meet-stephen .msx-overlap-card:hover img,
      #meet-stephen .msx-overlap-card:focus-within img {
        filter: grayscale(0);
      }
    }

    @media (max-width: 1024px) {
      .lux-event-drawer {
        right: 0;
        bottom: 20px;
        left: auto;
      }

      .lux-event-drawer .lux-event-drawer__panel {
        --drawer-tab-size: 36px;
        width: min(176px, calc(100vw - 10px));
        grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr);
        grid-template-rows: none;
        align-items: stretch;
        border: 0;
        border-radius: 0 !important;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        overflow: visible;
        transform: translateX(calc(100% - var(--drawer-tab-size)));
      }

      .lux-event-drawer:hover .lux-event-drawer__panel,
      .lux-event-drawer.is-open .lux-event-drawer__panel,
      .lux-event-drawer .lux-event-drawer__panel:focus-within {
        transform: translateX(0);
        box-shadow: none;
        border-color: transparent;
      }

      .lux-event-drawer .lux-event-drawer__trigger {
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        padding: 0;
        background: center / 100% 100% no-repeat url("./assets/slide-out-mobile-menu.svg");
        transform: none;
      }

      .lux-event-drawer .lux-event-drawer__trigger::before,
      .lux-event-drawer .lux-event-drawer__trigger::after {
        content: none;
        display: none !important;
      }

      .lux-event-drawer .lux-event-drawer__trigger-label {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        letter-spacing: 0.06em;
        font-size: 0.94rem;
        line-height: 1;
        color: #f8f4ed;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
      }

      .lux-event-drawer .lux-event-drawer__body {
        padding: 0.46rem 0.46rem 0.4rem 0.4rem;
        max-height: none;
        overflow: visible;
        opacity: 1;
        background: #f7f1e8;
        border: 1px solid rgba(214, 203, 182, 0.92);
        border-left: 0;
        border-radius: 0;
        box-shadow: none;
        transition: none;
      }

      .lux-event-drawer:hover .lux-event-drawer__body,
      .lux-event-drawer.is-open .lux-event-drawer__body,
      .lux-event-drawer .lux-event-drawer__panel:focus-within .lux-event-drawer__body {
        padding: 0.46rem 0.46rem 0.4rem 0.4rem;
      }

      .lux-event-drawer .lux-event-drawer__links {
        display: flex;
        flex-direction: column;
        gap: 0;
        counter-reset: mobile-event-types;
      }

      .lux-event-drawer .lux-event-drawer__link {
        position: relative;
        padding: 0.4rem 0 0.38rem;
        border: 0;
        border-bottom: 1px solid rgba(198, 183, 154, 0.72);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        counter-increment: mobile-event-types;
      }

      .lux-event-drawer .lux-event-drawer__link:last-child {
        border-bottom: 0;
      }

      .lux-event-drawer .lux-event-drawer__link::before {
        content: counter(mobile-event-types, decimal-leading-zero);
        display: block;
        margin-bottom: 0.12rem;
        color: rgba(73, 77, 74, 0.58);
        font-family: "Montserrat", sans-serif;
        font-size: 0.54rem;
        letter-spacing: 0.13em;
      }

      .lux-event-drawer .lux-event-drawer__label {
        font-size: 0.8rem;
        line-height: 1;
        letter-spacing: 0.1em;
      }

      .lux-event-drawer .lux-event-drawer__meta {
        font-size: 0.44rem;
        margin-top: 0.08rem;
        line-height: 1.1;
        letter-spacing: 0.1em;
        max-width: 14ch;
      }

      .lux-event-drawer .lux-event-drawer__link:hover,
      .lux-event-drawer .lux-event-drawer__link:focus-visible {
        transform: none;
        border-color: rgba(164, 151, 124, 0.82);
        background: transparent;
        box-shadow: none;
      }

      .lux-event-drawer .lux-event-drawer__link[aria-current="page"] {
        border-color: rgba(164, 151, 124, 0.82);
        background: transparent;
        box-shadow: none;
      }

      .lux-event-drawer .lux-event-drawer__link[aria-current="page"]::before,
      .lux-event-drawer .lux-event-drawer__link[aria-current="page"] .lux-event-drawer__label {
        color: #178a84;
      }
    }

    @media (max-width: 767px) {
      .lux-event-drawer {
        bottom: 10px;
      }

      .lux-event-drawer .lux-event-drawer__panel {
        width: min(176px, calc(100vw - 8px));
      }

      .lux-event-drawer .lux-event-drawer__body {
        padding: 0.42rem 0.42rem 0.36rem 0.36rem;
      }

      .lux-event-drawer:hover .lux-event-drawer__body,
      .lux-event-drawer.is-open .lux-event-drawer__body,
      .lux-event-drawer .lux-event-drawer__panel:focus-within .lux-event-drawer__body {
        padding: 0.42rem 0.42rem 0.36rem 0.36rem;
      }

      .lux-event-drawer .lux-event-drawer__link {
        padding: 0.36rem 0 0.34rem;
      }

      .lux-event-drawer .lux-event-drawer__link::before {
        margin-bottom: 0.14rem;
        font-size: 0.48rem;
      }

      .lux-event-drawer .lux-event-drawer__label {
        font-size: 0.74rem;
        letter-spacing: 0.09em;
      }

      .lux-event-drawer .lux-event-drawer__meta {
        font-size: 0.42rem;
        margin-top: 0.07rem;
        line-height: 1.08;
        letter-spacing: 0.09em;
      }
    }

    @media (min-width: 1025px) {
      .lux-event-drawer .lux-event-drawer__trigger,
      .lux-event-drawer__trigger {
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 0;
        padding: 0;
        border: 0;
        background: center / 100% 100% no-repeat url("https://charlestonweddingdjs.com/wp-content/uploads/2026/05/drawer-tabe-desktop.png") !important;
        writing-mode: horizontal-tb;
        transform: none;
        position: relative;
        z-index: 2;
      }

      .lux-event-drawer .lux-event-drawer__trigger::before,
      .lux-event-drawer .lux-event-drawer__trigger::after,
      .lux-event-drawer__trigger::before,
      .lux-event-drawer__trigger::after {
        content: none;
        display: none !important;
      }

      .lux-event-drawer .lux-event-drawer__trigger-label,
      .lux-event-drawer__trigger-label {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        color: #f8f4ed;
        font-family: "Oswald", "Montserrat", sans-serif;
        font-size: 1rem;
        line-height: 1;
        letter-spacing: 0.08em;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
      }
    }
    @media (min-width: 1024px) {
      .lux-event-drawer {
        bottom: calc(18px + 125px) !important;
        right: 0 !important;
        left: auto !important;
      }

      .lux-event-drawer .lux-event-drawer__panel {
        --drawer-tab-size: 58px;
        display: grid;
        grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr);
        width: min(286px, calc(100vw - 24px));
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
        transform: translateX(calc(100% - var(--drawer-tab-size))) !important;
      }

      .lux-event-drawer:hover .lux-event-drawer__panel,
      .lux-event-drawer.is-open .lux-event-drawer__panel,
      .lux-event-drawer .lux-event-drawer__panel:focus-within {
        transform: translateX(0) !important;
        box-shadow: none;
        border-color: transparent;
      }

      .lux-event-drawer .lux-event-drawer__trigger {
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 0;
        padding: 0 !important;
        border: 0 !important;
        background: center / 100% 100% no-repeat url("https://charlestonweddingdjs.com/wp-content/uploads/2026/05/drawer-tabe-desktop.png") !important;
        writing-mode: horizontal-tb;
        transform: none !important;
        position: relative;
        z-index: 2;
      }

      .lux-event-drawer .lux-event-drawer__trigger::before,
      .lux-event-drawer .lux-event-drawer__trigger::after {
        content: none !important;
        display: none !important;
      }

      .lux-event-drawer .lux-event-drawer__trigger-label {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        color: #f8f4ed;
        font-family: "Oswald", "Montserrat", sans-serif;
        font-size: 1rem;
        line-height: 1;
        letter-spacing: 0.08em;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
      }

      .lux-event-drawer .lux-event-drawer__body {
        display: block;
        max-height: none;
        overflow: visible;
        opacity: 1;
        margin-left: 0;
        padding: 0.68rem 0.88rem 0.66rem 0.76rem !important;
        background: #f7f1e8;
        border: 1px solid rgba(214, 203, 182, 0.92);
        border-right: 0;
        border-radius: 0;
        box-shadow: 0 20px 48px rgba(11, 16, 15, 0.24);
        position: relative;
        z-index: 1;
      }
    }
    /* Keep Event Types drawer visually aligned with the approved Services drawer. */
    .lux-event-drawer__links[aria-label="Event Types"] {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      counter-reset: event-drawer-list !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link {
      position: relative !important;
      display: block !important;
      padding: 0.4rem 0 0.38rem !important;
      border: 0 !important;
      border-bottom: 1px solid rgba(198, 183, 154, 0.72) !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      counter-increment: event-drawer-list !important;
      transform: none !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link:last-child {
      border-bottom: 0 !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link::before {
      content: counter(event-drawer-list, decimal-leading-zero) !important;
      display: block !important;
      margin-bottom: 0.12rem !important;
      color: rgba(73, 77, 74, 0.58) !important;
      font-family: "Montserrat", sans-serif !important;
      font-size: 0.54rem !important;
      letter-spacing: 0.13em !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__label {
      font-size: 0.8rem !important;
      line-height: 1 !important;
      letter-spacing: 0.1em !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__meta {
      display: none !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link:hover,
    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link:focus-visible,
    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link[aria-current="page"] {
      border-color: rgba(164, 151, 124, 0.82) !important;
      background: transparent !important;
      box-shadow: none !important;
      transform: none !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link[aria-current="page"]::before,
    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link[aria-current="page"] .lux-event-drawer__label {
      color: #178a84 !important;
    }

    /* Event Types uses the approved Services drawer component rhythm. */
    .lux-event-drawer__links[aria-label="Event Types"] {
      min-height: clamp(12.4rem, 19vw, 14rem) !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__link {
      min-height: clamp(2.45rem, 3.45vw, 2.78rem) !important;
    }

    .lux-event-drawer__links[aria-label="Event Types"] .lux-event-drawer__label {
      font-size: clamp(0.74rem, 0.92vw, 0.8rem) !important;
    }

    .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__body {
      margin-left: -2px !important;
      padding-left: calc(0.76rem + 2px) !important;
    }

    @media (max-width: 1024px) {
      .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__body {
        padding-left: calc(0.4rem + 2px) !important;
      }
    }

    @media (max-width: 767px) {
      .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__body {
        padding-left: calc(0.36rem + 2px) !important;
      }
    }

    @media (min-width: 1024px) {
      .lux-event-drawer__links[aria-label="Event Types"] {
        min-height: 14rem !important;
      }
    }

    /* Confirmed cleanup pass: venue handoff, Safari-safe scripts, and mobile stat labels. */
    body.weddings-page :is(.wed-awards-kicker, .wed-section-head__eyebrow) {
      overflow: visible !important;
      contain: none !important;
      clip-path: none !important;
      line-height: 1.34 !important;
      padding-block: 0.3em 0.42em !important;
      margin-block: -0.22em !important;
    }

    body.weddings-page .wed-venues--transition {
      --dstp-page-bg-image: url("https://charlestonweddingdjs.com/wp-content/uploads/2026/04/Corporate-Background-image-scaled.jpg") !important;
      background-color: #07100f !important;
      background-image:
        linear-gradient(180deg, rgba(7, 16, 15, 0.52) 0%, rgba(7, 16, 15, 0.4) 56%, rgba(246, 242, 234, calc(min(1, calc(var(--transition-sand-fade) * 1.08)))) 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 :is(.wed-venues--transition .wed-venues__shell, .wed-venues--transition::before) {
      background-color: transparent !important;
    }

    body.weddings-page .wed-venues--transition .dstp-page-bg-image {
      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;
      opacity: calc(0.62 * (1 - min(1, calc(var(--transition-sand-fade) * 1.08)))) !important;
      visibility: visible !important;
    }

    body.weddings-page .wed-venues--transition :is(.wed-section-head__title, .wed-section-head__copy) {
      color: #fffaf2 !important;
      text-shadow: 0 2px 18px rgba(0, 0, 0, 0.38) !important;
    }

    @media (max-width: 767px) {
      body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stats-grid {
        transform: none !important;
        gap: 1.25rem 1rem !important;
      }

      body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stat {
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
      }

      body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stat-label {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        white-space: normal !important;
        word-spacing: normal !important;
      }
    }

/* Final Weddings guard: venue handoff starts with the image, then fades smoothly. */
body.weddings-page .dstp-page > .wed-venues-bg-image {
  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;
  opacity: calc(0.64 * (1 - min(1, calc(var(--transition-sand-fade, 0) * 1.08)))) !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body.weddings-page .dstp-page > .wed-venues-bg-soften {
  opacity: calc(min(1, calc(var(--transition-sand-fade, 0) * 0.96))) !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

body.weddings-page .wed-venues {
  background-color: transparent !important;
}

body.weddings-page .wed-venues :is(.wed-section-head__title, .wed-section-head__copy) {
  color: #fffaf2 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42) !important;
}

body.weddings-page .wed-venues[style*="--transition-sand-fade: 1"] :is(.wed-section-head__title, .wed-section-head__copy) {
  color: inherit !important;
  text-shadow: none !important;
}

/* Safari-safe Heatwood script padding on Weddings. */
body.weddings-page :is(.wed-awards-kicker, .wed-section-head__eyebrow, .dj-piano-burst-band__eyebrow, .wed-bundle__kicker, .wed-service-tile__eyebrow, .wed-builder__eyebrow) {
  overflow: visible !important;
  line-height: 1.5 !important;
  padding-block: 0.28em 0.38em !important;
  margin-block: -0.28em -0.38em !important;
  -webkit-font-smoothing: antialiased;
}

/* Remove drawer halo artifacts without changing the approved drawer geometry. */
body.weddings-page :is(.lux-event-drawer, .lux-event-drawer__panel, .lux-event-drawer__body, .lux-event-drawer__trigger) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

body.weddings-page .lux-event-drawer__panel {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.weddings-page .lux-event-drawer:not(:hover):not(.is-open) .lux-event-drawer__body:not(:focus-within) {
  box-shadow: none !important;
}

body.weddings-page :is(.lux-event-drawer__panel, .lux-event-drawer__body, .lux-event-drawer__trigger)::before,
body.weddings-page :is(.lux-event-drawer__panel, .lux-event-drawer__body, .lux-event-drawer__trigger)::after {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Final confirmed guard: Charleston Venue Experience should always begin with
   its venue image visible; only the cream soften layer should fade in. */
body.weddings-page .dstp-page > .wed-venues-bg-image,
body.weddings-page .wed-venues--transition .dstp-page-bg-image,
body.weddings-page .wed-venues--transition .wed-venues-bg-image {
  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;
  opacity: 1 !important;
  visibility: visible !important;
}

body.weddings-page .dstp-page > .wed-venues-bg-soften,
body.weddings-page .wed-venues--transition .wed-venues-bg-soften,
body.weddings-page .wed-venues--transition .dstp-page-bg-soften {
  opacity: calc(min(1, calc(var(--transition-sand-fade, 0) * 0.96))) !important;
  visibility: visible !important;
}

body.weddings-page .wed-venues,
body.weddings-page .wed-venues--transition,
body.weddings-page .wed-venues::before,
body.weddings-page .wed-venues--transition::before {
  background-color: transparent !important;
}

body.weddings-page .wed-venues :is(.wed-section-head__title, .wed-section-head__copy) {
  color: #fffaf2 !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45) !important;
}

/* Final confirmed guard: mobile stats labels should render once, centered
   above each number. */
@media (max-width: 767px) {
  body.weddings-page .msx-awards-stat-label {
    display: block !important;
    font-size: clamp(11px, 3vw, 14px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.weddings-page .msx-awards-stat-label::before,
  body.weddings-page .msx-awards-stat-label::after {
    content: none !important;
    display: none !important;
  }
}

/* Continuation guard: the Charleston Venue Experience section must never
   enter as a flat cream panel. Paint the venue image on the section itself
   so it is visible before the scroll-progress soften layer begins fading. */
body.weddings-page .wed-venues,
body.weddings-page .wed-venues--transition {
  background-color: #071211 !important;
  background-image:
    linear-gradient(180deg, rgba(6, 13, 14, 0.76) 0%, rgba(6, 13, 14, 0.54) 42%, rgba(244, 239, 229, 0.12) 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,
body.weddings-page .wed-venues--transition .wed-venues-bg-image,
body.weddings-page .wed-venues--transition .dstp-page-bg-image {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !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,
body.weddings-page .wed-venues--transition .wed-venues-bg-soften,
body.weddings-page .wed-venues--transition .dstp-page-bg-soften {
  opacity: clamp(0, var(--transition-sand-fade, 0), 0.94) !important;
  visibility: visible !important;
}

body.weddings-page .wed-venues :is(.wed-section-head__title, .wed-section-head__copy),
body.weddings-page .wed-venues--transition :is(.wed-section-head__title, .wed-section-head__copy) {
  color: #fffaf2 !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.48) !important;
}

/* Continuation 6: class-scoped version of the venue handoff guard so Local
   and production both show the image before any scroll-triggered body state. */
.wed-venues,
.wed-venues--transition {
  background-color: #071211 !important;
  background-image:
    linear-gradient(180deg, rgba(6, 13, 14, 0.76) 0%, rgba(6, 13, 14, 0.54) 42%, rgba(244, 239, 229, 0.12) 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;
}

.wed-venues-bg-image,
.wed-venues--transition .wed-venues-bg-image,
.wed-venues--transition .dstp-page-bg-image {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !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;
}

.wed-venues-bg-soften,
.wed-venues--transition .wed-venues-bg-soften,
.wed-venues--transition .dstp-page-bg-soften {
  opacity: clamp(0, var(--transition-sand-fade, 0), 0.94) !important;
  visibility: visible !important;
}

.wed-venues :is(.wed-section-head__title, .wed-section-head__copy),
.wed-venues--transition :is(.wed-section-head__title, .wed-section-head__copy) {
  color: #fffaf2 !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.48) !important;
}

/* Continuation 5: body-class-free Safari breathing room for Weddings script
   text that sits near clipped/translated section edges. */
:is(
  .wed-awards-kicker,
  .wed-section-head__eyebrow,
  .preset-custom__eyebrow,
  .wed-venues .wed-section-head,
  .wed-venues .wed-section-head__eyebrow,
  .wed-venues--transition .wed-section-head,
  .wed-venues--transition .wed-section-head__eyebrow
) {
  overflow: visible !important;
  contain: none !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  line-height: 1.62 !important;
  padding: 0.42em 0.34em 0.5em !important;
  margin: -0.34em -0.34em -0.36em !important;
}

/* Weddings-only handoff repair: one shared venue image spans the Venue and
   FAQ sections. The cream layer fades over that image as the FAQ approaches. */
body.weddings-page .dstp-page > .dstp-page-bg-image {
  background-image: var(--dstp-page-bg-image, none) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  opacity: calc(0.18 * (1 - min(1, calc(var(--transition-sand-fade, 0) * 1.08)))) !important;
  visibility: visible !important;
  display: block !important;
}

body.weddings-page .dstp-page > .dstp-page-bg-soften {
  opacity: 1 !important;
  visibility: visible !important;
}

body.weddings-page .wed-venues,
body.weddings-page .wed-venues--transition,
body.weddings-page .wed-venues::before,
body.weddings-page .wed-venues--transition::before {
  background-color: transparent !important;
  background-image: none !important;
}

/* This intentionally outranks the later shared stabilization stylesheet
   without modifying that shared file or any locked page. */
html body.weddings-page #dstp-page > section.wed-venues.wed-venues--transition,
html body.weddings-page #dstp-page > section.wed-venues.wed-venues--transition::before {
  background-color: transparent !important;
  background-image: none !important;
}

html body.weddings-page #dstp-page > section.wed-venues.wed-venues--transition::before {
  content: none !important;
  display: none !important;
}

/* The global menu layer hides these shared handoff overlays until dstp-page
   reaches the top of the viewport. Weddings must paint them as soon as the
   section enters, otherwise the image appears washed out and snaps dark. */
html body.weddings-page #dstp-page:not(.is-active)::before {
  opacity: calc(1 - min(1, calc(var(--transition-sand-fade, 0) * 1.08))) !important;
}

html body.weddings-page #dstp-page:not(.is-active)::after {
  opacity: calc(min(1, calc(var(--transition-bridge, 0) * 1.02)) * (1 - min(1, calc(var(--transition-sand-fade, 0) * 1.08)))) !important;
}

html body.weddings-page #dstp-page:not(.is-active) > .dstp-shared-light {
  opacity: calc(min(1, calc(var(--transition-eased, 0) * 1.04)) + ((1 - min(1, calc(var(--transition-eased, 0) * 1.04))) * min(1, calc(var(--transition-sand-fade, 0) * 1.08)))) !important;
}

html body.weddings-page #dstp-page:not(.is-active) > .dstp-page-bg-soften {
  opacity: 1 !important;
}

/* Final Weddings-only parity guard: preserve the live Get a Quote button
   independently of later shared homepage/button edits. */
body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button {
  --msx-button-bg: #14a896;
  --msx-button-white: #fff;
  --msx-button-border: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 195px);
  min-height: 56px;
  padding: 10px 18px;
  background: var(--msx-button-bg);
  color: var(--msx-button-white);
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 16px 34px rgba(8, 61, 55, 0.18);
}

body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button::before {
  content: "";
  position: absolute;
  inset: var(--msx-button-border);
  border: 2px solid rgba(255, 255, 255, 0.96);
  pointer-events: none;
}

body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button__border-sweep {
  position: absolute;
  inset: var(--msx-button-border);
  width: calc(100% - (var(--msx-button-border) * 2));
  height: calc(100% - (var(--msx-button-border) * 2));
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button__block {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  /* Keep the counters inside their own flow box between the awards art and
     the paragraph. Older transforms moved the second row visually without
     reserving space, while the paragraph was pulled up 193px. */
  body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stats-grid {
    width: min(100%, 19.5rem) !important;
    margin: -5.5rem auto 0 !important;
    transform: none !important;
    gap: 1rem 0.5rem !important;
    align-items: start !important;
  }

  body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stat,
  body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(3),
  body.weddings-page #meet-stephen .wed-awards-heading-col .msx-awards-stat:nth-child(4) {
    min-height: 7rem !important;
    transform: none !important;
  }

  body.weddings-page #meet-stephen .wed-awards-copy-col {
    margin-top: 1.75rem !important;
  }

  body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button {
    --msx-button-border: 3px;
    min-height: 38px !important;
    padding: 4px 11px 3px !important;
  }
}

/* Verified live-button typography parity. Keep this final and Weddings-only:
   a later shared Heatwood safeguard otherwise expands the script line box. */
html body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button .msx-button__block {
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: var(--approved-button-gap) !important;
  line-height: 1 !important;
  transform: translateY(var(--approved-button-row-y)) !important;
}

html body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button .msx-button__main {
  line-height: 0.78 !important;
  transform: translateY(var(--approved-button-main-y)) !important;
}

html body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button :is(.msx-button__script, .msx-button__script--dj-piano) {
  line-height: 0.64 !important;
  transform: translateY(calc(var(--approved-button-script-y) + 4px)) !important;
}

@media (max-width: 743px) {
  html body.weddings-page :is(.wed-coverage-wheel__actions, .de-social-ref__cta) .msx-button.approved-button::before {
    border-width: 1px !important;
  }
}

/* Desktop-only venue artwork adjustment requested after final section review. */
@media (min-width: 1025px) {
  html body.weddings-page .wed-venues__bubbles {
    left: calc(
      clamp(0px, 1vw, 18px) -
      clamp(12px, calc((100vw - 1024px) * 0.045), 40px)
    ) !important;
  }
}

/* Final Event Types curved tab guard: keep this last in the page stylesheet. */

html body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) {
  right: -1px !important;
  left: auto !important;
}

html body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__body {
  margin-left: -6px !important;
  padding-left: calc(0.76rem + 6px) !important;
}

@media (max-width: 1024px) {
  html body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__body {
    padding-left: calc(0.4rem + 6px) !important;
  }
}

@media (max-width: 767px) {
  html body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__body {
    padding-left: calc(0.36rem + 6px) !important;
  }
}

html body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__trigger {
  background: transparent url("./assets/slide-out-mobile-menu.svg") center / 100% 100% no-repeat !important;
}

@media (min-width: 1024px) and (max-width: 1024px) {
  html body.weddings-page .lux-event-drawer:has(.lux-event-drawer__links[aria-label="Event Types"]) .lux-event-drawer__trigger {
    background-image: url("./assets/drawer-tab-live.png") !important;
  }
}

html body .lux-event-drawer .lux-event-drawer__panel {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body .lux-event-drawer .lux-event-drawer__trigger {
  background: transparent url("./assets/slide-out-mobile-menu.svg") center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

html body .lux-event-drawer .lux-event-drawer__trigger::before,
html body .lux-event-drawer .lux-event-drawer__trigger::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 1025px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 58px !important;
    width: min(286px, calc(100vw - 24px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 305.484375px !important;
    min-height: 305.484375px !important;
    max-height: 305.484375px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1024px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 58px !important;
    width: min(286px, calc(100vw - 24px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 251.453125px !important;
    min-height: 251.453125px !important;
    max-height: 251.453125px !important;
  }

  html body .lux-event-drawer .lux-event-drawer__trigger {
    background-image: url("./assets/drawer-tab-live.png") !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 36px !important;
    width: min(180px, calc(100vw - 10px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 254.578125px !important;
    min-height: 254.578125px !important;
    max-height: 254.578125px !important;
  }
}

@media (max-width: 767px) {
  html body .lux-event-drawer .lux-event-drawer__panel {
    --drawer-tab-size: 36px !important;
    width: min(180px, calc(100vw - 8px)) !important;
    grid-template-columns: var(--drawer-tab-size) minmax(0, 1fr) !important;
  }

  html body .lux-event-drawer .lux-event-drawer__panel,
  html body .lux-event-drawer .lux-event-drawer__trigger {
    height: 234.90625px !important;
    min-height: 234.90625px !important;
    max-height: 234.90625px !important;
  }
}
