/* ════════════════════════════════════════════════════════════════════
   LUX FURNITURE CLEANING — v3 «Quiet Luxury»
   Premium Emerald & Ivory dressing applied via body.lux-v2 class.
   - Strong contrast everywhere (WCAG AA on every text/bg pair)
   - 2026 motion tokens (linear() spring, expressive eases)
   - Scroll-driven CSS animations (Chrome/Edge) + IO fallback (Safari)
   - No custom cursor (removed per user feedback)
   - Light map theme support
   ════════════════════════════════════════════════════════════════════ */

/* ───────── 1. TOKENS ───────── */
body.lux-v2 {
  --emerald:        #062C21;
  --emerald-soft:   #0E3D2F;
  --emerald-warm:   #1A5240;
  --emerald-tint:   rgba(6, 44, 33, 0.08);
  --gold:           #D4AF37;
  --gold-warm:      #E9C349;
  --gold-soft:      #B8932A;
  --ivory:          #F9F6F0;
  --ivory-cool:     #F6F3F2;
  --ivory-warm:     #FCF9F8;
  --charcoal:       #1A1A1A;
  --charcoal-soft:  #414845;
  --cream:          #ECEBE6;
  --success-subtle: #E7F2EE;

  --border:         rgba(26, 26, 26, 0.10);
  --border-strong:  rgba(26, 26, 26, 0.22);
  --border-gold:    rgba(212, 175, 55, 0.45);
  --border-emerald: rgba(6, 44, 33, 0.22);

  --shadow-sm: 0 4px 12px -2px rgba(6, 44, 33, 0.06);
  --shadow-md: 0 16px 40px -8px rgba(6, 44, 33, 0.10);
  --shadow-lg: 0 32px 64px -12px rgba(6, 44, 33, 0.14);
  --shadow-gold: 0 24px 48px -12px rgba(212, 175, 55, 0.22);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-emerald: cubic-bezier(0.22, 1, 0.36, 1);

  --dur-fast: 240ms;
  --dur-base: 520ms;
  --dur-slow: 880ms;

  --display: 'Playfair Display', 'Times New Roman', serif;
  --body: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ───────── 2. RESET / BODY ───────── */
body.lux-v2 {
  background: var(--ivory) !important;
  color: var(--charcoal) !important;
  font-family: var(--body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}
body.lux-v2 .noise { display: none !important; }
body.lux-v2 ::selection { background: var(--emerald); color: var(--gold-warm); }

/* Scrollbar */
body.lux-v2::-webkit-scrollbar { width: 10px; }
body.lux-v2::-webkit-scrollbar-track { background: var(--ivory-cool); }
body.lux-v2::-webkit-scrollbar-thumb {
  background: var(--emerald);
  border-radius: 10px;
  border: 2px solid var(--ivory-cool);
}

/* ───────── 3. TYPOGRAPHY ───────── */
body.lux-v2 h1,
body.lux-v2 h2,
body.lux-v2 h3,
body.lux-v2 h4 {
  font-family: var(--display) !important;
  color: var(--emerald) !important;
  letter-spacing: -0.018em;
  font-weight: 600;
}
body.lux-v2 h1 { font-weight: 700; letter-spacing: -0.026em; }
body.lux-v2 p, body.lux-v2 li, body.lux-v2 dd, body.lux-v2 dt {
  color: var(--charcoal-soft);
  line-height: 1.65;
}

/* Italic gold accent (replaces emerald gradient text) */
body.lux-v2 .text-emerald-gradient,
body.lux-v2 h1 em,
body.lux-v2 h2 em {
  font-style: italic !important;
  font-weight: 500 !important;
  color: var(--gold-soft) !important;
  background: none !important;
  -webkit-text-fill-color: var(--gold-soft) !important;
  letter-spacing: -0.012em;
}

/* Slate-tailwind grey overrides — readable on light or dark */
body.lux-v2 .text-slate-300,
body.lux-v2 .text-slate-400 { color: var(--charcoal-soft) !important; }
body.lux-v2 .text-slate-500 { color: var(--charcoal-soft) !important; }
body.lux-v2 .text-slate-600,
body.lux-v2 .text-slate-700,
body.lux-v2 .text-slate-800,
body.lux-v2 .text-slate-900 { color: var(--charcoal) !important; }

/* Emerald tailwind variants — keep brand color visible */
body.lux-v2 .text-emerald-300,
body.lux-v2 .text-emerald-400,
body.lux-v2 .text-emerald-500,
body.lux-v2 .text-emerald-600,
body.lux-v2 .text-emerald-700,
body.lux-v2 .text-emerald-800,
body.lux-v2 .text-emerald-900,
body.lux-v2 .text-emerald-lux,
body.lux-v2 .text-emerald-light { color: var(--emerald) !important; }

/* Hero white-on-light fix */
body.lux-v2 #hero h1 .text-white,
body.lux-v2 #hero .text-white,
body.lux-v2 #hero .text-emerald-300 { color: var(--emerald) !important; }
body.lux-v2 #hero .text-slate-300 { color: var(--charcoal-soft) !important; }

/* ───────── 4. SCROLL PROGRESS GOLD THREAD ───────── */
body.lux-v2 .lux-scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--gold-warm), var(--gold), var(--gold-soft));
  z-index: 100;
  transition: width 60ms linear;
  box-shadow: 0 0 14px rgba(212, 175, 55, 0.5);
  pointer-events: none;
}

/* ───────── 5. CUSTOM CURSOR — REMOVED ───────── */
body.lux-v2 .lux-cursor,
body.lux-v2 .lux-cursor-ring { display: none !important; }

/* ───────── 6. HEADER — glass + gold underline nav ───────── */
body.lux-v2 #site-header {
  background: rgba(249, 246, 240, 0.78) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
  transition:
    background var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    padding var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out) !important;
}
body.lux-v2 #site-header.lux-scrolled {
  background: rgba(249, 246, 240, 0.96) !important;
  border-bottom-color: var(--border-strong) !important;
  box-shadow: var(--shadow-sm) !important;
}
body.lux-v2 #site-header .bg-gradient-to-br {
  background: linear-gradient(135deg, var(--emerald) 0%, var(--emerald-soft) 100%) !important;
}
body.lux-v2 #site-header .bg-gradient-to-br svg { stroke: var(--gold-warm) !important; }
body.lux-v2 #site-header .font-heading { color: var(--emerald) !important; letter-spacing: 0.2em; }
body.lux-v2 #site-header .text-emerald-700 { color: var(--emerald-warm) !important; }

