:root { --global-header-height: 127px; }

.global-site-header,
.global-site-header * { box-sizing: border-box; }

.global-site-header {
  position: fixed !important;
  z-index: 10000 !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  height: var(--global-header-height) !important;
  padding: 0 !important;
  color: #6b615b !important;
  background: #fdfbf7 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  transition: height .28s ease, background .25s ease, box-shadow .25s ease !important;
  font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', sans-serif !important;
}
.global-site-header.scrolled {
  height: 88px !important;
  box-shadow: 0 1px 0 rgba(45, 35, 31, .08), 0 10px 28px rgba(45, 35, 31, .06) !important;
}
.global-site-header.scrolled .global-header-logo {
  width: 148px !important;
}
body.home-index .global-site-header,
body.home-index #main-header.global-site-header {
  background: transparent !important;
  color: #fff !important;
}

/* Global right-side off-canvas navigation */
.global-menu-backdrop{position:fixed;z-index:9998;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(20,17,16,.52);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;cursor:pointer}
body.global-menu-open{overflow:hidden}
body.global-menu-open .global-menu-backdrop{opacity:1;visibility:visible}
.global-menu-toggle{z-index:10003!important}
.global-header-nav.active{position:fixed!important;z-index:10001!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:start!important;width:min(860px,72vw)!important;height:100dvh!important;padding:110px 64px 60px!important;overflow-y:auto!important;color:#fff!important;background:linear-gradient(145deg,#342b28,#1f1b19)!important;box-shadow:-20px 0 55px rgba(0,0,0,.25)!important;opacity:1!important;visibility:visible!important;transform:none!important;animation:global-offcanvas-in .32s cubic-bezier(.22,.8,.28,1)!important}
.global-header-nav.active .global-nav-item{display:block!important;height:auto!important;padding:28px 24px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
.global-header-nav.active .global-nav-link{display:block!important;height:auto!important;padding:0!important;color:#fff!important;font-size:25px!important;font-weight:600!important}
.global-header-nav.active .global-submenu{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.global-header-nav.active .global-nav-item.is-mobile-open > .global-submenu{position:static!important;display:flex!important;flex-wrap:wrap!important;gap:5px 18px!important;margin-top:18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.global-header-nav.active .global-submenu a{padding:5px 0!important;color:rgba(255,255,255,.68)!important;background:transparent!important;font-size:14px!important}
.global-header-nav.active .global-submenu a::before{display:none!important}
@keyframes global-offcanvas-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:1180px){
  .global-header-nav.active{top:0!important;inset:0 0 0 auto!important;grid-template-columns:1fr!important;width:min(520px,100vw)!important;height:100dvh!important;padding:92px 34px 50px!important;color:#282321!important;background:#f8f6f3!important}
  .global-header-nav.active .global-nav-item{padding:20px 0!important;border-bottom: 1px solid rgba(229,221,213,.5) !important}
  .global-header-nav.active .global-nav-link{color:#282321!important;font-size:22px!important}
  .global-header-nav.active .global-nav-item.is-mobile-open > .global-submenu{gap:7px 18px!important;margin-top:13px!important}
  .global-header-nav.active .global-submenu a{color:#756d68!important;font-size:14px!important}
}

/* Mobile quick actions: a compact dock attached to the viewport bottom. */
@media(max-width:680px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}
  .global-quick-menu{
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    width:100%!important;
    max-width:none!important;
    height:calc(78px + env(safe-area-inset-bottom,0px))!important;
    min-height:78px!important;
    padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    border-radius:32px 32px 0 0!important;
    background:var(--float-bar,#3a312d)!important;
    box-shadow:0 -8px 24px rgba(0,0,0,.14)!important;
    transform:none!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    overflow:visible!important;
  }
  .global-quick-menu a,.global-quick-menu button{
    width:auto!important;
    min-width:0!important;
    height:70px!important;
    min-height:70px!important;
    padding:4px 0!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-bottom:0!important;
  }
  .global-quick-menu button{border-right:0!important}
  .global-quick-menu img{width:22px!important;height:22px!important}
  .global-quick-menu .quick-naver{width:22px!important;height:22px!important;font-size:14px!important}
  .global-quick-menu button>span{font-size:22px!important}
  .global-quick-menu a span:last-child,.global-quick-menu button>b{display:block!important;font-size:10px!important;line-height:1.2!important}
}

/* Touch/mobile menus should not play desktop hover line animations. */
@media(max-width:1180px){
  .global-menu-toggle,
  .global-menu-toggle span,
  .global-header-nav.active .global-nav-link,
  .global-header-nav.active .global-submenu a{
    transition:none!important;
  }
  .global-menu-toggle:hover{transform:none!important}
  .global-menu-toggle:not(.active):hover span:last-child{
    width:22px!important;
    margin-right:7px!important;
  }
  .global-header-nav.active .global-nav-link:hover,
  .global-header-nav.active .global-submenu a:hover{
    transform:none!important;
  }
}

.global-site-header.scrolled { box-shadow: 0 1px 0 rgba(45, 35, 31, .08), 0 10px 28px rgba(45, 35, 31, .06) !important; }

/* 풀블리드·텍스트형 탑배너만 외곽선 제거 — 시술 서브 히어로 프레임은 site-hero-position */
.hero,
.a-hero,
.info-hero,
.round-hero,
.main-hero,
.top-banner {
  border: 0 !important;
  outline: 0 !important;
}

/* 고정 헤더 뒤로 들어가던 탑배너의 시작 위치를 공통 헤더 높이에 맞춤 */
.hero,
.clinic-hero,
.info-hero {
  margin-top: var(--global-header-height) !important;
}

.hero {
  height: calc(100vh - var(--global-header-height)) !important;
}

.global-header-inner {
  display: grid !important;
  grid-template-columns: minmax(200px, 1fr) auto minmax(168px, 1fr) 42px !important;
  align-items: center !important;
  gap: clamp(22px, 2.8vw, 54px) !important;
  width: min(100% - 64px, 1760px) !important;
  height: 100% !important;
  margin: 0 auto !important;
}

.global-header-logo { display: inline-flex !important; align-items: center !important; width: 190px !important; transition: width .28s ease !important; }
.global-header-logo img { display: block !important; width: 100% !important; height: auto !important; mix-blend-mode: multiply !important; }

.global-header-nav { display: flex !important; align-items: stretch !important; justify-content: center !important; height: 100% !important; gap: clamp(25px, 2.5vw, 54px) !important; }
.global-nav-item { position: relative !important; display: flex !important; align-items: center !important; height: 100% !important; }
.global-nav-link { position: relative !important; display: flex !important; align-items: center !important; height: 100% !important; padding: 2px 0 0 !important; color: #6b615b !important; text-decoration: none !important; font-size: 17px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: -.045em !important; white-space: nowrap !important; }
.global-nav-link::after { content: '' !important; position: absolute !important; right: 0 !important; bottom: 31px !important; left: 0 !important; height: 1px !important; background: #9c7d62 !important; transform: scaleX(0) !important; transition: transform .2s ease !important; }
.global-nav-item:hover .global-nav-link::after,
.global-nav-item:focus-within .global-nav-link::after,
.global-nav-item.is-active .global-nav-link::after { transform: scaleX(1) !important; }

.global-submenu { position: absolute !important; top: calc(100% - 17px) !important; left: 50% !important; display: grid !important; min-width: 178px !important; padding: 13px !important; background: #f5efe8 !important; border: rgba(229,221,213,.5) !important; border-radius: 6px !important; box-shadow: 0 14px 34px rgba(41, 34, 29, .13) !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transform: translate(-50%, 8px) !important; transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important; }
@media (hover: hover) and (pointer: fine) {
  .global-nav-item:hover .global-submenu,
  .global-nav-item:focus-within .global-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
}
.global-submenu a { display: block !important; padding: 11px 12px !important; border-radius: 4px !important; color: #6b615b !important; text-decoration: none !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: -.035em !important; white-space: nowrap !important; }
.global-submenu a:hover,
.global-submenu a:focus,
.global-submenu a[aria-current='page'] { color: #604c3d !important; background: #f5f0ec !important; }

.global-header-actions { justify-self: end !important; display: flex !important; align-items: center !important; gap: 18px !important; }
.global-header-contact { color: #6b615b !important; text-decoration: none !important; font-size: 17px !important; font-weight: 600 !important; letter-spacing: .04em !important; white-space: nowrap !important; }
.global-lang-switch,
.global-mobile-lang { display: inline-flex !important; align-items: center !important; gap: 7px !important; color: #8a817a !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: .02em !important; white-space: nowrap !important; }
.global-lang-switch a,
.global-mobile-lang a { color: inherit !important; text-decoration: none !important; }
.global-lang-switch a[aria-current='true'],
.global-mobile-lang a[aria-current='true'] { color: #6b615b !important; }
.global-lang-switch .is-disabled,
.global-mobile-lang .is-disabled { opacity: .45 !important; pointer-events: none !important; cursor: default !important; }
.global-mobile-lang { display: none !important; }
.global-menu-toggle { position: relative !important; isolation: isolate !important; display: grid !important; align-content: center !important; justify-items: center !important; gap: 7px !important; width: 46px !important; height: 46px !important; padding: 8px 3px !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; cursor: pointer !important; transition: transform .25s ease !important; }
.global-menu-toggle::before { content: '' !important; position: absolute !important; z-index: -1 !important; inset: 0 !important; border-radius: 50% !important; background: #f4eeeb !important; opacity: 0 !important; transform: scale(.55) !important; transition: opacity .25s ease, transform .35s cubic-bezier(.2,.8,.2,1) !important; }
.global-menu-toggle:hover::before,
.global-menu-toggle:focus-visible::before,
.global-menu-toggle.active::before { opacity: 1 !important; transform: scale(1) !important; }
.global-menu-toggle:hover { transform: rotate(-3deg) !important; }
.global-menu-toggle span { display: block !important; width: 32px !important; height: 1px !important; background: #6b615b !important; transform-origin: center !important; transition: width .25s ease, transform .3s cubic-bezier(.2,.8,.2,1), background .25s ease !important; }
.global-menu-toggle span:last-child { width: 22px !important; justify-self: end !important; margin-right: 7px !important; }
.global-menu-toggle:hover span:last-child { width: 32px !important; margin-right: 0 !important; }
.global-menu-toggle.active span:first-child { transform: translateY(4px) rotate(45deg) !important; }
.global-menu-toggle.active span:last-child { width: 32px !important; margin-right: 0 !important; transform: translateY(-4px) rotate(-45deg) !important; }

/* Keep the close icon perfectly centered at every header breakpoint. */
body .global-menu-toggle.active span,
body.home-index .global-menu-toggle.active span {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 28px !important;
  height: 2px !important;
  margin: 0 !important;
  background: #2d2926 !important;
  box-shadow: none !important;
}
body .global-menu-toggle.active span:first-child,
body.home-index .global-menu-toggle.active span:first-child {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
body .global-menu-toggle.active span:last-child,
body.home-index .global-menu-toggle.active span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

body.global-menu-open { overflow: hidden !important; }
.global-quick-menu{position:fixed;z-index:9000;right:34px;top:50%;display:grid;width:90px;padding:20px 11px;border-radius:9999px;background:var(--float-bar,#3a312d);transform:translateY(-42%);box-shadow:0 14px 34px rgba(0,0,0,.16);overflow:hidden}.global-quick-menu a,.global-quick-menu button{display:grid;place-items:center;gap:6px;min-height:84px;padding:8px 0;border:0;border-bottom:0;background:transparent;color:#fdfbf7!important;text-align:center;text-decoration:none!important;font-family:'Pretendard Variable','Pretendard',sans-serif!important;font-size:12px!important;cursor:pointer}.global-quick-menu img{width:30px!important;height:30px!important;object-fit:contain!important;filter:none!important}.global-quick-menu .quick-phone{display:grid;width:32px;height:32px;place-items:center;border:1px solid #f5efe8;border-radius:50%;font-size:13px;font-weight:800}.global-quick-menu button{min-height:74px;border-bottom:0}.global-quick-menu button>span{font-size:25px;line-height:1}.global-quick-menu button>b{font-size:12px}.global-quick-menu a:hover,.global-quick-menu a:focus-visible,.global-quick-menu button:hover,.global-quick-menu button:focus-visible{color:#f1a2a8!important}

/* 햄버거 클릭 시 데스크톱 전체 메가메뉴 */
.global-header-nav.active {
  position: fixed !important;
  z-index: -1 !important;
  inset: var(--global-header-height) 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  height: calc(100dvh - var(--global-header-height)) !important;
  padding: 0 clamp(50px, 8vw, 160px) !important;
  overflow: auto !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(216, 137, 145, .2), transparent 32%),
    linear-gradient(135deg, #2b2725 0%, #3d3432 55%, #2b2725 100%) !important;
  counter-reset: global-menu !important;
  animation: global-menu-in .28s ease both !important;
}

.global-header-nav.active .global-nav-item {
  counter-increment: global-menu !important;
  position: relative !important;
  display: block !important;
  height: auto !important;
  padding: clamp(34px, 5vh, 66px) clamp(28px, 3.5vw, 64px) !important;
  border-right: 1px solid rgba(255, 255, 255, .11) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .11) !important;
  overflow: hidden !important;
  opacity: 0 !important;
  animation: global-card-in .45s cubic-bezier(.2,.8,.2,1) forwards !important;
}

.global-header-nav.active .global-nav-item:nth-child(1) { animation-delay: .05s !important; }
.global-header-nav.active .global-nav-item:nth-child(2) { animation-delay: .09s !important; }
.global-header-nav.active .global-nav-item:nth-child(3) { animation-delay: .13s !important; }
.global-header-nav.active .global-nav-item:nth-child(4) { animation-delay: .17s !important; }
.global-header-nav.active .global-nav-item:nth-child(5) { animation-delay: .21s !important; }
.global-header-nav.active .global-nav-item:nth-child(6) { animation-delay: .25s !important; }

.global-header-nav.active .global-nav-item::after {
  content: '' !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(217,137,145,.08)) !important;
  opacity: 0 !important;
  transform: scale(.96) !important;
  transition: opacity .3s ease, transform .4s cubic-bezier(.2,.8,.2,1) !important;
}

.global-header-nav.active .global-nav-item:hover::after { opacity: 1 !important; transform: scale(1) !important; }

.global-header-nav.active .global-nav-item:nth-child(3n) { border-right: 0 !important; }
.global-header-nav.active .global-nav-item:nth-child(n + 4) { border-bottom: 0 !important; }
.global-header-nav.active .global-nav-item::before {
  content: '0' counter(global-menu) !important;
  display: block !important;
  margin-bottom: 18px !important;
  color: #d98991 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}

.global-header-nav.active .global-nav-link {
  display: inline-flex !important;
  height: auto !important;
  padding: 0 0 13px !important;
  color: #fff !important;
  font-size: clamp(24px, 1.75vw, 33px) !important;
  font-weight: 650 !important;
  letter-spacing: -.045em !important;
}

.global-header-nav.active .global-nav-link::after {
  display: none !important;
  content: none !important;
}

.global-header-nav.active .global-submenu {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 3px 20px !important;
  min-width: 0 !important;
  margin-top: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.global-header-nav.active .global-submenu a {
  position: relative !important;
  padding: 7px 0 7px 13px !important;
  color: rgba(255, 255, 255, .65) !important;
  background: transparent !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  transition: color .18s ease, transform .18s ease !important;
}

.global-header-nav.active .global-submenu a::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 4px !important;
  height: 1px !important;
  background: #d98991 !important;
}

.global-header-nav.active .global-submenu a:hover,
.global-header-nav.active .global-submenu a:focus,
.global-header-nav.active .global-submenu a[aria-current='page'] {
  color: #fff !important;
  transform: translateX(4px) !important;
}

@keyframes global-menu-in {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes global-card-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1380px) {
  .global-header-inner { grid-template-columns: 190px auto 120px 38px !important; gap: 24px !important; width: calc(100% - 44px) !important; }
  .global-header-logo { width: 180px !important; }
  .global-header-nav { gap: 25px !important; }
  .global-nav-link { font-size: 15px !important; }
}

@media (max-width: 1180px) {
  :root { --global-header-height: 72px; }
  .global-site-header.scrolled { height: 60px !important; }
  .global-site-header.scrolled .global-header-logo { width: 132px !important; }
  .global-header-inner { display: grid !important; grid-template-columns: 1fr auto !important; width: calc(100% - 36px) !important; }
  .global-header-logo { width: 160px !important; }
  .global-header-actions { display: none !important; }
  .global-menu-toggle { grid-column: 2 !important; display: grid !important; }
  .global-header-nav { position: fixed !important; z-index: -1 !important; inset: var(--global-header-height) 0 0 !important; display: block !important; height: calc(100dvh - var(--global-header-height)) !important; padding: 28px 24px 70px !important; overflow: auto !important; background: #f8f6f3 !important; opacity: 0 !important; visibility: hidden !important; transform: translateY(-8px) !important; transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important; }
  .global-header-nav.active { display: block !important; padding: 28px 24px 70px !important; color: #3d332f !important; background: #f8f6f3 !important; opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; animation: none !important; }
  .global-nav-item { display: block !important; height: auto !important; padding: 22px 0 !important; border-bottom: 1px solid rgba(229,221,213,.5) !important; }
  .global-header-nav.active .global-nav-item { display: block !important; height: auto !important; padding: 22px 0 !important; border-right: 0 !important; border-bottom: 1px solid rgba(229,221,213,.5) !important; overflow: visible !important; }
  .global-header-nav.active .global-nav-item { opacity: 1 !important; animation: none !important; }
  .global-header-nav.active .global-nav-item::after { display: none !important; }
  .global-header-nav.active .global-nav-item::before { display: none !important; }
  .global-nav-link { display: block !important; height: auto !important; font-size: 22px !important; font-weight: 600 !important; }
  .global-header-nav.active .global-nav-link { display: block !important; padding: 0 !important; color: #272727 !important; font-size: 22px !important; }
  .global-nav-link::after { display: none !important; }
  .global-nav-item.is-active .global-nav-link { color: #8f6f57 !important; }
  .global-submenu {
    position: static !important;
    display: none !important;
    flex-wrap: wrap !important;
    gap: 7px 20px !important;
    min-width: 0 !important;
    margin-top: 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }
  .global-header-nav.active .global-submenu {
    display: none !important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open > .global-submenu {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 7px 20px !important;
    margin-top: 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .global-submenu a,
  .global-header-nav.active .global-submenu a { padding: 3px 0 !important; color: #77706a !important; background: transparent !important; font-size: 14px !important; transform: none !important; }
  .global-header-nav.active .global-submenu a::before { display: none !important; }
  .global-header-nav.active .global-mobile-lang { display: inline-flex !important; margin-top: 24px !important; padding-top: 22px !important; border-top: 1px solid rgba(229,221,213,.5) !important; color: #756d68 !important; font-size: 15px !important; }
  .global-header-nav.active .global-mobile-lang a[aria-current='true'] { color: #6b615b !important; }
}
@media (max-width:1180px){.global-quick-menu{right:0;left:0;top:auto;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;padding:5px 0 env(safe-area-inset-bottom,0px);border-radius:32px 32px 0 0;transform:none;background:var(--float-bar,#3a312d);overflow:visible}.global-quick-menu a{min-height:62px;font-size:10px!important}.global-quick-menu img{width:23px!important;height:23px!important}.global-quick-menu [data-quick-top]{position:absolute;right:14px;bottom:calc(100% + 12px);width:56px;height:56px;margin:0}}
@media (max-width:680px){.global-quick-menu{top:auto;right:0;left:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;padding:5px 0 env(safe-area-inset-bottom,0px);border-radius:32px 32px 0 0;transform:none;background:var(--float-bar,#3a312d);overflow:visible}.global-quick-menu a{width:auto;min-height:44px;border-right:0;border-bottom:0}.global-quick-menu a span:last-child{display:block}.global-quick-menu [data-quick-top]{right:12px;bottom:calc(100% + 10px);width:52px;height:52px}}

@media (max-width: 520px) {
  :root { --global-header-height: 66px; }
  .global-site-header.scrolled { height: 56px !important; }
  .global-site-header.scrolled .global-header-logo { width: 118px !important; }
  .global-header-inner { width: calc(100% - 28px) !important; }
  .global-header-logo { width: 148px !important; }
  .global-menu-toggle { width: 36px !important; }
  .global-menu-toggle span { width: 31px !important; }
  .global-header-nav { padding: 20px 20px 50px !important; }
  .global-nav-item { padding: 18px 0 !important; }
  .global-nav-link { font-size: 20px !important; }
}

/* --------------------------------------------------------------------------
   사이트 공통 타이포그래피: 페이지마다 달랐던 동일 역할의 글자 크기를 통일
   -------------------------------------------------------------------------- */
body {
  font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif !important;
  font-size: 16px !important;
}

/* 탑배너 메인 타이틀 */
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) :is(.hero-copy h1,.a-hero h1,.sub-hero h1,.lp-hero h1,.clinic-hero h1,.info-hero h1,.round-hero h1,.hero-main-title) {
  font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', sans-serif !important;
  font-size: clamp(54px, 3.55vw, 68px) !important;
  font-weight: 700 !important;
  line-height: 1.14 !important;
  letter-spacing: -.055em !important;
}

/* 페이지 내 주요 섹션 타이틀 */
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main h2,
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) .section-heading h2,
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) .center-head h2 {
  font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', sans-serif !important;
  font-size: clamp(40px, 2.7vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.24 !important;
  letter-spacing: -.045em !important;
}

/* 카드·콘텐츠 소제목 */
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main h3 {
  font-size: clamp(21px, 1.35vw, 27px) !important;
  line-height: 1.45 !important;
  letter-spacing: -.035em !important;
}

/* 본문은 어떤 페이지에서도 16px 아래로 내려가지 않음 */
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main p:not(.eyebrow):not(.overline):not(.kicker),
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main li,
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main details p,
body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) :is(.hero-copy > span,.sub-hero-copy > span,.lp-hero-copy > span,.info-hero span) {
  font-size: clamp(16px, 1.05vw, 19px) !important;
  line-height: 1.8 !important;
}

/* 영문 또는 섹션 안내 라벨 */
.eyebrow,
.overline,
.kicker,
.fl-kicker,
.hero-eng-accent {
  font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', sans-serif !important;
  font-size: clamp(15px, .95vw, 18px) !important;
  line-height: 1.5 !important;
}

/* 시술 정보, 태그 등 작은 UI 글씨의 가독성 하한 */
.a-specs b,
.a-specs span,
.fl-specs b,
.fl-specs i,
.tags i,
.pill-row i,
.pills span,
.hero-tags span,
.hero-bottom-badge,
main figcaption {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

@media (max-width: 760px) {
  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) :is(.hero-copy h1,.a-hero h1,.sub-hero h1,.lp-hero h1,.clinic-hero h1,.info-hero h1,.round-hero h1,.hero-main-title) {
    font-size: 40px !important;
    line-height: 1.18 !important;
  }

  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main h2,
  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) .section-heading h2,
  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) .center-head h2 {
    font-size: 34px !important;
    line-height: 1.3 !important;
  }

  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main h3 { font-size: 21px !important; }

  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main p:not(.eyebrow):not(.overline):not(.kicker),
  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main li,
  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) main details p,
  body:not(.home-index):not(.clinic-intro-page):not(.figma-asymmetry-45):not(.figma-lifting-page) :is(.hero-copy > span,.sub-hero-copy > span,.lp-hero-copy > span,.info-hero span) {
    font-size: 16px !important;
  }
}

/* Final cascade: right-side off-canvas navigation */
.global-header-nav.active{position:fixed!important;z-index:10001!important;inset:0 0 0 auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:start!important;width:min(860px,72vw)!important;height:100dvh!important;padding:110px 64px 60px!important;overflow-y:auto!important;color:#fff!important;background:linear-gradient(145deg,#342b28,#1f1b19)!important;box-shadow:-20px 0 55px rgba(0,0,0,.25)!important;opacity:1!important;visibility:visible!important;transform:none!important;animation:global-offcanvas-in .32s cubic-bezier(.22,.8,.28,1)!important}
.global-header-nav.active .global-nav-item{display:block!important;height:auto!important;padding:28px 24px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
.global-header-nav.active .global-nav-link{display:block!important;height:auto!important;padding:0!important;color:#fff!important;font-size:25px!important;font-weight:600!important}
.global-header-nav.active .global-submenu{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:2px!important;margin-top:18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
.global-header-nav.active .global-submenu a{display:block!important;padding:5px 0 5px 12px!important;color:rgba(255,255,255,.68)!important;background:transparent!important;font-size:14px!important;transform:none!important}
.global-header-nav.active .global-submenu a::before{display:none!important}
@media(max-width:1180px){
  .global-header-nav.active{inset:0 0 0 auto!important;grid-template-columns:1fr!important;width:min(520px,100vw)!important;height:100dvh!important;padding:92px 34px 50px!important;color:#282321!important;background:#f8f6f3!important}
  .global-header-nav.active .global-nav-item{padding:20px 0!important;border-bottom: 1px solid rgba(229,221,213,.5) !important}
  .global-header-nav.active .global-nav-link{color:#282321!important;font-size:22px!important}
  .global-header-nav.active .global-submenu{grid-template-columns:1fr!important;gap:2px!important;margin-top:13px!important}
  .global-header-nav.active .global-submenu a{color:#756d68!important;font-size:14px!important}
}

/* Full-screen off-canvas menu. */
.global-header-nav.active{
  inset:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  align-content:stretch!important;
  width:100vw!important;
  max-width:none!important;
  padding:96px clamp(42px,7vw,140px) 42px!important;
  box-shadow:none!important;
}
.global-menu-toggle.active{
  position:fixed!important;
  z-index:10003!important;
  top:calc((var(--global-header-height, 96px) - 46px)/2)!important;
  right:clamp(18px,3vw,52px)!important;
}
@media(max-width:1180px){
  .global-header-nav.active{
    inset:0!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    align-content:start!important;
    width:100vw!important;
    max-width:none!important;
    padding:86px 28px 42px!important;
  }
  .global-menu-toggle.active{
    top:calc((var(--global-header-height, 72px) - 46px)/2)!important;
    right:14px!important;
  }
}

/* Keep every off-canvas item reachable on short laptop and mobile viewports. */
.global-header-nav.active{
  min-height:0!important;
  max-height:100vh!important;
  max-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch;
}
.global-header-nav.active .global-nav-item{min-height:0!important}

/* Menu content must never remain hidden if entry animations are interrupted. */
.global-header-nav.active .global-nav-item{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  animation:none!important;
}

@media (min-width:1181px) and (max-height:820px){
  .global-header-nav.active{padding:72px 44px 24px!important}
  .global-header-nav.active .global-nav-item{padding:14px 20px!important}
  .global-header-nav.active .global-nav-link{font-size:21px!important}
  .global-header-nav.active .global-submenu{gap:2px 16px!important;margin-top:9px!important}
  .global-header-nav.active .global-submenu a{padding:3px 0!important;font-size:13px!important}
}

@media(max-width:1180px){
  .global-header-nav.active{
    padding-top:max(78px,calc(env(safe-area-inset-top, 0px) + 68px))!important;
    padding-bottom:max(50px,calc(env(safe-area-inset-bottom, 0px) + 32px))!important;
  }
}

/* Refined full-screen menu — final visual system. */
body.global-menu-open .global-quick-menu{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.global-menu-open .global-menu-backdrop{background:transparent!important}
.global-header-nav.active{
  inset:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(250px,1fr))!important;
  align-content:center!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  padding:clamp(116px,10vh,164px) clamp(40px,7vw,138px) clamp(48px,7vh,92px)!important;
  overflow:auto!important;
  color:#2b2725!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(221,143,147,.15),transparent 28%),
    linear-gradient(135deg,#fffdfa 0%,#f7f1ed 54%,#f2ebe6 100%)!important;
  box-shadow:none!important;
  animation:global-menu-refined-in .28s cubic-bezier(.2,.75,.25,1)!important;
}
.global-header-nav.active::before{
  content:''!important;
  position:fixed!important;
  z-index:1!important;
  top:24px!important;
  left:clamp(40px,5vw,96px)!important;
  width:180px!important;
  height:68px!important;
  background:url('assets/home/figma-main/logo.png') left center/contain no-repeat!important;
  pointer-events:none!important;
}
.global-header-nav.active .global-nav-item{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  height:auto!important;
  padding:28px clamp(24px,2.8vw,54px)!important;
  border:0!important;
  border-left:1px solid rgba(79,65,58,.15)!important;
  background:transparent!important;
}
.global-header-nav.active .global-nav-item:nth-child(3n+1){border-left:0!important}
.global-header-nav.active .global-nav-item::before{
  content:'0' counter(global-menu)!important;
  display:block!important;
  margin-bottom:15px!important;
  color:#d7858d!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}
.global-header-nav.active .global-nav-item::after{display:none!important}
.global-header-nav.active .global-nav-link{
  display:inline-flex!important;
  align-items:center!important;
  padding:0!important;
  color:#2b2725!important;
  font-size:clamp(23px,1.55vw,29px)!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:-.045em!important;
  transition:color .2s ease,transform .2s ease!important;
}
.global-header-nav.active .global-nav-item.is-active .global-nav-link,
.global-header-nav.active .global-nav-link:hover,
.global-header-nav.active .global-nav-link:focus-visible{color:#c76f78!important;transform:translateX(3px)!important}
.global-header-nav.active .global-nav-link::after{display:none!important;content:none!important}
.global-header-nav.active .global-submenu{
  position:static!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  margin-top:18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.global-header-nav.active .global-submenu a{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  padding:5px 0!important;
  color:#776e69!important;
  background:transparent!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:-.025em!important;
  text-decoration:none!important;
  transform:none!important;
  transition:color .18s ease,transform .18s ease!important;
}
.global-header-nav.active .global-submenu a::before{display:none!important}
.global-header-nav.active .global-submenu a:hover,
.global-header-nav.active .global-submenu a:focus-visible,
.global-header-nav.active .global-submenu a[aria-current='page']{color:#c76f78!important;transform:translateX(4px)!important}
.global-menu-toggle.active{
  position:fixed!important;
  z-index:10003!important;
  top:30px!important;
  right:clamp(24px,3vw,54px)!important;
  width:50px!important;
  height:50px!important;
  border:1px solid rgba(62,53,49,.16)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.58)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.global-menu-toggle.active::before{display:none!important}
.global-menu-toggle.active span{width:22px!important;background:#332e2b!important}
@keyframes global-menu-refined-in{from{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}

@media(max-width:1180px){
  .global-header-nav.active{
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    align-content:start!important;
    padding:max(104px,calc(env(safe-area-inset-top,0px) + 92px)) 28px max(48px,calc(env(safe-area-inset-bottom,0px) + 32px))!important;
  }
  .global-header-nav.active::before{top:34px!important;left:28px!important;font-size:25px!important}
  .global-header-nav.active .global-nav-item{
    padding:22px 4px!important;
    border-left:0!important;
    border-bottom:1px solid rgba(79,65,58,.13)!important;
  }
  .global-header-nav.active .global-nav-item:last-child{border-bottom:0!important}
  .global-header-nav.active .global-nav-item::before{margin-bottom:9px!important;font-size:11px!important}
  .global-header-nav.active .global-nav-link{font-size:23px!important}
  .global-header-nav.active .global-submenu{gap:2px!important;margin-top:12px!important}
  .global-header-nav.active .global-submenu a{padding:4px 0!important;font-size:14px!important}
  .global-menu-toggle.active{top:20px!important;right:18px!important;width:46px!important;height:46px!important}
}

@media(max-width:520px){
  .global-header-nav.active{padding-right:22px!important;padding-left:22px!important}
  .global-header-nav.active::before{left:22px!important;font-size:22px!important}
  .global-header-nav.active .global-nav-item{padding:19px 2px!important}
  .global-header-nav.active .global-nav-link{font-size:21px!important}
  .global-header-nav.active .global-submenu a{font-size:13px!important}
}

/* Mobile navigation accordion: reveal a category's children on demand. */
@media(max-width:1180px){
  .global-header-nav.active .global-submenu{
    display:none!important;
    margin-top:0!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:5px!important;
    margin-top:14px!important;
  }
  .global-header-nav.active .global-nav-link{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    padding-right:42px!important;
  }
  .global-header-nav.active .global-nav-link::after{
    content:'+'!important;
    position:absolute!important;
    top:50%!important;
    right:4px!important;
    bottom:auto!important;
    left:auto!important;
    display:grid!important;
    width:30px!important;
    height:30px!important;
    border:1px solid rgba(79,65,58,.18)!important;
    border-radius:50%!important;
    background:transparent!important;
    color:#9b7770!important;
    font-size:21px!important;
    font-weight:400!important;
    line-height:1!important;
    place-items:center!important;
    transform:translateY(-50%)!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-nav-link::after{
    content:'−'!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu a{
    width:100%!important;
    padding:6px 0!important;
    font-size:15px!important;
  }
}

@media(max-width:1180px){
  .global-menu-toggle,
  .global-menu-toggle span{transition:none!important}
  .global-header-nav.active .global-nav-link,
  .global-header-nav.active .global-submenu a{transition:color .18s ease!important}
  .global-menu-toggle:hover{transform:none!important}
  .global-menu-toggle:not(.active):hover span:last-child{width:22px!important;margin-right:7px!important}
  .global-header-nav.active .global-nav-link:hover,
  .global-header-nav.active .global-nav-link:active,
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-nav-link{color:#c76f78!important;transform:none!important}
  .global-header-nav.active .global-submenu a:hover,
  .global-header-nav.active .global-submenu a:active,
  .global-header-nav.active .global-submenu a[aria-current='page']{color:#c76f78!important;transform:none!important}
}

/* Mobile menu: use the canonical logo and keep every label on its own line. */
@media(max-width:1180px){
  .global-header-nav.active::before{
    content:''!important;
    top:18px!important;
    left:22px!important;
    width:132px!important;
    height:50px!important;
    background:url('assets/home/figma-main/logo.png') left center/contain no-repeat!important;
  }
  .global-header-nav.active{padding-top:max(88px,calc(env(safe-area-inset-top,0px) + 82px))!important}
  .global-header-nav.active .global-nav-item{height:auto!important;min-height:0!important;padding:18px 2px!important}
  .global-header-nav.active .global-nav-item.is-mobile-open{padding-bottom:30px!important}
  .global-header-nav.active .global-nav-link{
    min-height:32px!important;
    padding:2px 44px 2px 0!important;
    font-size:21px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  .global-header-nav.active .global-submenu,
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu{clear:both!important;width:100%!important}
  .global-header-nav.active .global-submenu a{
    min-height:30px!important;
    padding:5px 0!important;
    font-size:14px!important;
    line-height:1.45!important;
    white-space:normal!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu a:last-child{margin-bottom:6px!important}
}

/* Compact accordion when the phone is landscape or the viewport is short. */
@media(max-width:1180px) and (max-height:760px){
  .global-header-nav.active{
    padding-top:max(68px,calc(env(safe-area-inset-top,0px) + 62px))!important;
    padding-bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 18px))!important;
  }
  .global-header-nav.active::before{top:10px!important;width:108px!important;height:42px!important}
  .global-menu-toggle.active{top:8px!important;width:42px!important;height:42px!important}
  .global-header-nav.active .global-nav-item{padding:9px 2px!important}
  .global-header-nav.active .global-nav-item.is-mobile-open{padding-bottom:15px!important}
  .global-header-nav.active .global-nav-item::before{margin-bottom:3px!important;font-size:9px!important;line-height:1.15!important}
  .global-header-nav.active .global-nav-link{min-height:25px!important;font-size:18px!important;line-height:1.2!important}
  .global-header-nav.active .global-nav-link::after{width:27px!important;height:27px!important;font-size:18px!important}
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu{gap:0!important;margin-top:6px!important}
  .global-header-nav.active .global-submenu a,
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu a{
    min-height:22px!important;
    padding:2px 0!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu a:last-child{margin-bottom:2px!important}
}

/* Common visual corrections from the final site review. */
.global-quick-menu img{
  filter:brightness(0) saturate(100%) invert(98%) sepia(4%) saturate(318%) hue-rotate(333deg) brightness(103%) contrast(98%)!important;
}
@media(min-width:1181px){
  .global-header-inner{width:min(calc(100% - 96px),1760px)!important}
}

/* Mobile canvas menu: keep accordion rows in normal document flow. */
@media(max-width:1180px){
  .global-header-nav.active{
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
  }
  .global-header-nav.active .global-nav-item{
    display:block!important;
    overflow:visible!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open{
    padding-bottom:22px!important;
  }
  .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu{
    position:relative!important;
    display:flex!important;
    height:auto!important;
    overflow:visible!important;
  }
}
