.lab-root{--lab-bg:#0e0f13;--lab-fg:#fafaf9;background:var(--lab-bg);color:var(--lab-fg);transition:background-color .15s linear,color .15s linear;position:relative}.lab-canvas{z-index:1;pointer-events:none;transform-origin:50%;width:100vw;height:100vh;animation:5s ease-out forwards canvas-zoom-in-from-butterfly;position:fixed;inset:0;translate:0;scale:1}@keyframes canvas-zoom-in-from-butterfly{0%{opacity:0;animation-timing-function:ease-in;scale:0}40%{opacity:.2;animation-timing-function:ease-in-out;scale:.05}60%{opacity:.55;animation-timing-function:cubic-bezier(.6,0,.4,1);scale:.18}85%{opacity:.95;animation-timing-function:ease-out;scale:.65}to{opacity:1;scale:1}}.canvas-front{z-index:60}.lab-content{z-index:2;position:relative}.lab-section{flex-direction:column;justify-content:center;min-height:100vh;padding-block:clamp(3rem,8vw,6rem);display:flex}@media (max-width:768px){#vision.lab-section{min-height:auto;padding-block:clamp(2.5rem,7vw,4rem)}}.split-heading{display:block}.split-char{will-change:transform;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hl-target{display:inline;position:relative}.hl-target.hl-live:after{content:"";background:linear-gradient(90deg, var(--accent-ink), var(--accent), var(--highlight));transform-origin:0;height:.14em;animation:.5s ease-out forwards home-hl-sweep;position:absolute;bottom:-.1em;left:0;right:0}@keyframes home-hl-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.float-hover{will-change:transform, box-shadow}.home-hero-title{margin-bottom:1.25rem;transform:translateY(1.5rem)}@media (max-width:767px){.home-hero-title{margin-bottom:2.5rem;transform:translateY(0)}}.home-copy{color:inherit;opacity:.82;max-width:40em}.home-btn-ghost-ink{border-color:var(--paper);color:var(--paper)}.home-card-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;display:grid}.home-footer-nav{flex-wrap:wrap;gap:.75rem 2rem;display:flex}.home-footer-nav a{opacity:.7;transition:opacity .2s}.home-footer-nav a:hover{opacity:1}.home-cta-footer{padding-bottom:clamp(4rem,10vh,8rem)}.home-hero{contain:paint;position:relative;overflow-x:clip}.home-hero-fusion{object-fit:cover;z-index:5;pointer-events:none;transform-origin:50%;will-change:transform, filter, opacity;width:100%;height:100%;animation:5s ease-out forwards hero-fusion-fade;position:absolute;inset:0;transform:none}@keyframes hero-fusion-fade{0%{opacity:0;visibility:visible;filter:blur(4px);transform:scale(1.15)}8%,60%{opacity:1;visibility:visible;filter:blur();transform:scale(1)}99%{opacity:0;visibility:visible;filter:blur();transform:scale(1)}to{opacity:0;visibility:hidden;filter:blur();transform:scale(1)}}@media (prefers-reduced-motion:reduce){.home-hero-fusion{display:none}}body.hero-in-view .lab-canvas{transition:translate .4s ease-out;translate:-4%}.home-hero .wrap [data-reveal]{opacity:0;animation:.5s ease-out .3s forwards hero-copy-fade-in}@keyframes hero-copy-fade-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.home-hero .wrap [data-reveal]{opacity:1;animation:none}}.lab-canvas{opacity:0;will-change:opacity, scale;animation:2s cubic-bezier(.77,0,.175,1) 5.5s forwards lab-canvas-appear}@keyframes lab-canvas-appear{0%{opacity:0;scale:0}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.lab-canvas{opacity:1;animation:none}}body:has(.home-hero) header{animation:.9s cubic-bezier(.34,1.56,.64,1) 5.6s both home-header-appear;position:fixed;top:0;left:0;right:0}@keyframes home-header-appear{0%{opacity:0;visibility:hidden;filter:blur(5px);transform:translateY(-24px)}1%{visibility:visible}to{opacity:1;visibility:visible;filter:none;transform:none}}@media (prefers-reduced-motion:reduce){body:has(.home-hero) header{animation:none}}
