:root{
  --lux-ivory:#f5f0fa;
  --lux-paper:#ffffff;
  --lux-charcoal:#2f2140;
  --lux-brown:#6f4a86;
  --lux-gold:#b99258;
  --lux-gold-soft:#d8c5e8;
  --lux-line:rgba(111,74,134,.16);
  --lux-muted:#766b80;
}
html{scroll-behavior:smooth}
body{
  background:var(--lux-ivory)!important;
  color:var(--lux-charcoal)!important;
  letter-spacing:-.02em;
}
.wrap{
  width:min(1180px,calc(100% - 48px))!important;
}
.section-dark,
.section-soft{
  background:transparent!important;
  color:var(--lux-charcoal)!important;
  padding:110px 0!important;
  border-top:1px solid var(--lux-line);
}
.section-dark:nth-of-type(even),
.section-soft:nth-of-type(even){
  background:var(--lux-paper)!important;
}
.section-head{
  max-width:760px;
  margin:0 auto 58px!important;
  text-align:center;
}
.section-label{
  color:var(--lux-gold)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.24em!important;
  text-transform:uppercase;
  margin-bottom:15px!important;
}
.section-head h2,
.last-cta h2{
  color:var(--lux-charcoal)!important;
  font-size:clamp(34px,4vw,54px)!important;
  line-height:1.18!important;
  font-weight:600!important;
  letter-spacing:-.045em!important;
}
.section-head p,
.last-cta p{
  color:var(--lux-muted)!important;
  line-height:1.9!important;
  font-size:16px!important;
}
.review-grid,
.steps{
  gap:22px!important;
}
.review,
.step{
  background:rgba(255,253,248,.92)!important;
  border:1px solid var(--lux-line)!important;
  border-radius:2px!important;
  box-shadow:0 20px 60px rgba(34,28,20,.07)!important;
  padding:36px 32px!important;
  transition:.3s ease!important;
}
.review:hover,
.step:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 75px rgba(34,28,20,.11)!important;
  border-color:rgba(184,154,94,.55)!important;
}
.review .stars{
  color:var(--lux-gold)!important;
  letter-spacing:.12em;
}
.review p,
.step p{
  color:var(--lux-muted)!important;
  line-height:1.85!important;
}
.step b{
  color:var(--lux-gold)!important;
  letter-spacing:.15em;
  font-size:11px!important;
}
.step h3{
  color:var(--lux-charcoal)!important;
  margin-top:14px!important;
  font-size:22px!important;
}
.faq details{
  background:var(--lux-paper)!important;
  border:0!important;
  border-bottom:1px solid var(--lux-line)!important;
  border-radius:0!important;
  padding:0!important;
}
.faq summary{
  color:var(--lux-charcoal)!important;
  padding:25px 4px!important;
  font-weight:600!important;
}
.faq details p{
  color:var(--lux-muted)!important;
  padding:0 4px 26px!important;
  line-height:1.85!important;
}
.last-cta{
  background:var(--lux-brown)!important;
  color:#fff!important;
  padding:120px 0!important;
  position:relative;
  overflow:hidden;
}
.last-cta:before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(216,199,159,.25);
  pointer-events:none;
}
.last-cta h2{color:#fff!important}
.last-cta p{color:rgba(255,255,255,.7)!important}
.btn,
.kb-btn{
  border-radius:0!important;
  min-height:52px;
  padding:15px 28px!important;
  letter-spacing:.02em;
  transition:.25s ease!important;
}
.btn-primary,
.kb-btn-primary{
  background:var(--lux-gold)!important;
  border-color:var(--lux-gold)!important;
  color:#171714!important;
}
.btn-outline,
.kb-btn-secondary{
  background:transparent!important;
  border:1px solid var(--lux-gold-soft)!important;
}
footer{
  background:#12110f!important;
  color:rgba(255,255,255,.58)!important;
  border-top:1px solid rgba(216,199,159,.18)!important;
  padding:42px 0!important;
  letter-spacing:.08em;
}
@media(max-width:700px){
  .wrap{width:min(100% - 28px,1180px)!important}
  .section-dark,.section-soft{padding:76px 0!important}
  .section-head{margin-bottom:38px!important}
  .review,.step{padding:28px 24px!important}
  .last-cta{padding:90px 0!important}
}



/* ===== UNIFIED LUXURY PURPLE THEME ===== */
body{
  background:#f6f2fa!important;
  color:#33243f!important;
}

/* 상단 네비게이션 */
header,
nav,
.kb-nav,
.top-nav{
  background:#3d2852!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
header a,
nav a,
.kb-nav a{
  color:#f8f2fb!important;
}

/* 메인 히어로 */
.hero,
.kb-hero{
  background:
    linear-gradient(135deg,#4c3265 0%,#64417d 55%,#7b548f 100%)!important;
  color:#fff!important;
}
.hero h1,
.hero h2,
.hero h3,
.kb-hero h1,
.kb-hero h2{
  color:#fff!important;
}
.hero p,
.kb-hero p{
  color:#eee4f4!important;
}

/* 전체 섹션 통일 */
.section-dark,
.section-soft{
  background:#f6f2fa!important;
  color:#33243f!important;
  border-top:1px solid #e5d9ed!important;
}
.section-dark:nth-of-type(even),
.section-soft:nth-of-type(even){
  background:#fff!important;
}

/* 제목 */
.section-label{
  color:#9565a9!important;
}
.section-head h2,
.section-head h3{
  color:#352244!important;
}
.section-head p{
  color:#786b80!important;
}

/* 코스/혜택/지역 카드 공통 */
.course,
.course-card,
.benefit,
.region-card,
.card,
.review,
.step{
  background:#fff!important;
  color:#352244!important;
  border:1px solid #dfd0e8!important;
  box-shadow:0 14px 36px rgba(76,50,101,.08)!important;
}
.course:hover,
.course-card:hover,
.benefit:hover,
.region-card:hover,
.card:hover,
.review:hover,
.step:hover{
  border-color:#b78ac8!important;
  box-shadow:0 20px 45px rgba(76,50,101,.14)!important;
}

/* 카드 내부 청록/네이비 제거 */
.course *,
.course-card *,
.benefit *,
.region-card *{
  border-color:#eadff0!important;
}
.course h3,
.course-card h3,
.benefit h3,
.region-card h3,
.card h3{
  color:#49305d!important;
}
.course p,
.course-card p,
.benefit p,
.region-card p,
.card p{
  color:#74677c!important;
}

/* 가격 강조 */
.price,
.course-price,
strong.price{
  color:#8c4fa6!important;
}

/* 버튼 */
.btn,
.kb-btn,
.hero a[class*="btn"]{
  border-radius:8px!important;
}
.btn-primary,
.kb-btn-primary{
  background:#75508c!important;
  border-color:#75508c!important;
  color:#fff!important;
}
.btn-primary:hover,
.kb-btn-primary:hover{
  background:#624177!important;
}
.btn-outline,
.kb-btn-secondary{
  background:#fff!important;
  color:#65447a!important;
  border:1px solid #b795c5!important;
}

/* 후기 */
.review .stars{
  color:#a36ab7!important;
}

/* FAQ */
.faq details{
  background:#fff!important;
  border-bottom:1px solid #e2d5e9!important;
}
.faq summary{
  color:#422d52!important;
}
.faq details p{
  color:#75697b!important;
}

/* 하단 기존 네이비 패널 제거 */
.qn-panel,
.qn-panel--navy,
.qn-editorial{
  background:#eee6f4!important;
  color:#39294a!important;
  border-color:#d8c7e2!important;
}
.qn-panel h2,
.qn-panel h3,
.qn-editorial h2,
.qn-editorial h3{
  color:#3e2950!important;
}
.qn-panel p,
.qn-editorial p{
  color:#74667c!important;
}

/* 마지막 CTA */
.last-cta{
  background:linear-gradient(135deg,#4a315f,#74508a)!important;
  color:#fff!important;
}
.last-cta:before{
  border-color:rgba(255,255,255,.18)!important;
}
.last-cta h2{
  color:#fff!important;
}
.last-cta p{
  color:#eee5f3!important;
}

/* 푸터 */
footer{
  background:#352543!important;
  color:#d9cce1!important;
  border-top:0!important;
}

/* 모바일 하단 연락 버튼 */
.mobile a,
.fixed-contact-bar a,
.fixed-contact a,
.bottom-contact a,
.contact-bar a{
  background:#65447a!important;
  color:#fff!important;
}
.mobile a+a,
.fixed-contact-bar a+a,
.fixed-contact a+a,
.bottom-contact a+a,
.contact-bar a+a{
  background:#8d62a3!important;
  color:#fff!important;
}


/* GLOBAL-QUEENS-DESIGN-V1 */

.topbar{
  background:linear-gradient(135deg,#ffffff 0%,#faf7ff 100%)!important;
  border-bottom:3px solid #8b5cf6!important;
  box-shadow:0 6px 22px rgba(76,48,96,.10)!important;
}

.top-inner{
  min-height:82px!important;
}

.brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  color:#2f1d3d!important;
  text-decoration:none!important;
}

.brand-mark{
  width:52px!important;
  height:52px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#a855f7,#6d28d9)!important;
  color:#fff!important;
  font-size:30px!important;
  box-shadow:0 8px 18px rgba(109,40,217,.25)!important;
}

.brand-copy{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}

.brand-copy strong{
  font-size:23px!important;
  line-height:1.1!important;
  color:#2f1d3d!important;
  letter-spacing:-.04em!important;
}

.brand-copy small{
  font-size:12px!important;
  color:#7c3aed!important;
}

.topbar nav{
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}

.topbar nav a{
  background:transparent!important;
  color:#5f3d74!important;
  border:0!important;
  border-left:1px solid #ddd0e7!important;
  padding:8px 18px!important;
  font-weight:700!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.topbar nav a:first-child{
  border-left:0!important;
}

.topbar nav a:hover{
  background:#f5effa!important;
  color:#7c3aed!important;
}

.notice{
  background:linear-gradient(135deg,#ffffff 0%,#f6f0ff 100%)!important;
  border:1px solid #ddcfee!important;
  border-left:5px solid #7b4fb2!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(82,52,112,.14)!important;
  color:#342244!important;
}

.notice strong{
  color:#352047!important;
}

.notice span{
  color:#75667e!important;
}

.notice a.btn.btn-primary{
  background:linear-gradient(135deg,#2563eb,#4338ca)!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:0 9px 22px rgba(37,99,235,.28)!important;
}

.notice a.btn.btn-outline{
  background:linear-gradient(135deg,#9333ea,#6d28d9)!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:0 9px 22px rgba(109,40,217,.24)!important;
}

.notice a.btn{
  padding:15px 25px!important;
  font-weight:800!important;
}

.bottom-actions{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:14px!important;
  transform:translateX(-50%)!important;
  width:min(820px,calc(100% - 28px))!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  padding:8px!important;
  margin:0!important;
  background:rgba(255,255,255,.95)!important;
  border:1px solid #ded1ed!important;
  border-radius:18px!important;
  box-shadow:0 14px 38px rgba(57,34,78,.22)!important;
  backdrop-filter:blur(12px)!important;
  z-index:999999!important;
}

.bottom-actions a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:58px!important;
  padding:0 24px!important;
  border-radius:12px!important;
  text-decoration:none!important;
  font-size:17px!important;
  font-weight:800!important;
  color:#fff!important;
}

.bottom-actions a.call{
  background:linear-gradient(135deg,#2563eb,#4338ca)!important;
  border:0!important;
}

.bottom-actions a.sms{
  background:linear-gradient(135deg,#9333ea,#6d28d9)!important;
  border:0!important;
}

body{
  padding-bottom:92px!important;
}

@media(max-width:700px){
  .top-inner{min-height:70px!important}
  .brand-mark{
    width:44px!important;
    height:44px!important;
    font-size:25px!important;
  }
  .brand-copy strong{font-size:19px!important}
  .brand-copy small{font-size:10px!important}

  .bottom-actions{
    width:calc(100% - 16px)!important;
    bottom:8px!important;
    gap:7px!important;
    padding:6px!important;
  }

  .bottom-actions a{
    min-height:54px!important;
    padding:0 10px!important;
    font-size:15px!important;
  }
}