body.lux-v2 #site-header nav a {
  position: relative;
  color: var(--charcoal) !important;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
  transition: color var(--dur-base) var(--ease-out);
}
body.lux-v2 #site-header nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-base) var(--ease-out);
}
body.lux-v2 #site-header nav a:hover { color: var(--emerald) !important; }
body.lux-v2 #site-header nav a:hover::after { transform: scaleX(1); }
body.lux-v2 #site-header a[href^="tel:"] { color: var(--emerald) !important; font-weight: 600; }
body.lux-v2 #site-header a[href="#contact"] {
  background: var(--emerald) !important;
  color: var(--ivory-warm) !important;
  border: 1px solid transparent;
  box-shadow: none !important;
  padding: 12px 22px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  font-size: 13px;
  transition:
    transform var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out);
}
body.lux-v2 #site-header a[href="#contact"]:hover {
  border-color: var(--gold) !important;
  box-shadow: 0 12px 28px -10px rgba(6, 44, 33, 0.45);
  transform: translateY(-1px);
}
body.lux-v2 #site-header a[href="#contact"]:active { transform: scale(0.98); }
body.lux-v2 #site-header .bg-slate-100 {
  background: var(--emerald-tint) !important;
  color: var(--emerald) !important;
}

/* ───────── 7. SECTION BACKGROUNDS ───────── */
body.lux-v2 section.light-zone,
body.lux-v2 section.section-light {
  background: var(--ivory) !important;
}

/* Dark legacy sections → premium deep-emerald with grain + spotlight */
body.lux-v2 section[class*="bg-[#050e06]"],
body.lux-v2 section[class*="bg-[#040c05]"] {
  background: var(--emerald) !important;
  color: var(--ivory-warm) !important;
  position: relative;
  overflow: hidden;
}
body.lux-v2 section[class*="bg-[#050e06]"] h1,
body.lux-v2 section[class*="bg-[#050e06]"] h2,
body.lux-v2 section[class*="bg-[#050e06]"] h3,
body.lux-v2 section[class*="bg-[#050e06]"] h4,
body.lux-v2 section[class*="bg-[#040c05]"] h1,
body.lux-v2 section[class*="bg-[#040c05]"] h2,
body.lux-v2 section[class*="bg-[#040c05]"] h3,
body.lux-v2 section[class*="bg-[#040c05]"] h4 {
  color: var(--ivory-warm) !important;
}
/* WCAG: 0.92 alpha on ivory = ~10:1 on deep emerald (was 0.78 — broke contrast) */
body.lux-v2 section[class*="bg-[#050e06]"] p,
body.lux-v2 section[class*="bg-[#040c05]"] p,
body.lux-v2 section[class*="bg-[#050e06]"] li,
body.lux-v2 section[class*="bg-[#040c05]"] li,
body.lux-v2 section[class*="bg-[#050e06]"] .text-slate-300,
body.lux-v2 section[class*="bg-[#050e06]"] .text-slate-400,
body.lux-v2 section[class*="bg-[#040c05]"] .text-slate-300,
body.lux-v2 section[class*="bg-[#040c05]"] .text-slate-400 {
  color: rgba(249, 246, 240, 0.95) !important;
}
/* Dark section accents (was emerald, now gold-warm so they read on emerald) */
body.lux-v2 section[class*="bg-[#050e06]"] .text-emerald-300,
body.lux-v2 section[class*="bg-[#050e06]"] .text-emerald-400,
body.lux-v2 section[class*="bg-[#050e06]"] .text-emerald-500,
body.lux-v2 section[class*="bg-[#050e06]"] .text-emerald-lux,
body.lux-v2 section[class*="bg-[#050e06]"] .text-emerald-light,
body.lux-v2 section[class*="bg-[#040c05]"] .text-emerald-300,
body.lux-v2 section[class*="bg-[#040c05]"] .text-emerald-400,
body.lux-v2 section[class*="bg-[#040c05]"] .text-emerald-500,
body.lux-v2 section[class*="bg-[#040c05]"] .text-emerald-lux,
body.lux-v2 section[class*="bg-[#040c05]"] .text-emerald-light {
  color: var(--gold-warm) !important;
}
body.lux-v2 section[class*="bg-[#050e06]"] svg,
body.lux-v2 section[class*="bg-[#040c05]"] svg { color: var(--gold-warm); }

/* Cursor spotlight on dark sections (desktop only) */
@media (hover: hover) and (pointer: fine) {
  body.lux-v2 section[class*="bg-[#050e06]"]::before,
  body.lux-v2 section[class*="bg-[#040c05]"]::before {
    content: "";
    position: absolute; inset: 0;
    pointer-events: none;
    background: radial-gradient(
      450px circle at var(--lux-mx, 50%) var(--lux-my, 50%),
      rgba(212, 175, 55, 0.12),
      transparent 60%
    );
    z-index: 1;
  }
  /* Lift content above the spotlight — but never re-position absolute
     decorations (.glow-dot/.crystal), or they enter flow and inflate sections */
  body.lux-v2 section[class*="bg-[#050e06]"] > *:not(.glow-dot):not(.crystal),
  body.lux-v2 section[class*="bg-[#040c05]"] > *:not(.glow-dot):not(.crystal) { position: relative; z-index: 2; }
}
/* Soft noise grain (desktop) */
body.lux-v2 section[class*="bg-[#050e06]"]::after,
body.lux-v2 section[class*="bg-[#040c05]"]::after {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  opacity: 0.045;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  z-index: 1;
}

/* Hide legacy decoratives */
body.lux-v2 .glow-dot {
  opacity: 0.3 !important;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.08) 0%, transparent 70%) !important;
  filter: blur(2px) !important;
}
body.lux-v2 .crystal { opacity: 0.15 !important; }
body.lux-v2 .crystal svg polygon { fill: none; stroke: var(--gold); stroke-width: 1; }
body.lux-v2 .crystal svg line { stroke: var(--gold-warm); stroke-width: 0.4; opacity: 0.6; }

/* Decorative tailwind grids (the dotted/gridded inline backgrounds) — fade */
body.lux-v2 [style*="background-image: linear-gradient(rgba(16,185,129"] { opacity: 0.025 !important; }

/* ───────── 8. BUTTONS ───────── */
body.lux-v2 .btn-primary {
  background: var(--emerald) !important;
  color: var(--ivory-warm) !important;
  border: 1px solid transparent;
  border-radius: 6px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  font-size: 14px;
  box-shadow: var(--shadow-md) !important;
  padding: 14px 28px;
  position: relative;
  overflow: hidden;
  transition:
    transform var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out),
    background var(--dur-base) var(--ease-out) !important;
}
body.lux-v2 .btn-primary::before {
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.2), transparent 60%) !important;
}
body.lux-v2 .btn-primary:hover {
  background: var(--emerald-soft) !important;
  border-color: var(--gold) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 48px -12px rgba(6, 44, 33, 0.4), 0 0 0 1px rgba(212, 175, 55, 0.35) inset !important;
}
body.lux-v2 .btn-primary:active { transform: scale(0.98) !important; }
body.lux-v2 .btn-primary:focus-visible { outline: 2px solid var(--gold) !important; outline-offset: 3px !important; }

