/* =========================================================
   Lumi Elite dark/gold skin — production atelier finish
   Goal: homepage-quality dark theme, no white blobs / lost text
   ========================================================= */

:root {
  --lumi-gold: #e4c56a;
  --lumi-gold-bright: #f3dd9a;
  --lumi-gold-d: #c4a24a;
  --lumi-gold-light: rgba(232, 208, 138, 0.16);

  /* Remap light-theme text/surface tokens used by base CSS */
  --lumi-ink: #ffffff;
  --lumi-ink-soft: #f1f5fd;
  --lumi-bg: #070a10;
  --lumi-cream: #0e1522;
  --lumi-line: rgba(255, 255, 255, 0.18);
  --lumi-white: #151e30; /* was #fff cards — now dark panels */
  --lumi-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
  --lumi-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.35);

  --elite-bg: #070a10;
  --elite-panel: #151e30;
  --elite-panel-2: #101826;
  --elite-text: #ffffff;
  --elite-muted: #f1f5fd;
  --elite-line: rgba(255, 255, 255, 0.18);
  --elite-gold: #e8d08a;
  --elite-on-gold: #14110a;
  --elite-kakao: #fee500;
  --elite-on-kakao: #191919;
}

html,
body {
  background: var(--elite-bg) !important;
  color: var(--elite-text) !important;
}

#lumi-root {
  background: var(--elite-bg) !important;
  color: var(--elite-text) !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   Typography defaults (scoped — do NOT nuke CTA link colors)
   --------------------------------------------------------- */
#lumi-root p,
#lumi-root li,
#lumi-root label,
#lumi-root summary,
#lumi-root h1,
#lumi-root h2,
#lumi-root h3,
#lumi-root h4,
#lumi-root h5,
#lumi-root strong,
#lumi-root b,
#lumi-root dt,
#lumi-root dd,
#lumi-root figcaption,
#lumi-root td,
#lumi-root th {
  color: var(--elite-text) !important;
}

#lumi-root .lumi-lead,
#lumi-root .lumi-lead--why,
#lumi-root .lumi-lead--journey,
#lumi-root .lumi-page-lead,
#lumi-root .lumi-faq p,
#lumi-root .lumi-faq-intro p,
#lumi-root .lumi-journey-item p,
#lumi-root .lumi-board-card p,
#lumi-root .lumi-program-card p,
#lumi-root .lumi-eea-point-list li,
#lumi-root .lumi-process-step p,
#lumi-root .lumi-home-notice-list,
#lumi-root .lumi-center-status,
#lumi-root .lumi-footer p,
#lumi-root .lumi-footer-meta {
  color: var(--elite-muted) !important;
  font-weight: 600;
}

.lumi-kicker,
.lumi-hero-eyebrow,
.lumi-hero-title em,
.lumi-stat strong,
.lumi-lead--compare-hook,
.lumi-journey-step,
.lumi-board-tag,
.lumi-premium-cta span,
.lumi-compare-lumi,
.lumi-convert-head p,
.lumi-nav-chip:hover,
.lumi-nav-chip.is-active,
.lumi-center-region {
  color: var(--elite-gold) !important;
}

/* ---------------------------------------------------------
   NAV + drawer (mounted outside #lumi-root often)
   --------------------------------------------------------- */
