/* Desktop layout, with mobile reflow below 640px. */
@media (min-width: 640px) {
 .section-shell { width: min(calc(100% - 64px), 1320px); }
 .section-block { padding-block: 76px; }
 .site-header { height: 84px; }
 .nav-shell { width: min(calc(100% - 48px), 1400px); gap: 10px; }
 .brand { flex: none; min-width: 126px; gap: 8px; }
 .brand b { font-size: 18px; }
 .brand-mark { width: 30px; height: 30px; flex: none; }
 .desktop-nav { display: flex; gap: 0; }
 .desktop-nav a { padding-inline: 6px; font-size: 14px; white-space: nowrap; }
 .mobile-menu { display: none; }
 .nav-cta { display: none; }
 .hero { min-height: 530px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-top: 46px; padding-bottom: 144px; }
 .hero-copy { padding-top: 0; min-width: 0; }
 .hero-copy h1 { font-size: clamp(36px,4.5vw,64px); line-height: 1.28; letter-spacing: -.02em; }
 .hero-lead { max-width: 520px; font-size: 16px; line-height: 1.85; margin-top: 22px; }
 .hero-actions { flex-direction: row; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
 .button { width: auto; min-height: 52px; padding-inline: 20px; }
 .hero-note { font-size: 14px; margin-top: 24px; }
 .hero-visual { position: absolute; width: 54%; right: -4%; top: 4%; bottom: 24%; height: auto; margin: 0; opacity: 1; }
 .data-tag { display: none; }
 .trust-strip { position: absolute; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 0; bottom: 22px; min-height: 112px; }
 .trust-strip > div { flex-direction: column; min-height: 64px; padding: 0 16px; gap: 6px; justify-content: center; text-align: center; border-right: 1px solid var(--line); border-bottom: 0; }
 .trust-strip > div:last-child { border-right: 0; }
 .trust-strip strong { font-size: 28px; }
 .trust-strip span { font-size: 14px; }
 .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .service-card { padding: 24px; min-height: 360px; }
 .service-card h3 { font-size: 22px; margin-top: 32px; }
 .service-card > p, .service-list { font-size: 16px; }
 .service-card { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
 .service-card:nth-child(2n) { border-right: 0; }
 .service-list { margin-top: 22px; }
 .journey-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
 .journey-grid p { font-size: 16px; }
 .explorer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .advantage-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .explorer-card { padding: 20px; min-width: 0; }
 .explorer-card h2 { font-size: 22px; }
 .page-hero { min-height: 400px; padding-top: 84px; padding-bottom: 70px; }
 .page-hero h1 { font-size: clamp(40px,5.2vw,68px); line-height: 1.25; }
 .page-hero > p:not(.eyebrow) { font-size: 16px; }
 .service-detail-hero { min-height: 0; }
 .service-detail-grid { grid-template-columns: minmax(0,1.25fr) minmax(0,.8fr); gap: 28px; }
 .detail-aside { padding: 24px; }
 .contact-hero { min-height: 300px; }
 .contact-layout { grid-template-columns: minmax(180px,.8fr) minmax(0,1.6fr); gap: 28px; }
 .contact-aside { display: block; }
 .contact-aside > div:not(.response-note) { padding: 20px 0; border: 0; border-bottom: 1px solid var(--line); }
 .response-note { margin-top: 28px; }
 .brief-builder { grid-template-columns: minmax(0,1fr); }
 .brief-form, .brief-preview { padding: 24px; }
 .brief-form label, .brief-form input, .brief-form select, .brief-form textarea { min-width: 0; }
 .field-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .footer-grid { grid-template-columns: 1.3fr repeat(3,minmax(0,1fr)); gap: 28px; }
 .footer-grid > div { min-width: 0; }
 .footer-grid a { overflow-wrap: anywhere; }
 .footer-bottom { flex-direction: row; gap: 24px; }
}
@media (min-width: 900px) {
 .explorer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .service-card { padding: 22px; border-bottom: 0; }
 .service-card:nth-child(2) { border-right: 1px solid var(--line); }
 .service-card:last-child { border-right: 0; }
 .service-card h3 { font-size: 21px; }
 .hero-copy h1 { font-size: clamp(42px,4.6vw,66px); }
 .hero { min-height: 560px; }
 .hero-lead { font-size: 18px; }
}
@media (min-width: 1150px) {
 .nav-cta { display: block; min-width: 110px; padding: 12px 18px; }
 .brand { min-width: 175px; }
 .desktop-nav a { padding-inline: 16px; }
}
@media (min-width: 1300px) {
 .hero { min-height: 650px; padding-top: 68px; padding-bottom: 160px; }
 .hero-visual { width: 58%; right: -4%; bottom: 20%; }
 .data-tag { display: block; }
 .service-card { padding: 32px; }
 .service-card h3 { font-size: 24px; }
 .brief-builder { grid-template-columns: minmax(0,1fr) minmax(0,.82fr); }
}

/* Shared bilingual navigation and feedback additions. */
.nav-shell { gap: 14px; --nav-control-height: 36px; }
.brand { min-width: 0; }
.brand small { white-space: nowrap; }
.nav-cta, .language-switch { display: inline-flex; align-items: center; justify-content: center; height: var(--nav-control-height); min-height: var(--nav-control-height); line-height: 1.4; }
.nav-cta { flex: none; white-space: nowrap; min-width: 110px; padding: 0 16px; font-size: 14px; }
.nav-cta:hover { transform: none; }
.nav-cta[aria-current="page"] { border-color: var(--mint); background: rgba(94,234,212,.05); color: white; }
.cta-label-compact { display: none; }
.language-switch { flex: none; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 6px; color: var(--mint); font-size: 13px; }
.language-switch:hover { background: rgba(94,234,212,.08); border-color: var(--mint); }
.mobile-menu { flex: none; }
.mobile-menu nav { max-height: calc(100dvh - 110px); overflow-y: auto; }
@media (max-width: 1099px) {
 .desktop-nav { display: none; }
 .brand { flex: 1; }
 .mobile-menu { display: block; position: relative; }
 .mobile-menu summary { width: 42px; height: 42px; display: grid; align-content: center; gap: 5px; padding: 9px; border: 1px solid var(--line-strong); border-radius: 5px; list-style: none; cursor: pointer; }
 .mobile-menu summary::-webkit-details-marker { display: none; }
 .mobile-menu summary span { display: block; height: 1px; background: white; }
 .mobile-menu nav { position: absolute; right: 0; top: 50px; width: min(270px,calc(100vw - 36px)); display: flex; flex-direction: column; padding: 12px; border: 1px solid var(--line-strong); border-radius: 6px; background: #0e1120; box-shadow: 0 20px 40px rgba(0,0,0,.42); }
 .mobile-menu nav a { padding: 12px; color: #b7bdcc; }
 .mobile-menu nav a[aria-current="page"] { color: var(--mint); }
}
@media (min-width: 1100px) {
 .desktop-nav { display: flex; min-width: 0; }
 .desktop-nav a { padding-inline: 10px; font-size: 14px; }
 .brand { min-width: 140px; flex: none; }
 .brand b { font-size: 18px; }
 .mobile-menu { display: none; }
}
@media (min-width: 1360px) { .desktop-nav a { padding-inline: 14px; } }
.service-grid { grid-template-columns: 1fr; }
.service-card { min-width: 0; border-right: 0; border-bottom: 1px solid var(--line); }
.service-card:last-child { border-bottom: 0; }
.service-list { line-height: 1.75; overflow-wrap: anywhere; }
.service-card h3 { line-height: 1.4; }
@media (min-width: 640px) {
 .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .service-card:nth-child(n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
 .service-card:nth-child(2n) { border-right: 0; }
 .service-card:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (min-width: 1000px) {
 .service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-card:nth-child(n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
 .service-card:nth-child(3n) { border-right: 0; }
 .service-card:nth-last-child(-n+3) { border-bottom: 0; }
}
.explorer-toolbar { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; }
.category-tabs { min-width: 0; align-items: stretch; }
.category-tabs button { line-height: 1.6; min-height: 44px; }
.search-field, .search-field input { width: 100%; min-width: 0; }
@media (min-width: 1000px) { .explorer-toolbar { grid-template-columns: minmax(0,1fr) 240px; } }
/* Keep All separate so wrapped English categories share stable columns. */
html[lang="en"] .explorer-toolbar { grid-template-columns: minmax(0,1fr); }
html[lang="en"] .category-tabs { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:start; }
html[lang="en"] .category-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; min-width:0; }
html[lang="en"] .category-options button { text-align:left; min-width:0; overflow-wrap:break-word; }
html[lang="en"] .search-field { max-width:400px; }
@media (max-width:959px) { html[lang="en"] .category-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:599px) {
 html[lang="en"] .category-tabs { grid-template-columns:minmax(0,1fr); }
 html[lang="en"] .category-tabs > button { justify-self:start; }
 html[lang="en"] .category-options { grid-template-columns:minmax(0,1fr); }
}
.site-footer .wechat-qr { display:block; width:120px; max-width:100%; aspect-ratio:1; padding:8px; margin-top:2px; border:1px solid var(--line); border-radius:5px; background:#fff; }
.site-footer .wechat-qr img { display:block; width:100%; height:100%; object-fit:contain; filter:none; }
.site-footer .wechat-qr-empty { background:transparent; }
@media (max-width:560px) {
 html[lang="en"] .advantage-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html[lang="en"] .advantage-metrics > div { min-width:0; }
 html[lang="en"] .advantage-metrics strong { font-size:26px; overflow-wrap:anywhere; }
}
@media (max-width:479px) { html[lang="en"] .personal-index { grid-template-columns:minmax(0,1fr); } }
.catalog-scope { font-size: 14px; line-height: 1.8; color: var(--muted); margin-top: 24px; }
.result-count { margin-top: 12px; }
.explorer-card-heading { align-items: center; }
.explorer-card-heading .category-chip { max-width: calc(100% - 35px); overflow-wrap: anywhere; line-height: 1.6; }
.explorer-card-heading .card-code { line-height: 1.6; }
.explorer-card { display: flex; flex-direction: column; }
.explorer-card h2 { line-height: 1.4; overflow-wrap: anywhere; }
.service-detail-link { margin-top: auto; padding-top: 28px; }
.ai-related { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-top: auto; line-height: 1.8; }
.ai-related > span { font-size: 14px; color: var(--muted); }
.ai-related > a { font-size: 15px; margin-top: 0; }
.about-tabs, .updates-nav { display: flex; flex-wrap: wrap; gap: 12px; padding-block: 20px; border-block: 1px solid var(--line); }
.about-tabs a, .updates-nav a { padding: 8px 16px; border: 1px solid var(--line-strong); border-radius: 6px; color: var(--purple-light); }
.updates-nav a[aria-current="page"] { color: var(--mint); border-color: var(--mint); background: rgba(94,234,212,.05); }
#company, #team, #careers, .job-card { scroll-margin-top: 105px; }
.about-copy p, .about-lead, .team-grid p, .company-locations p, .job-content li, .application-note p, .news-card-content > p, .news-article p, .campaign-content p, .campaign-content li, .campaign-note { color: var(--muted); font-size: 16px; line-height: 1.9; }
.about-lead { max-width: 980px; }
.about-copy { max-width: 1040px; }
.company-locations, .team-grid { display: grid; grid-template-columns: 1fr; gap: 28px; margin-top: 35px; }
.company-locations article, .team-grid article { min-width: 0; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.company-locations span, .team-grid article > span { color: var(--mint); font-size: 14px; }
.company-locations h3, .team-grid h3 { line-height: 1.5; font-size: 23px; }
.job-list { display: grid; gap: 14px; }
.job-card { border: 1px solid var(--line-strong); border-radius: 7px; background: var(--panel-soft); overflow: hidden; }
.job-card summary { display: grid; grid-template-columns: minmax(0,1fr) auto 18px; gap: 20px; align-items: center; padding: 24px; list-style: none; cursor: pointer; }
.job-card summary::-webkit-details-marker { display: none; }
.job-card summary b { font-size: 21px; line-height: 1.5; }
.job-card summary span > small { display: block; color: var(--muted); font-size: 13px; margin-top: 4px; }
.job-card summary strong { font-size: 18px; color: var(--mint); line-height: 1.4; white-space: nowrap; }
.job-card summary strong small { font-size: 12px; font-weight: 400; }
.job-card summary i { font-style: normal; color: var(--purple-light); font-size: 22px; }
.job-card[open] summary i { transform: rotate(45deg); }
.job-content { padding: 0 24px 24px; display: grid; grid-template-columns: 1fr; gap: 20px; }
.job-content h4 { font-size: 16px; margin: 0 0 14px; }
.job-content ul { margin: 0; padding-left: 20px; }
.job-content a { grid-column: 1/-1; overflow-wrap: anywhere; }
.application-note { margin-top: 32px; padding: 26px; border-left: 2px solid var(--mint); background: var(--panel-soft); }
.application-note h3 { margin-top: 0; }
.application-note .button { max-width: 100%; overflow-wrap: anywhere; }
.news-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.news-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--panel-soft); }
.news-image { display: block; padding: 14px; height: 240px; }
.news-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.news-card-content { display: flex; flex-direction: column; padding: 25px; flex: 1; }
.news-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; color: var(--mint); font-size: 12px; margin: 0 0 18px; }
.news-card h3 { font-size: 22px; line-height: 1.55; margin: 0 0 14px; }
.news-card-content .text-link { margin-top: auto; padding-top: 20px; }
.news-detail-hero { min-height: 0; }
.news-detail-hero h1 { font-size: clamp(30px,4.5vw,54px); line-height: 1.4; }
.article-layout { display: grid; grid-template-columns: 1fr; gap: 36px; padding-block: 25px 80px; }
.news-article h2 { font-size: 26px; margin: 0 0 18px; line-height: 1.5; }
.news-article section { margin-bottom: 36px; }
.paper-reference { border-top: 1px solid var(--line); padding-top: 28px; margin-bottom: 40px; }
.paper-reference cite { font-style: normal; overflow-wrap: anywhere; }
.news-figure { min-width: 0; }
.news-figure img { width: 100%; height: auto; display: block; border-radius: 6px; }
.news-figure p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.article-layout > .related-services { grid-column: 1/-1; margin-top: 0; }
.campaigns-list { display: grid; gap: 54px; }
.campaign-card { display: grid; grid-template-columns: 1fr; border: 1px solid var(--line-strong); border-radius: 8px; overflow: hidden; background: var(--panel-soft); }
.news-image, .campaign-poster { background: rgba(255,255,255,.03); }
.campaign-poster { padding: 18px; display: flex; align-items: center; justify-content: center; }
.campaign-poster img { display: block; width: 100%; height: auto; max-width: 640px; }
.campaign-content { min-width: 0; padding: 30px; }
.campaign-content h2 { font-size: 29px; line-height: 1.5; margin: 0 0 24px; }
.campaign-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; color: var(--muted); font-size: 14px; }
.campaign-price strong { font-size: 34px; color: var(--mint); }
.campaign-content ul { padding-left: 20px; }
.campaign-content .hero-actions { align-items: center; }
.campaign-note { margin: 0; border-top: 1px solid var(--line); padding-top: 24px; }
@media (min-width: 760px) {
 .company-locations { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .team-grid, .news-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .job-content { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .campaign-card { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
 .campaign-content { padding: 36px; }
 .article-layout { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 50px; }
}
@media (max-width: 639px) {
 .nav-shell { gap: 10px; }
 .language-switch { padding: 0 10px; }
 .job-card summary { grid-template-columns: minmax(0,1fr) 18px; gap: 12px; padding: 20px; }
 .job-card summary > span { grid-column: 1; }
 .job-card summary strong { grid-column: 1; grid-row: 2; }
 .job-card summary i { grid-column: 2; grid-row: 1/3; }
 .job-content { padding-inline: 20px; }
 .job-card summary b { font-size: 20px; }
 .campaign-content { padding: 24px; }
 .campaign-content h2 { font-size: 25px; }
 .campaign-content .hero-actions { align-items: stretch; }
 .hero-copy h1 { font-size: clamp(35px,10vw,45px); letter-spacing: -.02em; }
 .page-hero h1 { font-size: clamp(32px,9.5vw,44px); letter-spacing: -.02em; }
}
@media (prefers-reduced-motion: reduce) { .job-card summary i { transform: none; } }

/* Keep inquiry and its language switch together on narrow screens. */
@media (max-width: 639px) {
 .nav-shell { gap: 8px; }
 .brand { gap: 6px; }
 .brand b { font-size: 16px; }
 .brand small { display: none; }
 .brand-mark { width: 28px; height: 28px; }
 .nav-cta { min-width: 0; padding: 0 10px; font-size: 13px; }
 .cta-label-wide { display: none; }
 .cta-label-compact { display: inline; }
 .language-switch { padding: 0 9px; }
 .mobile-menu summary { width: 34px; height: 40px; padding: 8px; }
}
@media (max-width: 359px) {
 .nav-shell { gap: 6px; }
 .brand b { font-size: 14px; }
 .brand-mark { width: 24px; height: 24px; }
 .nav-cta { font-size: 12px; }
 .language-switch { font-size: 12px; padding-inline: 8px; }
}

/* Restore the original particle cloud with five editable data panels. */
.hero-visual { position: relative; width: 100%; height: auto; aspect-ratio: 760 / 660; right: auto; top: auto; bottom: auto; margin: 0; opacity: 1; isolation: isolate; }
.hero-visual::before { display: none; }
.hero-visual .hero-particle-cloud { position: absolute; left: -18%; top: 0; width: 118%; height: 100%; object-fit: cover; mix-blend-mode: screen; filter: saturate(.94); transform-origin: 58% 50%; animation: cell-cytoplasm-flow 18s ease-in-out infinite; mask-image: radial-gradient(ellipse 72% 75% at 55% 49%,black 44%,rgba(0,0,0,.9) 64%,transparent 85%); }
.hero-live-cell { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.cell-membrane { transform-origin: 385px 325px; animation: cell-breathe 9s ease-in-out infinite; }
.cell-nucleus { transform-origin: 384px 313px; animation: cell-nucleus-drift 12s ease-in-out infinite; }
@keyframes cell-cytoplasm-flow { 0%,100% { transform: translate(0,0) rotate(-1.2deg) scale(.99); } 50% { transform: translate(5px,-7px) rotate(1.2deg) scale(1.025); } }
@keyframes cell-breathe { 0%,100% { transform: scale(.99); } 50% { transform: scale(1.02); } }
@keyframes cell-nucleus-drift { 0%,100% { transform: translate(-3px,2px) scale(.98); } 50% { transform: translate(5px,-4px) scale(1.035); } }
.hero-map-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hero-panel { position: absolute; display: flex; flex-direction: column; min-width: 0; padding: clamp(7px,1vw,13px); border: 1px solid rgba(154,151,201,.3); border-radius: 8px; background: linear-gradient(145deg,rgba(15,20,36,.94),rgba(8,13,26,.91)); box-shadow: 0 8px 24px rgba(0,0,0,.18),inset 0 0 20px rgba(91,87,153,.05); }
.hero-panel h2 { flex: none; margin: 0 0 7px; color: #b9c8d9; font-size: clamp(10px,1.05vw,14px); font-weight: 600; line-height: 1.4; overflow-wrap: normal; }
.hero-panel-chart { display: block; flex: 1; width: 100%; min-height: 0; }
.hero-panel-omics { left: 3%; top: 10%; width: 22%; height: 22%; }
.hero-panel-cells { right: 2%; top: 2%; width: 26%; height: 25%; }
.hero-panel-matrix { right: 0; top: 39%; width: 23%; height: 25%; }
.hero-panel-response { left: 0; bottom: 9%; width: 26%; height: 22%; }
.hero-panel-analysis { right: 3%; bottom: 5%; width: 27%; height: 23%; }
.hero-network-node { animation: hero-node-glow 5s ease-in-out infinite; animation-delay: var(--node-delay); }
@keyframes hero-node-glow { 0%,100% { opacity: .75; } 50% { opacity: 1; } }
.trust-strip > div { min-width: 0; }
.trust-strip .trust-ai strong { white-space: normal; }
@media (min-width: 900px) {
 .hero { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); column-gap: 24px; }
 .hero-visual { grid-column: 2; grid-row: 1; align-self: center; }
}
@media (min-width: 640px) and (max-width: 899px) {
 .hero { grid-template-columns: minmax(0,1fr); padding-bottom: 164px; }
 .hero-visual { width: min(100%,650px); margin: 24px auto 0; }
 .hero-panel h2 { font-size: 13px; }
 .trust-strip strong { font-size: 24px; }
 .trust-strip span { font-size: 12px; }
}
@media (max-width: 639px) {
 .hero-visual { margin: 26px auto 0; }
 .hero-panel { padding: 7px; border-radius: 6px; }
 .hero-panel h2 { font-size: 10px; margin-bottom: 4px; }
 .trust-strip { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; margin-top: 28px; }
 .trust-strip > div { min-height: 104px; padding: 16px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
 .trust-strip > div:nth-child(2n) { border-right: 0; }
 .trust-strip > div:nth-last-child(-n+2) { border-bottom: 0; }
 .trust-strip span { font-size: 12px; line-height: 1.6; }
}
@media (prefers-reduced-motion: reduce) {
 .hero-network-node, .hero-visual .hero-particle-cloud, .cell-membrane, .cell-nucleus { animation: none; }
}

.content-illustration { min-width:0; margin:32px 0; }
.content-illustration img { display:block; width:100%; height:auto; border:1px solid #dbe1ed; border-radius:14px; background:#eef2f8; }
.content-illustration.overview-illustration img { background:#1c1e2c; border-color:#454962; }
.content-illustration figcaption { color:var(--muted); font-size:13px; line-height:1.7; margin-top:10px; }
.explorer-card > .content-illustration { margin:22px 0 0; }
.explorer-card > .content-illustration img { border-radius:8px; }
.ai-overview { margin-bottom:40px; }
.ai-overview .content-illustration { max-width:1150px; margin:0; }
.news-article .content-illustration { margin-block:24px 32px; }
.news-article .content-illustration img { max-height:850px; object-fit:contain; }
@media(max-width:640px) {
 .content-illustration { margin-block:24px; }
 .content-illustration img { border-radius:9px; }
}

/* Present the two companies as separate names in a shared brand lockup. */
.brand > span:last-child { min-width:0; }
.brand .brand-names { display:flex; align-items:center; gap:8px; white-space:nowrap; letter-spacing:0; line-height:1.4; }
.brand .brand-divider { color:var(--muted); font-weight:400; font-size:.88em; }
.brand .brand-primary,.brand .brand-secondary { white-space:nowrap; }
@media (min-width:1100px) {
 .brand .brand-names { font-size:17px; gap:7px; }
}
@media (max-width:639px) {
 .nav-shell { width:calc(100% - 28px); gap:6px; }
 .brand { gap:5px; min-width:0; }
 .brand .brand-names { font-size:clamp(12px,3.4vw,14px); gap:4px; }
 .brand-mark { width:24px; height:24px; flex:none; }
 .nav-cta { padding-inline:8px; }
 .language-switch { padding-inline:8px; }
}
@media (max-width:359px) {
 .brand-mark { display:none; }
 .brand .brand-names { font-size:12px; gap:3px; }
}

/* Keep the company name and English wordmark on the same visual centerline. */
@media (min-width:640px) and (max-width:999px) { .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.site-footer .footer-brand { display:inline-flex; align-items:center; flex-wrap:nowrap; gap:10px; max-width:100%; line-height:1; }
.site-footer .footer-brand .footer-brand-name { color:inherit; font-size:20px; font-weight:700; line-height:1; letter-spacing:0; margin:0; white-space:nowrap; }
.site-footer .footer-brand .footer-brand-en { color:var(--purple-light); font-family:Arial,Helvetica,sans-serif; font-size:23px; font-weight:700; line-height:1; letter-spacing:.035em; margin:0; white-space:nowrap; }
@media(max-width:359px) { .site-footer .footer-brand { gap:8px; } .site-footer .footer-brand .footer-brand-en { font-size:22px; letter-spacing:.025em; } }


/* Keep the expanded quality explanation in the summary's text column. */
.quality-list { --quality-index:70px; --quality-label:160px; --quality-control:30px; --quality-inset:5px; }
.quality-list summary { padding-inline:var(--quality-inset); grid-template-columns:var(--quality-index) var(--quality-label) minmax(0,1fr) var(--quality-control); }
.quality-list summary strong { min-width:0; }
.quality-list details > p { padding-inline-start:calc(var(--quality-inset) + var(--quality-index) + var(--quality-label)); padding-inline-end:calc(var(--quality-inset) + var(--quality-control)); }
@media(max-width:820px) {
 .quality-list { --quality-index:45px; --quality-label:110px; --quality-control:25px; }
}
@media(max-width:560px) {
 .quality-list { --quality-index:35px; --quality-label:0px; --quality-control:24px; }
 .quality-list summary { grid-template-columns:var(--quality-index) minmax(0,1fr) var(--quality-control); }
}

/* Introduction widths follow their measured text anchors. */
#team .section-heading, #careers .section-heading { max-width:none; width:100%; }
.advantage-hero > p[data-align-to="advantage-copy"],
.about-company .about-copy[data-align-to="about-copy"],
#team .about-lead[data-align-to="about-copy"],
#careers .about-lead[data-align-to="about-copy"] { width:var(--aligned-text-width,100%); max-width:100%; text-align:justify; text-align-last:start; }
.about-company .about-copy[data-align-to="about-copy"] > p { width:100%; max-width:none; text-align:justify; text-align-last:start; }

.article-layout.no-news-figure, .campaign-card.no-poster { grid-template-columns:minmax(0,1fr); }


/* English copy uses shared metric rows so descriptions cannot displace titles. */
html[lang="en"] .trust-strip { align-items:stretch; }
html[lang="en"] .trust-strip > div { --metric-title-size:26px; display:grid; grid-template-rows:calc(var(--metric-title-size) * 2.4) minmax(3.2em,1fr); align-items:start; align-content:start; justify-items:stretch; gap:8px; padding:16px 14px; text-align:center; }
html[lang="en"] .trust-strip strong { display:flex; align-items:center; justify-content:center; min-width:0; min-height:calc(var(--metric-title-size) * 2.4); margin:0; font-size:var(--metric-title-size); line-height:1.2; letter-spacing:-.025em; white-space:normal; overflow-wrap:normal; }
html[lang="en"] .trust-strip span { align-self:start; min-width:0; font-size:13px; line-height:1.6; }
html[lang="en"] .brand-english { display:inline-flex; align-items:center; gap:8px; min-width:0; }
html[lang="en"] .brand-english > .brand-wordmark { display:block; margin:0; font-family:Arial,Helvetica,sans-serif; font-size:17px; font-weight:700; line-height:1.15; letter-spacing:.025em; white-space:nowrap; }
html[lang="en"] .site-footer .footer-brand .footer-brand-name { font-family:Arial,Helvetica,sans-serif; font-size:23px; letter-spacing:.035em; }
@media(min-width:900px) {
 html[lang="en"] .hero { padding-bottom:192px; }
}
@media(min-width:1100px) and (max-width:1359px) {
 html[lang="en"] .desktop-nav a { padding-inline:8px; font-size:13px; }
 html[lang="en"] .brand-english > .brand-wordmark { font-size:16px; }
}
@media(min-width:640px) and (max-width:899px) {
 html[lang="en"] .hero { padding-bottom:190px; }
 html[lang="en"] .trust-strip > div { --metric-title-size:22px; padding:14px 10px; }
 html[lang="en"] .trust-strip span { font-size:12px; }
}
@media(max-width:639px) {
 html[lang="en"] .trust-strip > div { --metric-title-size:22px; padding:14px 10px; }
 html[lang="en"] .trust-strip span { font-size:12px; }
 html[lang="en"] .brand-english { gap:5px; }
 html[lang="en"] .brand-english > .brand-wordmark { font-size:13px; letter-spacing:.01em; }
}
@media(max-width:359px) {
 html[lang="en"] .brand-english > .brand-wordmark { font-size:12px; }
 html[lang="en"] .nav-cta, html[lang="en"] .language-switch { padding-inline:6px; }
 html[lang="en"] .site-footer .footer-brand .footer-brand-name { font-size:22px; }
}

/* Page-specific hero artwork shares one responsive text/art layout. */
.page-hero.page-hero--illustrated { padding-block:24px; min-height:0; }
.page-hero-top { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
.page-hero-copy { min-width: 0; }
.page-hero-copy > .eyebrow { margin-top: 0; }
.page-hero-copy > p:not(.eyebrow) { position: relative; z-index: 2; margin: 26px 0 0; max-width: 690px; color: var(--muted); font-size: 16px; line-height: 1.85; }
.page-hero-copy h1 { font-size: clamp(38px, 4.6vw, 64px); line-height: 1.22; }
.page-hero-top > .page-hero-art { width:100%; max-width:400px; justify-self:end; min-width:0; }
.page-hero-top--expertise { align-items:end; }
.advantage-hero > p[data-align-to="advantage-copy"] { margin-top:24px; }
.advantage-hero .advantage-metrics { margin-top:32px; }
.advantage-hero + .section-shell.section-block { padding-top:16px; }
.page-hero--illustrated .hero-actions { position: relative; z-index: 2; }
@media (min-width: 800px) and (max-width: 1099px) {
 .page-hero-top { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; }
 .page-hero-copy h1 { font-size: clamp(34px, 4.2vw, 46px); }
 .page-hero-copy > p:not(.eyebrow) { font-size: 15px; }
}
@media (max-width: 799px) {
 .page-hero.page-hero--illustrated { padding-block:24px; }
 .page-hero-top { grid-template-columns: minmax(0, 1fr); gap: 18px; }
 .page-hero-top > .page-hero-art { justify-self: center; max-width: 300px; }
 .page-hero-copy h1 { font-size: clamp(34px, 7.2vw, 48px); line-height: 1.3; }
 .page-hero-copy > p:not(.eyebrow) { margin-top: 22px; font-size: 16px; }
 .page-hero--illustrated.advantage-hero { display:flex; flex-direction:column; }
 .page-hero-top--expertise { display:contents; }
 .page-hero-top--expertise > .page-hero-copy { order:0; }
 .page-hero--illustrated.advantage-hero > p[data-align-to="advantage-copy"] { order:1; margin-top:24px; }
 .page-hero-top--expertise > .page-hero-art { order:2; align-self:center; margin-top:16px; }
 .page-hero--illustrated.advantage-hero > .advantage-metrics { order:3; }
 .advantage-hero + .section-shell.section-block { padding-top:20px; }
}
@media (max-width: 479px) {
 .page-hero-top > .page-hero-art { max-width: 260px; }
 .page-hero-copy h1 { font-size: clamp(32px, 8.8vw, 42px); }
 .page-hero-copy > p:not(.eyebrow) { font-size: 15px; }
}

/* The vertical omics illustration shares the second title line's center. */
@media (min-width:800px) {
 .page-hero.page-hero--expertise-vertical { min-height:var(--expertise-min-height,0px); }
 .page-hero--expertise-vertical .page-hero-top--expertise { align-items:start; }
 .page-hero--expertise-vertical .page-hero-top--expertise > .page-hero-art { position:absolute; top:var(--phv-aligned-top,0px); right:0; width:var(--phv-aligned-size,280px); max-width:none; }
 .page-hero--expertise-vertical .advantage-metrics { width:min(900px,calc(100% - var(--expertise-art-reserve,250px))); }
}

/* Remove the two requested outer bands on the news landing page. */
.page-hero.page-hero--illustrated.news-hero { padding-top:0; padding-bottom:0; }
