/* Production interaction states and cross-language layout constraints. */
:root{--rule:rgba(1,53,109,.14);--finish-muted:#496881;--finish-rule:rgba(1,53,109,.14);--finish-space:clamp(40px,4.4vw,72px)}
[hidden]{display:none!important}
.page-wrapper :is(h1,h2,h3,p,dd){overflow-wrap:break-word}
button,input,summary{font-family:var(--font-sans)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}
.page-wrapper .cta-plus{min-height:44px;line-height:1.5}
.page-wrapper .cta-plus-circle{flex-shrink:0}
.page-wrapper .cta-plus:hover .cta-plus-circle{transform:rotate(90deg) scale(1.04)}
.footer-nav-links a{font-size:14px;line-height:1.8;opacity:.9}
.footer-brand p,.footer-bottom{line-height:1.85}
.search-open{overflow:hidden}
.search-overlay{overflow:auto;padding:80px 24px;align-items:flex-start}
.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;border-radius:28px;max-width:850px;max-height:none;padding:20px;gap:12px;margin:auto}
.search-form input{min-width:0;padding:14px 18px;min-height:52px;font-size:18px}
.search-form>button{min-height:44px;border-radius:14px;padding:10px 18px;font-size:15px}
.search-results{grid-column:1/-1;min-width:0;max-height:65vh;overflow:auto;color:var(--color-dark);padding:0 12px}
.search-status{font-size:14px;line-height:1.7;margin:12px 0}
.search-results ul{list-style:none;margin:0;padding:0}
.search-results a{display:grid;gap:8px;padding:18px 4px;border-top:1px solid #d7e3ed}
.search-results strong{font-size:18px;line-height:1.55}
.search-results span{font-size:14px;line-height:1.7;color:#496881}
.search-results a:hover strong{color:var(--color-main)}
.mobile-nav__close{display:block;margin:0 0 16px auto;border:1px solid #d7e3ed;border-radius:50%;width:44px;height:44px;background:white;color:var(--color-main);font-size:26px;cursor:pointer}
.reveal-ready{opacity:1;transform:none}
.feature-card{height:auto;min-height:420px}
.news-item:hover{transform:none}
.news-title{line-height:1.6}
.medical-source-note{font-size:14px;line-height:1.85;color:#496881;border-left:3px solid var(--color-accent);padding:14px 20px;background:#edf5f8;margin:28px 0}
.inner-design .mfg-card:last-child .medical-source-note{color:var(--color-dark)}
html[lang="en"] .nav-menu{gap:12px}
html[lang="en"] .nav-link{font-size:14px}
html[lang="en"] .meta-nav a{font-size:12px}
html[lang="en"] .dropdown-menu{min-width:320px}
html[lang="en"] .hero-card h1,html[lang="en"] .hero-card h2{font-size:clamp(30px,2.9vw,40px);line-height:1.18;letter-spacing:-.03em}
html[lang="en"] .hero-card p{font-size:15px;line-height:1.65}
html[lang="en"] .hero-card .hero-en-slogan{font-size:12px}
html[lang="en"] .product-card{aspect-ratio:auto;min-height:290px;border-radius:36px}
html[lang="en"] .product-card h3{font-size:24px}
html[lang="en"] .product-meta{font-size:13px;line-height:1.6}
html[lang="en"] .product-badge{max-width:90%;white-space:normal}
html[lang="en"] .product-generic{font-size:14px}
html[lang="en"] .products-filter{border-radius:24px}
html[lang="en"] .products-filter button{padding:10px 14px}
html[lang="en"] .products-index .name{font-size:21px}
html[lang="en"] .products-index .generic{line-height:1.6}
html[lang="en"] .ir-toc a{white-space:normal}
html[lang="en"] .chain-node__name{line-height:1.55}
html[lang="en"] .research-hero h1{letter-spacing:-.025em}
html[lang="en"] .research-tagline{letter-spacing:0;line-height:1.55}
html[lang="en"] .matrix-heading{font-size:11px}
html[lang="en"] .matrix-stages{font-size:11px;line-height:1.5}
html[lang="en"] .phase-labels{font-size:11px;line-height:1.5}
html[lang="en"] .compound-body-label{letter-spacing:0}
html[lang="en"] .compound-copy{line-height:1.85}
@media (min-width:993px){
.hero-section{grid-template-rows:auto;align-items:stretch}
.hero-card-wrap{height:auto;min-height:0;max-height:none;align-self:stretch}
.hero-card{height:100%;min-height:0;max-height:none}
.hero-image-wrapper{flex:1 1 auto;aspect-ratio:auto;height:auto;min-height:clamp(220px,26vw,368px);max-height:none;align-self:stretch}
.hero-media-stack{align-self:stretch;height:100%;min-height:0}
}
@media (min-width:993px) and (max-width:1200px){
/* Mid desktop: left card is taller relative to a 16:9 frame — keep pathway compact so stretch stays balanced. */
.hero-card{padding-bottom:184px}
.hero-pathway{height:168px;width:min(calc(100% - 24px),400px);bottom:32px}
}
@media (max-width:1250px){
html[lang="en"] .nav-menu,html[lang="en"] .meta-nav{display:none}
html[lang="en"] .nav-toggle{display:inline-flex}
}
@media (max-width:1280px){
.nav-menu,.meta-nav{display:none}
.nav-toggle{display:inline-flex}
}
@media (max-width:1440px){
html[lang="en"] .nav-menu,html[lang="en"] .meta-nav{display:none}
html[lang="en"] .nav-toggle{display:inline-flex}
}
@media (max-width:992px){
.feature-card{min-height:0}
.pipeline-row:not(.header)>div:last-child{grid-column:1/-1}
.inner-design .tech-overview{position:static;max-height:none}
.story-nav{top:8px}
}
@media (max-width:575px){
.search-overlay{padding:72px 16px 24px}
.search-form{padding:14px;gap:8px}
.search-form input{font-size:16px;padding:12px}
.search-form>button{padding:10px 14px;min-height:40px;font-size:14px}
.search-results{padding:0 4px}
html[lang="en"] .hero-card h1,html[lang="en"] .hero-card h2{font-size:28px}
html[lang="en"] .products-filter button{flex:1 1 42%}
html[lang="en"] .product-card{min-height:0;padding:30px 24px}
html[lang="en"] .story-nav a{font-size:13px;padding:12px}
.footer-nav-links a{min-height:40px;display:flex;align-items:center}
}

@media  print{
body{background:white}
.page-wrapper{max-width:none;padding:0}
.story-nav{display:none}
.story-film{background:white;color:#01356d}
a{color:inherit}
}
/* Reading rhythm, table access and safe text wrapping on both language sites. */
main{min-width:0}
main section[id],main article[id]{scroll-margin-top:28px}
.page-wrapper :is(p,li,dd){text-wrap:pretty}
.page-wrapper :is(h1,h2,h3){text-wrap:balance}
.nav-link[aria-current],.meta-nav a[aria-current]{color:var(--color-main);opacity:1;text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--color-accent)}
.mobile-nav__panel{padding-top:28px}
.mobile-nav__close{position:sticky;top:0;z-index:1}
.story-campus img{object-fit:contain}
.story-campus{max-width:1200px;margin-inline:auto}
.plat-chain .plat__text p{max-width:48em}
.mfg-card__body{min-width:0}
.mfg-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.mfg-fact strong{overflow-wrap:normal;white-space:nowrap}
.join-masthead{margin:12px 0 56px;min-height:400px;border-radius:32px 80px 32px 32px}
.join-masthead__media img,.join-masthead__title,.join-masthead__lead{animation:none}
.join-masthead__title{line-height:1.2;font-weight:600;text-shadow:none}
.benefits-grid{gap:16px}
.benefit-card{box-shadow:none;border-radius:20px;min-width:0}
.benefit-card span{font-size:15px;line-height:1.6}
.benefit-card:hover{transform:none;background:white}
.moment{border-radius:24px}
.moment figcaption{font-weight:500;line-height:1.7}
.recruit-panel{border-radius:28px;box-shadow:none;background:rgba(255,255,255,.82)}
.table-scroll{overflow-x:auto;scrollbar-width:thin;border-radius:14px}
.table-scroll:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}
.social-jobs,.campus-table{min-width:650px}
.social-jobs th,.campus-table th{letter-spacing:.02em}
.social-jobs td,.campus-table td{line-height:1.75;padding-block:18px}
.social-jobs__apply{min-height:44px;align-items:center;white-space:nowrap}
.news-lead__title,.ledger-item__title{line-height:1.5}
.news-lead__title a:hover{color:var(--color-main)}
.channel-list__value{overflow-wrap:anywhere}
.campus-card__body{min-width:0}
html[lang="en"] .culture-pair__row{grid-template-columns:6em minmax(0,1fr)}
html[lang="en"] .benefits-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
html[lang="en"] .mfg-facts{grid-template-columns:1fr}
html[lang="en"] .mfg-fact{display:flex;align-items:center;justify-content:space-between;gap:18px}
html[lang="en"] .mfg-fact span{max-width:18em;text-align:right}
html[lang="en"] .campus-table{min-width:800px}
html[lang="en"] .social-jobs{min-width:700px}
@media (max-width:1200px){
.plat-chain .plat--flip .plat__media,.plat-chain .plat--flip .plat__text{grid-column:1}
.plat-chain .plat--flip .plat__media{grid-row:3}
.plat-chain .plat--flip .plat__text{grid-row:2}
}
@media (max-width:850px){
.join-masthead{min-height:320px}
.benefits-grid,html[lang="en"] .benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:575px){
.join-masthead{margin-top:0;min-height:280px;border-radius:24px 48px 24px 24px}
.join-masthead__copy{padding:28px}
.benefits-grid,html[lang="en"] .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.recruit-panel{padding:24px 18px}
.story-nav a{min-height:44px}
html[lang="en"] .culture-pair__row{grid-template-columns:1fr}
.mfg-facts{grid-template-columns:1fr}
}
