/* Additions only: keep the original visual system and responsive breakpoints. */
.language-switch{position:relative;flex:0 0 auto;color:var(--gold-light);font-size:12px;letter-spacing:0;z-index:20}
.language-switch summary{display:flex;gap:6px;align-items:center;min-height:36px;padding:5px 8px;cursor:pointer;list-style:none;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch>nav{position:absolute;right:0;top:calc(100% + 8px);min-width:125px;padding:6px;background:var(--navy-900);border:1px solid #b9955966;box-shadow:0 8px 24px #0005}
.language-switch nav a{display:block;padding:10px 12px;color:#fff;white-space:nowrap}
.language-switch nav a:hover,.language-switch nav a[aria-current]{background:#b9955926;color:var(--gold-light)}
.mobile-languages{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #b9955933;padding:12px 0}
.mobile-languages>span{font-size:11px;color:var(--gold-light)}
.mobile-languages a{font-size:13px;padding:8px 4px!important}
.mobile-languages a[aria-current]{color:var(--gold-light);text-decoration:underline;text-underline-offset:5px}
html[lang=en] .nav-en,html[lang=zh-CN] .nav-en{display:none}
html[lang=en] .desktop-nav{gap:16px}
html[lang=en] .hero h1{font-size:clamp(38px,4.9vw,78px);letter-spacing:-.035em}
html[lang=en] :is(.section-heading h2,.service-guide-intro h2,.consulting-intro h2){letter-spacing:-.03em;overflow-wrap:break-word}
html[lang=en] :is(.button,.detail-cta,.header-cta){white-space:normal;text-align:center}
html[lang=en] .fee-price-list strong b{font-size:clamp(24px,2.1vw,34px)}
html[lang=en] .fee-price-list strong{white-space:normal}
html[lang=en] .filing-fee-row{gap:18px}
html[lang=en] .filing-fee-row>span{min-width:0}
html[lang=en] .filing-fee-row>strong{flex-shrink:0}
html[lang=en] .privacy-consent{grid-template-columns:1fr}
html[lang=en] .privacy-policy-link{white-space:normal}
html:not([lang=ko]) :is(.service-category>p,.service-detail summary>span,.contact-intro,.footer-info){min-width:0;overflow-wrap:break-word}
html:not([lang=ko]) :is(.service-category nav a,.detail-process,.check-row,.consulting-card){gap:10px}
@media(min-width:1181px) and (max-width:1450px){.header-inner{gap:14px}.desktop-nav{gap:14px}html[lang=en] .desktop-nav{gap:12px}html[lang=en] .nav-ko{font-size:12px}.header-cta{padding-left:14px;padding-right:14px}}
@media(max-width:1180px){.language-switch{margin-left:auto}.header-inner .menu-button{margin-left:0}html[lang=en] .desktop-nav{display:none}}
@media(max-width:760px){.language-switch summary{font-size:11px;padding:5px}.header-inner{gap:10px}html[lang=en] .hero h1{font-size:clamp(31px,7.8vw,48px)}html[lang=en] .filing-fee-row{align-items:flex-start}html[lang=en] .filing-fee-row>strong{font-size:12px}html[lang=en] .detail-process{flex-wrap:wrap}html[lang=en] .fee-notice .button{max-width:100%}}
.mobile-languages>span,.mobile-languages a[aria-current]{color:#94672d}
@media(max-width:1180px){.mobile-nav{max-height:calc(100dvh - 145px);overflow-y:auto}}
@media(max-width:380px){.brand-logo{max-width:calc(100vw - 140px)}.brand-logo img{max-width:100%}}
html[lang=zh-CN] body{word-break:normal;overflow-wrap:anywhere}
html:not([lang=ko]) :is(.greeting-intro,.greeting-body,.startup-intro,.communication-panel,.resolution-card>*,.footer-grid>*){min-width:0}
@media(max-width:380px){.header-inner .brand{width:calc(100vw - 145px)}.brand-logo{height:39px;max-width:100%}}
@media(min-width:1181px) and (max-width:1450px){.header-inner .brand{width:220px}.header-inner .brand-logo{height:48px}.desktop-nav{font-size:13px;gap:12px}.header-cta{min-width:105px;min-height:48px;font-size:13px}.language-switch{font-size:11px}}
html:not([lang=ko]) :is(.desktop-nav a:hover,.desktop-nav a:focus-visible,.header-cta:hover,.header-cta:focus-visible) .nav-ko{opacity:1;transform:none}
/* Long translated text must stay within its own column. */
html:not([lang=ko]) .greeting-intro>.greeting-signature{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;padding:22px 24px}
html:not([lang=ko]) .greeting-intro>.greeting-signature>span{align-self:start;letter-spacing:.08em}
html:not([lang=ko]) .greeting-intro>.greeting-signature p{min-width:0;max-width:100%;text-align:left;line-height:1.65;overflow-wrap:anywhere}
html:not([lang=ko]) .greeting-intro>.greeting-signature strong{white-space:normal;overflow-wrap:anywhere;line-height:1.6;font-size:18px;margin-top:6px}
html[lang=en] .greeting-intro>.greeting-signature{font-family:Arial,sans-serif}
html[lang=zh-CN] :is(.greeting-signature,.greeting-signature strong,.greeting-lead strong,.greeting-principles){font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif}
html[lang=zh-CN] :is(.section-kicker,.trust-item small,.fee-card-label small){letter-spacing:.07em}
html:not([lang=ko]) :is(.fee-card-label,.fee-price-list>div,.footer dl>div,.service-detail summary,.service-category nav a){min-width:0}
html:not([lang=ko]) :is(.fee-card-label small,.fee-price-list>div>span,.fee-price-list strong,.filing-fee-row strong,.footer dt,.footer dd){min-width:0;white-space:normal;overflow-wrap:anywhere}
html[lang=en] .fee-price-list>div{grid-template-columns:minmax(0,1fr);align-items:start;gap:6px}
html[lang=en] .fee-price-list small{grid-column:1;text-align:left}
html[lang=en] .fee-price-list strong .fee-currency{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:inherit}
html[lang=en] .fee-price-list strong b{display:inline-block;line-height:1.3}
html:not([lang=ko]) .footer dl>div{grid-template-columns:minmax(0,1fr);gap:5px}
html:not([lang=ko]) .footer dd{margin-left:0}
@media(max-width:760px){html:not([lang=ko]) .greeting-intro>.greeting-signature{padding:20px}html[lang=en] .service-detail summary{grid-template-columns:32px minmax(0,1fr) 22px;gap:10px}html[lang=en] .service-detail summary h3{font-size:clamp(18px,4.8vw,24px);overflow-wrap:break-word}}

/* Stack long labels and narrow client-support cards before they collide. */
html:not([lang=ko]) .location-info dl>div{grid-template-columns:minmax(0,1fr);gap:8px}
html:not([lang=ko]) :is(.location-info dt,.location-info dd,.resolution-content,.resolution-promises li){min-width:0;overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1180px){html:not([lang=ko]) .resolution-card{grid-template-columns:minmax(0,1fr);padding:26px 22px}html:not([lang=ko]) .resolution-promises{grid-template-columns:minmax(0,1fr)}}