.lumi-nav {
  background: rgba(5, 7, 12, 0.96) !important;
  border-bottom: 1px solid rgba(255, 233, 138, 0.32);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.lumi-nav.is-scrolled {
  background: rgba(5, 7, 12, 0.99) !important;
}

.lumi-nav-logo {
  background: transparent !important;
  box-shadow: none !important;
}

.lumi-nav-title {
  color: #fff !important;
  font-weight: 900 !important;
}

.lumi-nav-chip {
  color: #fff !important;
  font-weight: 700 !important;
}

.lumi-nav-consult {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  padding: 10px 18px;
  border-radius: 4px;
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  color: var(--elite-on-gold) !important;
  font-weight: 900;
  font-size: 14.5px;
  box-shadow: 0 8px 24px rgba(212, 175, 55, 0.35);
}

.lumi-nav-toggle {
  background: var(--elite-panel) !important;
  border: 1px solid rgba(255, 233, 138, 0.4) !important;
}

.lumi-nav-toggle span {
  background: #fff !important;
}

.lumi-nav-drawer {
  background: #0c111a !important;
  border-color: rgba(255, 233, 138, 0.28) !important;
}

.lumi-nav-drawer-title,
.lumi-nav-drawer-link {
  color: #fff !important;
  font-weight: 800 !important;
}

.lumi-nav-drawer-link:hover,
.lumi-nav-drawer-link.is-active {
  background: #1a2438 !important;
  color: var(--elite-gold) !important;
}

.lumi-nav-drawer-link--cta {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  color: var(--elite-on-gold) !important;
}

.lumi-nav-drawer-link--cta:hover,
.lumi-nav-drawer-link--cta.is-active {
  color: var(--elite-on-gold) !important;
  filter: brightness(1.05);
}

.lumi-nav-drawer-close {
  background: var(--elite-panel) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}

.lumi-nav-backdrop {
  background: rgba(0, 0, 0, 0.65) !important;
}

/* ---------------------------------------------------------
   HERO — photo top, copy below (never overlay)
   --------------------------------------------------------- */
.lumi-hero--poster {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  background: #05070c !important;
  /* 모바일에서 visual 높이 클램프와 겹치면 팀이 통째로 잘림 → visible 유지 */
  overflow: visible !important;
}

/* =========================================================
   Hero: logo band (own page) + team plate (no face cover)
   ========================================================= */
.lumi-hero--poster .lumi-hero-visual {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: clamp(22rem, 92vw, 42rem) !important;
  max-height: none !important;
  overflow: visible !important;
  flex: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  background: #05070c !important;
  isolation: auto !important;
  --logo-main: clamp(6.5rem, 34vw, 10.5rem);
  --stage-max: min(100%, 52rem);
}

.lumi-hero--poster .lumi-hero-img {
  display: none !important;
}

.lumi-hero--poster .lumi-hero-visual::after,
.lumi-hero--poster .lumi-hero-glow,
.lumi-hero--poster .lumi-hero-shine,
.lumi-hero--poster .lumi-hero-content::before {
  display: none !important;
  content: none !important;
}

/* Separate logo "page" above people — never covers faces */
.lumi-hero-logo-page {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding:
    max(22px, env(safe-area-inset-top, 0px))
    16px
    clamp(20px, 4vw, 36px);
  background:
    radial-gradient(ellipse 70% 80% at 50% 40%, rgba(255, 233, 138, 0.14), transparent 62%),
    #05070c;
  animation: lumiLogoIn 1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.lumi-hero-stage {
  position: relative;
  z-index: 1;
  width: var(--stage-max);
  max-width: 100%;
  height: clamp(26rem, 78vw, 42rem);
  margin: 0 auto;
  overflow: visible;
  background: transparent;
  transform-origin: top center;
  animation: lumiHeroRise 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}

/* Soft backlight / halo behind people */
.lumi-hero-stage::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6%;
  z-index: 0;
  width: min(92%, 40rem);
  height: 78%;
  transform: translateX(-50%);
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 48% at 50% 42%, rgba(255, 233, 138, 0.34), transparent 68%),
    radial-gradient(ellipse 78% 62% at 50% 58%, rgba(212, 175, 88, 0.16), transparent 72%);
  filter: blur(2px);
}

.lumi-hero-plate {
  display: none !important;
}

.lumi-hero-team {
  display: none !important;
}

.lumi-hero-person {
  position: absolute;
  bottom: 0;
  height: 90%;
  width: auto;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  background: transparent !important;
  pointer-events: none;
  user-select: none;
  opacity: 1;
  visibility: visible;
  filter:
    drop-shadow(0 0 18px rgba(255, 233, 138, 0.22))
    drop-shadow(0 10px 16px rgba(0, 0, 0, 0.35));
}

/* Z: right back → left mid → man front — equal height so mobile stays balanced */
.lumi-hero-person--right {
  right: 2%;
  z-index: 1;
  height: 86%;
  width: auto;
  max-width: none;
  transform: translateX(0);
  animation: lumiPersonIn 1s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
}

.lumi-hero-person--left {
  left: 2%;
  z-index: 2;
  height: 86%;
  width: auto;
  max-width: none;
  transform: translateX(0);
  animation: lumiPersonIn 1s cubic-bezier(0.22, 1, 0.36, 1) 0.14s both;
}

