.language-trigger { position:absolute; right:170px; top:32px; display:flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:8px 12px; border:1px solid #dedede; border-radius:22px; background:#fff; color:#333; font-size:13px; cursor:pointer; }
.language-trigger svg { width:18px; height:18px; }
.language-code { display:none; }
.language-trigger:focus-visible, .language-dialog button:focus-visible { outline:2px solid #171717; outline-offset:-4px; }
.language-dialog { position:fixed; margin:auto; padding:0; border:1px solid #e6e6e6; border-radius:20px; width:min(440px,calc(100vw - 32px)); max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); background:#fff; color:#222; box-shadow:0 24px 80px #0003; overflow:hidden; }
.language-dialog[open] { display:flex; flex-direction:column; }
.language-dialog, .language-dialog * { box-sizing:border-box; }
.language-dialog::backdrop { background:rgba(10,10,10,.45); backdrop-filter:blur(4px); }
.language-dialog header { padding:26px 28px 20px; border-bottom:1px solid #e9e9e9; flex-shrink:0; position:relative; }
.language-dialog header p { font-size:10px; letter-spacing:2px; font-weight:600; margin-bottom:7px; }
.language-dialog h2 { font-size:23px; font-weight:600; padding-right:36px; line-height:1.3; }
.language-close { position:absolute; top:20px; right:18px; width:44px; height:44px; background:#f5f5f5; border-radius:50%; cursor:pointer; display:grid; place-items:center; }
.language-close svg { width:18px; height:18px; }
.language-options { overflow-y:auto; overscroll-behavior:contain; padding:6px 16px 16px; min-height:0; }
.language-option { display:flex; align-items:center; gap:15px; width:100%; min-height:57px; padding:11px 12px; margin:0; border-radius:8px; background:#fff; color:#222; cursor:pointer; text-align:left; }
.language-option + .language-option { border-top:1px solid #f0f0f0; }
.language-option img { width:24px; height:18px; object-fit:cover; flex-shrink:0; border-radius:2px; box-shadow:0 0 0 1px #0001; }
.language-label { display:flex; flex-direction:column; gap:2px; min-width:0; }
.language-label > span { font-family:inherit; font-size:16px; line-height:1.3; }
.language-label small { color:#7b7b7b; font-family:Arial,sans-serif; font-size:11px; line-height:1.3; }
.language-check { margin-left:auto; font-size:17px; opacity:0; }
.language-option[aria-pressed="true"] { background:#f1f1ee; }
.language-option[aria-pressed="true"] .language-check { opacity:1; }
.language-error { color:#a21f1f; padding:10px 28px; font-size:13px; }
.language-error[hidden] { display:none; }
body.language-open { position:fixed; left:0; right:0; width:100%; overflow:hidden; }
.language-dialog[aria-busy="true"] .language-options { opacity:.65; }
html:not([lang="ko"]) body { word-break:normal; overflow-wrap:break-word; }
html:not([lang="ko"]) li, html:not([lang="ko"]) p { word-break:normal; }
html[lang="vi"] body { font-family:Arial,"Noto Sans",sans-serif; }
.main_info h2 { max-width:65%; line-height:1.5; }
.main_info h2 i { display:block; margin-top:3px; }
html:not([lang="ko"]) .main_hero .text h2 { max-width:38%; white-space:normal; text-align:right; }
html:not([lang="ko"]) .brandstory .box .text h1 { font-size:clamp(22px,3.5vw,55px); line-height:1.2; }
html:not([lang="ko"]) .brandstory .box .text h2 { line-height:1.45; }
html:not([lang="ko"]) .inq .box p { overflow-wrap:break-word; }
@media (hover:hover) { .language-option:hover { background:#f7f7f5; } }
@media (min-width:768px) and (max-width:1100px) {
    .language-trigger { right:125px; top:27px; }
    .language-trigger .language-current { display:none; }
    .language-trigger .language-code { display:inline; }
    .menu { display:flex; justify-content:center; gap:24px; }
    .menu a { margin:0; font-size:15px; }
}
@media (max-width:767px) {
    .language-trigger { top:14px; right:12px; min-height:40px; padding:8px 10px; gap:5px; }
    .language-current { display:none; }
    .language-code { display:inline; font-size:11px; font-weight:700; }
    .language-trigger svg { width:16px; height:16px; }
    .language-dialog { top:auto; bottom:0; margin:0 auto; width:100%; max-width:520px; max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); border-radius:20px 20px 0 0; padding-bottom:env(safe-area-inset-bottom); }
    .language-dialog header { padding:22px 22px 17px; }
    .language-dialog h2 { font-size:22px; }
    .language-options { padding:5px 12px 12px; }
    .language-option { min-height:56px; }
    .main_info h2 { max-width:none; }
    .main_exp .text { right:12px; }
    .main_exp .text h2 { font-size:19px; line-height:1.25; }
    .subtitle .submenu { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; padding:0 12px; }
    .subtitle .submenu img { display:none; }
    .subtitle .submenu a { font-size:12px; line-height:1.5; }
    .floor_link ul { display:flex; overflow-x:auto; }
    .floor_link li { flex:0 0 auto; min-width:92px; }
    .floor_link li p { white-space:normal; max-width:135px; line-height:1.3; }
    .main_space .tab { display:flex; gap:5px; overflow-x:auto; }
    .main_space .tab a { white-space:nowrap; flex-shrink:0; }
    html:not([lang="ko"]) .exp_top .text h1 { font-size:22px; line-height:1.35; }
    html:not([lang="ko"]) .brandstory { max-height:none; }
    html:not([lang="ko"]) .brandstory .box .text { margin-top:30%; padding:0 10%; }
    html:not([lang="ko"]) .brandstory .box .text h1 { font-size:23px; letter-spacing:1px; }
    html:not([lang="ko"]) .brandstory .box .text h2 { font-size:12px; letter-spacing:.5px; }
    html:not([lang="ko"]) .brandstory .box .text p { font-size:13px; line-height:1.5; }
    .pano-close { font-size:12px; max-width:110px; white-space:normal; line-height:1.1; padding:0 8px; }
}
@media (prefers-reduced-motion:reduce) { .language-dialog *, .language-trigger { transition:none; } }

/* Text labels next to icon-font spans inherit the surrounding link styles. */
.i18n-text { font:inherit !important; color:inherit !important; vertical-align:baseline !important; padding:0 !important; margin:0 !important; letter-spacing:inherit !important; }
.header-actions { position:absolute; right:50px; top:30px; display:flex; align-items:center; gap:22px; }
.header-actions .language-trigger { position:static; font-family:inherit; flex-shrink:0; }
.gnb .header-actions .right { position:static; }
.gnb .header-actions .right a { margin:0; white-space:nowrap; }
.language-dialog button { font-family:inherit; }
.hambox { overflow-y:auto; overscroll-behavior:contain; }
.hambox:not(.on) { visibility:hidden; }
.hambox.on { visibility:visible; }
@media (min-width:768px) and (max-width:1100px) { .header-actions { right:20px; top:20px; gap:14px; } }
@media (max-width:767px) { .header-actions { right:12px; top:14px; } }