body.lux-v2 .btn-outline {
  background: transparent !important;
  border: 1px solid var(--charcoal) !important;
  color: var(--charcoal) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  font-size: 14px;
  padding: 13px 26px;
  border-radius: 6px !important;
  transition:
    transform var(--dur-base) var(--ease-out),
    background var(--dur-base) var(--ease-out),
    color var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out);
}
body.lux-v2 .btn-outline:hover {
  background: var(--emerald) !important;
  color: var(--ivory-warm) !important;
  border-color: var(--emerald) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
}

/* Inline-style gradient buttons (Tailwind doesn't reach them) */
body.lux-v2 a[style*="linear-gradient(135deg,#10b981"],
body.lux-v2 a[style*="linear-gradient(135deg, #10b981"] {
  background: var(--emerald) !important;
  box-shadow: 0 8px 24px -6px rgba(6, 44, 33, 0.4) !important;
  border-radius: 6px !important;
  letter-spacing: 0.04em;
  transition:
    transform var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out) !important;
}
body.lux-v2 a[style*="linear-gradient(135deg,#10b981"]:hover,
body.lux-v2 a[style*="linear-gradient(135deg, #10b981"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 40px -8px rgba(6, 44, 33, 0.5), 0 0 0 1px var(--gold) inset !important;
}

/* ───────── 9. CARDS ───────── */
body.lux-v2 .service-card {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  color: var(--charcoal);
  box-shadow: var(--shadow-sm);
  transition:
    transform var(--dur-slow) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-slow) var(--ease-out) !important;
}
body.lux-v2 .service-card::before {
  background: linear-gradient(135deg, var(--emerald-tint) 0%, transparent 65%) !important;
}
body.lux-v2 .service-card::after {
  background: linear-gradient(90deg, transparent, var(--gold), transparent) !important;
  height: 1px !important;
}
body.lux-v2 .service-card:hover {
  transform: translateY(-8px) !important;
  border-color: var(--border-gold) !important;
  box-shadow: var(--shadow-lg) !important;
}
body.lux-v2 .service-card h3,
body.lux-v2 .service-card h4 { color: var(--emerald) !important; }

/* Offer cards */
body.lux-v2 .offer-card {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  color: var(--charcoal) !important;
  backdrop-filter: none !important;
  border-radius: 10px !important;
}
body.lux-v2 .offer-card-featured {
  background: var(--emerald) !important;
  border-color: var(--gold) !important;
  color: var(--ivory-warm) !important;
}
body.lux-v2 .offer-card-featured .offer-title,
body.lux-v2 .offer-card-featured h3 { color: var(--ivory-warm) !important; }
body.lux-v2 .offer-card-featured .offer-body,
body.lux-v2 .offer-card-featured p { color: rgba(249,246,240,0.94) !important; }
body.lux-v2 .offer-card-featured .offer-eyebrow { color: var(--gold-warm) !important; }
body.lux-v2 .offer-card-featured .offer-value { color: var(--gold-warm) !important; }
body.lux-v2 .offer-card-featured .offer-arrow {
  background: var(--gold) !important;
  color: var(--emerald) !important;
}
/* Emerald-tinted inline accents inside the dark featured card → gold */
body.lux-v2 .offer-card-featured strong,
body.lux-v2 .offer-card-featured [class*="text-emerald"],
body.lux-v2 .offer-card-featured [class*="text-slate"] { color: var(--gold-warm) !important; }
/* ── Buttons on dark emerald surfaces (cards & sections) ──
   .btn-primary is emerald-on-emerald and .btn-outline is charcoal-on-emerald
   there; switch to gold CTA + ivory outline (same pattern as .price-card.featured). */
body.lux-v2 .lux-care-card .btn-primary,
body.lux-v2 .offer-card-featured .btn-primary,
body.lux-v2 section[class*="bg-[#050e06]"] .btn-primary,
body.lux-v2 section[class*="bg-[#040c05]"] .btn-primary {
  background: var(--gold) !important;
  color: var(--emerald) !important;
  border-color: var(--gold) !important;
  font-weight: 700 !important;
}
body.lux-v2 .lux-care-card .btn-primary:hover,
body.lux-v2 .offer-card-featured .btn-primary:hover,
body.lux-v2 section[class*="bg-[#050e06]"] .btn-primary:hover,
body.lux-v2 section[class*="bg-[#040c05]"] .btn-primary:hover {
  background: var(--gold-warm) !important;
  border-color: var(--ivory-warm) !important;
  box-shadow: 0 16px 36px -10px rgba(212, 175, 55, 0.6) !important;
}
body.lux-v2 .lux-care-card .btn-primary svg,
body.lux-v2 .offer-card-featured .btn-primary svg,
body.lux-v2 section[class*="bg-[#050e06]"] .btn-primary svg,
body.lux-v2 section[class*="bg-[#040c05]"] .btn-primary svg { color: var(--emerald) !important; stroke: var(--emerald) !important; }
body.lux-v2 .lux-care-card .btn-outline,
body.lux-v2 .offer-card-featured .btn-outline,
body.lux-v2 section[class*="bg-[#050e06]"] .btn-outline,
body.lux-v2 section[class*="bg-[#040c05]"] .btn-outline {
  border-color: rgba(249, 246, 240, 0.45) !important;
  color: var(--ivory-warm) !important;
}
body.lux-v2 .lux-care-card .btn-outline svg,
body.lux-v2 .offer-card-featured .btn-outline svg,
body.lux-v2 section[class*="bg-[#050e06]"] .btn-outline svg,
body.lux-v2 section[class*="bg-[#040c05]"] .btn-outline svg { color: var(--ivory-warm) !important; stroke: var(--ivory-warm) !important; }
body.lux-v2 .lux-care-card .btn-outline:hover,
body.lux-v2 .offer-card-featured .btn-outline:hover,
body.lux-v2 section[class*="bg-[#050e06]"] .btn-outline:hover,
body.lux-v2 section[class*="bg-[#040c05]"] .btn-outline:hover {
  background: rgba(249, 246, 240, 0.10) !important;
  border-color: var(--gold) !important;
  color: var(--gold-warm) !important;
}
body.lux-v2 .offer-card:hover {
  transform: translateY(-6px) !important;
  border-color: var(--border-gold) !important;
  box-shadow: var(--shadow-lg) !important;
}
body.lux-v2 .offer-icon {
  background: var(--emerald-tint) !important;
  border-color: var(--border-emerald) !important;
  color: var(--emerald) !important;
}
body.lux-v2 .offer-icon-featured {
  background: var(--gold) !important;
  color: var(--emerald) !important;
  box-shadow: var(--shadow-gold) !important;
}
body.lux-v2 .offer-title { color: var(--emerald) !important; font-family: var(--display); font-weight: 600; }
body.lux-v2 .offer-body  { color: var(--charcoal-soft) !important; }
body.lux-v2 .offer-eyebrow { color: var(--charcoal-soft) !important; letter-spacing: 0.1em; }
body.lux-v2 .offer-value { color: var(--emerald) !important; }
body.lux-v2 .offer-arrow {
  background: var(--emerald-tint) !important;
  color: var(--emerald) !important;
}
body.lux-v2 .offer-meta { border-top-color: var(--border) !important; }