.lumi-hero-person--center {
  left: 50%;
  z-index: 3;
  height: 100%;
  width: auto;
  max-width: none;
  transform: translateX(-50%);
  filter:
    drop-shadow(0 0 28px rgba(255, 233, 138, 0.32))
    drop-shadow(0 12px 18px rgba(0, 0, 0, 0.4));
  animation: lumiPersonInCenter 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
}

.lumi-hero-stage-fade,
.lumi-hero-brand {
  display: none !important;
}

@keyframes lumiPersonIn {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes lumiPersonInCenter {
  from { opacity: 0; transform: translateX(-50%) translateY(32px) scale(0.97); }
  to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

/* Mobile: kill inline.css 40dvh clip — team must always show */
@media (max-width: 639px) {
  .lumi-hero--poster,
  .lumi-hero--brand.lumi-hero--poster {
    overflow: visible !important;
  }

  .lumi-hero--poster .lumi-hero-visual,
  .lumi-hero--brand .lumi-hero-visual,
  html[data-lumi-view="mobile"] .lumi-hero--brand .lumi-hero-visual,
  html[data-lumi-view="auto"] .lumi-hero--brand .lumi-hero-visual,
  html:not([data-lumi-view]) .lumi-hero--brand .lumi-hero-visual {
    display: flex !important;
    height: auto !important;
    min-height: clamp(22rem, 92vw, 32rem) !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .lumi-hero-stage {
    display: block !important;
    height: clamp(22rem, 92vw, 32rem) !important;
    min-height: 22rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
  }

  .lumi-hero-stage::before {
    width: 100%;
    height: 72%;
    opacity: 0.9;
  }

  .lumi-hero-person,
  .lumi-hero-person--left,
  .lumi-hero-person--right,
  .lumi-hero-person--center {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
  }

  .lumi-hero-person--left,
  .lumi-hero-person--right {
    left: auto;
    right: auto;
    height: 84%;
    width: auto;
    max-width: none;
    transform: none !important;
  }

  .lumi-hero-person--left {
    left: 0;
  }

  .lumi-hero-person--right {
    right: 0;
  }

  .lumi-hero-person--center {
    height: 100%;
    transform: translateX(-50%) !important;
  }
}

.lumi-hero-logo {
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  background: transparent !important;
}

.lumi-hero-logo--main {
  width: var(--logo-main);
  filter:
    drop-shadow(0 0 18px rgba(255, 233, 138, 0.45))
    drop-shadow(0 10px 28px rgba(0, 0, 0, 0.55));
  animation: lumiLogoGlow 3.6s ease-in-out 1.2s infinite;
}

.lumi-hero-logo--crest {
  display: none !important;
}

@keyframes lumiHeroRise {
  from { opacity: 0; transform: translateY(28px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lumiLogoIn {
  from { opacity: 0; transform: translateY(-14px) scale(0.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lumiLogoGlow {
  0%, 100% {
    filter:
      drop-shadow(0 0 14px rgba(255, 233, 138, 0.35))
      drop-shadow(0 10px 28px rgba(0, 0, 0, 0.55));
  }
  50% {
    filter:
      drop-shadow(0 0 26px rgba(255, 233, 138, 0.55))
      drop-shadow(0 10px 28px rgba(0, 0, 0, 0.55));
  }
}

.lumi-view-switch {
  position: absolute;
  top: 10px;
  right: max(10px, env(safe-area-inset-right, 0px));
  z-index: 8;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin: 0;
  padding: 3px;
  border-radius: 999px;
  background: rgba(10, 14, 24, 0.72);
  border: 1px solid rgba(255, 233, 138, 0.22);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
}

.lumi-view-btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #d8deea;
  background: transparent;
  transition: background 0.15s, color 0.15s;
}

.lumi-view-btn:hover { color: #fff; }

.lumi-view-btn.is-active {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%);
  color: #111 !important;
}

.lumi-hero--brand .lumi-hero-visual,
html[data-lumi-view="mobile"] .lumi-hero--brand .lumi-hero-visual,
html[data-lumi-view="auto"] .lumi-hero--brand .lumi-hero-visual,
html:not([data-lumi-view]) .lumi-hero--brand .lumi-hero-visual {
  --logo-main: clamp(6.5rem, 34vw, 10.5rem);
  --stage-max: min(100%, 52rem);
}

.lumi-hero--brand,
html[data-lumi-view="mobile"] .lumi-hero--brand,
html[data-lumi-view="auto"] .lumi-hero--brand,
html:not([data-lumi-view]) .lumi-hero--brand {
  --logo-main: clamp(6.5rem, 34vw, 10.5rem);
}

@media (max-width: 359px) {
  .lumi-hero--brand {
    --logo-main: 5.75rem;
  }
}

@media (min-width: 900px) {
  html[data-lumi-view="auto"] .lumi-hero--brand .lumi-hero-visual,
  html:not([data-lumi-view]) .lumi-hero--brand .lumi-hero-visual {
    --stage-max: min(96vw, 72rem);
  }

  html[data-lumi-view="auto"] .lumi-hero--brand,
  html:not([data-lumi-view]) .lumi-hero--brand {
    --logo-main: clamp(8.5rem, 12vw, 12.5rem);
  }
}

html[data-lumi-view="pc"] .lumi-hero--brand .lumi-hero-visual {
  --stage-max: 72rem;
}

html[data-lumi-view="pc"] .lumi-hero--brand {
  --logo-main: 12rem;
}

html[data-lumi-view="pc"] .lumi-hero--brand .lumi-hero-stage {
  width: 72rem;
  max-width: none;
}

@media (max-width: 899px) {
  html[data-lumi-view="pc"] .lumi-hero--brand .lumi-hero-stage {
    transform: scale(calc(100vw / 72rem));
    margin-bottom: calc((1 - (100vw / 72rem)) * -36rem);
  }
}

@media (max-height: 480px) and (orientation: landscape) {
  .lumi-hero--brand {
    --logo-main: 4.5rem;
  }
  .lumi-hero--brand .lumi-hero-visual {
    --stage-max: min(70vw, 28rem);
  }
  .lumi-view-switch { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .lumi-hero-logo-page,
  .lumi-hero-logo--main,
  .lumi-hero-stage,
  .lumi-hero-person {
    animation: none !important;
  }
}

.lumi-hero--poster .lumi-hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding:
    clamp(10px, 2.5vw, 18px)
    max(14px, env(safe-area-inset-right, 0px))
    clamp(24px, 4vw, 36px)
    max(14px, env(safe-area-inset-left, 0px)) !important;
  text-align: center !important;
  background: #05070c !important;
  color: #fff !important;
  overflow: visible !important;
  animation: lumiHeroFadeUp 0.9s ease 0.35s both;
}

@keyframes lumiHeroFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}


.lumi-hero-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em;
}

.lumi-hero-eyebrow span {
  width: 42px;
  height: 2px;
  background: var(--elite-gold);
  box-shadow: 0 0 10px rgba(255, 233, 138, 0.5);
}

.lumi-hero-eyebrow span:last-child { display: block; }

.lumi-hero-title {
  margin: 14px auto 12px !important;
  color: #fff !important;
  font-size: clamp(30px, 6.2vw, 58px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

.lumi-hero-title em {
  font-style: normal;
  color: #ffe98a;
  text-shadow: 0 0 32px rgba(255, 233, 138, 0.55);
}

.lumi-hero-sub {
  color: #fff !important;
  font-size: clamp(18px, 2.8vw, 26px) !important;
  font-weight: 800 !important;
  margin-bottom: 14px;
  line-height: 1.45;
}

.lumi-hero-brush {
  display: block;
  width: min(240px, 50vw);
  height: 8px;
  margin: 0 auto 26px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #ffe98a 15%, #f0d060 50%, #ffe98a 85%, transparent);
}

.lumi-hero-actions {
  justify-content: center;
  max-width: 520px;
  margin: 0 auto;
  gap: 12px;
}

.lumi-hero-pills { justify-content: center; }

.lumi-hero-pill {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 233, 138, 0.5) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

/* ---------------------------------------------------------
   Buttons
   --------------------------------------------------------- */
.lumi-btn {
  font-weight: 900 !important;
}

.lumi-btn--gold {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  color: var(--elite-on-gold) !important;
  border-radius: 4px;
  box-shadow: 0 10px 28px rgba(224, 184, 74, 0.35);
}

.lumi-btn--ghost,
.lumi-btn--outline {
  border: 2px solid var(--elite-gold) !important;
  color: #fff !important;
  background: transparent !important;
  border-radius: 4px;
}

.lumi-btn--ghost:hover,
.lumi-btn--outline:hover {
  background: rgba(255, 233, 138, 0.14) !important;
  color: #fff !important;
}

/* ---------------------------------------------------------
   Sections / surfaces
   --------------------------------------------------------- */
.lumi-section,
.lumi-section--alt,
.lumi-section--cream,
.lumi-section--faq-premium,
.lumi-section--journey,
.lumi-page-hero {
  background: var(--elite-bg) !important;
  color: var(--elite-text) !important;
}

.lumi-section--signature {
  background:
    radial-gradient(circle at 15% 15%, rgba(255, 233, 138, 0.14), transparent 28rem),
    linear-gradient(145deg, #05070c 0%, #10182a 100%) !important;
  color: #fff !important;
}

.lumi-h2,
.lumi-page-title,
.lumi-convert-head h2,
.lumi-premium-cta strong,
.lumi-journey-item h3,
.lumi-faq summary,
.lumi-board-card h3,
.lumi-program-card h3,
.lumi-eea-block-title,
.lumi-process-step h3,
.lumi-center-card h3 {
  color: #fff !important;
  font-weight: 900 !important;
}

.lumi-lead--compare-hook {
  font-size: clamp(20px, 2.6vw, 28px) !important;
  font-weight: 900 !important;
}

.lumi-lead--why {
  font-size: clamp(17px, 2.2vw, 21px) !important;
  line-height: 1.7 !important;
}

.lumi-divider {
  background: linear-gradient(90deg, transparent, var(--elite-gold), transparent);
  height: 2px;
}

.lumi-kicker {
  font-weight: 900 !important;
  letter-spacing: 0.14em;
  font-size: 14.5px !important;
}

/* Cards / panels that were hardcoded #fff in base */
.lumi-value-card,
.lumi-board-card,
.lumi-program-card,
.lumi-process-step,
.lumi-journey-item,
.lumi-location,
.lumi-eea-points,
.lumi-eea-step,
.lumi-eea-mode,
.lumi-home-notice,
.lumi-mentor-card,
.lumi-review-card,
.lumi-native-card,
.lumi-faq,
.lumi-compare-table,
.lumi-center-search,
.lumi-center-empty,
.lumi-center-card,
.lumi-tier,
.lumi-review,
.lumi-bento-card,
.lumi-tag,
.lumi-column-item,
.lumi-guarantee {
  background: var(--elite-panel) !important;
  border-color: var(--elite-line) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.lumi-board-tag {
  background: rgba(255, 233, 138, 0.12) !important;
  border: 1px solid rgba(255, 233, 138, 0.35) !important;
  font-weight: 800 !important;
}

.lumi-journey-icon {
  color: var(--elite-gold) !important;
}

.lumi-premium-cta {
  background:
    radial-gradient(circle at 90% 0, rgba(255, 233, 138, 0.18), transparent 14rem),
    #0a1220 !important;
  border: 1px solid rgba(255, 233, 138, 0.35) !important;
  color: #fff !important;
}

/* ---------------------------------------------------------
   Stats strip
   --------------------------------------------------------- */
.lumi-stats {
  background: var(--elite-panel-2) !important;
  border-block: 1px solid rgba(255, 233, 138, 0.28);
}

.lumi-stat {
  background: var(--elite-panel-2) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

.lumi-stat:hover {
  background: var(--elite-panel) !important;
}

.lumi-stat strong {
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 900 !important;
}

.lumi-stat span {
  color: #fff !important;
  font-weight: 700 !important;
}

/* ---------------------------------------------------------
   Compare table
   --------------------------------------------------------- */
.lumi-compare-row {
  border-color: var(--elite-line) !important;
}

.lumi-compare-row > div {
  color: #fff !important;
  font-weight: 700 !important;
  background: transparent !important;
}

.lumi-compare-row--head > div,
.lumi-compare-row > div:first-child {
  color: #fff !important;
  font-weight: 900 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.lumi-compare-lumi,
.lumi-compare-row > div.lumi-compare-lumi {
  font-weight: 900 !important;
  background: rgba(255, 233, 138, 0.12) !important;
}

@media (max-width: 639px) {
  .lumi-compare-row:not(.lumi-compare-row--head) > div:first-child {
    background: #1a2438 !important;
    color: #fff !important;
  }

  .lumi-compare-row:not(.lumi-compare-row--head) > div:nth-child(2) {
    background: var(--elite-panel-2) !important;
    color: #fff !important;
  }

  .lumi-compare-row:not(.lumi-compare-row--head) > div.lumi-compare-lumi {
    background: rgba(255, 233, 138, 0.14) !important;
    color: var(--elite-gold) !important;
  }

  .lumi-compare-row:not(.lumi-compare-row--head) > div[data-compare-side]::before {
    color: var(--elite-gold) !important;
  }
}

/* ---------------------------------------------------------
   Centers search
   --------------------------------------------------------- */
.lumi-center-search-box,
.lumi-center-search-input,
#lumi-root input,
#lumi-root textarea,
#lumi-root select {
  background: #1a2438 !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  font-weight: 600 !important;
}

.lumi-center-search-input::placeholder {
  color: rgba(232, 237, 247, 0.55) !important;
}

.lumi-center-search-clear {
  color: #fff !important;
  background: transparent !important;
}

.lumi-center-quick button {
  background: #1a2438 !important;
  border: 1px solid rgba(255, 233, 138, 0.5) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.lumi-center-quick button:hover,
.lumi-center-quick button:focus-visible,
.lumi-center-quick button.is-active {
  background: rgba(255, 233, 138, 0.16) !important;
  border-color: var(--elite-gold) !important;
  color: var(--elite-gold) !important;
}

.lumi-center-card--direct {
  background: linear-gradient(145deg, #151e30 55%, rgba(255, 233, 138, 0.12)) !important;
  border-color: rgba(255, 233, 138, 0.5) !important;
}

.lumi-center-badge {
  background: rgba(80, 200, 140, 0.18) !important;
  color: #7dffa8 !important;
  font-weight: 800 !important;
}

.lumi-center-badge--default {
  background: rgba(255, 233, 138, 0.16) !important;
  color: var(--elite-gold) !important;
}

.lumi-center-manager strong { color: #fff !important; }
.lumi-center-manager span { color: var(--elite-muted) !important; }

.lumi-center-action {
  background: #1a2438 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.lumi-center-action--phone {
  background: #0a1020 !important;
  color: #fff !important;
}

.lumi-center-action--sms {
  background: #151e30 !important;
  border-color: var(--elite-gold) !important;
  color: var(--elite-gold) !important;
}

.lumi-center-action--kakao {
  background: var(--elite-kakao) !important;
  border-color: #e6d000 !important;
  color: var(--elite-on-kakao) !important;
}

.lumi-center-action--survey,
.lumi-center-action--place {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  border-color: #e0b84a !important;
  color: var(--elite-on-gold) !important;
}

.lumi-center-empty strong,
.lumi-center-empty p {
  color: var(--elite-muted) !important;
}

/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */
.lumi-faq-intro {
  background: var(--elite-panel) !important;
  border: 1px solid rgba(255, 233, 138, 0.32) !important;
  box-shadow: none !important;
  color: #fff !important;
}

.lumi-faq-intro .lumi-btn--outline,
.lumi-faq-intro .lumi-btn--ghost {
  border: 2px solid var(--elite-gold) !important;
  color: #fff !important;
  background: transparent !important;
}

.lumi-section--faq-premium .lumi-faq {
  background: var(--elite-panel) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: none !important;
}

.lumi-faq summary::before {
  background: rgba(255, 233, 138, 0.18) !important;
  color: var(--elite-gold) !important;
}

/* ---------------------------------------------------------
   Ticker / convert / footer / sticky
   --------------------------------------------------------- */
.lumi-ticker {
  background: #05070c !important;
  border-block: 1px solid rgba(255, 233, 138, 0.28);
  color: #fff !important;
}

.lumi-ticker-inner,
.lumi-ticker-inner span {
  color: #fff !important;
  font-weight: 700 !important;
}

.lumi-ticker-label {
  background: var(--elite-gold) !important;
  color: var(--elite-on-gold) !important;
  font-weight: 900 !important;
}

.lumi-convert {
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 233, 138, 0.18), transparent 42%),
    linear-gradient(160deg, #0a1220, #151e30) !important;
}

.lumi-convert-sub {
  color: #fff !important;
  border-color: rgba(255, 233, 138, 0.45) !important;
  font-weight: 900 !important;
}

.lumi-convert-sub--tel {
  background: #0a1020 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 233, 138, 0.35) !important;
}

.lumi-convert-sub--kakao {
  background: var(--elite-kakao) !important;
  color: var(--elite-on-kakao) !important;
  border-color: #e6d000 !important;
}

.lumi-footer {
  background: #05070c !important;
  color: #fff !important;
  border-top: 1px solid rgba(255, 233, 138, 0.25);
}

.lumi-footer a {
  color: var(--elite-muted) !important;
  font-weight: 600 !important;
}

.lumi-sticky-cta {
  background: rgba(5, 7, 12, 0.98) !important;
  border-top: 1px solid rgba(255, 233, 138, 0.38);
}

.lumi-sticky-btn {
  color: #fff !important;
  font-weight: 800 !important;
}

.lumi-sticky-btn--survey,
.lumi-sticky-btn--sms {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  color: var(--elite-on-gold) !important;
  font-weight: 900 !important;
}

.lumi-sticky-btn--tel {
  background: #0a1020 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.lumi-sticky-btn--kakao {
  background: var(--elite-kakao) !important;
  color: var(--elite-on-kakao) !important;
}

.lumi-sticky-btn--board {
  background: #100e0b !important;
  color: #ffe98a !important;
  border: 1px solid rgba(255, 233, 138, 0.7) !important;
}

.lumi-page-cta .lumi-btn--outline {
  color: #fff !important;
  border: 2px solid var(--elite-gold) !important;
}

/* ---------------------------------------------------------
   Responsive polish
   --------------------------------------------------------- */
@media (max-width: 899px) {
  .lumi-nav-consult { display: none; }
}

@media (max-width: 639px) {
  .lumi-hero-title {
    font-size: clamp(28px, 9vw, 44px) !important;
  }

  .lumi-hero-eyebrow {
    font-size: clamp(13px, 3.5vw, 15px) !important;
  }

  .lumi-hero-sub {
    font-size: clamp(15px, 4vw, 18px) !important;
  }

  .lumi-hero-actions {
    width: min(100%, 22rem);
    margin-inline: auto;
  }

  .lumi-hero-actions .lumi-btn {
    width: 100%;
  }
}

/* ---------------------------------------------------------
   White-on-white rescue (course / reviews / growth / tags)
   Base CSS hardcodes #fff while elite remaps --lumi-ink → white.
   --------------------------------------------------------- */
#lumi-root .lumi-tier,
#lumi-root .lumi-review,
#lumi-root .lumi-bento-card,
#lumi-root .lumi-tag,
#lumi-root .lumi-column-item,
#lumi-root .lumi-board-card,
#lumi-root .lumi-news-card,
#lumi-root .lumi-program-card,
#lumi-root .lumi-value-card,
#lumi-root .lumi-mentor-card,
#lumi-root .lumi-native-card,
#lumi-root .lumi-faq,
#lumi-root .lumi-location,
#lumi-root .lumi-process-step,
#lumi-root .lumi-journey-item,
#lumi-root .lumi-eea-points,
#lumi-root .lumi-eea-step,
#lumi-root .lumi-eea-mode,
#lumi-root .lumi-home-notice,
#lumi-root .lumi-center-card,
#lumi-root .lumi-center-search,
#lumi-root .lumi-center-empty,
#lumi-root .lumi-compare-table {
  background: var(--elite-panel) !important;
  border-color: var(--elite-line) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#lumi-root .lumi-tier--featured {
  border-color: var(--elite-gold) !important;
  box-shadow: 0 16px 48px rgba(212, 175, 55, 0.18) !important;
}

#lumi-root .lumi-tier-badge {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  color: var(--elite-on-gold) !important;
}

#lumi-root .lumi-tier-name,
#lumi-root .lumi-column-item span,
#lumi-root .lumi-board-group {
  color: var(--elite-gold) !important;
}

#lumi-root .lumi-tier-duration,
#lumi-root .lumi-tier-desc,
#lumi-root .lumi-column-item,
#lumi-root .lumi-tag,
#lumi-root .lumi-board-card h3,
#lumi-root .lumi-board-card p,
#lumi-root .lumi-review h3,
#lumi-root .lumi-review p,
#lumi-root .lumi-bento-card h3,
#lumi-root .lumi-bento-card p {
  color: #fff !important;
}

#lumi-root .lumi-tier-desc,
#lumi-root .lumi-board-card p,
#lumi-root .lumi-bento-card p,
#lumi-root .lumi-review > p:not(.lumi-review-quote) {
  color: var(--elite-muted) !important;
}

#lumi-root .lumi-review-quote {
  background: #0a1020 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 233, 138, 0.28) !important;
}

#lumi-root .lumi-review-ba--before {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #c8d0e0 !important;
}

#lumi-root .lumi-review-ba--after {
  background: linear-gradient(180deg, #ffe98a 0%, #e0b84a 100%) !important;
  color: var(--elite-on-gold) !important;
  font-weight: 800 !important;
}

#lumi-root .lumi-tag {
  border: 1px solid rgba(255, 233, 138, 0.35) !important;
  font-weight: 800 !important;
}

#lumi-root .lumi-news-card-body h3,
#lumi-root .lumi-news-title,
#lumi-root .lumi-news-body {
  color: #fff !important;
}

#lumi-root .lumi-news-card-meta,
#lumi-root .lumi-news-card-body p,
#lumi-root .lumi-news-meta,
#lumi-root .lumi-news-figure figcaption {
  color: var(--elite-muted) !important;
}

#lumi-root .lumi-news-card-more,
#lumi-root .lumi-news-meta a,
#lumi-root .lumi-news-closing {
  color: var(--elite-gold) !important;
}

#lumi-root .lumi-news-points {
  background: rgba(255, 233, 138, 0.08) !important;
  border-color: rgba(255, 233, 138, 0.22) !important;
}

#lumi-root .lumi-news-points li {
  color: #fff !important;
}

