html:not([lang=en]) body{font-family:Inter,"Noto Sans CJK TC","Noto Sans CJK JP","PingFang TC","Hiragino Kaku Gothic ProN","Microsoft JhengHei",sans-serif}
html:not([lang=en]) :is(h1,h2,h3){letter-spacing:0;line-height:1.25}
html:not([lang=en]) .hero h1{font-size:clamp(48px,5.4vw,78px)}
html:not([lang=en]) .business-heading h2{font-size:clamp(40px,5.3vw,80px)}
html:not([lang=en]) .business-card-inner h3{overflow-wrap:anywhere}
html:not([lang=en]) .button{white-space:normal;line-height:1.45}
html:not([lang=en]) .about-lead p{line-height:1.85}
html:not([lang=en]) .about .about-heading{max-width:550px}
@media(min-width:1101px){.desktop-nav{gap:clamp(14px,1.8vw,28px)}}
@media(max-width:760px){
 .desktop-nav{gap:10px}
 .site-header .logo img{width:160px;max-width:160px;height:auto;max-height:48px}
 html:not([lang=en]) .hero h1{font-size:clamp(32px,9vw,42px);line-height:1.15}
 html:not([lang=en]) .hero .hero-intro{font-size:14px;line-height:1.65}
 html:not([lang=en]) .business-heading h2{font-size:clamp(28px,7vw,44px)}
 html:not([lang=en]) .business-heading .business-intro{font-size:13px;line-height:1.6}
 html:not([lang=en]) .about .about-title h1{font-size:40px}
 html:not([lang=en]) .about .about-lead p{font-size:16px;line-height:1.85}
 html:not([lang=en]) .incubated-companies h2{font-size:24px}
 html:not([lang=en]) .focus h2{font-size:36px}
 html:not([lang=en]) .navigation .business-nav a{font-size:14px}
}
@media(max-width:350px){.site-header .logo img{width:134px;max-width:134px}.desktop-nav{gap:4px}}

