/* Shared language controls. */
.bsk-language-switch{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;letter-spacing:.08em;white-space:nowrap}
.bsk-language-switch a{color:inherit;text-decoration:none;padding:8px 2px}
.bsk-language-switch a[aria-current]{font-weight:700;border-bottom:2px solid currentColor}
.bsk-language-switch a:focus-visible{outline:2px solid #005bac;outline-offset:3px}
.app-header-nav{display:flex;align-items:center}
.app-header-nav .bsk-language-switch{color:#fff;margin-right:8px}
.bsk-language-note{font-size:13px;line-height:1.5;margin:12px 0;color:inherit}
.bsk-mobile-legal{display:flex;flex-wrap:wrap;gap:10px 18px;padding:14px 0;font-size:12px}
.bsk-mobile-legal a{font-size:12px!important}

/* Preserve the shared corporate graphics; set readable English text metrics. */
html[lang=en] body,html[lang=en] :is(h1,h2,h3,h4,h5,h6,p,a,span,div,dt,dd,li,th,td,small,strong,label,button,input,textarea,select,summary,figcaption,time){font-family:"Times New Roman",Times,serif!important}
html[lang=en] .top-nav .nav-link{font-size:14px;white-space:nowrap}
html[lang=en] .nav-submenu-list{min-width:190px}
html[lang=en] :is(.page-container,.section-container){overflow-wrap:break-word}
html[lang=en] :is(.page-section p,.sub-container p,.s1-sub-container p){font-size:16px;line-height:1.75;letter-spacing:normal;font-weight:400;text-align:left}
html[lang=en] .page-section :is(h2,h3,h4){line-height:1.3;letter-spacing:normal}
html[lang=en] .page-section h2{font-size:clamp(26px,2.5vw,34px);text-wrap:balance}
html[lang=en] .page-section :is(h3,h4){font-size:19px}
html[lang=en] .page-section .bsk-language-note,html[lang=en] .bsk-language-note{font-size:13px;line-height:1.5;letter-spacing:normal}
html[lang=en] .news-feed-header-text small{font-size:11px;line-height:1.4;letter-spacing:normal}
html[lang=en] .section1-subtext{font-size:clamp(20px,2vw,28px);line-height:1.45;letter-spacing:.015em}
html[lang=en] .bsk-service-nav a{line-height:1.4}
html[lang=en] .hp-entry-links :is(small,strong){line-height:1.45;letter-spacing:normal}
html[lang=en] .hp-entry-links a{min-width:0}
html[lang=en] .hp-contact-topics a{white-space:normal}
html[lang=en] .hp-service-page h1{line-height:1.2;letter-spacing:normal}
html[lang=en] .page-section table{width:100%;table-layout:fixed;font-size:15px;line-height:1.55}
html[lang=en] .page-section :is(th,td){overflow-wrap:break-word;word-break:normal;padding:12px;vertical-align:top;letter-spacing:normal}

/* English bios must fit their content, including longer role names. */
html[lang=en] .content-cards-2x2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
html[lang=en] .content-cards-2x2 .content-card{display:grid;grid-template-columns:44% minmax(0,1fr);height:auto;min-height:170px;text-decoration:none}
html[lang=en] .content-card>img{width:100%;height:100%;object-fit:contain;object-position:center}
html[lang=en] .content-card>div{width:auto;min-width:0;padding:18px 14px;gap:12px;justify-content:center!important}
html[lang=en] .content-card-title{font-size:18px;line-height:1.3;letter-spacing:normal;font-weight:700;text-wrap:balance}
html[lang=en] .content-card-subtitle{font-size:14px;line-height:1.45;letter-spacing:normal;font-weight:400}
html[lang=en] .content-card-subtitle span{display:inline-block;margin-top:6px;font-size:14px}

/* Home-page cards grow with their captions instead of clipping text. */
html[lang=en] .card-title-jp,html[lang=en] .card-title-en{font-size:17px;line-height:1.3;letter-spacing:normal;text-align:center;padding:10px 12px;height:auto;min-height:48px;flex:1}
html[lang=en] .page-card:has(>.card-title){height:auto;min-height:120px}
html[lang=en] .forearth-card{height:auto;align-items:stretch}
html[lang=en] .forearth-card-img{flex:0 0 24%;min-width:0}
html[lang=en] .forearth-card-img img{width:100%;height:100%;object-fit:contain}
html[lang=en] .forearth-card-title{height:auto;min-height:116px;min-width:0;padding:18px 22px;gap:6px;align-items:flex-start;justify-content:center}
html[lang=en] .forearth-card-title-head{font-size:18px;line-height:1.3;letter-spacing:normal}
html[lang=en] .forearth-card-title-body{font-size:15px;line-height:1.6;letter-spacing:normal}
html[lang=en] .factory-row2-card-btn,html[lang=en] .app-factory-row2-card-btn{line-height:1.4;letter-spacing:normal;white-space:normal;padding:10px}
html[lang=en] .access-card-row{align-items:flex-start}
html[lang=en] .access-card{min-width:0;flex:1}
html[lang=en] .access-card p{font-size:15px}
html[lang=en] .services-card-content{padding:20px;min-width:0}
html[lang=en] .services-card-title{font-size:21px;line-height:1.3;letter-spacing:normal}
html[lang=en] .services-card-content>p{font-size:15px;line-height:1.65;letter-spacing:normal;text-align:left}

/* A second navigation row keeps every link readable on tablet widths. */
@media(min-width:768px) and (max-width:1199px){
 html[lang=en] .header{height:auto}
 html[lang=en] .header>.row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;margin:0}
 html[lang=en] .header .col.text-center{grid-column:1/-1;grid-row:2}
 html[lang=en] .header .navbar{height:auto;min-height:44px;padding:0}
 html[lang=en] .header .top-nav{flex-wrap:wrap;justify-content:center}
 html[lang=en] .header .top-nav .nav-link{padding:10px!important}
 html[lang=en] .header-logo{height:25px;margin-left:12px}
 html[lang=en] .header-logo-text{height:16px}
 html[lang=en] .header .topmenu-search{height:44px!important}
 html[lang=en] .page-container{width:calc(100% - 80px);max-width:800px}
 html[lang=en] .top-modal .page-container{width:calc(100% - 48px)}
 html[lang=en] .content-cards-2x2{gap:18px}
}
@media(max-width:767px){
 html[lang=en] .page-container{width:calc(100% - 40px);margin:40px auto 56px}
 html[lang=en] .section1-subtext{font-size:21px}
 html[lang=en] :is(.page-section p,.sub-container p,.s1-sub-container p){font-size:16px;line-height:1.7}
 html[lang=en] .page-section{margin-bottom:48px}
 html[lang=en] .content-cards-2x2{grid-template-columns:minmax(0,1fr);gap:16px}
 html[lang=en] .content-cards-2x2 .content-card{min-height:160px}
 html[lang=en] .content-card>div{padding:16px 14px}
 html[lang=en] .content-card-title{font-size:18px}
 html[lang=en] .content-card-subtitle{font-size:14px}
 html[lang=en] .hp-entry-links strong{font-size:14px}
 html[lang=en] .page-section table{font-size:13px;line-height:1.45}
 html[lang=en] .page-section :is(th,td){padding:8px 6px;hyphens:auto}
 html[lang=en] .forearth-card-img{flex-basis:28%}
 html[lang=en] .forearth-card-title{padding:15px;min-height:130px}
 html[lang=en] .forearth-card-title-head{font-size:17px}
 html[lang=en] .forearth-card-title-body{font-size:14px;line-height:1.5}
 html[lang=en] .app-factory-row2-card-btn{font-size:16px}
 html[lang=en] .app-header-menu{height:auto;max-height:calc(100dvh - 56px);overflow-y:auto;padding:24px 20px}
 html[lang=en] .app-header-menu ul{gap:12px}
 html[lang=en] .app-header-menu li a{font-size:22px;line-height:1.3}
 html[lang=en] .app-header-menu hr{margin:20px auto}
 html[lang=en] .bsk-mobile-legal{justify-content:center}
}
/* Keep the semantic equipment table, but read each press vertically on phones. */
@media(max-width:599px){
 html[lang=en] #our-factory-container .page-section:first-child>table{display:block;border:0}
 html[lang=en] #our-factory-container .page-section:first-child>table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 html[lang=en] #our-factory-container .page-section:first-child>table tbody{display:grid;gap:18px;border:0}
 html[lang=en] #our-factory-container .page-section:first-child>table tbody tr{display:block;border:1px solid #dce3ec}
 html[lang=en] #our-factory-container .page-section:first-child>table td{display:block;width:100%;padding:12px 16px;border:0;font-size:15px;line-height:1.55;hyphens:none}
 html[lang=en] #our-factory-container .page-section:first-child>table td:first-child{background:#edf2f8;color:#005bac;font-size:17px;font-weight:700}
 html[lang=en] #our-factory-container .page-section:first-child>table td+td{border-top:1px solid #edf2f8}
 html[lang=en] #our-factory-container .page-section:first-child>table td:nth-child(2):before,html[lang=en] #our-factory-container .page-section:first-child>table td:nth-child(3):before{display:block;font-size:12px;line-height:1.5;margin-bottom:4px;color:#687382}
 html[lang=en] #our-factory-container .page-section:first-child>table td:nth-child(2):before{content:'Features'}
 html[lang=en] #our-factory-container .page-section:first-child>table td:nth-child(3):before{content:'Applications'}
}

/* The shared tablet layout also needs room for the existing Japanese captions. */
@media(min-width:768px) and (max-width:991px){html[lang=ja] .forearth-card,html[lang=ja] .forearth-card-title{height:auto;min-height:100px}}
