/* 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; } }
.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; }
}
