/* Figma global quick menu: six compact actions on desktop, unobtrusive dock on mobile. */
.global-quick-menu {
  padding: 18px 10px 0;
  transform: translateY(-50%);
  border-radius: 9999px !important;
  overflow: hidden;
  gap: 4px;
}
.global-quick-menu a,
.global-quick-menu button {
  border: 0 !important;
  border-bottom: 0 !important;
  border-right: 0 !important;
}
.global-quick-menu a {
  min-height: 76px;
  padding: 12px 0 !important;
  gap: 8px !important;
}
.global-quick-menu .quick-kakao-link img {
  width: 29px !important;
  height: 30px !important;
  filter: none !important;
}
.global-quick-menu .quick-naver-link img {
  width: 29px !important;
  height: 31px !important;
  filter: none !important;
}
.global-quick-menu .quick-phone-link img {
  width: 32px !important;
  height: 32px !important;
  filter: none !important;
}
.global-quick-menu .quick-whatsapp-link img {
  width: 36px !important;
  height: 36px !important;
  filter: none !important;
}
.global-quick-menu .quick-wechat-link img {
  width: 44px !important;
  height: 44px !important;
  filter: none !important;
}
.global-quick-menu [data-quick-top]{
  box-sizing: border-box !important;
  width: 90px !important;
  height: 90px !important;
  min-height: 90px !important;
  margin: 10px -10px 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 50% !important;
  background: #dd8f93 !important;
  color: #fff !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  align-content: center !important;
}
.global-quick-menu [data-quick-top]>span{
  display: block !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 0 2px !important;
}
.global-quick-menu [data-quick-top]>b{
  display: block !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.global-quick-menu [data-quick-top]:hover,
.global-quick-menu [data-quick-top]:focus-visible{
  background: #d4848a !important;
  color: #fff !important;
  outline: 0 !important;
  box-shadow: none !important;
  opacity: 1;
}
@media (max-width: 1180px) {
  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, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    height: calc(78px + env(safe-area-inset-bottom, 0px));
    padding: 5px 0 env(safe-area-inset-bottom, 0px) !important;
    border-radius: 32px 32px 0 0 !important;
    background: var(--float-bar, #3a312d) !important;
    transform: none !important;
    overflow: visible !important;
    gap: 0 !important;
  }
  .global-quick-menu a {
    width: auto !important;
    min-width: 0 !important;
    min-height: 68px !important;
    padding: 5px 2px !important;
    border: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }
  .global-quick-menu .quick-phone-link { order: 1; }
  .global-quick-menu .quick-kakao-link { order: 2; }
  .global-quick-menu .quick-naver-link { order: 3; }
  .global-quick-menu .quick-instagram-link { order: 4; }
  .global-quick-menu .quick-location-link { order: 5; }
  .global-quick-menu .quick-whatsapp-link,
  .global-quick-menu .quick-wechat-link {
    display: none !important;
  }
  .global-quick-menu img {
    width: 22px !important;
    height: 22px !important;
  }
  .global-quick-menu .quick-kakao-link img { width: 21px !important; height: 22px !important; }
  .global-quick-menu .quick-naver-link img { width: 21px !important; height: 22px !important; }
  .global-quick-menu .quick-phone-link img { width: 24px !important; height: 24px !important; }
  .global-quick-menu [data-quick-top]{
    position: absolute !important;
    right: 14px !important;
    bottom: calc(100% + 12px) !important;
    left: auto !important;
    order: 6;
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    background: #dd8f93 !important;
    color: #fff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
    z-index: 2;
  }
  .global-quick-menu [data-quick-top]>span{ font-size: 18px !important; color: #fff !important; }
  .global-quick-menu [data-quick-top]>b{ font-size: 12px !important; color: #fff !important; }
}
@media (max-width: 680px) {
  .global-quick-menu {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: calc(78px + env(safe-area-inset-bottom, 0px));
    border-radius: 32px 32px 0 0 !important;
    overflow: visible !important;
  }
  .global-quick-menu a { width: auto; }
  .global-quick-menu img { width: 22px !important; height: 22px !important; }
  .global-quick-menu [data-quick-top]{
    right: 12px !important;
    bottom: calc(100% + 10px) !important;
    width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
  }
}

/* Final mobile canvas menu: isolate it from page/header overrides. */
@media (max-width: 1180px) {
  body.global-menu-open .global-header-nav.active {
    position: fixed !important;
    z-index: 10001 !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: max(92px, calc(env(safe-area-inset-top, 0px) + 84px)) 22px max(46px, calc(env(safe-area-inset-bottom, 0px) + 30px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    color: #282321 !important;
    background:
      radial-gradient(circle at 88% 10%, rgba(221, 143, 147, .12), transparent 28%),
      linear-gradient(135deg, #fffdfa 0%, #f8f2ee 56%, #f3ece7 100%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    -webkit-overflow-scrolling: touch;
  }

  body.global-menu-open .global-header-nav.active::before {
    content: "" !important;
    position: fixed !important;
    top: 18px !important;
    left: 20px !important;
    width: 140px !important;
    height: 52px !important;
    background: url("assets/home/figma-main/logo.png") left center / contain no-repeat !important;
    pointer-events: none !important;
  }

  body.global-menu-open .global-menu-toggle.active {
    position: fixed !important;
    z-index: 10003 !important;
    top: 18px !important;
    right: 18px !important;
    width: 46px !important;
    height: 46px !important;
    border: 1px solid rgba(62, 53, 49, .16) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: 0 8px 24px rgba(48, 39, 36, .08) !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-item {
    counter-increment: global-menu !important;
    position: relative !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 17px 2px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(79, 65, 58, .13) !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-item::before {
    content: "0" counter(global-menu) !important;
    display: block !important;
    margin: 0 0 8px !important;
    color: #d7858d !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .16em !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-link {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    min-height: 36px !important;
    align-items: center !important;
    padding: 0 46px 0 0 !important;
    color: #282321 !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -.055em !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-link::after {
    content: "+" !important;
    position: absolute !important;
    top: 50% !important;
    right: 2px !important;
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center !important;
    border: 1px solid rgba(79, 65, 58, .18) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .25) !important;
    color: #9b7770 !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open > .global-nav-link::after {
    content: "-" !important;
  }

  body.global-menu-open .global-header-nav.active .global-submenu {
    display: none !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open > .global-submenu {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin: 13px 0 2px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.global-menu-open .global-header-nav.active .global-submenu a {
    display: block !important;
    width: 100% !important;
    min-height: 28px !important;
    padding: 4px 0 !important;
    color: #756d68 !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: -.035em !important;
    text-decoration: none !important;
    transform: none !important;
    white-space: normal !important;
    transition: color .18s ease !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-link {
    transition: color .18s ease !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-link:hover,
  body.global-menu-open .global-header-nav.active .global-nav-link:active,
  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open > .global-nav-link {
    color: #c76f78 !important;
  }

  body.global-menu-open .global-header-nav.active .global-nav-link:hover::after,
  body.global-menu-open .global-header-nav.active .global-nav-link:active::after,
  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open > .global-nav-link::after {
    border-color: rgba(199, 111, 120, .45) !important;
    color: #c76f78 !important;
  }

  body.global-menu-open .global-header-nav.active .global-submenu a:hover,
  body.global-menu-open .global-header-nav.active .global-submenu a:active,
  body.global-menu-open .global-header-nav.active .global-submenu a[aria-current='page'] {
    color: #c76f78 !important;
  }
}

body.doctors-page .global-site-header {
  background: #fdfbf7 !important;
}

body.columns-page #main-header.global-site-header,
body.community-page #main-header.global-site-header,
body.columns-page .global-site-header,
body.community-page .global-site-header {
  background: #fdfbf7 !important;
  color: #6b615b !important;
}
html[data-community-page="directions"] body.community-page #main-header,
html[data-community-page="directions"] body.community-page #main-header.global-site-header,
html[data-community-page="directions"] body.community-page .global-site-header {
  background: #fdfbf7 !important;
  color: #6b615b !important;
}
body.columns-page .global-nav-link,
body.columns-page .global-header-contact,
body.columns-page .global-lang-switch,
body.columns-page .global-lang-switch a,
body.columns-page .global-lang-switch a[aria-current='true'],
body.columns-page .global-submenu a,
body.community-page .global-nav-link,
body.community-page .global-header-contact,
body.community-page .global-lang-switch,
body.community-page .global-lang-switch a,
body.community-page .global-lang-switch a[aria-current='true'],
body.community-page .global-submenu a {
  color: #6b615b !important;
}
body.columns-page .global-menu-toggle span,
body.community-page .global-menu-toggle span {
  background: #6b615b !important;
}

/* Main visual: transparent overlay header, compact once it becomes fixed/scrolled. */
body.home-index #main-header,
body.home-index .global-site-header {
  --home-header-height: 100px;
  height: var(--home-header-height) !important;
  background: transparent !important;
  color: #fff !important;
  transition: height .32s ease, background .32s ease, box-shadow .32s ease !important;
}
body.home-index .global-header-logo { width: 172px !important; transition:width .32s ease !important; }
body.home-index .global-header-logo img { mix-blend-mode:normal !important; }
body.home-index .global-nav-link,
body.home-index .global-header-contact,
body.home-index .global-lang-switch,
body.home-index .global-lang-switch a,
body.home-index .global-lang-switch a[aria-current='true'] { color:#fff !important; text-shadow:0 1px 12px rgba(0,0,0,.25) !important; }
body.home-index .global-menu-toggle span { background:#fdfbf7 !important; box-shadow:0 1px 7px rgba(0,0,0,.2) !important; }
body.home-index #main-header.scrolled,
body.home-index .global-site-header.scrolled {
  height:76px !important;
  background:rgba(253,251,247,.94) !important;
  color:#6b615b !important;
  box-shadow:0 1px 0 rgba(45,35,31,.08),0 10px 30px rgba(45,35,31,.06) !important;
  backdrop-filter:blur(14px) !important;
}
body.home-index .global-site-header.scrolled .global-header-logo { width:142px !important; }
body.home-index .global-site-header.scrolled .global-nav-link,
body.home-index .global-site-header.scrolled .global-header-contact,
body.home-index .global-site-header.scrolled .global-lang-switch,
body.home-index .global-site-header.scrolled .global-lang-switch a,
body.home-index .global-site-header.scrolled .global-lang-switch a[aria-current='true'] { color:#6b615b !important; text-shadow:none !important; }
body.home-index .global-site-header.scrolled .global-menu-toggle span { background:#6b615b !important; box-shadow:none !important; }
body.home-index .hero { margin-top:0 !important; height:100vh !important; min-height:720px !important; }

@media (max-width:760px) {
  body.home-index .hero {
    height: 68vh !important;
    min-height: 480px !important;
    max-height: 620px !important;
  }
  body.home-index .hero > .hero-video {
    object-fit: cover !important;
    object-position: center center !important;
  }
}
@media(max-width:1180px){
  body.home-index .global-site-header { height:72px !important; }
  body.home-index .global-header-logo { width:146px !important; }
  body.home-index .global-site-header.scrolled { height:62px !important; }
  body.home-index .global-site-header.scrolled .global-header-logo { width:126px !important; }
  body.home-index .global-header-nav.active { top:62px !important; height:calc(100dvh - 62px) !important; }
}
@media(max-width:520px){
  body.home-index .global-site-header { height:66px !important; }
  body.home-index .global-header-logo { width:136px !important; }
  body.home-index .global-site-header.scrolled { height:58px !important; }
  body.home-index .global-site-header.scrolled .global-header-logo { width:118px !important; }
  body.home-index .global-header-nav.active { top:58px !important; height:calc(100dvh - 58px) !important; }
  body.home-index .hero {
    height: 64vh !important;
    min-height: 460px !important;
    max-height: 580px !important;
  }
}

/* Must remain last: mobile canvas menu should fully cover the page. */
@media(max-width:1180px){
  body.global-menu-open .global-header-nav.active,
  body.home-index.global-menu-open .global-header-nav.active{
    position:fixed!important;
    z-index:10001!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    padding:max(92px,calc(env(safe-area-inset-top,0px) + 84px)) 22px max(46px,calc(env(safe-area-inset-bottom,0px) + 30px))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    color:#282321!important;
    background:radial-gradient(circle at 88% 10%,rgba(221,143,147,.12),transparent 28%),linear-gradient(135deg,#fffdfa 0%,#f8f2ee 56%,#f3ece7 100%)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
  }
  body.global-menu-open .global-header-nav.active::before,
  body.home-index.global-menu-open .global-header-nav.active::before{
    content:""!important;
    position:fixed!important;
    top:18px!important;
    left:20px!important;
    width:140px!important;
    height:52px!important;
    background:url("assets/home/figma-main/logo.png") left center/contain no-repeat!important;
    pointer-events:none!important;
  }
  body.global-menu-open .global-menu-toggle.active,
  body.home-index.global-menu-open .global-menu-toggle.active{
    position:fixed!important;
    z-index:10003!important;
    top:18px!important;
    right:18px!important;
    width:46px!important;
    height:46px!important;
    border:1px solid rgba(62,53,49,.16)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.72)!important;
    box-shadow:0 8px 24px rgba(48,39,36,.08)!important;
  }
  body.global-menu-open .global-menu-toggle.active span,
  body.home-index.global-menu-open .global-menu-toggle.active span{
    background:#332e2b!important;
    box-shadow:none!important;
  }
  body.global-menu-open .global-header-nav.active .global-nav-item,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-item{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    padding:17px 2px!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid rgba(79,65,58,.13)!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
  }
  body.global-menu-open .global-header-nav.active .global-nav-link,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-link{
    display:flex!important;
    width:100%!important;
    min-height:36px!important;
    align-items:center!important;
    padding:0 46px 0 0!important;
    color:#282321!important;
    font-size:20px!important;
    font-weight:700!important;
    line-height:1.28!important;
    letter-spacing:-.055em!important;
    text-shadow:none!important;
    white-space:normal!important;
  }
  body.global-menu-open .global-header-nav.active .global-submenu,
  body.home-index.global-menu-open .global-header-nav.active .global-submenu{
    display:none!important;
  }
  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open>.global-submenu{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:0!important;
    display:flex!important;
    width:100%!important;
    height:auto!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:4px!important;
    margin:13px 0 2px 0!important;
    overflow:visible!important;
    transform:none!important;
  }
  body.global-menu-open .global-header-nav.active .global-submenu a,
  body.home-index.global-menu-open .global-header-nav.active .global-submenu a{
    display:block!important;
    width:100%!important;
    min-height:28px!important;
    padding:4px 0!important;
    color:#756d68!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.45!important;
    text-shadow:none!important;
    white-space:normal!important;
    transition:color .18s ease!important;
  }
  body.global-menu-open .global-header-nav.active .global-nav-link,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-link{
    transition:color .18s ease!important;
  }
  body.global-menu-open .global-header-nav.active .global-nav-link:hover,
  body.global-menu-open .global-header-nav.active .global-nav-link:active,
  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open>.global-nav-link,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-link:hover,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-link:active,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open>.global-nav-link{
    color:#c76f78!important;
  }
  body.global-menu-open .global-header-nav.active .global-nav-link:hover::after,
  body.global-menu-open .global-header-nav.active .global-nav-link:active::after,
  body.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open>.global-nav-link::after,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-link:hover::after,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-link:active::after,
  body.home-index.global-menu-open .global-header-nav.active .global-nav-item.is-mobile-open>.global-nav-link::after{
    border-color:rgba(199,111,120,.45)!important;
    color:#c76f78!important;
  }
  body.global-menu-open .global-header-nav.active .global-submenu a:hover,
  body.global-menu-open .global-header-nav.active .global-submenu a:active,
  body.global-menu-open .global-header-nav.active .global-submenu a[aria-current='page'],
  body.home-index.global-menu-open .global-header-nav.active .global-submenu a:hover,
  body.home-index.global-menu-open .global-header-nav.active .global-submenu a:active,
  body.home-index.global-menu-open .global-header-nav.active .global-submenu a[aria-current='page']{
    color:#c76f78!important;
  }
}