#lumi-root .lumi-news-figure img {
  background: #fff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}



/* =========================================================
   가독성 최종 패스 — 어두운 배경에서 묻히는 글자 제거
   ========================================================= */

/* 남색 텍스트/링크는 다크 배경에서 보이지 않으므로 밝은 톤으로 */
#lumi-root .lumi-cafe-link,
#lumi-root .lumi-partner-note,
#lumi-root .lumi-partner-note p,
#lumi-root .lumi-breadcrumb,
#lumi-root .lumi-breadcrumb li {
  color: var(--elite-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

#lumi-root .lumi-cafe-link a,
#lumi-root .lumi-partner-note a,
#lumi-root .lumi-breadcrumb a,
#lumi-root .lumi-news-body a,
#lumi-root .lumi-news-points a,
#lumi-root .lumi-faq a,
#lumi-root .lumi-notice a {
  color: var(--elite-gold) !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* 통계·수치 강조가 남색으로 묻히는 문제 */
#lumi-root .lumi-stat strong,
#lumi-root .lumi-eea-block-title {
  color: var(--elite-gold) !important;
}

#lumi-root .lumi-stat span {
  color: var(--elite-muted) !important;
  font-size: 13.5px !important;
}

/* 보조 텍스트 전반 — 너무 작거나 흐린 것 정리 */
#lumi-root .lumi-news-card-meta,
#lumi-root .lumi-news-meta,
#lumi-root .lumi-news-figure figcaption,
#lumi-root .lumi-page-lead,
#lumi-root .lumi-lead,
#lumi-root .lumi-note,
#lumi-root .lumi-caption,
#lumi-root small {
  color: var(--elite-muted) !important;
}

#lumi-root .lumi-news-card-meta,
#lumi-root .lumi-news-meta,
#lumi-root .lumi-news-figure figcaption,
#lumi-root small {
  font-size: 14px !important;
}

#lumi-root .lumi-news-card p,
#lumi-root .lumi-news-body p,
#lumi-root .lumi-news-points li {
  font-size: 15.5px !important;
  line-height: 1.75 !important;
}

/* 반투명 처리로 흐려진 텍스트 복구 */
#lumi-root p[style*="opacity"],
#lumi-root span[style*="opacity"] {
  opacity: 1 !important;
}