/* LUX Care membership — FIXED CONTRAST */
body.lux-v2 .lux-care-card {
  background: linear-gradient(135deg, var(--emerald) 0%, var(--emerald-soft) 100%) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-lg) !important;
  color: var(--ivory-warm) !important;
}
body.lux-v2 .lux-care-card * { color: var(--ivory-warm); }
body.lux-v2 .lux-care-card h2,
body.lux-v2 .lux-care-card h3,
body.lux-v2 .lux-care-card h4 { color: var(--ivory-warm) !important; }
body.lux-v2 .lux-care-card p,
body.lux-v2 .lux-care-card li,
body.lux-v2 .lux-care-card span:not(.lux-care-ribbon) { color: rgba(249, 246, 240, 0.95) !important; }
body.lux-v2 .lux-care-card .text-emerald-lux,
body.lux-v2 .lux-care-card .text-emerald-300,
body.lux-v2 .lux-care-card .text-emerald-400,
body.lux-v2 .lux-care-card [class*="text-emerald"] { color: var(--gold-warm) !important; }
body.lux-v2 .lux-care-card strong { color: var(--gold-warm) !important; font-weight: 600; }
body.lux-v2 .lux-care-card svg { color: var(--gold-warm) !important; }
body.lux-v2 .lux-care-card::before {
  background-image:
    linear-gradient(rgba(212, 175, 55, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 175, 55, 0.06) 1px, transparent 1px) !important;
}
body.lux-v2 .lux-care-ribbon {
  background: var(--gold) !important;
  color: var(--emerald) !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 24px -8px rgba(212, 175, 55, 0.5) !important;
}
body.lux-v2 .lux-care-price {
  background: rgba(249, 246, 240, 0.10) !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  border-radius: 10px !important;
}
body.lux-v2 .lux-care-price * { color: var(--ivory-warm) !important; }
body.lux-v2 .lux-care-price [class*="text-emerald"] { color: var(--gold-warm) !important; }

/* Testimonial cards */
body.lux-v2 .testi-card {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  color: var(--charcoal) !important;
}
body.lux-v2 .testi-card h3,
body.lux-v2 .testi-card h4 { color: var(--emerald) !important; }
body.lux-v2 .testi-card p { color: var(--charcoal-soft) !important; }
body.lux-v2 .testi-card p[class*="italic"],
body.lux-v2 .testi-card blockquote {
  font-family: var(--display);
  font-style: italic;
  font-weight: 500;
  font-size: 1.05em;
  line-height: 1.55;
  color: var(--charcoal) !important;
}
body.lux-v2 .testi-card:hover {
  transform: translateY(-6px) !important;
  border-color: var(--border-gold) !important;
  box-shadow: var(--shadow-lg) !important;
}

/* Pricing cards */
body.lux-v2 .price-card {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  color: var(--charcoal) !important;
}
body.lux-v2 .price-card h3 { color: var(--emerald) !important; }
body.lux-v2 .price-card.featured {
  background: linear-gradient(160deg, var(--emerald) 0%, var(--emerald-soft) 100%) !important;
  border: 1px solid var(--gold) !important;
  border-top: 3px solid var(--gold) !important;
  color: var(--ivory-warm) !important;
  box-shadow: var(--shadow-lg), 0 0 0 1px rgba(212, 175, 55, 0.25) inset !important;
  position: relative;
  overflow: hidden;
  transform: translateY(-8px);
}
body.lux-v2 .price-card.featured::before {
  content: "";
  position: absolute;
  top: 0; left: -50%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.18), transparent);
  animation: lux-shimmer 4.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
body.lux-v2 .price-card.featured::after {
  content: "RECOMMENDED";
  position: absolute;
  top: 14px; right: -32px;
  background: var(--gold);
  color: var(--emerald);
  padding: 4px 36px;
  font-family: var(--body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  transform: rotate(35deg);
  box-shadow: 0 6px 18px -6px rgba(212, 175, 55, 0.5);
  z-index: 4;
}
body.lux-v2 .price-card.featured * { position: relative; z-index: 2; }
body.lux-v2 .price-card.featured h3,
body.lux-v2 .price-card.featured h4,
body.lux-v2 .price-card.featured [class*="text-2xl"],
body.lux-v2 .price-card.featured [class*="text-3xl"],
body.lux-v2 .price-card.featured [class*="text-4xl"],
body.lux-v2 .price-card.featured [class*="text-5xl"] { color: var(--ivory-warm) !important; }
body.lux-v2 .price-card.featured [class*="text-emerald"] { color: var(--gold-warm) !important; }
body.lux-v2 .price-card.featured p,
body.lux-v2 .price-card.featured li,
body.lux-v2 .price-card.featured span,
body.lux-v2 .price-card.featured [class*="text-slate"] { color: rgba(249, 246, 240, 0.94) !important; }
body.lux-v2 .price-card.featured svg { color: var(--gold-warm) !important; }
body.lux-v2 .price-card.featured .btn-primary,
body.lux-v2 .price-card.featured a[class*="rounded"] {
  background: var(--gold) !important;
  color: var(--emerald) !important;
  border-color: var(--gold) !important;
  font-weight: 700 !important;
}
body.lux-v2 .price-card.featured .btn-primary:hover {
  background: var(--gold-warm) !important;
  border-color: var(--ivory-warm) !important;
  box-shadow: 0 16px 36px -10px rgba(212, 175, 55, 0.6) !important;
}

/* ───────── 10. BEFORE/AFTER SLIDER ───────── */
body.lux-v2 .ba-wrap {
  border-radius: 12px !important;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border-strong);
}
body.lux-v2 .ba-wrap [style*="left:"][style*="width: 2px"],
body.lux-v2 .ba-wrap [style*="left:"][style*="width:2px"] {
  background: linear-gradient(180deg, var(--gold-warm), var(--gold), var(--gold-soft)) !important;
  box-shadow: 0 0 24px rgba(212, 175, 55, 0.55), 0 0 0 0.5px rgba(0,0,0,0.1) !important;
  width: 1.5px !important;
}
body.lux-v2 .ba-wrap [class*="rounded-full"][class*="bg-emerald"],
body.lux-v2 .ba-wrap [class*="rounded-full"][style*="background"] {
  background: var(--emerald) !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold-warm) !important;
  box-shadow: 0 8px 28px -6px rgba(6, 44, 33, 0.5), 0 0 0 4px rgba(249, 246, 240, 0.5) !important;
}
body.lux-v2 .ba-label-before {
  background: rgba(26, 26, 26, 0.78) !important;
  color: var(--ivory-warm) !important;
  border: 1px solid var(--gold-warm) !important;
  letter-spacing: 0.14em; font-weight: 700;
}
body.lux-v2 .ba-label-after {
  background: var(--emerald) !important;
  color: var(--gold-warm) !important;
  border: 1px solid var(--gold) !important;
  letter-spacing: 0.14em; font-weight: 700;
}
body.lux-v2 .ba-nav {
  background: var(--emerald) !important;
  color: var(--gold-warm) !important;
  border: 1px solid var(--gold) !important;
  box-shadow: var(--shadow-md) !important;
}
body.lux-v2 .ba-nav:hover {
  background: var(--emerald-soft) !important;
  border-color: var(--gold-warm) !important;
  transform: translateY(-50%) scale(1.08) !important;
}
body.lux-v2 .ba-caption {
  background: rgba(249, 246, 240, 0.95) !important;
  color: var(--emerald) !important;
  border: 1px solid var(--border-gold) !important;
  backdrop-filter: blur(12px);
}
body.lux-v2 .ba-caption-count {
  color: var(--gold-soft) !important;
  border-left-color: var(--border) !important;
}
body.lux-v2 .ba-dot { background: rgba(26, 26, 26, 0.22) !important; }
body.lux-v2 .ba-dot:hover { background: var(--gold-warm) !important; }
body.lux-v2 .ba-dot-active { background: var(--emerald) !important; width: 28px !important; }

