:root {
  --jd-primary: #959390;
  --jd-primary-hover: #74716e;
  --jd-primary-soft: #e6e4e1;
  --jd-secondary: #1f1f1f;
  --jd-accent: #afaaa4;
  --jd-accent-soft: #dad7d2;
  --jd-gold: #959390;
  --jd-gold-bright: #c2bfbb;
  --jd-champagne: #efede9;
  --jd-bg: #f4f3f0;
  --jd-bg-deep: #e9e7e3;
  --jd-surface: #fafaf9;
  --jd-surface-2: #f1f1ef;
  --jd-text: #1f1f1f;
  --jd-text-muted: #5e5e5e;
  --jd-text-inverse: #fafaf9;
  --jd-border: rgba(31, 31, 31, 0.12);
  --jd-border-strong: rgba(31, 31, 31, 0.22);
  --jd-shadow-sm: 0 3px 12px rgba(31, 31, 31, 0.06);
  --jd-shadow-md: 0 18px 46px rgba(31, 31, 31, 0.1);
  --jd-shadow-lg: 0 32px 90px rgba(31, 31, 31, 0.16);
  --jd-shadow-glow: 0 18px 52px rgba(149, 147, 144, 0.24);
  --jd-font-display: "Cormorant Garamond", "Times New Roman", serif;
  --jd-font-body: "Manrope", system-ui, sans-serif;
}

body.jd-body {
  color: var(--jd-text);
  background: #eceae6;
  background-image:
    radial-gradient(circle at 12% 8%, rgba(255, 255, 255, 0.9), transparent 32rem),
    linear-gradient(135deg, #f3f2ef, #dfddda);
}

body.jd-body::before {
  background: none;
}

.jd-header__bar {
  background: rgba(250, 250, 249, 0.94) !important;
}

.jd-header.is-scrolled .jd-header__bar {
  background: rgba(250, 250, 249, 0.98) !important;
}

.jd-btn,
.jd-header__cta .jd-btn,
.jd-actions .jd-btn:not(.jd-btn--ghost) {
  --btn-bg: #2b2b2b !important;
  --btn-fg: #fafaf9 !important;
  background: #2b2b2b !important;
  border-color: #2b2b2b !important;
  color: #fafaf9 !important;
}

.jd-btn--ghost {
  --btn-bg: transparent !important;
  --btn-fg: #2b2b2b !important;
  background: transparent !important;
  border-color: rgba(31, 31, 31, 0.3) !important;
  color: #2b2b2b !important;
}

.jd-logo img {
  width: 250px;
  height: 56px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  object-fit: contain;
}

.mnb-star {
  color: #686868 !important;
  background: #686868 !important;
}

.mnb-review-verified,
.mnb-check {
  color: #4a4a4a !important;
  background-color: transparent !important;
  border-color: #777777 !important;
}

.mnb-review-tags,
.mnb-review-tag,
.mnb-review-note {
  border-color: rgba(31, 31, 31, 0.16) !important;
}

.jd-promo-modal__close:focus,
.jd-promo-modal__close:focus-visible {
  outline: 1px solid #686868 !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 0.25rem rgba(31, 31, 31, 0.16) !important;
}

.jd-logo__text {
  display: none;
}

body.jd-body .jd-hero__frame img {
  object-position: 68% center;
}

.jd-section:not(.jd-cta):not(.jd-footer),
.jd-services,
.jd-overview,
.jd-menu-home,
.jd-connect,
.jd-contact {
  background-image: none;
}

.jd-btn {
  border-radius: 0;
}

.jd-card,
.jd-service-card,
.jd-contact__panel,
.jd-connect__item,
.jd-hours-card {
  border-radius: 0;
}

.jd-footer {
  background: #171717;
}

.jd-gallery-section__mosaic::after {
  content: "DJ · CROWN POINT";
}

/* Final DJ monochrome lock: neutralize legacy Maple component colors. */
.jd-body,
.jd-body * {
  --maple-forest: #1f1f1f;
  --maple-leaf: #4a4a4a;
  --maple-sage: #8a8a8a;
  --maple-mint: #ececec;
  --maple-peach: #666666;
  --maple-blush: #ededed;
  --maple-butter: #d8d8d8;
  --maple-ivory: #fafafa;
}

.jd-offers,
.jd-promo-modal,
.jd-brand-interlude,
.jd-news-hero,
.jd-news-notes,
.jd-news-cta {
  --jd-primary: #4a4a4a;
  --jd-primary-hover: #171717;
  --jd-primary-soft: #ececec;
  --jd-secondary: #1f1f1f;
  --jd-accent: #666666;
  --jd-accent-soft: #ededed;
  --jd-gold: #777777;
  --jd-gold-bright: #bdbdbd;
  --jd-champagne: #f0f0f0;
}

@media (max-width: 640px) {
  body.jd-body .jd-hero__frame img {
    object-position: 72% center;
  }

  .jd-logo img {
    width: 190px;
    height: 46px;
  }
}
