/* Deliberately narrow overrides: the exported desktop artboards keep their style. */
:root { --clinic-purple: #854b9d; --clinic-ink: #26183f; --clinic-teal: #2f8f86; }
html { scroll-padding-top: 110px; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--clinic-teal); outline-offset: 4px; }
.skip-link { position: fixed; left: 16px; top: -90px; z-index: 300; padding: 12px 20px; background: white; color: var(--clinic-ink); border: 2px solid var(--clinic-purple); }
.skip-link:focus { top: 12px; }
.site-logo { object-fit: contain; max-width: 335px !important; }
.menu-toggle { display: none; }
.site-navigation .submenu { display: none; }
.has-submenu:hover > .submenu, .has-submenu:focus-within > .submenu, .has-submenu.submenu-open > .submenu { display: block; }
.js .has-submenu > .submenu { display: none; }
.js .has-submenu.submenu-open > .submenu { display: block; }
.carousel-pause { position: absolute; bottom: 11px; right: 16px; border: 0; border-radius: 50%; background: rgba(255,255,255,.86); color: var(--clinic-ink); width: 28px; height: 28px; font-size: 12px; cursor: pointer; }
html:not(.js) [data-action], html:not(.js) .carousel-pause { display: none !important; }
.hero-caption { padding-bottom: 44px !important; }
.site-topbar a, .site-topbar strong { white-space: nowrap; }
table { max-width: 100%; }
@media (max-width: 1100px) {
  html { scroll-padding-top: 92px; }
  .site-header-inner { position: relative; flex-wrap: wrap !important; min-height: 74px; gap: 12px !important; padding: 14px 20px !important; }
  .site-logo-link { flex: 0 1 auto !important; min-width: 0; }
  .site-logo { width: min(230px, 43vw) !important; height: auto !important; max-width: 100% !important; aspect-ratio: 439 / 55; }
  .header-actions { margin-left: auto; gap: 0 !important; }
  .header-actions > a { font-size: 13px !important; padding: 10px 14px !important; }
  .js .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 40px; padding: 8px 10px; border: 1px solid #d8cfe8; border-radius: 5px; background: #fff; color: var(--clinic-purple); font-size: 13px; font-weight: 700; cursor: pointer; }
  .site-navigation { order: 4; width: 100%; flex: 1 0 100% !important; display: block !important; }
  .js .site-navigation { display: none !important; }
  .js .site-header.menu-open .site-navigation { display: block !important; }
  .site-navigation > ul { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; padding: 8px 0 !important; align-items: start; }
  .site-navigation > ul > li { min-width: 0; border-top: 1px solid #eee9f3; }
  .site-navigation > ul > li > a { padding: 13px 10px !important; font-size: 15px !important; }
  .site-navigation .submenu { position: static !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important; min-width: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 0 10px !important; background: #faf8fc !important; }
  .site-navigation .submenu a { white-space: normal !important; padding: 10px !important; font-size: 13px !important; }
  html:not(.js) .site-navigation .submenu { display: block; }
  /* The expanded no-JS menu must scroll away so it cannot cover page links. */
  html:not(.js) .site-header { position: static !important; }
  .site-header.menu-open { max-height: 85vh; overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 600px) {
  html[lang="en"] body, html[lang="zh-Hans"] body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .language-contact { left: 0 !important; right: 0 !important; top: auto !important; bottom: 0; transform: none !important; flex-direction: row !important; gap: 0 !important; background: white; padding-bottom: env(safe-area-inset-bottom); }
  .language-contact > a { flex: 1; width: auto !important; height: 64px !important; border-radius: 0 !important; box-shadow: none !important; border: 0 !important; }
  .site-topbar > div { gap: 6px 10px !important; padding: 8px 16px !important; font-size: 11px !important; }
  .site-topbar > div > span:last-child { gap: 12px !important; flex-wrap: wrap; }
  .site-topbar > div > span:last-child > span { padding-left: 12px !important; gap: 10px !important; }
  .site-header-inner { padding: 12px 16px !important; gap: 9px !important; min-height: 68px; }
  .site-logo { width: min(195px, 43vw) !important; }
  .header-actions > a { font-size: 12px !important; padding: 10px 12px !important; }
  .hero-caption { position: static !important; min-height: 148px; padding: 20px 20px 44px !important; background: #26183f !important; }
  .hero-caption p { font-size: 15px !important; line-height: 1.75 !important; }
  .hero-slide { display: flex; flex-direction: column; }
  .hero-slide .hero-caption { flex: 1; }
  .hero-carousel > button[aria-label="이전 배너"], .hero-carousel > button[aria-label="다음 배너"] { top: 36% !important; }
  .site-header:not(:has(.site-navigation)) .site-header-inner { justify-content: space-between !important; }
  .site-header:not(:has(.site-navigation)) .site-header-inner > div { margin-left: auto; }
  .site-header:not(:has(.site-navigation)) .site-header-inner > div a { font-size: 15px !important; }
  .site-header:not(:has(.site-navigation)) .site-logo { width: 180px !important; }
  main { overflow-wrap: break-word; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  [data-carousel-track], [data-doctor-slide] { transition: none !important; }
}

.hover-0017abb515:hover,.hover-0017abb515:focus-visible{background: #06a854 !important;color: #fff !important}
.hover-0eb2268e75:hover,.hover-0eb2268e75:focus-visible{background: #3a2261 !important;color: #fff !important}
.hover-104600df24:hover,.hover-104600df24:focus-visible{border-color: #2f8f86 !important}
.hover-2201f88bdb:hover,.hover-2201f88bdb:focus-visible{border-color: #854b9d !important;color: #854b9d !important}
.hover-2570225a06:hover,.hover-2570225a06:focus-visible{background: #1eb455 !important;color: #06301a !important}
.hover-452acf194e:hover,.hover-452acf194e:focus-visible{color: #fff !important}
.hover-61cf08845e:hover,.hover-61cf08845e:focus-visible{color: #2f8f86 !important}
.hover-6a93a47888:hover,.hover-6a93a47888:focus-visible{background: #6b3a80 !important;color: #fff !important}
.hover-7521069544:hover,.hover-7521069544:focus-visible{background: #6b3a80 !important}
.hover-78a88fbc10:hover,.hover-78a88fbc10:focus-visible{background: #03c75a !important;color: #fff !important;border-color: #03c75a !important}
.hover-7e289c01eb:hover,.hover-7e289c01eb:focus-visible{border-color: #2f8f86 !important;color: #2f8f86 !important}
.hover-8452bd049a:hover,.hover-8452bd049a:focus-visible{border-color: #854b9d !important;box-shadow: 0 14px 34px rgba(38,24,63,0.12) !important;transform: translateY(-3px) !important;color: inherit !important}
.hover-9482f615f6:hover,.hover-9482f615f6:focus-visible{border-color: #7fd6cd !important;color: #7fd6cd !important}
.hover-ae046ca4a8:hover,.hover-ae046ca4a8:focus-visible{background: #854b9d !important;color: #fff !important;border-color: #854b9d !important}
.hover-b8a5b2ac84:hover,.hover-b8a5b2ac84:focus-visible{color: #26183f !important;background: #faf8fd !important}
.hover-cc7557f835:hover,.hover-cc7557f835:focus-visible{background: #02a94b !important;color: #fff !important}
.hover-dc0c5c79b7:hover,.hover-dc0c5c79b7:focus-visible{color: #2f8f86 !important;background: #faf8fd !important}
.hover-fbb788891c:hover,.hover-fbb788891c:focus-visible{background: rgba(255,255,255,0.6) !important}
.legacy-hash-target{display:none;margin:24px;padding:20px;background:#f4f0f8}.legacy-hash-target:target{display:block}