/* ───────── 11. GLASS ───────── */
body.lux-v2 .glass {
  background: rgba(249, 246, 240, 0.82) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid var(--border) !important;
  color: var(--charcoal) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-md);
}
/* Dark section glass cards — light text */
body.lux-v2 section[class*="bg-[#050e06]"] .glass,
body.lux-v2 section[class*="bg-[#040c05]"] .glass {
  background: rgba(249, 246, 240, 0.08) !important;
  border: 1px solid rgba(212, 175, 55, 0.25) !important;
  color: var(--ivory-warm) !important;
}
body.lux-v2 section[class*="bg-[#050e06]"] .glass *,
body.lux-v2 section[class*="bg-[#040c05]"] .glass * { color: var(--ivory-warm); }
body.lux-v2 section[class*="bg-[#050e06]"] .glass h3,
body.lux-v2 section[class*="bg-[#040c05]"] .glass h3 { color: var(--ivory-warm) !important; }
body.lux-v2 section[class*="bg-[#050e06]"] .glass [class*="text-emerald"],
body.lux-v2 section[class*="bg-[#040c05]"] .glass [class*="text-emerald"] { color: var(--gold-warm) !important; }
body.lux-v2 .glass h2, body.lux-v2 .glass h3, body.lux-v2 .glass h4 { color: var(--emerald) !important; }
body.lux-v2 .glass-light {
  background: rgba(231, 242, 238, 0.7) !important;
  border: 1px solid var(--border-emerald) !important;
  color: var(--charcoal) !important;
}

/* ───────── 12. FORMS ───────── */
body.lux-v2 input[type="text"],
body.lux-v2 input[type="email"],
body.lux-v2 input[type="tel"],
body.lux-v2 input[type="number"],
body.lux-v2 input[type="url"],
body.lux-v2 textarea,
body.lux-v2 select {
  background: var(--ivory-warm) !important;
  color: var(--charcoal) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 6px !important;
  padding: 12px 14px;
  font-family: var(--body);
  font-size: 15px;
  transition:
    border-color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out);
}
body.lux-v2 input:focus,
body.lux-v2 textarea:focus,
body.lux-v2 select:focus {
  outline: none !important;
  border-color: var(--emerald) !important;
  box-shadow: 0 0 0 3px rgba(6, 44, 33, 0.12) !important;
}
body.lux-v2 input::placeholder,
body.lux-v2 textarea::placeholder { color: var(--charcoal-soft); opacity: 0.6; }
body.lux-v2 label {
  font-family: var(--body);
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--charcoal-soft);
}

/* ───────── 13. FAQ ───────── */
body.lux-v2 #faq button[type="button"],
body.lux-v2 #faq summary {
  color: var(--emerald) !important;
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.lux-v2 #faq .border,
body.lux-v2 #faq [class*="bg-"] {
  background: var(--ivory-warm) !important;
  border-color: var(--border) !important;
  color: var(--charcoal);
}

/* ───────── 14. LEAD POPUP ───────── */
body.lux-v2 .lead-popup-overlay {
  background: rgba(6, 44, 33, 0.6) !important;
  backdrop-filter: blur(14px);
}
body.lux-v2 .lead-popup {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border-gold) !important;
  border-top: 3px solid var(--gold) !important;
  border-radius: 12px !important;
  box-shadow: 0 40px 100px rgba(6, 44, 33, 0.35), 0 0 0 1px rgba(212, 175, 55, 0.15) !important;
  color: var(--charcoal);
}
body.lux-v2 .lead-popup h2,
body.lux-v2 .lead-popup h3 { color: var(--emerald) !important; }
body.lux-v2 .lead-popup-close {
  color: var(--charcoal-soft) !important;
  background: var(--ivory-cool) !important;
  border: 1px solid var(--border) !important;
}
body.lux-v2 .lead-popup-close:hover {
  color: var(--emerald) !important;
  background: var(--emerald-tint) !important;
  border-color: var(--border-emerald) !important;
}

/* ───────── 15. FOOTER ───────── */
body.lux-v2 footer {
  background: var(--emerald) !important;
  color: rgba(249, 246, 240, 0.95) !important;
  border-top: 1px solid var(--border-gold) !important;
  position: relative;
}
body.lux-v2 footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
body.lux-v2 footer * { color: rgba(249, 246, 240, 0.95); }
body.lux-v2 footer h3,
body.lux-v2 footer h4 { color: var(--ivory-warm) !important; font-family: var(--display); }
body.lux-v2 footer p,
body.lux-v2 footer li { color: rgba(249, 246, 240, 0.88) !important; }
body.lux-v2 footer a {
  color: rgba(249, 246, 240, 0.90) !important;
  transition: color var(--dur-base) var(--ease-out);
}
body.lux-v2 footer a:hover { color: var(--gold-warm) !important; }
body.lux-v2 footer .text-emerald-400,
body.lux-v2 footer .text-emerald-300 { color: var(--gold-warm) !important; }
body.lux-v2 footer hr,
body.lux-v2 footer .border-t { border-color: rgba(212, 175, 55, 0.18) !important; }

