@property --stage-p{syntax:"<number>";inherits:false;initial-value:0}[data-live=false],[data-live=false] *{animation-play-state:paused!important}.spiral-section[data-live=false] .spiral-stage{content-visibility:auto;contain-intrinsic-size:100vh}.spiral-stage{contain:layout paint style}.spiral-section--works .spiral-nav button{padding-inline:13px}@media (max-width:1340px){.spiral-section--works .spiral-nav{mask-image:linear-gradient(90deg,#000,#000 calc(100% - 42px),transparent);-webkit-mask-image:linear-gradient(90deg,#000,#000 calc(100% - 42px),transparent);scroll-padding-inline:8px 46px}}.spiral-section--works{--rail-top:190px;--rail-bottom:300px}.spiral-section--works .works-rail{inset-block:var(--rail-top) var(--rail-bottom)}.spiral-section--works .works-card{max-width:min(780px,calc((100vh - var(--rail-top) - var(--rail-bottom)) * 1.7021))}.spiral-stage:not([data-rail-ready]) .spiral-nav,.spiral-stage:not([data-rail-ready]) .works-arrow,.spiral-stage:not([data-rail-ready]) .works-meta,.spiral-stage:not([data-rail-ready]) .works-more,.works-card-tag{visibility:hidden}.works-card-tag{opacity:0;transition:opacity var(--dur-md,.4s) ease,visibility 0s linear var(--dur-md,.4s)}.works-card[data-centre=true] .works-card-tag{opacity:1;visibility:visible;transition-delay:0s}.works-card{will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.works-card[style*="visibility: hidden"]{will-change:auto}@media (prefers-reduced-motion:reduce){.spiral-section--works{height:auto!important}.spiral-section--works .spiral-stage{display:none}.spiral-section--works .spiral-fallback{display:grid;position:static;opacity:1;visibility:visible}}.spiral-section--works .works-meta{max-width:min(620px,42vw)}.spiral-section--works .works-meta,.spiral-section--works .works-more{bottom:clamp(30px,5vh,52px)}.spiral-section--works .spiral-nav{touch-action:pan-x}.spiral-section--works{height:calc(var(--runway-vh, 340) * 1vh)}@media (max-width:700px){.spiral-section--works{height:100svh}}@media (prefers-reduced-motion:reduce){.spiral-section--works{height:auto}}.spiral-section--works .spiral-stage{-moz-user-select:none;user-select:none;-webkit-user-select:none}.spiral-section--works .works-card,.spiral-section--works .works-card img{-webkit-user-drag:none}@media (hover:hover){.spiral-section--works .spiral-stage{cursor:-webkit-grab;cursor:grab}.spiral-section--works .spiral-stage[data-dragging]{cursor:-webkit-grabbing;cursor:grabbing}.spiral-section--works .spiral-nav button,.spiral-section--works .works-arrow,.spiral-section--works .works-card,.spiral-section--works .works-meta a{cursor:pointer}.spiral-section--works .spiral-stage[data-dragging] *{cursor:-webkit-grabbing;cursor:grabbing}}.cat-hero{background:var(--paper);border-bottom:1px solid var(--lab-line);padding-bottom:clamp(28px,4vw,48px)}.cat-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:end;margin-top:22px}.cat-hero h1{margin:12px 0 16px;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.03;letter-spacing:-.04em;color:var(--lab-ink);font-weight:650}.cat-lede{color:var(--lab-copy);line-height:1.7;max-width:60ch}.cat-note{display:flex;align-items:flex-start;gap:8px;margin-top:18px;font-size:.82rem;line-height:1.6;color:var(--lab-muted);max-width:60ch}.cat-note svg{color:var(--signal);flex-shrink:0;margin-top:3px}.cat-section{padding-top:clamp(34px,4vw,56px)}.cat-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);grid-gap:clamp(24px,4vw,52px);gap:clamp(24px,4vw,52px);align-items:start}.cat-contents{position:-webkit-sticky;position:sticky;top:calc(var(--nav-utility-h) + var(--nav-bar-h) + 20px)}.cat-contents ol{list-style:none;margin:14px 0 20px;padding:0;border-top:1px solid var(--lab-line)}.cat-contents li{display:flex;align-items:stretch;gap:2px;border-bottom:1px solid var(--lab-line)}.cat-contents button{flex:1 1;display:flex;align-items:baseline;gap:10px;padding:10px 4px;background:none;border:0;cursor:pointer;text-align:left;color:var(--lab-copy);font-size:.85rem;transition:color var(--dur-sm,.2s) ease}.cat-contents button em{font-style:normal;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--lab-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-contents button:hover{color:var(--signal)}.cat-contents li.is-active button{color:var(--lab-ink);font-weight:600}.cat-contents li.is-active button em{color:var(--signal)}.cat-contents li>a{display:grid;place-items:center;width:30px;color:var(--lab-muted);text-decoration:none;transition:color var(--dur-sm,.2s) ease,background var(--dur-sm,.2s) ease}.cat-contents li>a:hover{color:var(--signal);background:var(--paper-2)}.cat-download{width:100%;justify-content:center}.cat-stage{flex-direction:column;gap:18px}.cat-stage,.cat-toolbar{display:flex;align-items:center}.cat-toolbar{width:100%;max-width:780px;justify-content:space-between;gap:16px}.cat-pager{display:flex;align-items:center;gap:4px}.cat-pager button{width:38px;height:38px;display:grid;place-items:center;background:#fff;border:1px solid var(--lab-line);color:var(--lab-ink);cursor:pointer;transition:background var(--dur-sm,.2s) ease,color var(--dur-sm,.2s) ease}.cat-pager button:hover:not(:disabled){background:var(--paper-2);color:var(--signal)}.cat-pager button:disabled{opacity:.35;cursor:default}.cat-pager button:first-child svg{transform:scaleX(-1)}.cat-jump{display:flex;align-items:center;gap:8px;margin:0 8px}.cat-jump input{width:62px;padding:8px 6px;text-align:center;background:#fff;border:1px solid var(--lab-line);color:var(--lab-ink);font-family:var(--font-mono);font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-jump input:focus-visible{outline:2px solid var(--signal);outline-offset:-1px}.cat-jump em{font-style:normal;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--lab-muted)}.cat-views{display:inline-flex;border:1px solid var(--lab-line);background:#fff}.cat-views button{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;background:none;border:0;border-left:1px solid var(--lab-line);color:var(--lab-copy);cursor:pointer;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;transition:background var(--dur-sm,.2s) ease,color var(--dur-sm,.2s) ease}.cat-views button:first-child{border-left:0}.cat-views button:hover{background:var(--paper-2);color:var(--lab-ink)}.cat-views button.is-active{background:var(--lab-ink);color:#fff}.cat-views button.is-active svg{color:var(--signal-soft)}.cat-views svg{color:var(--signal)}.cat-views button:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.cat-continuous{list-style:none;margin:0;padding:0;width:100%;display:grid;grid-gap:26px;gap:26px;justify-items:center}.cat-continuous>li{scroll-margin-top:calc(var(--nav-utility-h) + var(--nav-bar-h) + 16px);width:100%;display:flex;justify-content:center}.cat-continuous .cat-page{transition:box-shadow var(--dur-sm,.2s) ease}.cat-continuous .cat-page.is-current{box-shadow:0 0 0 2px var(--signal),0 30px 70px rgba(7,40,82,.1)}.cat-grid-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid var(--lab-line);color:var(--lab-ink);cursor:pointer;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;transition:background var(--dur-sm,.2s) ease,color var(--dur-sm,.2s) ease}.cat-grid-toggle:hover{background:var(--paper-2);color:var(--signal)}.cat-grid-toggle svg{color:var(--signal)}.cat-page{width:100%;max-width:780px;background:#fff;border:1px solid var(--lab-line);box-shadow:0 30px 70px rgba(7,40,82,.1)}.cat-page img{display:block;width:100%;height:auto}.cat-page figcaption{padding:11px 14px;border-top:1px solid var(--lab-line);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lab-muted)}.cat-preload{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}.cat-page{position:relative}.cat-page-open{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:0;background:none;border:0;cursor:zoom-in}.cat-page-open span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--lab-ink);color:#fff;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity var(--dur-sm,.2s) ease,transform var(--dur-sm,.2s) ease}.cat-page-open:focus-visible span,.cat-page-open:hover span{opacity:1;transform:translateY(0)}.cat-page-open:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.cat-zoom{position:fixed;inset:0;z-index:200;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(4,12,26,.93);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.cat-zoom-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(12px,3vw,26px);border-bottom:1px solid rgba(255,255,255,.12);flex-wrap:wrap}.cat-zoom .cat-pager button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.cat-zoom .cat-pager button:hover:not(:disabled){background:rgba(255,255,255,.16);color:#fff}.cat-zoom-count{display:inline-flex;align-items:baseline;gap:8px;margin:0 14px;color:#fff;font-family:var(--font-mono);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-zoom-count b,.cat-zoom-count em{font-style:normal;font-weight:400;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}.cat-zoom-count b{padding-left:8px;border-left:1px solid rgba(255,255,255,.18);color:var(--signal-soft)}.cat-zoom-tools{display:flex;align-items:center;gap:6px}.cat-zoom-tools button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;cursor:pointer;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;transition:background var(--dur-sm,.2s) ease}.cat-zoom-tools button:hover:not(:disabled){background:rgba(255,255,255,.18)}.cat-zoom-tools button:disabled{opacity:.35;cursor:default}.cat-zoom-tools em{min-width:52px;text-align:center;font-style:normal;font-family:var(--font-mono);font-size:.68rem;color:rgba(255,255,255,.8);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-zoom-close{background:var(--signal)!important;border-color:var(--signal)!important}.cat-zoom-pan{overflow:auto;display:grid;place-items:center;padding:clamp(10px,2vw,28px);cursor:-webkit-grab;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior:contain}.cat-zoom-pan.is-panning{cursor:-webkit-grabbing;cursor:grabbing}.cat-zoom-pan img{display:block;height:auto;max-width:none;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.cat-zoom-hint{padding:10px 16px 14px;text-align:center;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}@media (max-width:700px){.cat-zoom-bar{justify-content:center}.cat-zoom-hint{display:none}}.cat-grid{list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:14px;gap:14px}.cat-grid button{position:relative;display:block;width:100%;padding:0;background:#fff;border:1px solid var(--lab-line);cursor:pointer;transition:border-color var(--dur-sm,.2s) ease,transform var(--dur-sm,.2s) ease}.cat-grid button:hover{border-color:var(--lab-line-strong);transform:translateY(-3px)}.cat-grid button.is-active{border-color:var(--signal);box-shadow:0 0 0 2px var(--signal-soft)}.cat-grid img{display:block;width:100%;height:auto}.cat-grid em{display:block;padding:5px;border-top:1px solid var(--lab-line);font-style:normal;font-family:var(--font-mono);font-size:.6rem;color:var(--lab-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-grid button.is-active em{color:var(--signal)}.cat-index-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:1px;gap:1px;background:var(--lab-line);border:1px solid var(--lab-line)}.cat-index-grid a{display:block;padding:18px 20px 20px;background:#fff;text-decoration:none;transition:background var(--dur-sm,.2s) ease}.cat-index-grid a:hover{background:var(--paper-2)}.cat-index-grid em{display:block;font-style:normal;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lab-muted)}.cat-index-grid strong{display:block;margin:8px 0 4px;font-family:var(--font-display);font-size:1.05rem;font-weight:650;letter-spacing:-.02em;color:var(--lab-ink)}.cat-index-grid a:hover strong{color:var(--signal)}.cat-index-grid span{font-size:.78rem;color:var(--lab-copy)}@media (max-width:980px){.cat-hero-grid,.cat-layout{grid-template-columns:1fr}.cat-contents{position:static}.cat-contents ol{column-count:2;column-gap:24px}.cat-contents li{page-break-inside:avoid;break-inside:avoid}}@media (max-width:720px){.cat-views button span{display:none}.cat-views button{padding:10px 14px}}@media (max-width:560px){.cat-contents ol{column-count:1}.cat-toolbar{flex-direction:column;align-items:stretch}.cat-pager,.cat-views,.cat-views button{justify-content:center}.cat-views button{flex:1 1}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}@media (prefers-reduced-motion:reduce){.cat-grid button:hover{transform:none}}@media (max-width:700px){.eyebrow{font-size:.75rem;letter-spacing:.12em}.proof-bar small,.proof-bar strong{font-size:.72rem;letter-spacing:.05em}.spiral-section--works .spiral-nav button strong{font-size:.7rem}.works-title-eyebrow{font-size:.75rem;letter-spacing:.14em}.works-card-tag{font-size:.72rem;letter-spacing:.1em}.works-meta small{font-size:.75rem;letter-spacing:.12em}.works-chips span{font-size:.74rem}.home-hero .rail-title,.spiral-copy>small{font-size:.74rem;letter-spacing:.12em}.footer-grid h3{font-size:.74rem;letter-spacing:.1em}.footer-grid a,.footer-grid span{font-size:.82rem}.footer-base{font-size:.74rem}.blog-tag{font-size:.72rem;letter-spacing:.08em}.blog-meta span{font-size:.74rem}.model-card-v2-body dt,.type-hero-facts dt{font-size:.72rem;letter-spacing:.1em}.spec-matrix thead th{font-size:.72rem;letter-spacing:.06em}.type-crumbs a,.type-crumbs span{font-size:.74rem}.channel-label span,.product-card-top span{font-size:.74rem;letter-spacing:.1em}.cat-jump em,.cat-page figcaption{font-size:.74rem}.cat-index-grid em{font-size:.72rem}.spiral-section--works{height:auto}.spiral-section--works .spiral-stage{position:relative;height:auto;min-height:0;display:flex;flex-wrap:wrap;align-items:center;gap:13px 12px;padding:24px 20px 26px}.spiral-section--works .works-title{position:static;display:block;flex:1 1;min-width:0;order:1}.works-title-eyebrow{position:static;transform:none;display:block;letter-spacing:.08em}.spiral-section--works .spiral-nav{position:static;transform:none;left:auto;width:100%;max-width:none;order:2;padding-bottom:0}.spiral-section--works .works-rail{position:relative;inset:auto;width:100%;order:3;height:calc(86vw / 1.7021)}.spiral-section--works .works-card{max-width:none}.works-card-tag{display:none}.spiral-section--works .works-meta,.works-meta{position:static;inset:auto;max-width:none;width:100%;order:4;gap:6px}.works-arrow{position:static;inset:auto;transform:none;flex:0 0 auto;order:1;width:44px;height:44px}.works-arrow--prev{margin-left:auto}.works-chips{margin:2px 0 0}}@media (max-width:580px){.solution-preview{grid-template-columns:repeat(2,1fr);gap:10px}.solution-preview>a{min-height:0;aspect-ratio:3/4}.solution-preview>a>div{inset:auto 8px 8px;padding:11px 12px}.solution-preview h3{font-size:1.02rem;margin:7px 0 0;letter-spacing:-.01em}.solution-preview div>span,.solution-preview p{display:none}.solution-preview svg{width:19px;height:19px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div{gap:2px}.footer-grid h3{margin:4px 0 8px}.footer-grid a{padding-block:7px;line-height:1.25}}@media (max-width:900px){.estimator-controls input[type=range]{height:44px}}@media (max-width:700px){.nav-utility-links{align-self:stretch}.nav-utility-links a{align-self:stretch;align-items:center}.blog-back,.hero-link,.text-link{padding-block:8px;min-height:30px}}@media (max-width:900px){.filter-bar,.gallery-marquee,.home-hero .rail-track,.post-spec,.spec-matrix-wrap,.spiral-section--works .spiral-nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.filter-bar,.home-hero .rail-track,.spiral-section--works .spiral-nav{scroll-snap-type:x proximity}.filter-bar>button,.home-hero .rail-track>button,.spiral-section--works .spiral-nav button{scroll-snap-align:start}}@media (max-width:700px){.home-hero,.home-hero.hero-stage,.white-lab-hero{min-height:calc(100svh - var(--nav-utility-h) - var(--nav-bar-h));height:auto;max-height:none}.home-hero .hero-grid{min-height:0;padding:clamp(72px,12vh,104px) 0 148px}.spiral-section--works .spiral-nav,.spiral-section--works .works-arrow,.spiral-section--works .works-meta,.spiral-section--works .works-rail{display:none}.spiral-section--works .spiral-stage{display:block;padding:26px 20px 30px}.spiral-section--works .works-title{position:static;display:block;width:auto}.spiral-section--works .spiral-fallback{display:grid;padding-inline:20px;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;padding-top:16px;padding-bottom:30px;background:transparent}.spiral-section--works .spiral-fallback a{position:relative;display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;border:1px solid rgba(147,181,239,.18);border-radius:3px;background:#0b0f16;color:#fff}.spiral-section--works .spiral-fallback img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;opacity:1;mix-blend-mode:normal;filter:none}.spiral-section--works .spiral-fallback a>small,.spiral-section--works .spiral-fallback a>strong{position:relative;z-index:1;display:block}.spiral-section--works .spiral-fallback a>strong{margin:0;padding:9px 10px 0;font-family:var(--font-display);font-size:.86rem;font-weight:600;line-height:1.16;letter-spacing:-.012em;text-transform:none;color:#fff}.spiral-section--works .spiral-fallback a>small{padding:2px 10px 10px;font-family:var(--font-tech);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#9cc3ff}.spiral-section--works .spiral-fallback .fallback-all{justify-content:center;align-items:center;text-align:center;min-height:100%;border-color:rgba(147,181,239,.34);background:rgba(8,107,255,.1)}.spiral-section--works .spiral-fallback .fallback-all>strong{padding:0;color:#cfe2ff}.spiral-section--works .spiral-fallback .fallback-all>small{padding:3px 0 0;color:#9cc3ff}.spiral-section--works .spiral-fallback strong{margin:0;font-family:var(--font-display);font-size:.88rem;font-weight:600;line-height:1.16;letter-spacing:-.012em;text-transform:none;color:#fff}.spiral-section--works .spiral-fallback small{margin-top:3px;font-family:var(--font-tech);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#9cc3ff}.spiral-section[data-live=false] .spiral-stage{content-visibility:visible;contain-intrinsic-size:auto}.filter-bar{scroll-snap-type:x proximity}.filter-bar>button{flex:0 0 auto;scroll-snap-align:start}.solution-preview .solution-shade,.spiral-section--works .spiral-bubbles,.spiral-section--works .spiral-caustics,.spiral-section--works .spiral-products,.spiral-section--works .spiral-signal,.spiral-section--works .spiral-smoke,.spiral-section--works .spiral-stage:after,.spiral-section--works .stage-beams,.spiral-section--works .stage-bokeh,.spiral-section--works .stage-dust,.spiral-section--works .stage-floorline,.spiral-section--works .stage-haze,.spiral-section--works .stage-plate{display:none}}@media (hover:none){.feature-list--interactive>a:hover:not(.is-active),.feature-list--interactive>button:hover:not(.is-active){background:transparent}#product-discovery .product-card:hover,.capability-rows li:hover,.cat-grid button:hover,.family-index-grid>a:hover img,.feature-tile:hover,.feature-tile:hover .feature-tile-copy svg,.filter-bar button:hover,.footer-social a:hover,.model-card:hover,.model-close:hover,.opportunity-tabs button:hover,.option-list button:hover,.product-card:hover,.product-card:hover img,.signal-chain a:hover .stage-node,.solution-card:hover img,.solution-preview>a:hover,.solution-preview>a:hover img,.type-card:hover{transform:none}.button:hover:after,.button:hover:before{opacity:0}}@media (max-width:700px){.page-hero{min-height:max(440px,100svh);height:auto}.opportunity-index{font-size:.72rem;letter-spacing:.08em}.opportunity-grid{grid-template-columns:minmax(0,1fr)}.opportunity-grid>*{min-width:0}.opportunity-panel{padding:7px}.opportunity-tabs{padding:5px}.opportunity-content{padding:22px 18px 20px}.opportunity-tabs button{min-width:0}.opportunity-proof span,.opportunity-tabs button{white-space:normal}.home-hero .hero-rail,.spiral-section--works .spiral-watermark,.spiral-section--works .spiral-watermark-canvas,.spiral-section--works .spiral-watermark-mark{display:none}.home-hero .hero-grid{padding-bottom:clamp(48px,9vh,76px)}.home-hero,.home-hero.hero-stage{display:flex;flex-direction:column;justify-content:center}.home-hero .hero-grid{padding-top:clamp(28px,5vh,52px);padding-bottom:clamp(28px,5vh,52px)}.opportunity-copy h2{font-size:clamp(2.3rem,11.2vw,3.4rem);overflow-wrap:break-word}}