/* Decorative analytical motion shared by the public pages. No report data is drawn here. */
.lab-motion-hero{isolation:isolate}
.lab-motion-hero>.container{position:relative;z-index:1}
.portal-banner.lab-motion-hero{position:relative;overflow:hidden}
.portal-banner.lab-motion-hero>div:not(.lab-motion-field){position:relative;z-index:1}
.portal-banner .lab-motion-spectrum{right:0;top:0;width:min(42vw,550px);height:100%;min-height:0;opacity:.24}
.portal-banner .lab-motion-orbit{right:1%;top:-70%;width:min(34vw,450px);opacity:.5}
.lab-motion-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}
.lab-motion-field::before{content:"";position:absolute;right:-10%;top:-28%;width:min(76vw,980px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(124,204,255,.12) 0,rgba(64,139,241,.06) 34%,transparent 67%);filter:blur(4px);animation:lab-motion-glow 18s ease-in-out infinite alternate}
.lab-motion-field::after{content:"";position:absolute;inset:-10% -20%;background:linear-gradient(112deg,transparent 46%,rgba(177,226,255,.07) 49%,rgba(208,237,255,.12) 50%,rgba(177,226,255,.06) 51%,transparent 54%);transform:translateX(-58%);animation:lab-motion-lightpass 15s ease-in-out infinite}
.lab-motion-orbit{position:absolute;right:-4%;top:3%;width:min(54vw,720px);aspect-ratio:1.4;border:1px solid rgba(169,215,255,.16);border-radius:50%;box-shadow:0 0 0 45px rgba(115,181,247,.018),0 0 0 112px rgba(115,181,247,.012),inset 0 0 32px rgba(125,197,255,.05);transform:rotateX(66deg) rotateZ(-18deg);animation:lab-motion-orbit 28s linear infinite}
.lab-motion-orbit::before,.lab-motion-orbit::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#a9dbff;box-shadow:0 0 9px #a9dbff,0 0 26px rgba(138,202,255,.72)}
.lab-motion-orbit::before{left:12%;top:22%}.lab-motion-orbit::after{right:20%;bottom:9%;width:3px;height:3px}
.lab-motion-spectrum{position:absolute;right:1%;top:11%;width:min(50vw,690px);height:76%;min-height:270px;opacity:.49;filter:drop-shadow(0 0 14px rgba(110,189,255,.18));transform:translate3d(0,0,0);animation:lab-motion-spectrum-float 9s ease-in-out infinite alternate}
.lab-spectrum-grid line{stroke:rgba(177,216,255,.12);stroke-width:1}
.lab-spectrum-baseline{stroke:rgba(182,225,255,.36);stroke-width:1.5;fill:none}
.lab-spectrum-ghost{stroke:rgba(137,191,255,.23);stroke-width:2;fill:none}
.lab-spectrum-trace{stroke:url(#lab-motion-trace);stroke-width:2.2;fill:none;stroke-linejoin:round;stroke-linecap:round}
.lab-spectrum-signal{stroke:#a8e9ff;stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:15 34;animation:lab-motion-dash 12s linear infinite}
.lab-spectrum-bars rect{fill:url(#lab-motion-bars);transform-box:fill-box;transform-origin:center bottom;animation:lab-motion-bar 3.6s ease-in-out infinite alternate}
.lab-spectrum-bars rect:nth-child(2n){animation-delay:-1.3s}.lab-spectrum-bars rect:nth-child(3n){animation-delay:-2.4s}
.lab-motion-hero:not(.lab-motion-inview) .lab-motion-field *,.lab-motion-paused .lab-motion-field *{animation-play-state:paused!important}
.lab-motion-hero:not(.lab-motion-inview) .lab-motion-field::before,.lab-motion-hero:not(.lab-motion-inview) .lab-motion-field::after,.lab-motion-paused .lab-motion-field::before,.lab-motion-paused .lab-motion-field::after{animation-play-state:paused!important}

/* A line cue follows the site typography without shifting the reading column. */
.lab-motion-active .eyebrow-line{transform-origin:left center;animation:lab-motion-rule 5.6s ease-in-out infinite}
.lab-motion-active .section-heading,.lab-motion-active .faq-intro,.lab-motion-active .report-intro-grid>div:first-child{position:relative}
.lab-motion-active .section-heading::after,.lab-motion-active .faq-intro::after,.lab-motion-active .report-intro-grid>div:first-child::after{content:"";position:absolute;left:0;bottom:-15px;width:min(190px,45%);height:1px;background:linear-gradient(90deg,transparent,#5897ed,#92dbff,transparent);background-size:220% 100%;opacity:.7;animation:lab-motion-rule-pass 7s linear infinite;pointer-events:none}

/* One understated entrance for editorial blocks, never for forms or report values. */
.lab-motion-entered{animation:lab-motion-enter .8s cubic-bezier(.2,.72,.24,1) both}
.lab-motion-etched{position:relative;isolation:isolate}
.lab-motion-edge{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:2}
.lab-motion-edge::before{content:"";position:absolute;left:-60%;top:0;width:45%;height:1px;background:linear-gradient(90deg,transparent,rgba(121,193,255,.92),transparent);filter:drop-shadow(0 0 6px rgba(113,181,255,.52));animation:lab-motion-edge 8s ease-in-out infinite}
.lab-motion-etched:not(.lab-motion-inview) .lab-motion-edge::before,.lab-motion-paused .lab-motion-edge::before{animation-play-state:paused!important}
.lab-motion-active .price-art-wave i,.lab-motion-active .coa-art-bars i,.lab-motion-active .svc-glyph-ms i,.lab-motion-active .svc-glyph-hplc i{transform-origin:center bottom;animation:lab-motion-column 3.2s ease-in-out infinite alternate}
.lab-motion-active .price-art-wave i:nth-child(2n),.lab-motion-active .coa-art-bars i:nth-child(2n),.lab-motion-active .svc-glyph-ms i:nth-child(2n),.lab-motion-active .svc-glyph-hplc i:nth-child(2n){animation-delay:-1.35s}
.lab-motion-active .price-art-wave i:nth-child(3n),.lab-motion-active .coa-art-bars i:nth-child(3n),.lab-motion-active .svc-glyph-ms i:nth-child(3n),.lab-motion-active .svc-glyph-hplc i:nth-child(3n){animation-delay:-2.2s}
.lab-motion-paused .price-art-wave i,.lab-motion-paused .coa-art-bars i,.lab-motion-paused .svc-glyph-ms i,.lab-motion-paused .svc-glyph-hplc i,.lab-motion-hero:not(.lab-motion-inview) .price-art-wave i,.lab-motion-hero:not(.lab-motion-inview) .coa-art-bars i,.lab-motion-etched:not(.lab-motion-inview) .svc-glyph-ms i,.lab-motion-etched:not(.lab-motion-inview) .svc-glyph-hplc i{animation-play-state:paused!important}

@keyframes lab-motion-glow{from{transform:translate3d(-3%,3%,0) scale(.92);opacity:.7}to{transform:translate3d(2%,-3%,0) scale(1.1);opacity:1}}
@keyframes lab-motion-lightpass{0%,32%{transform:translateX(-58%)}75%,100%{transform:translateX(58%)}}
@keyframes lab-motion-orbit{to{transform:rotateX(66deg) rotateZ(342deg)}}
@keyframes lab-motion-spectrum-float{to{transform:translate3d(-1.5%,2%,0)}}
@keyframes lab-motion-dash{to{stroke-dashoffset:-196}}
@keyframes lab-motion-bar{from{transform:scaleY(.84);opacity:.45}to{transform:scaleY(1.08);opacity:.88}}
@keyframes lab-motion-rule{0%,100%{transform:scaleX(.7);opacity:.55}48%{transform:scaleX(1.35);opacity:1}}
@keyframes lab-motion-rule-pass{to{background-position:-220% 0}}
@keyframes lab-motion-enter{from{opacity:.72;transform:translate3d(0,13px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes lab-motion-edge{0%,27%{transform:translateX(0);opacity:0}38%{opacity:.85}69%,100%{transform:translateX(360%);opacity:0}}
@keyframes lab-motion-column{from{transform:scaleY(.8);opacity:.68}to{transform:scaleY(1.08);opacity:1}}

@media(max-width:760px){.lab-motion-spectrum{right:-24%;top:15%;width:95vw;min-height:230px;opacity:.2}.lab-motion-orbit{right:-42%;top:18%;width:105vw;opacity:.4}.lab-motion-field::before{right:-45%;width:105vw}.lab-motion-field::after{opacity:.55}}
@media(max-width:520px){.lab-motion-spectrum{opacity:.14}.lab-motion-orbit{opacity:.25}.lab-motion-active .section-heading::after,.lab-motion-active .faq-intro::after,.lab-motion-active .report-intro-grid>div:first-child::after{width:110px}}
@media(hover:none){.lab-motion-edge::before{opacity:.5}}
@media(prefers-reduced-motion:reduce){.lab-motion-field *,.lab-motion-field::before,.lab-motion-field::after,.lab-motion-active .eyebrow-line,.lab-motion-active .section-heading::after,.lab-motion-active .faq-intro::after,.lab-motion-active .report-intro-grid>div:first-child::after,.lab-motion-edge::before,.lab-motion-entered,.lab-motion-active .price-art-wave i,.lab-motion-active .coa-art-bars i,.lab-motion-active .svc-glyph-ms i,.lab-motion-active .svc-glyph-hplc i{animation:none!important;transform:none!important}.lab-motion-edge::before{display:none}}
@media print{.lab-motion-field,.lab-motion-edge,.lab-motion-active .section-heading::after,.lab-motion-active .faq-intro::after,.lab-motion-active .report-intro-grid>div:first-child::after{display:none!important}.lab-motion-entered{animation:none!important}}