/* ───────── 16. HERO ───────── */
body.lux-v2 #hero {
  background:
    radial-gradient(900px 600px at 80% 20%, rgba(212, 175, 55, 0.06), transparent 60%),
    radial-gradient(700px 500px at 10% 80%, var(--success-subtle), transparent 60%),
    var(--ivory) !important;
}
body.lux-v2 #hero [style*="ecfdf5"] {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border-gold) !important;
  color: var(--emerald) !important;
  box-shadow: var(--shadow-sm) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 8px 16px !important;
}
body.lux-v2 #hero [style*="ecfdf5"] [style*="#f59e0b"] { color: var(--gold) !important; }
body.lux-v2 #hero [style*="ecfdf5"] [style*="#10b981"] { background: var(--gold) !important; }
body.lux-v2 #hero [x-data*="nextSlot"] {
  background: var(--ivory-warm) !important;
  border-color: var(--border-emerald) !important;
  color: var(--emerald) !important;
}

/* Trust bar */
body.lux-v2 section[aria-label="Trust indicators"] {
  background: var(--emerald) !important;
  border-color: transparent !important;
  color: var(--ivory-warm);
}
body.lux-v2 section[aria-label="Trust indicators"] * { color: var(--ivory-warm) !important; }
body.lux-v2 section[aria-label="Trust indicators"] [class*="text-emerald"] { color: var(--gold-warm) !important; }
body.lux-v2 section[aria-label="Trust indicators"] svg { color: var(--gold-warm) !important; }

/* ───────── 17. UTILITY OVERRIDES ───────── */
body.lux-v2 .bg-emerald-50,
body.lux-v2 .bg-emerald-100,
body.lux-v2 .bg-emerald-500\/10 { background: var(--success-subtle) !important; }
body.lux-v2 .border-emerald-100,
body.lux-v2 .border-emerald-200,
body.lux-v2 .border-emerald-500\/20,
body.lux-v2 .border-emerald-lux\/8,
body.lux-v2 .border-emerald-lux\/10,
body.lux-v2 .border-emerald-lux\/20 { border-color: var(--border-emerald) !important; }
body.lux-v2 .bg-slate-50,
body.lux-v2 .bg-slate-100 { background: var(--ivory-cool) !important; }
body.lux-v2 .bg-white,
body.lux-v2 .bg-white\/95,
body.lux-v2 .bg-white\/85 { background: var(--ivory-warm) !important; }
body.lux-v2 .bg-slate-200,
body.lux-v2 .border-slate-100,
body.lux-v2 .border-slate-200 { border-color: var(--border) !important; }
body.lux-v2 .ring-emerald-500,
body.lux-v2 .ring-emerald-lux { --tw-ring-color: var(--emerald) !important; }

/* Star ratings */
body.lux-v2 [style*="color:#f59e0b"],
body.lux-v2 [style*="color: #f59e0b"],
body.lux-v2 .text-yellow-400,
body.lux-v2 .text-amber-400,
body.lux-v2 .text-amber-500 { color: var(--gold) !important; }

/* SEO hub / quick facts */
body.lux-v2 #seo-hub {
  background: var(--ivory) !important;
  border-color: var(--border) !important;
}
body.lux-v2 #quick-facts {
  background: var(--emerald) !important;
  color: var(--ivory-warm);
  border-color: var(--border-gold);
}
body.lux-v2 #quick-facts * { color: var(--ivory-warm) !important; }
body.lux-v2 #quick-facts [class*="text-emerald"] { color: var(--gold-warm) !important; }

/* Areas section — boost text contrast */
body.lux-v2 #areas { background: var(--ivory) !important; }
body.lux-v2 #areas h2 { color: var(--emerald) !important; }
body.lux-v2 #areas p { color: var(--charcoal-soft) !important; }
body.lux-v2 #areas a:not(.btn-primary) {
  color: var(--emerald) !important;
  font-weight: 600;
  transition: color var(--dur-base) var(--ease-out);
}
body.lux-v2 #areas a:not(.btn-primary):hover { color: var(--gold-soft) !important; }

/* Leaflet map container — light backdrop + premium border */
body.lux-v2 .leaflet-container {
  background: var(--ivory-cool) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 12px !important;
}
body.lux-v2 .leaflet-control-zoom a {
  background: var(--ivory-warm) !important;
  color: var(--emerald) !important;
  border: 1px solid var(--border) !important;
}
body.lux-v2 .leaflet-control-zoom a:hover { background: var(--emerald-tint) !important; }
body.lux-v2 .leaflet-control-attribution {
  background: rgba(249, 246, 240, 0.92) !important;
  color: var(--charcoal-soft) !important;
}
body.lux-v2 .leaflet-control-attribution a { color: var(--emerald) !important; }

/* ───────── 18. ANIMATION KEYFRAMES ───────── */
@keyframes lux-shimmer {
  0%   { left: -50%; }
  60%  { left: 100%; }
  100% { left: 100%; }
}
@keyframes lux-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes lux-scale-in {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes lux-recommended-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.012); }
}

/* Reveal utility */
body.lux-v2 [data-reveal]:not(.lux-in) {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 880ms var(--ease-out), transform 880ms var(--ease-out);
}
body.lux-v2 [data-reveal="scale"]:not(.lux-in) { transform: scale(0.96); }
body.lux-v2 [data-reveal="fade"]:not(.lux-in)  { transform: none; }
body.lux-v2 [data-reveal].lux-in { opacity: 1; transform: translateY(0) scale(1); }

/* Legacy .reveal-up — smoother curve */
body.lux-v2 .js-ready .reveal-up,
body.lux-v2 .js-ready .reveal-scale {
  transition-timing-function: var(--ease-out) !important;
  transition-duration: 880ms !important;
}

/* Recommended pulse */
body.lux-v2 .price-card.featured h3 {
  animation: lux-recommended-pulse 3.4s ease-in-out infinite;
  transform-origin: left center;
}

/* Magnetic helper */
body.lux-v2 .lux-magnetic { transition: transform 280ms var(--ease-out); will-change: transform; }

/* ───────── 19. SCROLL-DRIVEN ANIMATIONS (Chrome/Edge) ───────── */
@supports (animation-timeline: view()) {
  body.lux-v2 [data-scroll-fade] {
    animation: lux-fade-up linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
  }
  body.lux-v2 [data-scroll-scale] {
    animation: lux-scale-in linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
  }
}

/* ───────── 20. REDUCED MOTION ───────── */
@media (prefers-reduced-motion: reduce) {
  body.lux-v2 *,
  body.lux-v2 *::before,
  body.lux-v2 *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  body.lux-v2 [data-reveal]:not(.lux-in) { opacity: 1; transform: none; }
}

