/* Shared language picker: scoped to avoid changing the Korean navigation. */
.fm-lang-menu {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    color: #173d46;
    font-family: "Segoe UI", "Microsoft YaHei", "Malgun Gothic", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    z-index: 120;
}
.fm-lang-menu > summary {
    box-sizing: border-box;
    display: flex;
    min-height: 40px;
    padding: 7px 12px;
    align-items: center;
    gap: 7px;
    border: 1px solid #c7dfe0;
    border-radius: 22px;
    background: #fff;
    color: #173d46;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
    font-weight: 700;
}
.fm-lang-menu > summary::-webkit-details-marker { display: none; }
.fm-lang-menu__globe { font-size: 19px; line-height: 1; }
.fm-lang-menu__short { display: none; }
.fm-lang-menu__arrow { font-size: 16px; }
.fm-lang-menu[open] > summary { border-color: #087f8b; background: #eaf5f5; }
.fm-lang-menu > .fm-lang-menu__list {
    box-sizing: border-box;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 196px;
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    padding: 7px;
    border: 1px solid #dce7e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(13,57,66,.18);
}
.fm-lang-menu .fm-lang-menu__list > a {
    box-sizing: border-box;
    display: flex;
    min-height: 44px;
    padding: 10px 12px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-radius: 8px;
    color: #173d46;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
}
.fm-lang-menu__list > a > span:last-child { font-size: 11px; opacity: .7; }
.fm-lang-menu .fm-lang-menu__list > a:hover,
.fm-lang-menu .fm-lang-menu__list > a[aria-current="page"] { background: #eaf5f5; color: #075e68; }
.fm-lang-menu summary:focus-visible,
.fm-lang-menu a:focus-visible { outline: 3px solid #087f8b; outline-offset: 2px; }
.gnb_container .bg_wrap .side_logo_wrap .fm-lang-menu--desktop {
    position: absolute;
    top: 50%;
    right: calc(100% + 14px);
    transform: translateY(-50%);
}
.main_top_wrap .main_top .fm-lang-menu--mobile {
    position: absolute;
    top: 10px;
    right: 64px;
    z-index: 120;
}
.fm-lang-menu--mobile .fm-lang-menu__name { display: none; }
.fm-lang-menu--mobile .fm-lang-menu__short { display: inline; }
.fm-lang-menu--mobile > summary { min-height: 40px; padding: 7px 9px; gap: 4px; }
.fm-lang-menu--mobile .fm-lang-menu__globe { display: none; }
.main_top_wrap .main_top.fm-has-languages .logo {
    left: 16px;
    width: auto;
    text-align: left;
}

/* International pages: allow translated copy to wrap without clipping. */
html:not([lang="ko"]) .site-header__inner { gap: 18px; }
html:not([lang="ko"]) .site-nav { gap: 18px; }
html:not([lang="ko"]) .site-header__actions { flex-shrink: 0; }
html:not([lang="ko"]) .site-nav a { text-align: center; }
html:not([lang="ko"]):not([lang="en"]) .video-hero { height: auto; }
html:not([lang="ko"]):not([lang="en"]) .video-hero__content { padding-bottom: 110px; }
html:not([lang="ko"]):not([lang="en"]) .video-hero h1 { overflow-wrap: anywhere; }
html:not([lang="ko"]):not([lang="en"]) .section-heading h2,
html:not([lang="ko"]):not([lang="en"]) .visit-guide h2,
html:not([lang="ko"]):not([lang="en"]) .location h2,
html:not([lang="ko"]):not([lang="en"]) .service-card h3,
html:not([lang="ko"]):not([lang="en"]) .equipment-slide__copy h3 { overflow-wrap: anywhere; }
html:not([lang="ko"]):not([lang="en"]) .service-card { min-height: 410px; height: auto; }
html:not([lang="ko"]):not([lang="en"]) .service-card > div { position: relative; margin-top: auto; }
html:not([lang="ko"]):not([lang="en"]) .service-card { display: flex; flex-direction: column; justify-content: flex-end; }
html:not([lang="ko"]):not([lang="en"]) .service-card > img { position: absolute; inset: 0; }
html:not([lang="ko"]):not([lang="en"]) .screening-card__top { flex-wrap: wrap; }
html:not([lang="ko"]) [id] { scroll-margin-top: 96px; }
@media (max-width: 1250px) {
    html:not([lang="ko"]) .site-nav { display: none; }
}
@media (max-width: 640px) {
    html:not([lang="ko"]) .site-header__inner { gap: 8px; }
    html:not([lang="ko"]) .brand img { width: 138px; }
    html:not([lang="ko"]) .fm-lang-menu > summary { padding: 7px 9px; gap: 5px; }
    html:not([lang="ko"]):not([lang="en"]) .video-hero h1 { font-size: clamp(34px, 10vw, 48px); line-height: 1.16; }
    html:not([lang="ko"]):not([lang="en"]) .video-hero__content { padding-top: 76px; padding-bottom: 65px; }
    html:not([lang="ko"]):not([lang="en"]) .section-heading h2,
    html:not([lang="ko"]):not([lang="en"]) .visit-guide h2,
    html:not([lang="ko"]):not([lang="en"]) .location h2 { font-size: 32px; }
    html:not([lang="ko"]):not([lang="en"]) .contact-banner h2 { font-size: 32px; overflow-wrap: anywhere; }
    html:not([lang="ko"]):not([lang="en"]) .booking-card .button,
    html:not([lang="ko"]):not([lang="en"]) .location__actions .button { white-space: normal; text-align: center; }
}