/* Intrinsic inline language links remain usable without JavaScript. */
.language-switch{display:flex;align-items:center;flex:none;gap:12px;white-space:nowrap;font-size:12px;line-height:1.4}
.language-switch a{display:flex;align-items:center;min-height:44px;padding:4px 0;text-underline-offset:6px;color:var(--ink)}
.language-switch a[aria-current=true]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px}
.language-switch a:hover{text-decoration:underline;color:var(--brand)}
.language-switch a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.menu-open .language-switch a{color:inherit}
html[lang=ja] body{font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}
html[lang=zh-Hant] body{font-family:Inter,"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif}
html:not([lang=en]) :is(p,h1,h2,h3){line-break:strict;word-break:normal;overflow-wrap:break-word}
.detail-section .detail-grid,.wellbeing-page .brand-section .detail-grid{align-items:center}
.detail-section .detail-grid>.site-image{position:static;align-self:center;margin-block:0}
.detail-section .detail-copy{min-width:0;align-self:center}
.detail-copy .company-heading{margin:0 0 28px;line-height:1}
.detail-copy .business-company-logo{width:auto;max-width:min(100%,300px);height:76px;object-fit:contain;object-position:left center}
.detail-copy .button,.company-entry .button{max-width:100%;white-space:normal;line-height:1.5}
@media(min-width:1101px) and (max-width:1350px){.desktop-nav{gap:14px;font-size:13px}.site-header{gap:20px}.site-header .logo{width:185px}.language-switch{gap:8px;font-size:11px}}
@media(max-width:760px){
 .site-header{gap:8px;padding-inline:16px}
 .site-header .logo{width:110px;flex-shrink:1}
 .site-header .logo img{width:110px;max-width:100%;height:auto}
 .desktop-nav{gap:10px}
 .language-switch{gap:9px;font-size:11px}
 .site-header .menu-toggle{width:32px;min-width:32px}
 .intro-lockup{width:clamp(180px,52vw,220px);--intro-scale:1.35}
 .detail-copy .business-company-logo{height:60px;max-width:min(100%,260px)}
}
@media(max-width:360px){.site-header{padding-inline:12px}.language-switch{gap:7px;font-size:10px}.site-header .logo{width:88px}.site-header .logo img{width:88px}.desktop-nav{gap:6px}}
/* Globe disclosure: native keyboard behavior with readable language names. */
.language-switch{position:relative;display:block;font-size:14px;flex:0 0 44px;white-space:normal}
.language-switch summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;list-style:none;color:var(--ink);border-radius:50%}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary:hover,.language-switch[open] summary{background:transparent}
.language-switch summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.language-options{position:absolute;inset-inline-end:0;top:calc(100% + 10px);display:flex;flex-direction:column;min-width:172px;padding:8px 16px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #123b6b1a;z-index:60}
.language-options a{font-size:14px;min-height:44px;white-space:nowrap}
@media(max-width:760px){
 .site-header .logo{width:160px;flex-shrink:0}
 .site-header .logo img{width:160px;max-width:100%;height:auto}
 .language-switch{font-size:14px;flex-basis:44px}
 .about{background:#fff;color:var(--ink);padding-block:80px;min-height:0;display:block}
 .about:after{display:none}
 .about .about-heading{max-width:none!important;align-items:center;text-align:center;gap:28px}
 .about .about-title h1,html:not([lang=en]) .about .about-title h1{color:var(--ink);font-size:clamp(40px,11vw,52px);line-height:1.15;margin:0}
 .about .about-lead p,html:not([lang=en]) .about .about-lead p{color:var(--text);font-size:16px;line-height:1.8;margin:0;max-width:540px;text-align:center}
 .about .about-grid{display:block;margin-top:64px}
 .about .about-grid>.about-portrait{position:relative;inset:auto;width:100%;height:auto;margin:0;border-radius:0;z-index:auto}
 .about .about-portrait picture{position:static;display:block;width:100%;height:auto;border-radius:0}
 .about .about-portrait img{position:static;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
 .incubated-companies>.wrap{text-align:center}
 .incubated-companies h2{margin-inline:auto;max-width:340px}
}
@media(max-width:360px){.site-header .logo{width:140px}.site-header .logo img{width:140px}}

/* Match the primary navigation: fine rules, brand blue and square edges. */
.language-switch summary{color:var(--brand);border-radius:0}
.menu-open .language-switch{visibility:hidden;pointer-events:none}
.language-options{min-width:220px;padding:16px 24px;background:var(--brand);color:#fff;border:0;border-radius:0;box-shadow:none}
.language-options a,.menu-open .language-options a{color:#fff;min-height:52px;border-bottom:1px solid #ffffff40;font-size:15px;font-weight:400;text-decoration:none}
.language-options a:last-child{border-bottom:0}
.language-options a:hover{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.language-options a[aria-current=true]{font-weight:600;text-decoration:underline;text-decoration-thickness:1px}
.language-options a:focus-visible{outline-color:#fff}
.detail-copy .business-company-logo[src*="kc-logo-02"]{height:116px;max-width:100%}
.detail-copy .business-company-logo[src*="denmarking-logo"],.detail-copy .business-company-logo[src*="mvc-full-logo"]{height:auto;width:440px;max-width:100%}
@media(max-width:760px){
 .detail-copy .business-company-logo[src*="kc-logo-02"]{height:96px}
 .detail-copy .business-company-logo[src*="denmarking-logo"],.detail-copy .business-company-logo[src*="mvc-full-logo"]{width:100%;height:auto}
 .about{background:var(--brand);color:#fff}
 .about .about-title h1,html:not([lang=en]) .about .about-title h1{color:#fff}
 .about .about-lead p,html:not([lang=en]) .about .about-lead p{color:#fff}
 .about .about-grid{margin-top:48px}
 .about .about-grid>.about-portrait{overflow:hidden;border-radius:4px}
 .about .about-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08499e26,transparent 60%)}
}
/* Align against each translated Contact button's actual rendered position. */
.language-options{border-radius:4px}
@media(min-width:1101px){
 .language-options{inset-inline-end:auto;left:var(--language-panel-left,0px)}
}
@media(max-width:760px){
 .language-options{min-width:140px;width:140px;padding:8px 16px}
 .language-options a{font-size:12px;min-height:44px}
}
/* The last image card uses the same spacing and measured height as its peers. */
.morph-front .business-card-inner{padding:58px 30px;gap:28px}
@media(max-width:760px){
 .motion-enabled .morph-front .business-card-inner{height:100%;padding:48px 18px;gap:24px}
}
html:not([lang=en]) .morph-front h3,html:not([lang=en]) .morph-front h3 a{white-space:nowrap;overflow-wrap:normal;word-break:normal}
html[lang=ja] .business-heading h2,html[lang=ja].motion-enabled .business-heading h2{white-space:normal;max-width:100%;font-size:clamp(30px,3.8vw,56px);line-height:1.2}
html[lang=ja] .business-heading .biotech-years{display:block}
html[lang=ja] .business-heading .biotech-label{display:block;font-size:.56em;line-height:1.5;white-space:normal;overflow-wrap:normal}
@media(max-width:760px){
 html[lang=ja].motion-enabled .business-heading h2{font-size:clamp(30px,9vw,40px);max-width:100%}
 html[lang=ja] .business-heading .biotech-label{font-size:.5em}
}
/* Keep the short Japanese/CJK headings together without changing English. */
html[lang=ja] .hero h1{display:flex;flex-wrap:nowrap;gap:0;white-space:nowrap;font-size:clamp(36px,5.2vw,72px)}
html[lang=ja] .hero h1>span{display:inline-block;flex:none}
html:not([lang=en]) .regenerative-hook p,html:not([lang=en]) .focus h2{white-space:nowrap;word-break:normal;overflow-wrap:normal}
html:not([lang=en]) .regenerative-hook p br,html:not([lang=en]) .focus h2 br{display:none}
@media(max-width:760px){
 html[lang=ja] .hero h1{font-size:clamp(25px,7.5vw,38px);line-height:1.2}
 html:not([lang=en]) .focus h2,html:not([lang=en]).motion-enabled .morph-surface .focus h2{font-size:clamp(30px,8.5vw,42px)}
}
/* Unified Japanese chronology title and clearer strategic-focus spacing. */
html[lang=ja] .business-heading h2,html[lang=ja].motion-enabled .business-heading h2{font-size:clamp(20px,2.1vw,32px);white-space:nowrap;line-height:1.4}
html[lang=ja] .business-heading .biotech-years,html[lang=ja] .business-heading .biotech-label{display:inline;font-size:1em;line-height:inherit;white-space:nowrap}
html[lang=ja] .hero h1{font-weight:700}
.focus h2,.motion-enabled .morph-surface .focus h2{margin-bottom:36px}
@media(max-width:760px){
 html[lang=ja].motion-enabled .business-heading h2{font-size:clamp(16px,4.1vw,24px)}
 .focus h2,.motion-enabled .morph-surface .focus h2{margin-bottom:32px}
}
/* Match the header mark to the established footer lockup. */
.site-header .logo{width:auto;height:48px;max-width:200px;flex-shrink:0}
.site-header .logo img{width:auto;height:48px;max-width:200px;max-height:none}
html[lang=ja] .business-heading h2,html[lang=ja].motion-enabled .business-heading h2{font-size:clamp(24px,2.7vw,40px)}
@media(max-width:760px){
 .site-header .logo,.site-header .logo img{width:auto;height:38px;max-width:170px}
 html[lang=ja].motion-enabled .business-heading h2{font-size:clamp(17px,4.8vw,22px)}
}

/* Align mobile navigation with the page and footer content grid. */
@media(max-width:760px){.site-header{padding-inline:var(--gutter)}}

/* Carry the desktop photographic brand banner into the mobile introduction. */
@media(max-width:760px){
 .about{display:flex;align-items:center;min-height:620px;padding-block:80px;background:var(--brand)}
 .about .about-heading{align-items:stretch;text-align:left;gap:28px}
 .about .about-title h1,html:not([lang=en]) .about .about-title h1{font-size:clamp(40px,11vw,52px);line-height:1.12;color:#fff}
 .about .about-lead p,html:not([lang=en]) .about .about-lead p{text-align:left;font-size:16px;line-height:1.8;color:#fff}
 .about .about-grid{margin:0}
 .about .about-grid>.about-portrait{position:absolute;inset:0;width:100%;height:100%;border-radius:0;z-index:0}
 .about .about-portrait picture{position:absolute;inset:0;width:100%;height:100%}
 .about .about-portrait img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:64% center}
 .about .about-portrait:after{display:none}
 .about:after{display:block;background:linear-gradient(90deg,rgba(8,73,158,.96),rgba(8,73,158,.84) 65%,rgba(8,73,158,.68));z-index:1}
}

/* Compact the mobile family strip while retaining its title-to-logo spacing. */
@media(max-width:760px){.incubated-companies{padding-block:40px}}

/* Align the family heading with the shared mobile content gutter. */
@media(max-width:760px){.incubated-companies>.wrap{text-align:left}.incubated-companies h2{margin-inline:0;max-width:none;text-align:left}}

/* The shared English slogan retains the same layout in every language. */
html:not([lang=en]) .hero h1{display:block;white-space:normal;font-size:clamp(54px,5.7vw,90px);font-weight:450;line-height:1.06}
html:not([lang=en]) .hero h1>span{display:block}
@media(max-width:1100px){html:not([lang=en]) .hero h1{font-size:6.8vw}}
@media(max-width:760px){html:not([lang=en]) .hero h1{font-size:clamp(32px,9.8vw,44px);line-height:1.08}}

@media(max-width:760px){html[lang=ja].motion-enabled .business-heading h2{font-size:clamp(14px,3.9vw,22px)}}

/* Mobile scroll cue follows the label's typography without a circular badge. */
@media(max-width:760px){
 .hero .scroll-link>span{width:auto;height:auto;min-width:0;border:0;border-radius:0;background:none;display:inline;font-size:1em;font-weight:inherit;line-height:inherit}
}

.regenerative-hook p,.motion-enabled .regenerative-hook p{font-size:var(--matched-heading-size,clamp(32px,3.8vw,60px))!important;transform:none!important}