/* ───────── 21. SERVICE / AREA / GUIDE PAGES (shared inline-style markup) ───────── */
body.lux-v2 .site-header {
  background: rgba(249, 246, 240, 0.88) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--border) !important;
  transition:
    background var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    padding var(--dur-base) var(--ease-out);
}
body.lux-v2 .site-header.lux-scrolled {
  background: rgba(249, 246, 240, 0.96) !important;
  border-bottom-color: var(--border-strong) !important;
  box-shadow: var(--shadow-sm);
}
body.lux-v2 .brand strong { color: var(--emerald) !important; font-family: var(--display); }
body.lux-v2 .brand small  { color: var(--emerald-warm) !important; letter-spacing: 0.2em; }
body.lux-v2 .brand-mark {
  background: linear-gradient(135deg, var(--emerald) 0%, var(--emerald-soft) 100%) !important;
  color: var(--gold-warm) !important;
  border-radius: 10px !important;
}
body.lux-v2 .site-header nav { color: var(--charcoal) !important; }
body.lux-v2 .site-header nav a {
  position: relative;
  color: var(--charcoal) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: color var(--dur-base) var(--ease-out);
}
body.lux-v2 .site-header nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-base) var(--ease-out);
}
body.lux-v2 .site-header nav a:hover { color: var(--emerald) !important; }
body.lux-v2 .site-header nav a:hover::after { transform: scaleX(1); }
body.lux-v2 .header-phone { color: var(--emerald) !important; font-weight: 700; }

body.lux-v2 .hero {
  background:
    radial-gradient(900px 600px at 80% 20%, rgba(212, 175, 55, 0.06), transparent 60%),
    radial-gradient(700px 500px at 10% 80%, var(--success-subtle), transparent 60%),
    var(--ivory) !important;
  color: var(--charcoal) !important;
}
body.lux-v2 .hero h1 { color: var(--emerald) !important; font-weight: 700; letter-spacing: -0.025em; }
body.lux-v2 .hero .lead { color: var(--charcoal-soft) !important; }
body.lux-v2 .eyebrow,
body.lux-v2 .label {
  color: var(--gold-soft) !important;
  letter-spacing: 0.16em;
  font-weight: 700;
}

body.lux-v2 .hero-card,
body.lux-v2 .info-card,
body.lux-v2 .answer-box,
body.lux-v2 .media-panel {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  box-shadow: var(--shadow-md) !important;
  color: var(--charcoal) !important;
}
body.lux-v2 .hero-card p,
body.lux-v2 .info-card p,
body.lux-v2 .answer-box p { color: var(--charcoal-soft) !important; }
body.lux-v2 .info-card:hover,
body.lux-v2 .hero-card:hover,
body.lux-v2 .answer-box:hover {
  border-color: var(--border-gold) !important;
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg) !important;
  transition:
    transform var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out);
}

body.lux-v2 .btn { border-radius: 6px !important; font-weight: 600 !important; letter-spacing: 0.04em; }
body.lux-v2 .btn-secondary {
  background: transparent !important;
  border: 1px solid var(--charcoal) !important;
  color: var(--charcoal) !important;
}
body.lux-v2 .btn-secondary:hover {
  background: var(--emerald) !important;
  border-color: var(--emerald) !important;
  color: var(--ivory-warm) !important;
}

body.lux-v2 .check-list li,
body.lux-v2 .steps li { color: var(--charcoal-soft) !important; }
body.lux-v2 .check-list li::marker,
body.lux-v2 .steps li::marker { color: var(--gold-soft); }
body.lux-v2 .keyword-list li { color: var(--emerald) !important; font-weight: 500; }

body.lux-v2 .faq details {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  transition:
    border-color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out);
}
body.lux-v2 .faq details:hover { border-color: var(--border-gold) !important; box-shadow: var(--shadow-sm); }
body.lux-v2 .faq summary {
  color: var(--emerald) !important;
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.lux-v2 .faq p { color: var(--charcoal-soft) !important; }
body.lux-v2 .faq details[open] { border-color: var(--border-gold) !important; }
body.lux-v2 .faq details[open] summary { color: var(--emerald-soft) !important; }

body.lux-v2 .related-link {
  background: var(--emerald-tint) !important;
  border: 1px solid var(--border-emerald) !important;
  color: var(--emerald) !important;
  font-weight: 600;
  transition:
    background var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    color var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out);
}
body.lux-v2 .related-link:hover {
  background: var(--emerald) !important;
  border-color: var(--gold) !important;
  color: var(--gold-warm) !important;
  transform: translateY(-2px);
}

body.lux-v2 .footer {
  background: var(--emerald) !important;
  color: rgba(249, 246, 240, 0.95) !important;
  border-top: 1px solid var(--border-gold) !important;
  position: relative;
}
body.lux-v2 .footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
body.lux-v2 .footer strong { color: var(--ivory-warm) !important; font-family: var(--display); }
body.lux-v2 .footer a { color: rgba(249, 246, 240, 0.90) !important; transition: color var(--dur-base) var(--ease-out); }
body.lux-v2 .footer a:hover { color: var(--gold-warm) !important; }

body.lux-v2[class] {
  background: var(--ivory) !important;
  color: var(--charcoal) !important;
}
body.lux-v2 main { background: var(--ivory) !important; }
body.lux-v2 .section { background: transparent !important; }
body.lux-v2 .info-card h2,
body.lux-v2 .answer-box h2,
body.lux-v2 .hero-card h2,
body.lux-v2 .section h2,
body.lux-v2 .section-inner h2 { color: var(--emerald) !important; }

/* Sticky mobile CTA bar */
body.lux-v2 [class*="fixed"][class*="bottom-0"][class*="md:hidden"],
body.lux-v2 .sticky-cta-bar {
  background: rgba(249, 246, 240, 0.96) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border-top: 1px solid var(--border-gold) !important;
  box-shadow: 0 -8px 24px -8px rgba(6, 44, 33, 0.15);
}

/* ───────── 22. CONTRAST + BRAND-CLEANUP PATCHES (v3.1) ───────── */

