@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#10295a;--lime:#2259ec;--paper:#f8faff;--muted:#556582;--line:#d8e1f2;--head:'Space Grotesk',Manrope,Arial,sans-serif;--blue:#2259ec;--ice:#eaf0ff}body{background:var(--paper)}h1,h2,h3{letter-spacing:-.05em}a:hover{color:var(--blue)}header{background:#ffffffed;border-bottom-color:#dce5f7}.brand{color:#143a89}.brand small{color:#5c6d91}.nav-wrap nav a:after{background:var(--blue);height:3px}.nav-cta{background:var(--blue);border-radius:0 13px 0 13px;box-shadow:0 6px 18px #2259ec15}.nav-cta:hover{color:white;background:#103db8}.language-inline a[aria-current]{border-bottom-color:var(--blue);color:var(--blue)}.language-options{background:white;border-color:#d1dcf6}.language-options a[aria-current],.language-options a:hover{background:var(--ice)}.primary{background:var(--blue);color:white;border-radius:0 15px 0 15px;box-shadow:0 8px 22px #2259ec22;position:relative;overflow:hidden}.primary:before{content:'';position:absolute;top:0;left:-90%;width:50%;height:100%;background:linear-gradient(90deg,transparent,#ffffff35,transparent);transform:skewX(-22deg);transition:left .6s}.primary:hover:before{left:140%}.primary:hover{background:#1746c2;color:white;transform:translateY(-4px)}.outline{border-color:#abc0ed;color:var(--ink);border-radius:0 15px 0 15px;background:white}.ghost{color:var(--ink);border-color:#b7c9ed;background:#ffffffa0;border-radius:0 15px 0 15px}.ghost:hover{background:white;color:var(--blue);border-color:var(--blue)}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}
.hero,html[lang^=zh] .hero,html[lang^=ms] .hero{height:auto;min-height:760px;background:#eff4ff;color:var(--ink);isolation:isolate;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#2259ec09 1px,transparent 1px),linear-gradient(90deg,#2259ec09 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent,#000);z-index:-1}.hero:after{content:'';position:absolute;width:550px;height:550px;border-radius:50%;right:-130px;top:-250px;background:#d9e5ff;z-index:-1}.hero-photo{left:auto;right:3%;top:9%;width:43%;height:78%;object-position:84% center;object-fit:cover;border-radius:140px 22px 140px 22px;animation:lab-photo-enter 1.4s cubic-bezier(.2,.8,.2,1) both;box-shadow:18px 22px 0 #2259ec0d;z-index:0;transform:translateY(var(--photo-y,0px))}.hero-overlay{display:none}.hero-inner,html[lang^=zh] .hero-inner,html[lang^=ms] .hero-inner{height:auto;min-height:760px;padding-top:85px;padding-bottom:115px;justify-content:center;pointer-events:none}.hero-inner>*{pointer-events:auto}.hero h1,html[lang^=zh] .hero h1,html[lang^=ms] .hero h1{max-width:58%;font-size:clamp(45px,5.15vw,76px);line-height:1.12;letter-spacing:-.06em}.hero h1 em{color:var(--blue)}.hero .eyebrow{color:#3c5b99;font-size:11px;margin-bottom:30px}.status-dot{background:var(--blue);box-shadow:0 0 0 6px #2259ec12}.hero-desc,html[lang^=zh] .hero-desc,html[lang^=ms] .hero-desc{color:#4f638c;max-width:50%;font-size:20px;line-height:1.75}.hero .actions{max-width:55%;gap:12px}.hero .button{font-size:15px;gap:20px;padding:16px 21px}.hero-bottom{color:#5e749b;border-color:#b8c9ea;font-size:9px}.orbit{right:4%;top:12%;width:180px;height:180px;border-color:#fff8;z-index:1;color:#ffffffbb;animation:lab-orbit 32s linear infinite;transform:rotate(-25deg)}.orbit:before{border-color:#ffffff66;inset:20px;transform:rotate(60deg)}.orbit span{font-size:40px;top:31%;animation:lab-counter-orbit 32s linear infinite}.orbit i{background:#fff;box-shadow:0 0 30px #fff;animation:glow 4s infinite}.molecule-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.85}.hero-inner{z-index:2}.partner-strip{background:white;border-bottom:1px solid #d8e3f8}.partner-strip strong{color:var(--blue)}.partner-strip span{color:#56709d}
.section-head .eyebrow,.split .eyebrow,.page-hero>.eyebrow{color:var(--blue)}.section-head{position:relative}.section-head:before{content:'';position:absolute;left:-24px;top:3px;bottom:3px;width:3px;background:var(--blue)}.solution-grid{gap:20px}.solution-card{border-radius:0 40px 0 40px;isolation:isolate;border:1px solid #d5e0f5;height:445px}.solution-card img{filter:saturate(.65);transition:transform .9s,filter .7s}.solution-card:hover img{filter:saturate(1);transform:scale(1.065)}.card-shade{background:linear-gradient(0deg,#081d55f2,#143fa562 70%,#2259ec10)}.card-content .eyebrow{color:#bed3ff}.round-arrow{border-color:#ffffff70;border-radius:0 13px 0 13px;background:#ffffff0a}.solution-card:hover .round-arrow{background:white;color:var(--blue);transform:rotate(-6deg)}.solution-grid:not(.solutions-index-grid) .solution-card:nth-child(2),.solution-grid:not(.solutions-index-grid) .solution-card:nth-child(4){transform:translateY(32px)}.solution-grid{padding-bottom:32px}.dark-section{background:#163ead;position:relative;overflow:hidden}.dark-section:before{content:'';position:absolute;right:-200px;top:-250px;width:800px;height:800px;border:1px solid #ffffff20;border-radius:50%;box-shadow:0 0 0 80px #ffffff04,0 0 0 160px #ffffff03}.dark-section>.wrap{position:relative}.dark-section .eyebrow{color:#c6d8ff}.dark-section em{color:#c5d7ff}.dark-section p{color:#d6e2ff}.dark-section .primary{background:white;color:var(--blue)}.process-stack article{position:relative;padding-left:8px;transition:background .4s,padding-left .4s}.process-stack article.active-step{background:#ffffff0d;padding-left:22px}.process-stack article>span{color:#c5d7ff;font-family:var(--head);font-size:19px}.image-frame img{border-radius:0 70px 0 70px;filter:saturate(.8)}.image-frame>span{background:var(--blue);color:white}.partner-story .outline{border-color:var(--blue)}.coverage-band{background:#e5edff;border-top:1px solid #d6e1fa;border-bottom:1px solid #d6e1fa}.coverage-band:before{color:#2259ec08}.locations span{border-color:#b9c9ed;background:#ffffffa0;border-radius:4px}.coverage-band a{color:var(--blue)}.faq-list details{background:transparent;transition:background .25s}.faq-list details[open]{background:#eaf0ff80;padding-left:18px;padding-right:18px}.faq-list summary:after{color:var(--blue)}.cta{background:linear-gradient(110deg,#1c4dd3,#2b64f2);color:white;border-radius:0 55px 0 55px;isolation:isolate}.cta:after{content:'';position:absolute;right:-120px;top:-180px;width:500px;height:500px;border-radius:50%;border:1px solid #ffffff30;box-shadow:0 0 0 55px #ffffff08;z-index:-1}.cta p{color:#d7e4ff}.cta .primary{background:white;color:var(--blue)}.cta .primary:hover{background:#dbe7ff;color:#153a9f}footer{background:#091b46}.footer-grid p,.footer-grid .eyebrow,.footer-bottom{color:#a8bce6}.footer-grid>div>a:not(.brand){color:#d5e1fa}footer .brand{color:white}.footer-grid .brand small{color:#a4bee9}.floating-wa{background:#2259ec;color:white;box-shadow:0 8px 22px #2259ec35;border-radius:15px 3px 15px 3px}.floating-wa:hover{color:white;background:#1746c2}.source{color:#5c75a1}#to-top{background:white;box-shadow:0 3px 15px #2259ec14}#progress{stroke:var(--blue)}#to-top .progress-track{stroke:#d8e3fa}.page-hero{position:relative;background:linear-gradient(110deg,#eaf1ff80,transparent);padding-top:78px;padding-bottom:60px}.page-hero:after{content:'';position:absolute;right:0;top:30px;width:150px;height:150px;border-right:1px solid #c7d7f7;border-top:1px solid #c7d7f7;border-radius:0 60px 0 0;pointer-events:none}.wide-image img{border-radius:0 60px 0 60px}.product,.insight-card{background:#edf3ff;border-color:#d7e2f8;border-radius:0 25px 0 25px}.product>span{color:#4e70a6}.question-band{background:#e6eeff;border-radius:0 45px 0 45px}.industry-icon{background:#e1ebff;color:var(--blue);border-radius:15px 0 15px 0}.industry-row:hover .industry-icon{background:var(--blue);color:white}.industry-row img{border-radius:0 25px 0 25px}.step-number{color:#8fa9e5}.steps svg{color:var(--blue)}.tags span{background:#e1eaff;color:#335284}.contact-grid form{border-color:#d5e0f6;border-radius:0 30px 0 30px;box-shadow:0 12px 50px #1d52b509}input,select,textarea{background:#fbfcff;border-color:#b8c9ed}input:focus,select:focus,textarea:focus{outline-color:var(--blue)}.radio input,.consent input{accent-color:var(--blue)}.selected-product-note{background:#e3edff;border-left-color:var(--blue)}.category-nav a{border-radius:5px;border-color:#c1d1f1;background:white}.category-nav span{background:#e7efff}.category-nav a[aria-current]{background:var(--blue);border-color:var(--blue)}.category-nav a:hover{background:#dfeaff;color:#143b95}.catalog-card{border-radius:0 24px 0 24px;border-color:#d6e2f8;box-shadow:0 5px 20px #123f9805;position:relative}.catalog-card:after{content:'';position:absolute;left:0;bottom:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s}.catalog-card:hover{transform:translateY(-7px);box-shadow:0 16px 35px #123f9814}.catalog-card:hover:after{transform:scaleX(1)}.catalog-image{background:linear-gradient(135deg,#fff,#f5f8ff);border-color:#e6edfa}.catalog-copy>.eyebrow{color:#5373af}.catalog-link{color:var(--blue);border-color:#e2eafa}.product-home-strip{background:#e9f0ff;border-color:#d3e1ff;border-radius:0 35px 0 35px}.product-home-strip .eyebrow{color:var(--blue)}.product-visual{border-color:#d3dff6;border-radius:0 40px 0 40px;box-shadow:0 15px 45px #2259ec08}.image-credit{background:#eaf1ff;color:#4a6a9d}.product-tags a{border-color:#c0d1f4;background:#f0f5ff;border-radius:4px}.product-enquiry .eyebrow{color:var(--blue)}.partner-note{border-color:#a9c0f2}.product-specs{background:#e8f0ff;border-color:#d0dff9;border-radius:0 30px 0 30px}.product-specs section+section,.technical-list li{border-color:#cbdaf6}.pack-sizes span{border-color:#bdd0f3}.product-placeholder{background:linear-gradient(150deg,#f2f7ff,#dce8ff);color:#5c7dbb}.spec-note{border-color:var(--blue)}#no-products{background:#e9f1ff}.narrow .faq-list{border-top-color:var(--line)}
@keyframes lab-photo-enter{from{opacity:0;clip-path:inset(15% 0 15% 100% round 120px)}to{opacity:1;clip-path:inset(0 round 0)}}@keyframes lab-orbit{to{transform:rotate(335deg)}}@keyframes lab-counter-orbit{to{transform:rotate(-360deg)}}
@media(min-width:761px) and (max-width:1100px){.hero-photo{right:2%;width:42%;top:13%;height:67%;border-radius:100px 15px 100px 15px}.hero h1,html[lang^=zh] .hero h1,html[lang^=ms] .hero h1{max-width:58%;font-size:clamp(42px,5.7vw,64px)}.hero-desc,html[lang^=zh] .hero-desc,html[lang^=ms] .hero-desc{max-width:51%;font-size:18px}.hero .actions{max-width:53%}.hero .button{font-size:14px;padding:13px 17px}.orbit{width:140px;height:140px;right:3%;top:14%}.orbit span{font-size:30px}}
@media(max-width:760px){.hero,html[lang^=zh] .hero,html[lang^=ms] .hero{min-height:0}.hero-inner,html[lang^=zh] .hero-inner,html[lang^=ms] .hero-inner{min-height:0;padding-top:55px;padding-bottom:390px;justify-content:flex-start}.hero h1,html[lang^=zh] .hero h1,html[lang^=ms] .hero h1{max-width:100%;font-size:clamp(42px,10.6vw,60px);line-height:1.12}.hero-desc,html[lang^=zh] .hero-desc,html[lang^=ms] .hero-desc{max-width:100%;font-size:18px;line-height:1.7}.hero .eyebrow{font-size:9px;margin-bottom:22px}.hero .actions{max-width:100%;flex-direction:row;gap:10px;margin-top:25px}.hero .button{font-size:13px;padding:13px 15px;min-width:0;gap:14px}.hero-photo{top:auto;bottom:70px;right:20px;left:20px;width:calc(100% - 40px);height:280px;border-radius:65px 15px 65px 15px;box-shadow:8px 10px 0 #2259ec10;object-position:85% 42%}.hero-bottom{bottom:24px;font-size:8px;letter-spacing:1px;padding-top:15px}.hero-bottom span:last-child{font-size:7px}.orbit{top:auto;bottom:90px;right:28px;width:115px;height:115px;opacity:.8}.orbit span{font-size:25px}.molecule-canvas{opacity:.65}.solution-card{height:365px;border-radius:0 30px 0 30px}.solution-grid:not(.solutions-index-grid) .solution-card:nth-child(2),.solution-grid:not(.solutions-index-grid) .solution-card:nth-child(4){transform:none}.solution-grid{padding-bottom:0}.section-head:before{left:-10px;width:2px}.dark-section{padding-top:70px;padding-bottom:70px}.cta{border-radius:0 35px 0 35px}.cta h2{font-size:38px}.page-hero{padding-top:52px;padding-bottom:40px}.page-hero:after{width:80px;height:80px;top:24px}.wide-image img,.image-frame img{border-radius:0 40px 0 40px}.product-home-strip{border-radius:0 25px 0 25px}.catalog-card{border-radius:0 18px 0 18px}.product-visual{border-radius:0 28px 0 28px}.product-specs{border-radius:0 24px 0 24px}.floating-wa{border-radius:13px 3px 13px 3px}.nav-wrap nav{background:#f8faff}.language-options a[aria-current]{background:#e4edff}.language-inline a[aria-current]{border-bottom-color:var(--blue)}}
@media(max-width:380px){.hero-inner,html[lang^=zh] .hero-inner,html[lang^=ms] .hero-inner{padding-bottom:365px}.hero-photo{height:255px}.hero .actions{flex-direction:column;align-items:stretch}.hero .button{font-size:14px;min-width:0}.hero h1,html[lang^=zh] .hero h1,html[lang^=ms] .hero h1{font-size:40px}.hero-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.orbit,.orbit span,.hero-photo{animation:none!important}.molecule-canvas{display:none}.catalog-card:hover{transform:none}.primary:hover{transform:none}.button:hover span{transform:none}}
@keyframes glow{50%{box-shadow:0 0 35px #8bb3ff}}

/* Index cards share the page gutters and stay aligned across both rows. */
.solutions-index > h2{margin:0 0 20px;font-size:clamp(24px,3vw,36px)}
.solution-grid.solutions-index-grid{padding-bottom:0}
.office-contact{margin-top:22px;line-height:1.55}
.office-label{display:block;font-weight:700;margin-bottom:5px}
.office-contact address{font-style:normal;overflow-wrap:anywhere}
.office-contact > a{display:inline-block;margin-top:8px;text-decoration:underline;text-underline-offset:.2em}
.footer-grid .office-contact{font-size:15px;color:#d5e1fa}
.contact-info .office-contact{padding:18px 20px;border:1px solid #c7d7f7;border-radius:0 18px 0 18px;background:#edf3ff}
