/* Locale typography: locally hosted OFL fonts; no third-party font requests. */
html[lang]{--sans:'Inter',system-ui,sans-serif;--heading:var(--sans);--serif:'Cormorant Garamond',var(--sans)}
html[lang='ko']{--sans:'Pretendard Variable','Apple SD Gothic Neo','Malgun Gothic',sans-serif;--heading:var(--sans)}
html[lang='ja']{--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--heading:var(--sans)}
html[lang='th']{--sans:'IBM Plex Sans Thai Looped','Leelawadee UI',sans-serif;--heading:var(--sans)}
html[lang='ms']{--sans:'Inter',system-ui,sans-serif;--heading:'Poppins',var(--sans)}
html[lang='id']{--sans:'Plus Jakarta Sans',system-ui,sans-serif;--heading:var(--sans)}
html[lang='zh-Hans']{--sans:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;--heading:var(--sans)}
html[lang='zh-Hant']{--sans:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;--heading:var(--sans)}
html[lang='vi']{--sans:'Be Vietnam Pro',Arial,sans-serif;--heading:var(--sans)}
html[lang='ar']{--sans:'Noto Sans Arabic',Tahoma,Arial,sans-serif;--heading:var(--sans)}
html[lang] body{--sans:inherit;--heading:inherit;--serif:inherit;font-family:var(--sans);font-size:16px;font-weight:400;text-rendering:optimizeLegibility}
html[lang] body :is(h1,h2,h3,h4){font-family:var(--heading);font-weight:500}
html[lang='ko'] body :is(h1,h2){letter-spacing:-.045em;font-weight:520}
html[lang='ko'] body h3{letter-spacing:-.025em;font-weight:550}
html[lang='ja'] body :is(h1,h2,h3){letter-spacing:.015em;font-weight:500;line-height:1.65;line-break:strict;word-break:normal}
html[lang='th'] body :is(h1,h2,h3){letter-spacing:normal;font-weight:500;line-height:1.65}
html[lang='th'] body :is(p,a,button,span){letter-spacing:normal;word-break:normal}
html[lang='th'] .motion-word{line-height:inherit}
html[lang='ms'] body :is(h1,h2,h3),html[lang='id'] body :is(h1,h2,h3),html[lang='en'] body :is(h1,h2,h3){letter-spacing:-.035em;line-height:1.3}
html body :is(button,input,select,textarea,.eyebrow,.section-number,.language-selector summary,.hero-side-label,.hero-film-control,.story-collage figcaption,.space-caption,.menu-layout nav>a small,.clinical-meta,.article-byline){font-family:var(--sans)}
html body :is(.cms-article-body,.note-section) p{font-size:17px;line-height:1.95}
html body .cms-public-card h2{font-weight:550}
html body .clinic-section-heading h2{font-size:clamp(30px,3.6vw,52px);line-height:1.38;letter-spacing:-.035em}
.clinic-gallery,.clinic-academic{padding-block:100px;border-top:1px solid #dce8ed}
.clinic-section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:8%;align-items:end;margin-bottom:42px}
.clinic-section-heading .eyebrow{font-size:11px;letter-spacing:.08em;color:#49788f;margin-bottom:18px}
.clinic-section-heading>p{font-size:16px;line-height:1.95;max-width:460px;color:#587184}
.clinic-photo-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9fbecf #eff5f8;overscroll-behavior-x:contain;padding-bottom:18px}
.clinic-photo-track:focus-visible{outline:2px solid #467c9c;outline-offset:8px}
.clinic-photo-card{flex:0 0 72%;min-width:0;scroll-snap-align:start}
.clinic-photo-open{display:block;position:relative;background:#ecf1f4;overflow:hidden}
.clinic-photo-open img{aspect-ratio:1016/652;width:100%;height:auto;object-fit:contain;transition:transform .5s ease;filter:none}
.clinic-photo-open:hover img{transform:scale(1.015)}
.clinic-enlarge{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fffffff0;color:#274c66;font-size:25px}
.clinic-photo-card figcaption{display:flex;align-items:center;gap:18px;font-size:15px;padding-top:18px}
.clinic-photo-number{font-size:11px;color:#5b879e;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.clinic-gallery-footer{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-top:20px}
.clinic-gallery-footer>p,.clinic-source-note{font-size:12px;line-height:1.9;color:#627986;max-width:700px}
.clinic-gallery-controls{display:flex;align-items:center;gap:14px;flex-shrink:0}
.clinic-gallery-controls button{width:46px;height:46px;border:1px solid #b9ceda;border-radius:50%;font-size:22px}
.clinic-gallery-controls button:hover{background:#e2eef5}.clinic-gallery-controls button:disabled{opacity:.35;cursor:default}
.clinic-photo-position{font-size:12px;min-width:52px;text-align:center;font-variant-numeric:tabular-nums}
.clinic-gallery-compact .clinic-photo-card{flex-basis:calc((100% - 48px)/3)}
.clinic-gallery-compact>.text-link{margin-top:24px}
.clinic-lightbox{width:min(1100px,94vw);max-width:94vw;max-height:94svh;padding:55px 20px 18px;background:#f8fbfd;border:1px solid #dbe7ef;box-shadow:0 30px 100px #16304955}
.clinic-lightbox::backdrop{background:#071c2bd9;backdrop-filter:blur(8px)}
.clinic-lightbox>img{width:100%;max-height:72svh;object-fit:contain;aspect-ratio:1016/652}
.clinic-lightbox>p{font-size:14px;text-align:center;margin-top:12px}
.clinic-lightbox-close{position:absolute;right:12px;top:6px;width:44px;height:44px;font-size:32px}
.academic-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:40px}
.academic-photo-strip img{width:100%;aspect-ratio:683/526;object-fit:contain;background:#edf3f6}
.academic-records{list-style:none;padding:0;margin:0 0 24px}
.academic-records>li{display:grid;grid-template-columns:145px 1fr;gap:35px;padding-block:30px;border-top:1px solid #dce8ed}
.academic-records time{font-size:13px;color:#618399;font-variant-numeric:tabular-nums}
.academic-event{font-size:12px;color:#58758b;margin-bottom:12px}
html body .academic-records h3{font-size:21px;line-height:1.6;letter-spacing:-.02em}
.academic-original{font-size:13px;color:#70818d;margin-top:10px;line-height:1.8}
.clinic-academic>.text-link{margin-top:18px}
.clinic-arrival{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center;padding-block:85px;border-top:1px solid #dce8ed}
.clinic-arrival figure img{aspect-ratio:700/493;object-fit:contain}
html body .clinic-arrival h2{font-size:clamp(26px,2.6vw,38px);line-height:1.5;margin:14px 0 20px}
.clinic-arrival p{font-size:15px;line-height:1.9;color:#587184}
.clinic-arrival .clinic-lot-address{font-size:13px;margin-top:16px}
.clinic-arrival address{font-family:'Pretendard Variable','Apple SD Gothic Neo',system-ui,sans-serif;font-style:normal;user-select:all;font-size:14px;margin-top:10px}
.clinic-arrival nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.clinic-arrival nav .text-link{font-size:14px}.address-copy-status{min-height:28px;margin-top:12px}
@media(max-width:700px){
 .clinic-gallery,.clinic-academic{padding-block:62px}
 .clinic-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}
 html body .clinic-section-heading h2{font-size:30px;line-height:1.45}
 .clinic-section-heading>p{font-size:15px;line-height:1.9}
 .clinic-photo-track{gap:16px;scroll-padding:0}
 .clinic-photo-card,.clinic-gallery-compact .clinic-photo-card{flex-basis:92%}
 .clinic-photo-card figcaption{font-size:14px;padding-top:14px}
 .clinic-gallery-footer{flex-direction:column-reverse;align-items:flex-start;gap:20px}
 .clinic-gallery-controls{align-self:flex-end}
 .clinic-enlarge{right:12px;bottom:12px}
 .academic-photo-strip{gap:10px;margin-bottom:24px}
 .academic-records>li{grid-template-columns:1fr;gap:10px;padding-block:24px}
 html body .academic-records h3{font-size:19px}
 .clinic-arrival{grid-template-columns:1fr;gap:28px;padding-block:55px}
 .clinic-lightbox{padding-inline:10px}.clinic-lightbox>img{max-height:65svh}
 html body :is(.cms-article-body,.note-section) p{font-size:16px;line-height:1.95}
}
/* Chinese wraps between ideographs, with punctuation kept on the correct line. */
html[lang|='zh'] body :is(h1,h2,h3,h4,p,a,button,summary,label,li){word-break:normal;line-break:strict;overflow-wrap:break-word}
html[lang|='zh'] body :is(h1,h2,h3,h4){letter-spacing:.01em;line-height:1.55;font-weight:500}
html[lang|='zh'] body :is(.clinic-section-heading h2,.clinic-arrival h2,.academic-records h3){letter-spacing:.01em;line-height:1.6}
html[lang|='zh'] body :is(.cms-article-body,.note-section) p{letter-spacing:.015em;line-height:1.95}
html[lang='vi'] body :is(h1,h2,h3,h4){letter-spacing:-.015em;line-height:1.55}
html[lang='vi'] body .motion-word{line-height:inherit}
html[lang='vi'] body :is(p,a,button){word-break:normal}
.menu-languages{flex-wrap:wrap}
.language-menu{max-height:min(440px,70svh);overflow-y:auto}
/* Keep script-specific spacing after component and mobile rules. Thai marks need
   vertical room; Japanese headings must not inherit Korean negative tracking. */
html[lang='ko'] body :is(.page-hero h1,.clinic-section-heading h2,.clinic-arrival h2){text-wrap:balance;word-break:keep-all;overflow-wrap:break-word}
html[lang='ko'] body :is(.cms-article-body,.note-section) p{letter-spacing:-.012em}
html[lang='ja'] body :is(.clinic-section-heading h2,.clinic-arrival h2,.academic-records h3){letter-spacing:.015em;line-height:1.65;line-break:strict}
html[lang='th'] body :is(.clinic-section-heading h2,.clinic-arrival h2,.academic-records h3){letter-spacing:normal;line-height:1.7}
@media(prefers-reduced-motion:reduce){.clinic-photo-open img{transition:none}.clinic-photo-track{scroll-behavior:auto}}