/* Triple-CTA buttons (Text/Call/Photo) — quiet luxury */
body.lux-v2 .triple-cta-btn.primary {
  background: var(--emerald) !important;
  color: var(--ivory-warm) !important;
  border: 1px solid var(--emerald) !important;
  box-shadow: 0 8px 22px -8px rgba(6, 44, 33, 0.35) !important;
}
body.lux-v2 .triple-cta-btn.primary:hover {
  background: var(--emerald-soft) !important;
  border-color: var(--gold) !important;
  box-shadow: 0 12px 30px -10px rgba(6, 44, 33, 0.45), 0 0 0 1px var(--gold) inset !important;
  transform: translateY(-1px);
}
body.lux-v2 .triple-cta-btn.outline {
  background: var(--ivory-warm) !important;
  color: var(--emerald) !important;
  border: 1px solid var(--border-emerald) !important;
}
body.lux-v2 .triple-cta-btn.outline:hover {
  border-color: var(--gold) !important;
  background: var(--ivory) !important;
  color: var(--emerald) !important;
}
body.lux-v2 .triple-cta-btn .text-emerald-light,
body.lux-v2 .triple-cta-btn svg { color: currentColor !important; }
body.lux-v2 .triple-cta-hint { color: var(--charcoal-soft) !important; }

/* Floating-action button (FAB +) — emerald + gold icon */
body.lux-v2 .fab-pulse {
  background: linear-gradient(135deg, var(--emerald) 0%, var(--emerald-soft) 100%) !important;
  box-shadow: 0 4px 24px -4px rgba(6, 44, 33, 0.45), 0 0 0 1px rgba(212, 175, 55, 0.25) !important;
  border: 1px solid var(--gold) !important;
}
body.lux-v2 .fab-pulse i,
body.lux-v2 .fab-pulse svg { color: var(--gold-warm) !important; stroke: var(--gold-warm) !important; }

/* Before/After slider — gold thread + emerald handle */
body.lux-v2 .ba-wrap > .absolute.bg-emerald-lux,
body.lux-v2 .ba-wrap div[class*="bg-emerald-lux"][class*="w-[3px]"],
body.lux-v2 .ba-wrap div[class*="w-[3px]"] {
  background: var(--gold) !important;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.6);
}
body.lux-v2 .ba-wrap div[class*="bg-gradient-to-br"][class*="from-emerald-light"] {
  background: linear-gradient(135deg, var(--emerald) 0%, var(--emerald-soft) 100%) !important;
  box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.20), 0 4px 24px rgba(6, 44, 33, 0.45) !important;
  border: 1px solid var(--gold);
}
body.lux-v2 .ba-wrap div[class*="bg-gradient-to-br"] svg path {
  stroke: var(--gold-warm) !important;
}
body.lux-v2 .ba-nav {
  background: rgba(6, 44, 33, 0.72) !important;
  color: var(--gold-warm) !important;
  border: 1px solid var(--gold) !important;
}
body.lux-v2 .ba-nav:hover {
  background: rgba(6, 44, 33, 0.90) !important;
  border-color: var(--gold-warm) !important;
}
body.lux-v2 .ba-nav svg,
body.lux-v2 .ba-nav i { color: var(--gold-warm) !important; stroke: var(--gold-warm) !important; }
body.lux-v2 .ba-caption {
  background: rgba(249, 246, 240, 0.94) !important;
  color: var(--emerald) !important;
  border: 1px solid var(--border-gold) !important;
}
body.lux-v2 .ba-caption-count {
  color: var(--gold-soft) !important;
  border-left: 1px solid var(--border-gold) !important;
}
body.lux-v2 .ba-label-after {
  background: rgba(6, 44, 33, 0.75) !important;
  color: var(--gold-warm) !important;
  border: 1px solid var(--gold) !important;
}
body.lux-v2 .ba-label-before {
  background: rgba(26, 26, 26, 0.70) !important;
  color: var(--ivory-warm) !important;
}
body.lux-v2 .ba-dot { background: rgba(249,246,240,0.35) !important; }
body.lux-v2 .ba-dot:hover { background: var(--gold-warm) !important; }
body.lux-v2 .ba-dot-active { background: var(--gold) !important; }

/* Next-open-slot pill (the bright-green dot) */
body.lux-v2 [class*="bg-emerald-500"][class*="rounded-full"][class*="w-2"],
body.lux-v2 [class*="bg-emerald-400"][class*="rounded-full"][class*="w-2"] {
  background: var(--gold) !important;
  box-shadow: 0 0 8px rgba(212, 175, 55, 0.6);
}

/* Dim body paragraph readability on emerald sections — final pass */
body.lux-v2 section[class*="bg-[#050e06]"] p:not([class*="text-emerald"]):not([class*="text-amber"]):not([class*="text-yellow"]),
body.lux-v2 section[class*="bg-[#040c05]"] p:not([class*="text-emerald"]):not([class*="text-amber"]):not([class*="text-yellow"]) {
  color: rgba(249, 246, 240, 0.94) !important;
}

/* Slate-* numeric scale on emerald sections — final coverage */
body.lux-v2 section[class*="bg-[#050e06]"] .text-slate-500,
body.lux-v2 section[class*="bg-[#050e06]"] .text-slate-600,
body.lux-v2 section[class*="bg-[#040c05]"] .text-slate-500,
body.lux-v2 section[class*="bg-[#040c05]"] .text-slate-600 {
  color: rgba(249, 246, 240, 0.82) !important;
}

/* Hero "Next open slot" pill restyle */
body.lux-v2 #hero [class*="rounded-full"][class*="bg-emerald"] {
  background: rgba(6, 44, 33, 0.08) !important;
  color: var(--emerald) !important;
  border: 1px solid var(--border-emerald) !important;
}

/* Lead-popup brand-cleanup */
body.lux-v2 .lead-popup,
body.lux-v2 .lead-popup-overlay > * {
  background: var(--ivory-warm) !important;
  border: 1px solid var(--border) !important;
  color: var(--charcoal) !important;
}
body.lux-v2 .lead-popup h2,
body.lux-v2 .lead-popup h3 { color: var(--emerald) !important; }
body.lux-v2 .lead-popup a[href^="tel:"] { color: var(--emerald) !important; font-weight: 700; }

/* ───────── 22b. FAQ ACCORDION — ivory cards, emerald text (DESIGN.md) ─────────
   #faq is an emerald section, but its .glass items are ivory; the generic
   dark-section rules painted question text gold-on-ivory. ID selector wins. */
body.lux-v2 #faq .glass {
  background: var(--ivory-warm) !important;
  border-color: var(--border) !important;
}
body.lux-v2 #faq .glass:hover { border-color: var(--border-gold) !important; }
body.lux-v2 #faq .glass button span {
  color: var(--emerald) !important;
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.lux-v2 #faq .glass button:hover span { color: var(--emerald-warm) !important; }
body.lux-v2 #faq .glass [class*="text-emerald"],
body.lux-v2 #faq .glass svg,
body.lux-v2 #faq .glass i {
  color: var(--emerald) !important;
  stroke: var(--emerald);
}
body.lux-v2 #faq .glass p { color: var(--charcoal-soft) !important; }

/* ───────── 23. PRINT ───────── */
@media print {
  body.lux-v2, body.lux-v2 * {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
  }
}
