/* Existing Hana ink / paper / olive palette; Traditional Chinese typography. */
.hana-languages { position: relative; font-family: "PingFang TC", "Microsoft JhengHei", sans-serif; }
.hana-languages summary { cursor: pointer; list-style: none; white-space: nowrap; }
.hana-languages summary::-webkit-details-marker { display: none; }
.hana-languages nav { position: absolute; right: 0; top: calc(100% + 12px); min-width: 158px; padding: 8px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 12px 30px #0002; z-index: 50; }
.hana-languages nav a { display: block; padding: 12px 16px; font-size: 14px; }
.hana-languages nav a:hover, .hana-languages nav a:focus-visible, .hana-languages nav a[aria-current] { background: var(--sage); }
.hana-languages summary:focus-visible, .hana-languages a:focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; }
.is-chinese { --serif: "Songti TC", "Noto Serif TC", "PMingLiU", serif; font-family: "PingFang TC", "Microsoft JhengHei", sans-serif; line-height: 1.85; word-break: normal; }
.is-chinese .eyebrow { font-family: inherit; font-size: 12px; letter-spacing: .1em; }
.zh-site-header { grid-template-columns: 1fr auto 1fr; gap: 24px; }
.zh-site-header .desktop-nav { font-size: 15px; gap: clamp(18px, 2vw, 30px); white-space: nowrap; }
.zh-page .en-hero { grid-template-columns: 56% 44%; height: auto; min-height: 760px; }
.zh-page .en-hero-copy { padding-top: 80px; }
.zh-page .en-hero-copy > *, .zh-page .en-hero-portrait figure { animation: none; }
.zh-page .en-hero h1 { font-size: clamp(46px, 4.8vw, 74px); line-height: 1.3; letter-spacing: .02em; }
.zh-page .en-hero-lead { max-width: 34em; color: #fffc; line-height: 1.9; }
.zh-page .en-hero-actions { margin-bottom: 44px; }
.zh-page .en-hero-facts dt { font-family: inherit; font-size: 11px; color: #fff9; }
.zh-page .en-hero-facts dd { font-size: 13px; }
.zh-page .en-hero-portrait > p { font-family: inherit; font-size: 11px; }
.zh-page h2 { letter-spacing: .01em; line-height: 1.4; }
.zh-page h3 { letter-spacing: 0; line-height: 1.5; }
.zh-page .en-strengths article { min-height: 250px; }
.zh-page .en-strengths h3 { margin-top: 0; }
.zh-page p, .zh-page li { line-height: 1.95; }
.zh-page .button, .zh-page .text-link { font-family: inherit; font-size: 14px; letter-spacing: .02em; }
.zh-page .en-doctor-role { font-size: 14px; }
.zh-page .zh-note, .zh-page .en-disclaimer { font-size: 13px; }
.zh-page .zh-note { color: var(--copy); }
.zh-page .en-treatment-list dl dt { font-family: inherit; font-size: 11px; }
.zh-page .en-process li h3 { font-size: 21px; }
.zh-page .en-process li p { font-size: 14px; }
.zh-page .en-consultation h2 { font-size: clamp(36px, 3.8vw, 54px); }
.zh-language-notice { padding: 16px; border-left: 2px solid var(--olive); background: var(--sage); font-size: 13px; color: var(--ink); }
.zh-page .en-contact-links a { overflow-wrap: anywhere; }
.zh-page .en-case-grid img { object-fit: contain; background: var(--surface); }
.zh-page .en-case-grid figcaption { font-family: inherit; font-size: 13px; }
.zh-page .faq-list summary { font-size: 18px; line-height: 1.7; }
.zh-page .faq-list p { font-size: 16px; }
.zh-site-footer .footer-nav p { color: #ffffffb3; font-size: 12px; }
.zh-site-footer .footer-nav strong { font-family: inherit; font-size: 12px; }
.zh-site-footer .footer-nav a { max-width: 100%; overflow-wrap: anywhere; }
.zh-site-footer .footer-legal p { font-family: inherit; font-size: 11px; color: #ffffffa6; }
.is-chinese .floating-contact__link { font-family: inherit; font-size: 11px; }
.hana-chat-icon { width: 24px; height: 24px; display: grid; place-items: center; font-family: sans-serif; font-size: 18px; }
.is-line .hana-chat-icon, .is-wechat .hana-chat-icon { border: 1.5px solid currentColor; border-radius: 8px; font-size: 14px; font-weight: 700; color: var(--olive-deep); }
.hana-wechat-panel { width: min(440px, calc(100vw - 32px)); padding: 32px; margin: 32px auto; background: var(--paper); color: var(--ink); border: 1px solid var(--line); text-align: center; border-radius: 16px; box-sizing: border-box; }
.hana-wechat-panel h2 { margin: 22px 0 12px; font-size: 24px; }
.hana-wechat-panel p { font-size: 14px; line-height: 1.8; }
.hana-wechat-panel img { max-width: 100%; height: auto; margin: 20px auto; object-fit: contain; }
.hana-wechat-close { display: block; text-align: right; font-size: 14px; text-decoration: underline; }
.hana-wechat-id { margin: 20px 0; }
.hana-wechat-id span, .hana-wechat-id strong { display: block; overflow-wrap: anywhere; }
.hana-wechat-id strong { user-select: text; font-size: 20px; }
.hana-wechat-panel .button { cursor: pointer; font: inherit; border: 0; }
dialog.hana-wechat-panel { position: fixed; inset: 0; margin: auto; max-height: calc(100dvh - 40px); overflow-y: auto; }
dialog.hana-wechat-panel:not([open]) { display: none; }
dialog.hana-wechat-panel::backdrop { background: #1c1c18aa; }
.hana-copy-status { min-height: 1.8em; margin-top: 12px; }
.hana-wechat-panel a:focus-visible, .hana-wechat-panel button:focus-visible { outline: 2px solid var(--olive); outline-offset: 4px; }
@media (max-width: 1080px) { .zh-site-header { grid-template-columns: 1fr auto auto; gap: 10px; } }
@media (max-width: 760px) {
  .zh-page .en-hero { display: flex; min-height: 0; }
  .zh-page .en-hero-copy { min-height: 0; padding: 62px 22px 30px; }
  .zh-page .en-hero h1 { font-size: clamp(38px, 10.4vw, 55px); line-height: 1.4; }
  .zh-page .en-hero h1 br { display: initial; }
  .zh-page .en-hero-lead { font-size: 16px; }
  .zh-page .en-hero-facts { padding-top: 22px; }
  .zh-page .en-hero-facts dd { font-size: 11px; }
  .zh-page .en-hero-portrait { height: 84vw; min-height: 320px; }
  .zh-page .en-hero-portrait img { object-position: 50% 43%; }
  .zh-page .en-intro-copy h2, .zh-page .en-section-heading h2, .zh-page .en-process-heading h2, .zh-page .en-visit h2 { font-size: 34px; }
  .zh-page .en-long-lead { font-size: 17px; }
  .zh-page .en-doctor-copy h2 { font-size: 38px; }
  .zh-page .en-strengths article { min-height: 0; padding-block: 30px; }
  .zh-page .en-final-cta h2 { font-size: 32px; }
  .floating-contact:has(.is-line), .floating-contact:has(.is-wechat) { width: min(330px, calc(100vw - 24px)); }
  .floating-contact:has(.is-line) .floating-contact__link, .floating-contact:has(.is-wechat) .floating-contact__link { min-height: 60px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { .hana-languages *, .zh-page *, .hana-wechat-panel * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media print { .hana-languages, .hana-wechat-panel { display: none; } }
