:root{--services-bg:#f8f7f5;--services-surface:#fff;--services-panel:#f0eeea;--services-text:#151515;--services-muted:#61666b;--services-accent:#9e1c20;--services-accent-dark:#7f171a;--services-blue:#49627b;--services-border:#e3ded6;--services-container:var(--container-width);--services-radius:10px;--services-shadow:0 12px 34px #181c210e;--services-shadow-hover:0 20px 48px #181c211c;--services-section-space:var(--section-space);--services-readable:68ch;--hero-visual-height-wide:522px;--hero-visual-height-large:520px;--hero-visual-height-medium:310px;--hero-visual-height-compact:240px;--service-label-card-mobile:24px;--service-label-hero-mobile:30px;--service-label-detail-mobile:28px;--service-label-application-mobile:40px;--service-label-application-secondary-mobile:36px}.servicesPage{background:var(--services-bg);min-height:100vh;color:var(--services-text)}.pageHero{width:min(var(--services-container), 92%);padding-top:var(--page-hero-top);padding-bottom:var(--page-hero-bottom);margin:0 auto}.pageHero>.container{width:100%}.servicesEyebrow,.sectionEyebrow{margin-bottom:var(--eyebrow-title-gap);color:var(--services-accent);font-size:var(--font-size-eyebrow);letter-spacing:.18em;text-transform:uppercase;font-weight:700;line-height:1.2;display:inline-block}.servicesHeroLayout{grid-template-columns:minmax(0,.95fr) minmax(520px,.9fr);align-items:start;column-gap:clamp(72px,5vw,96px);display:grid}.servicesHero{width:min(1320px,92%);min-height:auto;padding-top:var(--page-hero-top);padding-bottom:var(--page-hero-bottom);box-sizing:border-box}.servicesHeroContent{max-width:var(--services-readable);min-width:0;padding-left:var(--wide-hero-content-inset)}.servicesHeroActions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.servicesHeroContent>.servicesHeroActions{margin-top:var(--hero-cta-gap,32px)}.servicesHeroTitle{color:var(--services-text);font-size:var(--font-size-page-title);letter-spacing:0;margin:0;font-weight:600;line-height:1.02}.servicesHero .servicesHeroTitle{font-size:var(--font-size-page-title);line-height:.97}.servicesHeroCopy{margin-top:var(--heading-copy-gap);max-width:var(--services-readable)}.servicesHeroCopy p,.servicesHeroDescription{color:#555a60;font-size:var(--font-size-body-large);margin:0;line-height:1.72}.servicesHero .servicesHeroCopy p{font-size:var(--font-size-body-large);line-height:1.6}.servicesHeroButton,.servicesCTAButton{color:#fff;background:var(--services-accent);border:1px solid var(--services-accent);border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:52px;font-weight:700;text-decoration:none;transition:background .22s,border-color .22s,transform .22s;display:inline-flex}.servicesHeroButton{margin-top:32px;padding:0 24px;font-size:.96rem}.servicesHeroActions .servicesHeroButton{margin-top:0}.servicesCTAButton{padding:0 34px;font-size:1rem}.servicesHeroButton span,.servicesCTAButton span{transition:transform .22s}.servicesHeroButton:hover,.servicesCTAButton:hover{background:var(--services-accent-dark);border-color:var(--services-accent-dark);transform:translateY(-1px)}.servicesHeroButton:hover span,.servicesCTAButton:hover span{transform:translate(3px)}.servicesHeroButton:focus-visible,.servicesCTAButton:focus-visible,.servicesCTASecondaryButton:focus-visible,.serviceTileLink:focus-visible{outline-offset:5px;outline:2px solid #9e1c208c}.servicesHeroVisual{width:100%;min-height:var(--hero-visual-height-wide);border-radius:var(--services-radius);box-shadow:var(--services-shadow);background:radial-gradient(at 64% 34%,#ffffffe6,#0000 62%),#f2f1ee;border:1px solid #20242a14;justify-self:end;margin-top:0;position:relative;overflow:hidden}@media (min-width:1181px){.servicesHeroContent{grid-area:1/1}.servicesHeroVisual{min-height:var(--hero-visual-height-wide);grid-area:1/2/span 2;transform:none}.servicesHeroVisualGrid{inset:5.5% 0}}.servicesHeroVisualGrid{z-index:3;pointer-events:none;opacity:.7;background-image:linear-gradient(#20242a0d 1px,#0000 1px),linear-gradient(90deg,#20242a0d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.servicesHeroCanvas{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.servicesRevealEnabled [data-service-reveal]{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transform:translateY(14px)}.servicesRevealEnabled [data-service-reveal].servicesRevealVisible{opacity:1;transform:translateY(0)}.serviceGridSection,.servicesApproach,.computationalPlatform,.servicesCTA{padding:var(--services-section-space) 0;content-visibility:auto;contain-intrinsic-block-size:auto 760px}.serviceGridSection{padding-top:var(--section-entry-space);padding-bottom:0}#capabilities{scroll-margin-top:110px}.servicesIntro,.servicesSectionHeader{max-width:780px}.servicesIntro{max-width:1200px;margin-bottom:var(--header-content-gap)}.servicesIntro .servicesEyebrow{margin-bottom:20px}.servicesIntro .servicesSectionTitle{font-size:var(--font-size-section-title)}.servicesIntroDescription{max-width:1120px;margin:var(--header-content-gap) 0 0;color:var(--services-muted);font-size:1.08rem;line-height:1.62}.servicesSectionTitle{color:var(--graphite);font-size:var(--font-size-section-title);letter-spacing:0;margin:0;font-weight:650;line-height:1.04}.servicesSectionDescription{margin-top:var(--heading-copy-gap);max-width:720px;color:var(--services-muted);font-size:1.15rem;line-height:1.8}.serviceGrid{gap:var(--card-grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.serviceGridRail{min-width:0;position:relative}.serviceGridRail>.railButton{display:none}.serviceTile{min-height:100%}.serviceTileLink{height:100%;color:inherit;background:var(--services-surface);border-radius:var(--services-radius);box-shadow:var(--services-shadow);border:1px solid #20242a1a;grid-template-rows:auto 1fr;text-decoration:none;transition:border-color .22s,box-shadow .22s,transform .22s;display:grid;position:relative;overflow:hidden}.serviceTileLink .touchLinkIndicator{--touch-link-indicator-right:20px;--touch-link-indicator-bottom:20px}.serviceTileLink:hover{box-shadow:var(--services-shadow-hover);border-color:#9e1c203d;transform:translateY(-4px)}.serviceTileImage{aspect-ratio:16/9;background:#f8f7f5;width:100%;position:relative;overflow:hidden}.serviceTileImage:after{content:"";background:var(--services-accent);height:3px;position:absolute;inset:auto 0 0}.serviceTileImageElement{object-fit:cover;pointer-events:none;filter:brightness(.98)contrast(1.03);width:100%;height:100%;transition:filter .4s,transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.serviceEngineeringGraphic{--sg-bg:#f8f7f5;--sg-line:#555d63;--sg-line-soft:#92989d;--sg-fill:#ffffff8a;--sg-cavity:#3f454a17;--sg-blue:#55798e;--sg-blue-light:#85aab9;--sg-crimson:#7c0911;background:var(--sg-bg);pointer-events:none;position:absolute;inset:0;overflow:hidden}.serviceEngineeringGraphic svg{width:100%;height:100%;display:block}.serviceEngineeringGraphic :is(path,rect,circle,ellipse){vector-effect:non-scaling-stroke}.serviceEngineeringGraphic[data-motion] *{animation-play-state:paused}.serviceEngineeringGraphic[data-motion=active] *{animation-play-state:running}.serviceEngineeringGraphic--optimization[data-motion]:not([data-motion=active]) *{animation-play-state:paused!important}.servicesHeroVisual[data-motion] *{animation-play-state:paused}.servicesHeroVisual[data-motion=active] *{animation-play-state:running}.serviceGraphicGrid{fill:none;stroke:#363b400b;stroke-width:1px}.serviceGraphicBody{fill:var(--sg-fill);stroke:var(--sg-line);stroke-width:1.7px;stroke-linejoin:round}.serviceGraphicCavity{fill:var(--sg-cavity);stroke:var(--sg-line-soft);stroke-width:1.1px}.serviceGraphicWall,.serviceGraphicFlange{fill:none;stroke:var(--sg-line);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.serviceGraphicFlange{stroke-width:3px}.serviceGraphicDetail{fill:none;stroke:var(--sg-line-soft);stroke-width:1.25px}.serviceGraphicPort{fill:var(--sg-bg);stroke:var(--sg-line);stroke-width:1.6px}.serviceGraphicArrowBlue{fill:var(--sg-blue)}.serviceGraphicArrowRed{fill:var(--sg-crimson)}.serviceGraphicLabels{fill:var(--sg-line);letter-spacing:.08em;paint-order:stroke;stroke:var(--sg-bg);stroke-width:3px;stroke-linejoin:round;font-size:16px;font-weight:600}.serviceGraphicLabels text{dominant-baseline:middle}.serviceTileLink:hover .serviceEngineeringGraphic,.serviceTileLink:focus-visible .serviceEngineeringGraphic{transform:scale(1.008)}.serviceEngineeringGraphic{transition:transform .4s cubic-bezier(.22,1,.36,1)}.serviceCfdStreamline{fill:none;stroke:var(--sg-blue);stroke-width:1.05px;opacity:.33}.serviceCfdTracer{fill:none;stroke:var(--sg-blue);stroke-width:1.85px;stroke-linecap:round;stroke-dasharray:.85 100;animation:6.4s linear infinite serviceCfdTracerTransport}@keyframes serviceCfdTracerTransport{0%{stroke-dashoffset:0;opacity:0}3%{opacity:.82}36%{stroke-dashoffset:-28px}49%{stroke-dashoffset:-55px}68%{stroke-dashoffset:-74px}97%{opacity:.82}to{stroke-dashoffset:-100.55px;opacity:0}}.serviceCoupledHeater{fill:none;stroke:var(--sg-crimson);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:16 9;animation:2.4s linear infinite serviceFlowDash}.serviceCoupledBed circle{fill:#7c8082;opacity:.48}.serviceCoupledFlow path{fill:none;stroke:var(--sg-blue);stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:2 18;animation:3.1s linear infinite serviceFlowDash}.serviceCoupledThermalField{fill:#7c09111f;stroke:#7c091147;stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:5.8s ease-in-out infinite serviceThermalBreathe}.serviceCoupledHeatTransfer{fill:none;stroke:var(--sg-crimson);stroke-width:1.35px;stroke-dasharray:4 6;animation:2.3s linear infinite serviceFlowDash}.serviceCoupledSpecies circle{fill:var(--sg-blue);animation:4.9s ease-in-out infinite serviceSpeciesConvert}.serviceCoupledSpecies circle:nth-child(2){animation-delay:-1.6s}.serviceCoupledSpecies circle:nth-child(3){animation-delay:-3.2s}.serviceThermalPlate{fill:#6b73791a;stroke:var(--sg-line);stroke-width:1.4px}.serviceThermalSpreader{fill:#747a7f24;stroke:var(--sg-line);stroke-width:1.3px}.serviceThermalSource{fill:#7c0911ad;stroke:var(--sg-crimson);stroke-width:1.4px}.serviceThermalHeatField{fill:url(#thermal-heat);transform-box:fill-box;transform-origin:50%}.serviceThermalHeatFieldA{animation:6.4s ease-in-out infinite serviceHeatSpreadA}.serviceThermalHeatFieldB{opacity:.42;animation:6.4s ease-in-out infinite serviceHeatSpreadB}.serviceThermalChannel{fill:none;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.serviceThermalTracer{fill:none;stroke:#f8f7f5e0;stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:2 22;animation:4.35s linear infinite serviceFlowDash}.serviceProcessEquipment :is(rect,path){fill:#ffffff85;stroke:var(--sg-line);stroke-width:1.5px}.serviceProcessEquipment path{fill:none;stroke:var(--sg-line-soft);stroke-width:1px}.serviceProcessPipes path{fill:none;stroke:var(--sg-line-soft);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.serviceProcessPackets path{fill:none;stroke:var(--sg-blue);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 24}.serviceProcessMainPacket{animation:6.1s linear infinite serviceFlowDash}.serviceProcessRecyclePacket{animation:7.6s linear infinite serviceFlowDash}.serviceProcessReaction{fill:#7c091133;stroke:var(--sg-crimson);stroke-width:1.2px;transform-box:fill-box;transform-origin:50%;animation:5.2s ease-in-out infinite serviceReactionPulse}.serviceProcessSplit{fill:none;stroke:var(--sg-crimson);stroke-width:1.5px;stroke-dasharray:4 5;animation:3.6s linear infinite serviceFlowDash}.serviceOptimizationCandidate rect{fill:#ffffff75;stroke:var(--sg-line-soft);stroke-width:1.35px}.serviceOptimizationCandidate>path:not(.serviceOptimizationScan){fill:none;stroke:var(--sg-blue);stroke-width:2.1px}.serviceOptimizationFlow{stroke-dasharray:3 8;opacity:.6;animation:2.4s linear infinite serviceFlowDash;stroke-width:1.1px!important}.serviceOptimizationLabel{fill:var(--sg-line);letter-spacing:.05em;font-size:16px;font-weight:600}.serviceOptimizationScan{fill:none;stroke:var(--sg-blue);stroke-width:1.35px;opacity:0}.serviceOptimizationBaseline{fill:none;stroke:#555d6342;stroke-width:1px}.serviceOptimizationCandidate1{animation:12.4s ease-in-out infinite serviceCandidateA}.serviceOptimizationCandidate2{animation:12.4s ease-in-out infinite serviceCandidateB}.serviceOptimizationCandidate3{animation:12.4s ease-in-out infinite serviceCandidateC}.serviceOptimizationCandidate3 rect{animation:12.4s step-end infinite servicePreferredFrame}.serviceOptimizationCandidate3>path:not(.serviceOptimizationScan){animation:12.4s step-end infinite servicePreferredPath}.serviceOptimizationCandidate1 .serviceOptimizationScan{animation:12.4s linear infinite serviceScanA}.serviceOptimizationCandidate2 .serviceOptimizationScan{animation:12.4s linear infinite serviceScanB}.serviceOptimizationCandidate3 .serviceOptimizationScan{animation:12.4s linear infinite serviceScanC}.serviceOptimizationHeroState{opacity:.38;animation:12.6s ease-in-out infinite serviceOptimizationHeroState1}.serviceOptimizationHeroState2{animation-name:serviceOptimizationHeroState2}.serviceOptimizationHeroState3{animation-name:serviceOptimizationHeroState3}.serviceOptimizationHeroShell{fill:#ffffff6b;stroke:var(--sg-line);stroke-width:1.75px;stroke-linejoin:round}.serviceOptimizationHeroPreferred .serviceOptimizationHeroShell{animation:12.6s ease-in-out infinite serviceOptimizationHeroPreferred}.serviceOptimizationHeroLabel{fill:var(--sg-line);letter-spacing:.11em;paint-order:stroke;stroke:var(--sg-bg);stroke-width:3px;font-size:13.5px;font-weight:700}.serviceOptimizationHeroField path{fill:none;stroke:var(--sg-blue);stroke-width:1.1px;stroke-linecap:round;opacity:.55}.serviceOptimizationHeroField .serviceOptimizationHeroTracer{stroke-width:2.2px;stroke-dasharray:1 99;opacity:.9;animation:4.1s linear infinite serviceFlowDash}.serviceOptimizationHeroSeparation path{fill:none;stroke:var(--sg-crimson);stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:3 5;opacity:.72;animation:2.8s linear infinite serviceFlowDash}.serviceOptimizationHeroSeparationReduced{opacity:.48}.serviceOptimizationHeroScan{fill:none;stroke:var(--sg-blue);stroke-width:1.1px;stroke-dasharray:3 5;opacity:0;animation:12.6s ease-in-out infinite serviceOptimizationHeroScan1}.serviceOptimizationHeroState2 .serviceOptimizationHeroScan{animation-name:serviceOptimizationHeroScan2}.serviceOptimizationHeroState3 .serviceOptimizationHeroScan{stroke:var(--sg-crimson);animation-name:serviceOptimizationHeroScan3}.serviceOptimizationHeroTransitions path,.serviceOptimizationHeroRail{fill:none;stroke:#555d635c;stroke-width:1.1px;stroke-linecap:round}.serviceOptimizationHeroDecision circle:first-child{fill:var(--sg-bg);stroke:var(--sg-line-soft);stroke-width:1.2px}.serviceOptimizationHeroDecision{opacity:.42;animation:12.6s ease-in-out infinite serviceOptimizationHeroDecision1}.serviceOptimizationHeroDecision2{animation-name:serviceOptimizationHeroDecision2}.serviceOptimizationHeroDecision3{animation-name:serviceOptimizationHeroDecision3}.serviceOptimizationHeroReject{fill:none;stroke:var(--sg-line);stroke-width:1.1px;stroke-linecap:round;opacity:0;animation:12.6s ease-in-out infinite serviceOptimizationHeroReject1}.serviceOptimizationHeroDecision2 .serviceOptimizationHeroReject{animation-name:serviceOptimizationHeroReject2}.serviceOptimizationHeroSelect{fill:var(--sg-crimson);stroke:none;opacity:0;animation:12.6s ease-in-out infinite serviceOptimizationHeroSelect}.serviceOptimizationHeroAnnotations{fill:var(--sg-line-soft);letter-spacing:.08em;font-size:10.5px;font-weight:700}.serviceOptimizationHeroAnnotationValue{fill:var(--sg-line);letter-spacing:.035em;font-size:11px;font-weight:600}.serviceNeuralInputBlock rect,.serviceNeuralOutputPanel rect{fill:#ffffff7a;stroke:var(--sg-line);stroke-width:1.4px}.serviceNeuralInputBlock text,.serviceNeuralOutputPanel text{fill:var(--sg-line);letter-spacing:.06em;font-size:16px;font-weight:650}.serviceNeuralInputBlock path{fill:none;stroke:var(--sg-blue);stroke-width:1.4px}.serviceNeuralInputBlock{transform-box:fill-box;transform-origin:50%;animation:8.4s ease-in-out infinite serviceNeuralInputActivate}.serviceNeuralInputBlockB{animation-delay:.18s}.serviceNeuralInputBlockC{animation-delay:.36s}.serviceNeuralSignals path,.serviceNeuralOutputSignals path{fill:none;stroke-width:1.7px;stroke-dasharray:4 6;animation:2.1s linear infinite serviceNeuralSignalPass}.serviceNeuralSignals path{stroke:var(--sg-blue)}.serviceNeuralOutputSignals path{stroke:var(--sg-crimson);animation-delay:-1.05s}.serviceNeuralOperator rect{fill:#555d6312;stroke:var(--sg-line);stroke-width:1.5px}.serviceNeuralOperator text{fill:var(--sg-line);letter-spacing:.06em;font-size:16px;font-weight:700}.serviceNeuralCoreGrid{fill:none;stroke:#555d6338;stroke-width:1px}.serviceNeuralCoreTrace{fill:none;stroke:var(--sg-crimson);stroke-width:1.7px;stroke-dasharray:5 7;animation:8.4s ease-in-out infinite serviceNeuralCoreActivate}.serviceNeuralCoreField path{fill:none;stroke:var(--sg-crimson);stroke-width:1.45px;stroke-dasharray:90;animation:8.4s ease-in-out infinite serviceNeuralCoreActivate}.serviceNeuralCoreField path:nth-child(2){stroke:var(--sg-blue);animation-delay:80ms}.serviceNeuralCoreField path:nth-child(3){opacity:.62;animation-delay:.16s}.serviceNeuralOutputLabel{fill:var(--sg-blue)!important;font-size:14px!important}.serviceNeuralOutputField{fill:none;stroke:var(--sg-blue);stroke-width:1.7px;stroke-dasharray:140;stroke-dashoffset:140px;animation:8.4s ease-in-out infinite serviceNeuralFieldDraw}.serviceNeuralOutputPanelB .serviceNeuralOutputField{stroke:#718b96;animation-delay:.28s}.serviceNeuralOutputPanelC .serviceNeuralOutputField{stroke:var(--sg-crimson);animation-delay:.56s}.servicesHeroEngineeringGraphic{box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:100%;height:100%;min-height:430px;padding-bottom:72px;display:flex;position:relative}.servicesHeroEngineeringGraphic>svg{flex:none;width:100%;height:auto;display:block}.serviceHeroLabels{fill:#555d63;letter-spacing:.08em;paint-order:stroke;stroke:#f8f7f5;stroke-width:4px;stroke-linejoin:round;font-size:16px;font-weight:650}.serviceHeroFlowLabel{fill:#71808a;letter-spacing:.09em;font-size:14px;font-weight:650}.serviceHeroCallout{fill:none;stroke:#92989d;stroke-width:1px}.serviceHeroEquipment .serviceGraphicBody{fill:#ffffff7a;stroke-width:2px}.serviceHeroSupport{fill:#555d6314;stroke:var(--sg-line);stroke-width:1.6px}.serviceHeroBaffle{fill:none;stroke:var(--sg-line-soft);stroke-width:1.7px}.serviceHeroTube{fill:none;stroke:var(--sg-line);stroke-width:1.35px;opacity:.58}.serviceHeroBedFrame{fill:#555d630e;stroke:var(--sg-line);stroke-width:1.6px}.serviceHeroBed circle{fill:#72797d;opacity:.7}.serviceHeroPhase{opacity:0}.serviceHeroPhase path,.serviceHeroPhase rect,.serviceHeroPhase ellipse,.serviceHeroPhase circle{vector-effect:non-scaling-stroke}.serviceHeroFlow{opacity:.72;animation:21s ease-in-out infinite serviceHeroFlowPhase}.serviceHeroFlow path{fill:none;stroke:var(--sg-blue);stroke-linecap:round}.serviceHeroStreamline{stroke-width:1.05px;opacity:.48}.serviceHeroTracer{stroke-width:1.7px;stroke-dasharray:1 27;opacity:.78;animation:2.2s linear infinite serviceFlowDash}.serviceHeroThermal{animation:21s ease-in-out infinite serviceHeroThermalPhase}.serviceHeroThermal ellipse{fill:url(#hero-heat)}.serviceHeroThermal path{fill:none;stroke:var(--sg-crimson);stroke-width:1.45px;stroke-dasharray:5 6;animation:2.1s linear infinite serviceFlowDash}.serviceHeroReaction{animation:21s ease-in-out infinite serviceHeroReactionPhase}.serviceHeroReaction path{fill:none;stroke:var(--sg-crimson);stroke-width:1.4px;stroke-dasharray:5 7;animation:2.5s linear infinite serviceFlowDash}.serviceHeroReaction circle{fill:var(--sg-blue);animation:2.7s ease-in-out infinite serviceSpeciesConvert}.serviceHeroOptimization{animation:21s ease-in-out infinite serviceHeroOptimizationPhase}.serviceHeroOptimization path{fill:none;stroke-width:1.35px}.serviceHeroOperatingField{stroke:#758b98;opacity:.34}.serviceHeroOperatingField2{stroke:#6b8794;opacity:.48}.serviceHeroOperatingField3{stroke:var(--sg-crimson);opacity:.82}.serviceHeroOptimizationScan{stroke:var(--sg-crimson);stroke-width:1.1px;stroke-dasharray:3 5;opacity:.7;animation:2.8s ease-in-out infinite serviceOptimizationSweep}.serviceHeroNeural{animation:21s ease-in-out infinite serviceHeroNeuralPhase}.serviceHeroNeuralInput{fill:none;stroke:var(--sg-blue);stroke-width:1.5px;animation:1s linear infinite serviceFlowDash}.serviceHeroNeuralField{fill:none;stroke-width:2.1px}.serviceHeroNeuralFieldA{stroke:var(--sg-blue);animation:2.85s step-end infinite serviceNeuralStateA}.serviceHeroNeuralFieldB{stroke:#718b96;animation:2.85s step-end infinite serviceNeuralStateB}.serviceHeroNeuralFieldC{stroke:var(--sg-crimson);animation:2.85s step-end infinite serviceNeuralStateC}.serviceHeroTimeline{z-index:4;border-top:1px solid #555d6338;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding-top:10px;display:grid;position:absolute;inset:auto 3.5% 11%}.serviceHeroTimelinePhase{color:#697077;min-width:0;position:relative}.serviceHeroTimelinePhase:before{content:"";background:#7c0911;width:0;height:2px;animation:21s linear infinite serviceHeroTimelineProgress;position:absolute;top:-11px;left:0}.serviceHeroTimelineNumber,.serviceHeroTimelineName,.serviceHeroTimelineDetail{display:block}.serviceHeroTimelineNumber{letter-spacing:.12em;font-size:8px}.serviceHeroTimelineName{font-size:9px;font-weight:inherit;letter-spacing:.08em;white-space:nowrap;margin-top:2px}.serviceHeroTimelineDetail{margin-top:3px;font-size:8px;line-height:1.2}.serviceHeroTimelinePhase{animation:21s step-end infinite serviceHeroTimelineMuted}.serviceHeroTimelinePhase:first-child{animation-name:serviceHeroTimelineActive1}.serviceHeroTimelinePhase:nth-child(2){animation-name:serviceHeroTimelineActive2}.serviceHeroTimelinePhase:nth-child(3){animation-name:serviceHeroTimelineActive3}.serviceHeroTimelinePhase:nth-child(4){animation-name:serviceHeroTimelineActive4}.serviceHeroTimelinePhase:nth-child(5){animation-name:serviceHeroTimelineActive5}.serviceHeroTimelinePhase:nth-child(6){animation-name:serviceHeroTimelineActive6}.serviceHeroTimelinePhase:first-child:before{animation-name:serviceHeroTimelineProgress1}.serviceHeroTimelinePhase:nth-child(2):before{animation-name:serviceHeroTimelineProgress2}.serviceHeroTimelinePhase:nth-child(3):before{animation-name:serviceHeroTimelineProgress3}.serviceHeroTimelinePhase:nth-child(4):before{animation-name:serviceHeroTimelineProgress4}.serviceHeroTimelinePhase:nth-child(5):before{animation-name:serviceHeroTimelineProgress5}.serviceHeroTimelinePhase:nth-child(6):before{animation-name:serviceHeroTimelineProgress6}.servicesHeroVisual[data-phase] .serviceHeroPhase{transition:opacity .22s;animation:none}.servicesHeroVisual[data-phase] .serviceHeroTimelinePhase{color:#697077;font-weight:400;animation:none}.servicesHeroVisual[data-phase] .serviceHeroTimelinePhase:before{width:0;animation:none}.servicesHeroVisual[data-phase="0"] .serviceHeroFlow{opacity:.92}.servicesHeroVisual[data-phase="0"] .serviceHeroTimelinePhase:first-child,.servicesHeroVisual[data-phase="1"] .serviceHeroTimelinePhase:nth-child(2),.servicesHeroVisual[data-phase="2"] .serviceHeroTimelinePhase:nth-child(3),.servicesHeroVisual[data-phase="3"] .serviceHeroTimelinePhase:nth-child(4),.servicesHeroVisual[data-phase="4"] .serviceHeroTimelinePhase:nth-child(5),.servicesHeroVisual[data-phase="5"] .serviceHeroTimelinePhase:nth-child(6){color:#7c0911;font-weight:700}.servicesHeroVisual[data-phase="0"] .serviceHeroTimelinePhase:first-child:before,.servicesHeroVisual[data-phase="1"] .serviceHeroTimelinePhase:nth-child(2):before,.servicesHeroVisual[data-phase="2"] .serviceHeroTimelinePhase:nth-child(3):before,.servicesHeroVisual[data-phase="3"] .serviceHeroTimelinePhase:nth-child(4):before,.servicesHeroVisual[data-phase="4"] .serviceHeroTimelinePhase:nth-child(5):before,.servicesHeroVisual[data-phase="5"] .serviceHeroTimelinePhase:nth-child(6):before{width:100%}.servicesHeroVisual[data-phase="1"] .serviceHeroFlow,.servicesHeroVisual[data-phase="2"] .serviceHeroFlow,.servicesHeroVisual[data-phase="3"] .serviceHeroFlow{opacity:.28}.servicesHeroVisual[data-phase="2"] .serviceHeroThermal,.servicesHeroVisual[data-phase="3"] .serviceHeroThermal{opacity:.42}.servicesHeroVisual[data-phase="1"] .serviceHeroThermal,.servicesHeroVisual[data-phase="2"] .serviceHeroReaction{opacity:.88}.servicesHeroVisual[data-phase="3"] .serviceHeroReaction{opacity:.58}.servicesHeroVisual[data-phase="4"] .serviceHeroOptimization{opacity:.9}.servicesHeroVisual[data-phase="5"] .serviceHeroNeural{opacity:.92}@keyframes serviceFlowDash{to{stroke-dashoffset:-100px}}@keyframes serviceThermalBreathe{0%,to{opacity:.34;transform:scale(.96)}50%{opacity:.82;transform:scale(1.02)}}@keyframes serviceSpeciesConvert{0%,18%{fill:var(--sg-blue);opacity:.45}58%,to{fill:var(--sg-crimson);opacity:.88}}@keyframes serviceHeatSpreadA{0%,to{opacity:.65;transform:scale(.78)}50%{opacity:.92;transform:scale(1.08)}}@keyframes serviceHeatSpreadB{0%,to{opacity:.12;transform:scale(.72)}54%{opacity:.48;transform:scale(1.12)}}@keyframes serviceReactionPulse{0%,to{opacity:.28;transform:scale(.82)}50%{opacity:.82;transform:scale(1.15)}}@keyframes serviceOptimizationSweep{0%{transform:translate(0)}50%,to{transform:translate(206px)}}@keyframes serviceCandidateA{0%,5%,25%{opacity:1}31%,to{opacity:.38}}@keyframes serviceCandidateB{0%,27%{opacity:.38}33%,52%{opacity:1}59%,to{opacity:.38}}@keyframes serviceCandidateC{0%,55%{opacity:.38}62%,to{opacity:1}}@keyframes servicePreferredFrame{0%,75%{stroke:var(--sg-line-soft);fill:#ffffff75}76%,to{stroke:var(--sg-crimson);fill:#7c091114}}@keyframes servicePreferredPath{0%,75%{stroke:var(--sg-blue)}76%,to{stroke:var(--sg-crimson)}}@keyframes serviceScanA{0%,4%{opacity:0;transform:translate(0)}8%{opacity:1}25%{opacity:0;transform:translate(90px)}to{opacity:0}}@keyframes serviceScanB{0%,31%{opacity:0;transform:translate(0)}35%{opacity:1}52%{opacity:0;transform:translate(90px)}to{opacity:0}}@keyframes serviceScanC{0%,58%{opacity:0;transform:translate(0)}62%{opacity:1}78%{opacity:0;transform:translate(90px)}to{opacity:0}}@keyframes serviceOptimizationHeroState1{0%,5%,27%{opacity:1}34%,to{opacity:.38}}@keyframes serviceOptimizationHeroState2{0%,28%{opacity:.38}35%,55%{opacity:1}62%,to{opacity:.38}}@keyframes serviceOptimizationHeroState3{0%,56%{opacity:.38}64%,96%{opacity:1}to{opacity:.38}}@keyframes serviceOptimizationHeroPreferred{0%,59%,to{stroke:var(--sg-line);fill:#ffffff6b}67%,96%{stroke:var(--sg-crimson);fill:#7c09110b}}@keyframes serviceOptimizationHeroScan1{0%,4%{opacity:0;transform:translate(0)}8%{opacity:.75}26%{opacity:0;transform:translate(112px)}to{opacity:0}}@keyframes serviceOptimizationHeroScan2{0%,32%{opacity:0;transform:translate(0)}36%{opacity:.75}55%{opacity:0;transform:translate(112px)}to{opacity:0}}@keyframes serviceOptimizationHeroScan3{0%,60%{opacity:0;transform:translate(0)}64%{opacity:.82}82%{opacity:0;transform:translate(112px)}to{opacity:0}}@keyframes serviceOptimizationHeroDecision1{0%,4%,28%{opacity:1}36%,to{opacity:.42}}@keyframes serviceOptimizationHeroDecision2{0%,30%{opacity:.42}36%,58%{opacity:1}64%,to{opacity:.42}}@keyframes serviceOptimizationHeroDecision3{0%,58%{opacity:.42}66%,96%{opacity:1}to{opacity:.42}}@keyframes serviceOptimizationHeroReject1{0%,20%{opacity:0}28%,to{opacity:.8}}@keyframes serviceOptimizationHeroReject2{0%,50%{opacity:0}58%,to{opacity:.8}}@keyframes serviceOptimizationHeroSelect{0%,63%{opacity:0}70%,96%{opacity:1}to{opacity:0}}@keyframes serviceNeuralStateA{0%,31.5%,to{opacity:1}33.5%,98%{opacity:0}}@keyframes serviceNeuralStateB{0%,31.5%,65%{opacity:0}33.5%,63%{opacity:1}67%,to{opacity:0}}@keyframes serviceNeuralStateC{0%,65%{opacity:0}67%,98%{opacity:1}to{opacity:0}}@keyframes serviceNeuralInputActivate{0%,to{stroke:none}12%,28%{transform:scale(1.015)}20%,34%{stroke:var(--sg-blue)}}@keyframes serviceNeuralSignalPass{to{stroke-dashoffset:-40px}}@keyframes serviceNeuralCoreActivate{0%,32%{opacity:.35;stroke-dashoffset:80px}48%,68%{opacity:1;stroke-dashoffset:0}82%,to{opacity:.5;stroke-dashoffset:80px}}@keyframes serviceNeuralFieldDraw{0%,38%{opacity:.25;stroke-dashoffset:140px}52%,78%{opacity:1;stroke-dashoffset:0}90%,to{opacity:.65;stroke-dashoffset:140px}}@keyframes serviceNeuralDetailFieldUpdate{0%,39%{opacity:.3;stroke-dashoffset:120px}42%,82%{opacity:1;stroke-dashoffset:0}92%,to{opacity:.55;stroke-dashoffset:120px}}@keyframes serviceHeroFlowPhase{0%,15%{opacity:.92}23%,60%{opacity:.27}69%,83%{opacity:.14}94%{opacity:.45}to{opacity:.92}}@keyframes serviceHeroThermalPhase{0%,12%,72%,to{opacity:0}19%,29%{opacity:.88}37%,55%{opacity:.42}63%{opacity:.17}}@keyframes serviceHeroReactionPhase{0%,26%,72%,to{opacity:0}34%,45%{opacity:.88}52%,61%{opacity:.46}}@keyframes serviceHeroOptimizationPhase{0%,57%,82%,to{opacity:0}64%,77%{opacity:.9}}@keyframes serviceHeroNeuralPhase{0%,77%,to{opacity:0}84%,96%{opacity:.92}}@keyframes serviceHeroTimelineMuted{0%,to{color:#697077}}@keyframes serviceHeroTimelineActive1{0%,14%{color:#7c0911;font-weight:700}15%,to{color:#697077;font-weight:400}}@keyframes serviceHeroTimelineActive2{0%,14%{color:#697077;font-weight:400}15%,29%{color:#7c0911;font-weight:700}30%,to{color:#697077;font-weight:400}}@keyframes serviceHeroTimelineActive3{0%,29%{color:#697077;font-weight:400}30%,44%{color:#7c0911;font-weight:700}45%,to{color:#697077;font-weight:400}}@keyframes serviceHeroTimelineActive4{0%,44%{color:#697077;font-weight:400}45%,59%{color:#7c0911;font-weight:700}60%,to{color:#697077;font-weight:400}}@keyframes serviceHeroTimelineActive5{0%,59%{color:#697077;font-weight:400}60%,78%{color:#7c0911;font-weight:700}79%,to{color:#697077;font-weight:400}}@keyframes serviceHeroTimelineActive6{0%,78%{color:#697077;font-weight:400}79%,to{color:#7c0911;font-weight:700}}@keyframes serviceHeroTimelineProgress1{0%,14%{width:100%}15%,to{width:0}}@keyframes serviceHeroTimelineProgress2{0%,14%{width:0}15%,29%{width:100%}30%,to{width:0}}@keyframes serviceHeroTimelineProgress3{0%,29%{width:0}30%,44%{width:100%}45%,to{width:0}}@keyframes serviceHeroTimelineProgress4{0%,44%{width:0}45%,59%{width:100%}60%,to{width:0}}@keyframes serviceHeroTimelineProgress5{0%,59%{width:0}60%,78%{width:100%}79%,to{width:0}}@keyframes serviceHeroTimelineProgress6{0%,78%{width:0}79%,to{width:100%}}@media (max-width:520px){.serviceCfdStreamline:nth-of-type(3n),.serviceCfdTracers path:nth-child(3n){display:none}.servicesHeroEngineeringGraphic{min-height:370px}.serviceHeroTimeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 7px;inset:auto 4% 6%}.serviceHeroTimelinePhase:nth-child(n){color:#697077;animation-name:none}.serviceHeroTimelinePhase:first-child{color:var(--sg-crimson);font-weight:700}.serviceHeroTimelineNumber{font-size:10px}.serviceHeroTimelineDetail{font-size:9px;line-height:1.25}.serviceHeroTimelineName{white-space:normal;font-size:11px;line-height:1.15}.serviceHeroLabels{font-size:var(--service-label-hero-mobile)}.serviceHeroFlowLabel{font-size:28px}.serviceGraphicLabels,.serviceOptimizationLabel,.serviceNeuralInputBlock text,.serviceNeuralOutputPanel text,.serviceNeuralOperator text{font-size:var(--service-label-card-mobile)}.serviceNeuralInputBlock text,.serviceNeuralOutputPanel text,.serviceNeuralOperator text{font-size:18px}.serviceNeuralOutputLabel{font-size:18px!important}.serviceOptimizationLabel{font-size:20px}.servicesHeroEngineeringGraphic{transform:none}}@media (prefers-reduced-motion:reduce){.serviceEngineeringGraphic *{animation:none!important}.serviceHeroFlow{opacity:.62}.serviceHeroThermal{opacity:.2}.serviceHeroReaction{opacity:.22}.serviceHeroOptimization,.serviceHeroNeural{opacity:0}.serviceOptimizationHeroState{opacity:.62}.serviceOptimizationHeroState3{opacity:1}.serviceOptimizationHeroPreferred .serviceOptimizationHeroShell{stroke:var(--sg-crimson);fill:#7c09110b}.serviceOptimizationHeroReject{opacity:.8}.serviceOptimizationHeroSelect{opacity:1}.serviceHeroTimelinePhase:nth-child(n){color:#697077;animation:none}.serviceHeroTimelinePhase:first-child{color:var(--sg-crimson);font-weight:700}.serviceHeroTimelinePhase:before{width:0;animation:none}.serviceNeuralBoundaryA,.serviceNeuralFieldA{opacity:1}.serviceNeuralBoundaryB,.serviceNeuralBoundaryC,.serviceNeuralFieldB,.serviceNeuralFieldC{opacity:0}.serviceNeuralCoreTrace,.serviceNeuralCoreField path,.serviceNeuralOutputField{opacity:1;stroke-dashoffset:0}}.serviceTileContent{flex-direction:column;padding:28px;display:flex}.serviceTileContent h3{min-height:2.56em;color:var(--services-text);font-size:var(--font-size-card-title);margin:0;font-weight:650;line-height:1.28;transition:color .25s,transform .22s}.serviceTileLink:hover .serviceTileContent h3,.serviceTileLink:focus-visible .serviceTileContent h3{color:var(--crimson)}.serviceTileLink:hover .serviceTileContent h3{transform:translateY(-2px)}.serviceTileContent p{color:#5d6269;min-height:6.3em;margin:15px 0 0;font-size:.98rem;line-height:1.62}.servicesApproach{padding:var(--services-section-space) 0 0;background:var(--services-bg);border-block:1px solid #20242a12}.servicesApproachLayout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:start;gap:clamp(64px,7vw,96px);display:grid}.servicesApproach .servicesSectionTitle{font-size:var(--font-size-section-title);line-height:1.06}.servicesSectionLead{max-width:620px;margin:var(--heading-copy-gap) 0 0;color:var(--services-muted);font-size:1.04rem;line-height:1.68}.servicesApproach .servicesSectionLead{max-width:38ch}.approachRail{min-width:0;position:relative}.approachRail:after{content:"";z-index:2;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#f8f7f5f0);width:88px;height:100%;transition:opacity .25s;position:absolute;top:0;right:0}.approachRailHasMore:after{opacity:1}.approachSteps{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline mandatory;grid-template-columns:none;grid-auto-columns:minmax(270px,calc(50% - 14px));grid-auto-flow:column;gap:28px;margin-top:0;padding:4px 2px 14px;scroll-padding-inline:2px;display:grid;overflow-x:auto}.approachSteps::-webkit-scrollbar{display:none}.approachStep{z-index:1;background:var(--services-surface);scroll-snap-align:start;border:1px solid #12141614;border-radius:4px;min-height:340px;transition:transform .26s cubic-bezier(.22,1,.36,1),border-color .26s,box-shadow .26s;display:flex;position:relative;box-shadow:0 8px 24px #12141606}.approachStep:hover,.approachStep:focus-within{border-color:#9e1c2038;transform:translateY(-3px);box-shadow:0 14px 34px #12141612}.servicesRevealEnabled .approachStep.servicesRevealVisible:hover,.servicesRevealEnabled .approachStep.servicesRevealVisible:focus-within{transform:translateY(-3px)}.approachStepLink{width:100%;min-height:100%;color:inherit;flex-direction:column;padding:30px;text-decoration:none;display:flex;position:relative}.approachStepLink .touchLinkIndicator{--touch-link-indicator-right:20px;--touch-link-indicator-bottom:20px}.approachStepLink:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #9e1c2094}.approachStepNumber{background:var(--services-accent);color:#fff;letter-spacing:.04em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:.82rem;font-weight:700;transition:box-shadow .26s;display:inline-grid}.approachStep:hover .approachStepNumber,.approachStep:focus-within .approachStepNumber{box-shadow:0 0 0 6px #9e1c2014}.approachStep h3{color:var(--services-text);font-size:var(--font-size-card-title);margin:24px 0 0;font-weight:650;line-height:1.25;transition:color .25s}.approachStep:hover h3,.approachStep:focus-within h3{color:var(--crimson)}.approachStep p{max-width:33ch;color:var(--services-muted);margin:16px 0 0;font-size:.98rem;line-height:1.65}.computationalPlatform{padding:var(--services-section-space) 0 0;background:var(--services-bg)}.computationalPlatformHeader{max-width:900px}.computationalPlatformHeader .servicesSectionTitle{max-width:860px;font-size:var(--font-size-section-title);line-height:1.06}.computationalPlatformHeader>p{max-width:65ch;margin:var(--heading-copy-gap) 0 0;color:var(--services-muted);font-size:1.04rem;line-height:1.68}.platformRail{min-width:0;margin-top:52px;position:relative}.platformRail:after{content:"";z-index:2;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#f8f7f5f0);width:88px;transition:opacity .25s;position:absolute;top:0;bottom:0;right:0}.platformRailHasMore:after{opacity:1}.railButton{--rail-button-position:translateY(-50%);z-index:4;box-sizing:border-box;width:48px;min-width:48px;height:48px;min-height:48px;color:var(--services-accent);cursor:pointer;transform:var(--rail-button-position);background:#fffffff5;border:1px solid #9e1c2047;border-radius:50%;place-items:center;margin:0;padding:0;font-size:1.05rem;line-height:1;transition:background .22s,border-color .22s,color .22s,box-shadow .22s,opacity .22s;display:grid;position:absolute;top:50%;box-shadow:0 12px 32px #181c2129}.railButton:hover:not(:disabled){color:#fff;background:var(--services-accent);border-color:var(--services-accent);box-shadow:0 16px 38px #9e1c203d}.railButton,.railButton:hover,.railButton:focus-visible,.railButton:active,.railButton:disabled{transform:var(--rail-button-position)}.railButton:focus-visible{outline-offset:4px;outline:2px solid #9e1c209e}.railButton>span{place-items:center;transition:transform .18s;display:inline-grid;transform:translate(0)}.railButtonRight{right:-24px}.railButtonRight:hover:not(:disabled)>span{transform:translate(3px)}.railButtonLeft{left:-24px}.railButtonLeft:hover:not(:disabled)>span{transform:translate(-3px)}.platformGrid{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline mandatory;grid-template-columns:none;grid-auto-columns:minmax(260px,calc(33.3333% - 18.6667px));grid-auto-flow:column;gap:28px;padding:4px 2px 14px;scroll-padding-inline:2px;display:grid;overflow-x:auto}.platformGrid::-webkit-scrollbar{display:none}.platformCardReveal{scroll-snap-align:start;min-width:0}.servicesRevealEnabled .platformCardReveal:nth-child(2){transition-delay:80ms}.servicesRevealEnabled .platformCardReveal:nth-child(3){transition-delay:.16s}.servicesRevealEnabled .platformCardReveal:nth-child(4){transition-delay:.24s}.servicesRevealEnabled .platformCardReveal:nth-child(5){transition-delay:.32s}.servicesRevealEnabled .platformCardReveal:nth-child(6){transition-delay:.4s}.servicesRevealEnabled .platformCardReveal:nth-child(7){transition-delay:.48s}.servicesRevealEnabled .platformCardReveal:nth-child(8){transition-delay:.56s}.platformCard{height:100%;min-height:320px;color:inherit;background:var(--services-surface);border:1px solid #12141614;border-radius:4px;flex-direction:column;padding:30px;text-decoration:none;transition:transform .27s cubic-bezier(.22,1,.36,1),border-color .27s,box-shadow .27s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #12141608}.platformCard .touchLinkIndicator{--touch-link-indicator-right:20px;--touch-link-indicator-bottom:20px;position:absolute}.serviceEditorialTrack:focus-visible,.platformGrid[aria-label="Typical project deliverables"]:focus-visible{outline:2px solid var(--crimson);outline-offset:-2px}.serviceTileCta{color:#314f68;letter-spacing:.01em;align-items:center;gap:.35rem;width:fit-content;margin-top:20px;font-size:.86rem;font-weight:700;display:inline-flex}.serviceTileCta>span{transition:transform .22s}.serviceTileLink:hover .serviceTileCta>span,.serviceTileLink:focus-visible .serviceTileCta>span{transform:translate(3px)}.platformCard:after{content:"";pointer-events:none;opacity:.055;background:radial-gradient(circle at 84% 18%,#0000 0 26px,#20242a 27px 28px,#0000 29px 40px,#20242a 41px 42px,#0000 43px),linear-gradient(90deg,#20242a 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#20242a 1px,#0000 1px) 0 0/32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#0000 18%,#000 78%);mask-image:linear-gradient(135deg,#0000 18%,#000 78%)}.platformCard>*{z-index:1;position:relative}.platformCardReveal:hover .platformCard,.platformCardReveal:focus-within .platformCard{border-color:#9e1c2038;transform:translateY(-3px);box-shadow:0 14px 34px #12141612}.platformCard:focus-visible{outline-offset:4px;outline:2px solid #9e1c2094}.platformIcon{color:#414850;width:58px;height:58px}.platformIcon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;transition:color .27s;display:block}.platformIconAccent{color:var(--services-accent);stroke:currentColor;transition:color .27s}.platformCardReveal:hover .platformIcon,.platformCardReveal:focus-within .platformIcon,.platformCardReveal:hover .platformIconAccent,.platformCardReveal:focus-within .platformIconAccent{color:var(--services-accent)}.platformCategory{color:#73787e;letter-spacing:.14em;text-transform:uppercase;margin-top:26px;font-size:.7rem;font-weight:700;line-height:1.35}.platformCard h3{color:var(--services-text);font-size:var(--font-size-card-title);margin:10px 0 0;font-weight:650;line-height:1.25}a.platformCard h3{transition:color .25s}.platformCardReveal:hover a.platformCard h3,.platformCardReveal:focus-within a.platformCard h3,a.platformCard:hover h3,a.platformCard:focus-visible h3{color:var(--crimson)}.platformCard p{color:var(--services-muted);margin:16px 0 0;font-size:.95rem;line-height:1.65}@media (hover:none) and (pointer:coarse),(any-hover:none) and (any-pointer:coarse){.serviceTileContent,.approachStepLink,.platformCard{padding-bottom:62px}.serviceTileLink:active .serviceTileContent h3,.approachStepLink:active h3,a.platformCard:active h3{color:var(--crimson)}.serviceTileLink:active,.platformCard:active{border-color:#9e1c2047}.approachStep:has(.approachStepLink:active){border-color:#9e1c2047}}.approachPageHero{padding:var(--page-hero-top) 0 var(--page-hero-bottom);border-bottom:1px solid #12141614}.approachPageHero h1{max-width:820px;color:var(--services-text);letter-spacing:0;margin:0;font-size:clamp(2.8rem,3.5vw,3.25rem);font-weight:600;line-height:1}.approachPageHero p{max-width:62ch;margin:var(--heading-copy-gap) 0 0;color:var(--services-muted);font-size:clamp(1.08rem,1.35vw,1.25rem);line-height:1.68}.approachPageSteps{padding-top:12px}.approachPageStepsTrack{position:relative}.approachPageStepsTrack:before{content:"";top:var(--section-space);bottom:var(--section-space);pointer-events:none;background:#9e1c2038;width:1px;position:absolute;left:27px}.approachPageStep{padding:var(--section-space) 0;scroll-margin-top:calc(var(--navbar-height) + 28px);border-bottom:1px solid #12141617;grid-template-columns:72px minmax(260px,.72fr) minmax(320px,1fr);align-items:start;gap:clamp(28px,4vw,64px);display:grid}.approachPageStep:last-child{border-bottom:0}.approachPageStepNumber{z-index:1;width:54px;height:54px;color:var(--services-accent);background:var(--m2-background-primary,#f8f7f5);letter-spacing:.08em;border:1.5px solid #9e1c2094;border-radius:50%;place-items:center;font-size:.82rem;font-weight:700;display:grid;position:relative}.approachPageStepCopy h2{color:var(--services-text);font-size:var(--font-size-section-title);margin:0;font-weight:620;line-height:1.08}.approachPageStepCopy p{max-width:38ch;color:var(--services-text);margin:16px 0 0;font-size:1.05rem;font-weight:500;line-height:1.55}.approachPageStep ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.approachPageStep li{color:#4f555b;padding-left:18px;font-size:.96rem;line-height:1.6;position:relative}.approachPageStep li:before{content:"";background:#9e1c20b8;width:6px;height:1.5px;position:absolute;top:.72em;left:0}.approachPageCTA{content-visibility:visible;contain-intrinsic-block-size:none;margin-top:0}.approachPageCTA .servicesEyebrow{margin-bottom:var(--eyebrow-title-gap)}.approachPageCTA .servicesCTAActions{align-items:center}.approachPageCtaSecondary{min-height:52px;color:var(--services-accent);align-items:center;gap:8px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.approachPageCtaSecondary span{transition:transform .22s cubic-bezier(.22,1,.36,1)}.approachPageCtaSecondary:hover span,.approachPageCtaSecondary:focus-visible span{transform:translate(3px)}.approachPageCtaSecondary:focus-visible{outline-offset:5px;outline:2px solid #9e1c2094}.servicesCTA{text-align:center;border-top:1px solid #20242a14;padding:64px 0 112px}.servicesCTATitle{color:#151515;max-width:800px;font-size:var(--font-size-section-title);letter-spacing:0;margin:0 auto 18px;font-weight:550;line-height:1.1}.servicesCTADescription{color:#5f646a;max-width:820px;margin:0 auto 30px;font-size:1.12rem;line-height:1.75}.servicesCTAActions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.servicesCTASecondaryButton{min-height:52px;color:var(--services-text);background:0 0;border:1px solid #20242a4d;border-radius:999px;justify-content:center;align-items:center;padding:0 32px;font-weight:700;text-decoration:none;transition:background .22s,border-color .22s,color .22s,transform .22s;display:inline-flex}.servicesCTASecondaryButton:hover{color:var(--services-accent);background:#ffffffb3;border-color:#9e1c2073;transform:translateY(-1px)}.serviceDetailPage{min-height:0;overflow:hidden}.serviceDetailPage .serviceSection,.serviceDetailPage .servicesCTA{content-visibility:visible;contain-intrinsic-block-size:none}.serviceDetailHero{width:min(1320px,92%);padding-bottom:48px}.serviceDetailHeroLayout{grid-template-columns:minmax(0,.95fr) minmax(520px,.9fr);align-items:start;column-gap:clamp(72px,5vw,96px);display:grid}.serviceDetailHeroCopy{min-width:0;padding-left:var(--wide-hero-content-inset)}.serviceDetailHero .servicesHeroTitle{max-width:820px;font-size:var(--font-size-page-title);line-height:.98}.serviceDetailHero .servicesHeroDescription{max-width:var(--services-readable);margin-top:28px;line-height:1.65}.serviceDetailVisual{min-height:var(--hero-visual-height-wide);border-radius:var(--services-radius);box-shadow:var(--services-shadow);background:radial-gradient(circle at 70% 28%,#ffffffeb,#0000 44%),#efede8;border:1px solid #20242a1c;position:relative;overflow:hidden}.serviceDetailVisualGrid{opacity:.7;background-image:linear-gradient(#20242a0e 1px,#0000 1px),linear-gradient(90deg,#20242a0e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0}.serviceDetailVisual svg{width:92%;height:88%;color:var(--services-blue);position:absolute;inset:4%}.serviceDetailEngineeringGraphic .serviceEngineeringGraphic{min-height:0;position:absolute;inset:0}.serviceDetailEngineeringGraphic .serviceEngineeringGraphic>svg{width:94%;height:94%;position:absolute;inset:3%}.serviceDetailEngineeringGraphic .serviceGraphicLabels,.serviceDetailEngineeringGraphic .serviceOptimizationLabel,.serviceDetailEngineeringGraphic .serviceNeuralInputBlock text,.serviceDetailEngineeringGraphic .serviceNeuralOutputPanel text,.serviceDetailEngineeringGraphic .serviceNeuralOperator text{font-size:13px}.serviceDetailEngineeringGraphic .serviceNeuralOutputLabel{font-size:12px!important}.serviceDetailEngineeringGraphic .serviceDetailVisualGrid{opacity:.28}.serviceDetailEngineeringGraphic .serviceCfdStreamline{opacity:.48;stroke-width:1.15px}.serviceDetailEngineeringGraphic .serviceCfdTracer{stroke-width:1.9px}.serviceDetailEngineeringGraphic .serviceCoupledHeater{stroke-dasharray:none;stroke-width:2.6px;animation:none}.serviceCoupledHeaterEnergy{fill:none;stroke:var(--sg-crimson);stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:2 24;animation:2.4s linear infinite serviceFlowDash}.serviceThermalIsotherms ellipse{fill:none;stroke:#7c091157;stroke-width:1px}.serviceThermalIsotherms ellipse:nth-child(2){opacity:.78}.serviceThermalIsotherms ellipse:nth-child(3){opacity:.56}.serviceThermalIsotherms ellipse:nth-child(4){opacity:.34}.serviceDetailEngineeringGraphic .serviceProcessPipes path:first-child{stroke:var(--sg-line);stroke-width:3.5px}.serviceDetailEngineeringGraphic .serviceProcessPipes path:last-child{stroke-width:2.2px;opacity:.74}.serviceOptimizationRail path{fill:none;stroke:#555d6357;stroke-width:1px}.serviceOptimizationRail text{fill:var(--sg-line);letter-spacing:.05em;font-weight:600;font-size:9px!important}.serviceNeuralMiniField path{fill:none;stroke:var(--sg-blue);stroke-width:1.35px;stroke-dasharray:120;animation:8.4s ease-in-out infinite serviceNeuralDetailFieldUpdate}.serviceNeuralOutputPanelB .serviceNeuralMiniField path{stroke:#718b96;animation-delay:.12s}.serviceNeuralOutputPanelC .serviceNeuralMiniField path{stroke:var(--sg-crimson);animation-delay:.22s}.serviceDetailEngineeringGraphic .serviceNeuralCoreGrid{opacity:.72}@media (max-width:520px){.serviceDetailEngineeringGraphic .serviceGraphicLabels,.serviceDetailEngineeringGraphic .serviceGraphicLabels text,.serviceDetailEngineeringGraphic .serviceOptimizationLabel,.serviceDetailEngineeringGraphic .serviceNeuralInputBlock text,.serviceDetailEngineeringGraphic .serviceNeuralOutputPanel text,.serviceDetailEngineeringGraphic .serviceNeuralOperator text{font-size:22px}.serviceDetailEngineeringGraphic .serviceGraphicLabels,.serviceDetailEngineeringGraphic .serviceGraphicLabels text{font-size:24px}.serviceDetailEngineeringGraphic .serviceNeuralInputBlock text,.serviceDetailEngineeringGraphic .serviceNeuralOutputPanel text{font-size:18px}.serviceDetailEngineeringGraphic .serviceNeuralOutputLabel{font-size:18px!important}.serviceDetailEngineeringGraphic .serviceOptimizationHeroLabel{font-size:22px}.serviceDetailEngineeringGraphic .serviceOptimizationHeroAnnotations,.serviceDetailEngineeringGraphic .serviceOptimizationHeroAnnotations text{font-size:16px}.serviceDetailEngineeringGraphic .serviceOptimizationHeroAnnotationValue{font-size:18px}}.serviceDetailVisual text{fill:#232b34b3;font-family:var(--diagram-font-family);letter-spacing:var(--diagram-tracking-tight);font-size:13px}@media (min-width:1181px){.serviceDetailVisual text{font-size:14px}}.serviceDetailVisual circle:not(.serviceVisualSample,.serviceVisualOptimum){fill:var(--services-accent);opacity:.72}.serviceVisualFrame,.serviceVisualLine,.serviceVisualFieldLine,.serviceVisualContour,.serviceVisualVector,.serviceVisualVessel,.serviceVisualReaction,.serviceVisualObjective,.serviceVisualAxis,.serviceVisualPrediction,.serviceVisualTruth{fill:none;stroke-linecap:round;stroke-linejoin:round}.serviceVisualFrame{stroke:#20242a29}.serviceVisualLine{stroke-width:1.15px;stroke-dasharray:6 10}.serviceVisualLineBlue{stroke:#49627b99}.serviceVisualLineRed{stroke:#9e1c208f}.serviceVisualFieldLine{stroke:#49627b80;stroke-width:1.4px}.serviceVisualContour{stroke:#49627b6e;stroke-width:1.2px}.serviceVisualContourWarm{stroke:#9e1c2080}.serviceVisualVector{color:#49627bb8;stroke:currentColor;stroke-width:1.6px}.serviceVisualVessel{fill:#ffffff80;stroke:#20242a73;stroke-width:1.6px}.serviceVisualReaction{stroke:#9e1c20bd;stroke-width:2px;stroke-dasharray:4 8}.serviceVisualObjective{stroke:#49627bb8;stroke-width:2px}.serviceVisualAxis{stroke:#20242a59;stroke-width:1.25px}.serviceVisualSample{fill:#fff;stroke:#49627bcc;stroke-width:2px}.serviceVisualOptimum{fill:var(--services-accent);stroke:#fff;stroke-width:2px}.serviceVisualPrediction{stroke:#9e1c20b8;stroke-width:2.1px}.serviceVisualTruth{stroke:#49627bad;stroke-width:1.5px;stroke-dasharray:5 7}.serviceDetailVisualGrid{animation:12s ease-in-out infinite alternate serviceDetailGridDrift}.serviceVisualLine{animation:10s linear infinite serviceDetailReferenceFlow}.serviceVisualLineRed{animation-duration:8.5s;animation-direction:reverse}.serviceVisualFieldLine,.serviceVisualVector,.serviceVisualReaction,.serviceVisualPrediction,.serviceVisualTruth{stroke-dasharray:12 14;animation:7s linear infinite serviceDetailDashFlow}.serviceVisualVector{stroke-dasharray:16 12}.serviceVisualContour{transform-box:fill-box;transform-origin:50%;animation:5.8s ease-in-out infinite alternate serviceDetailContourBreathe}.serviceVisualVessel{animation:6.4s ease-in-out infinite alternate serviceProcessVesselBreathe}.serviceVisualReaction{animation-duration:4.8s}.serviceVisualParticle,.serviceVisualSample,.serviceVisualOptimum{transform-box:fill-box;transform-origin:50%}.serviceVisualParticle{animation:3.8s ease-in-out infinite alternate serviceProcessParticlePulse}.serviceVisualParticle--two{animation-delay:-1.25s}.serviceVisualParticle--three{animation-delay:-2.1s}.serviceVisualSample{animation:4.8s ease-in-out infinite serviceSamplePulse}.serviceVisualOptimum{animation:3.6s ease-in-out infinite serviceOptimumPulse}.serviceDetailVisual--cfd .serviceVisualFieldLine{stroke-dasharray:18 16;animation-name:serviceCfdStreamlineFlow;animation-duration:5.8s}.serviceDetailVisual--cfd .serviceVisualVector{animation-name:serviceCfdVectorPulse;animation-duration:4.6s;animation-direction:alternate}.serviceDetailVisual--coupled .serviceVisualContour{animation-name:serviceCoupledContourBreathe}.serviceDetailVisual--coupled .serviceVisualVector{animation-duration:5.4s}.serviceDetailVisual--thermal .serviceVisualContourWarm{animation-name:serviceThermalContourBreathe;animation-duration:5.2s}.serviceDetailVisual--thermal .serviceVisualVector{animation-name:serviceThermalHeatVector;animation-duration:4.2s}.serviceDetailVisual--process .serviceVisualVector{animation-name:serviceProcessPortFlow;animation-duration:4.8s}.serviceDetailVisual--process .serviceVisualReaction{animation-name:serviceProcessReactionFlow;animation-duration:3.8s}.serviceDetailVisual--optimization .serviceVisualObjective{stroke-dasharray:520;stroke-dashoffset:520px;animation:8s ease-in-out infinite serviceOptimizationTrace}.serviceDetailVisual--optimization .serviceVisualSample{animation-name:serviceOptimizationSampleScan}.serviceDetailVisual--ai .serviceVisualPrediction{stroke-dasharray:18 12;animation-name:serviceAiPredictionFlow;animation-duration:4.8s}.serviceDetailVisual--ai .serviceVisualTruth{animation-name:serviceAiTruthFlow;animation-duration:6s}.serviceDetailVisual--ai .serviceVisualSample{animation-name:serviceAiSampleFlicker;animation-duration:3.8s}@keyframes serviceDetailGridDrift{to{background-position:18px 12px}}@keyframes serviceDetailReferenceFlow{to{stroke-dashoffset:-160px}}@keyframes serviceDetailDashFlow{to{stroke-dashoffset:-220px}}@keyframes serviceDetailContourBreathe{to{opacity:.72;transform:scale(1.035)}}@keyframes serviceCfdStreamlineFlow{to{stroke-dashoffset:-320px}}@keyframes serviceCfdVectorPulse{to{stroke-dashoffset:-160px;opacity:.62}}@keyframes serviceCoupledContourBreathe{to{opacity:.74;transform:scale(1.045)}}@keyframes serviceThermalContourBreathe{to{opacity:.78;transform:scale(1.055)}}@keyframes serviceThermalHeatVector{to{stroke-dashoffset:-180px;opacity:.68}}@keyframes serviceProcessPortFlow{to{stroke-dashoffset:-190px}}@keyframes serviceProcessReactionFlow{to{stroke-dashoffset:-150px}}@keyframes serviceProcessVesselBreathe{to{fill:#ffffffad}}@keyframes serviceProcessParticlePulse{to{opacity:.95;transform:translate(12px,10px)scale(1.2)}}@keyframes serviceOptimizationTrace{0%{stroke-dashoffset:520px;opacity:.54}42%,72%{stroke-dashoffset:0;opacity:.82}to{stroke-dashoffset:-520px;opacity:.54}}@keyframes serviceSamplePulse{0%,to{opacity:.82;transform:scale(1)}45%{opacity:1;transform:scale(1.22)}}@keyframes serviceOptimizationSampleScan{0%,to{opacity:.72;transform:scale(1)}38%{opacity:1;transform:scale(1.18)}}@keyframes serviceOptimumPulse{0%,to{transform:scale(1)}50%{transform:scale(1.26)}}@keyframes serviceAiPredictionFlow{to{stroke-dashoffset:-260px}}@keyframes serviceAiTruthFlow{to{stroke-dashoffset:220px}}@keyframes serviceAiSampleFlicker{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.24)}}.serviceDetailVisualCaption{color:#20242a94;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700;position:absolute;bottom:16px;left:18px;right:18px}.serviceSection{padding:var(--services-section-space) 0 0;content-visibility:auto;contain-intrinsic-block-size:auto 720px}.serviceApplications{padding-top:64px}.serviceDetailPage .servicesSectionTitle{font-size:var(--font-size-section-title);line-height:1.06}.serviceSplitIntro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:64px;margin-bottom:36px;display:grid}.serviceSplitIntro>.servicesSectionDescription{margin-top:0}.applicationGrid{gap:var(--card-grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.applicationCard{background:var(--services-surface);border-radius:var(--services-radius);box-shadow:var(--services-shadow);border:1px solid #00000012;grid-template-rows:auto 1fr;transition:border-color .22s,box-shadow .22s,transform .22s;display:grid;overflow:hidden}.applicationCard:hover{box-shadow:var(--services-shadow-hover);border-color:#9e1c2033;transform:translateY(-3px)}.applicationImage{aspect-ratio:2;background:#ece9e4;position:relative;overflow:hidden}.applicationImage img{object-fit:cover;transition:transform .45s cubic-bezier(.22,1,.36,1)}.applicationImage:has(.neuralApplicationDiagram){aspect-ratio:auto;background:#f8f7f5;container-type:inline-size}.neuralApplicationDiagram{color:#25282b;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:28px 24px;list-style:none;display:grid}.neuralApplicationStage{min-width:0;position:relative}.neuralApplicationLabel{align-content:start;gap:5px;min-height:90px;display:grid}.neuralApplicationNumber{letter-spacing:.12em;color:#7c0911;font-size:10px;line-height:1.4}.neuralApplicationTitle{font-size:14px;font-weight:600;line-height:1.35}.neuralApplicationDetail{color:#62666a;font-size:12px;line-height:1.45}.neuralApplicationArt{width:100%;height:auto;display:block}.neuralApplicationArt path,.neuralApplicationArt rect,.neuralApplicationArt circle{stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.neuralApplicationGeometry{fill:#eeece7;stroke:#353a3e}.neuralApplicationMesh{fill:none;stroke:#bbc3c6;stroke-width:.8px!important}.neuralApplicationBoundary{fill:none;stroke:#7c0911;stroke-width:2.5px!important}.neuralApplicationFlow,.neuralApplicationContours{fill:none;stroke:#78909b}.neuralApplicationContours path:nth-child(3){stroke:#7c0911}.neuralApplicationOperator{fill:#eeece7;stroke:#353a3e}.neuralApplicationNetwork{fill:#f8f7f5;stroke:#78909b}.neuralApplicationNetwork path{stroke-width:.9px}.neuralApplicationNetwork circle{stroke:#353a3e}.neuralApplicationArrow{fill:none;stroke:#81898d;stroke-width:1.3px;width:20px;height:20px;position:absolute;top:calc(50% + 35px);right:-24px}@container (max-width:479px){.neuralApplicationDiagram{grid-template-columns:1fr;gap:30px;padding:24px 20px}.neuralApplicationStage{grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:12px;display:grid}.neuralApplicationLabel{min-height:0}.neuralApplicationArrow{top:auto;bottom:-25px;right:46px;transform:rotate(90deg)}}.neuralAppPrediction{--neural-app-duration:9s}.neuralAppVariation{--neural-app-duration:12s}.neuralAppRegions{fill:#78909b;fill-opacity:.1;stroke:#78909b;stroke-width:.8px}.neuralAppLocal,.neuralAppNonlocal,.neuralAppEncode,.neuralAppCaseCue{fill:none}.neuralAppLocal,.neuralAppInputSignal,.neuralAppOutputSignal{stroke:#7c0911;stroke-width:2px;stroke-dasharray:100}.neuralAppNonlocal{stroke:#78909b;stroke-width:1.8px;stroke-dasharray:100}.neuralAppEncode,.neuralAppCaseCue{stroke:#78909b;stroke-width:1.5px}.neuralAppOperatorState,.neuralAppFieldState{opacity:0}.neuralAppOperatorState.neuralAppCase0,.neuralAppFieldState.neuralAppCase0{opacity:1}.neuralAppInputDomain,.neuralAppOutputDomain,.neuralAppCondition,.neuralAppCase{transform-origin:80px 60px}.neuralAppEncode,.neuralAppInputSignal,.neuralAppOutputSignal{opacity:0}.neuralAppPrediction .neuralApplicationStage:first-child .neuralApplicationArt{transform-origin:50%;animation:9s ease-in-out infinite neuralAppInputChange}.neuralAppPrediction .neuralAppCondition{animation:9s ease-in-out infinite neuralAppConditionChange}.neuralAppPrediction .neuralApplicationStage:last-child .neuralApplicationArt{transform-origin:50%;animation:9s ease-in-out infinite neuralAppFieldDeform}.neuralAppPrediction .neuralAppOperatorState.neuralAppCase0{animation:9s ease-in-out infinite neuralAppOperatorOld}.neuralAppPrediction .neuralAppOperatorState.neuralAppCase1{animation:9s ease-in-out infinite neuralAppOperatorNew}.neuralAppPrediction .neuralAppFieldState.neuralAppCase0{animation:9s ease-in-out infinite neuralAppFieldOld}.neuralAppPrediction .neuralAppFieldState.neuralAppCase1{animation:9s ease-in-out infinite neuralAppFieldNew}.neuralAppPrediction .neuralAppLocal{animation:9s ease-in-out infinite neuralAppLocalTrace}.neuralAppPrediction .neuralAppNonlocal{animation:9s ease-in-out infinite neuralAppLongTrace}.neuralAppPrediction .neuralAppEncode{animation:9s ease-in-out infinite neuralAppEncoding}.neuralAppPrediction .neuralAppInputSignal{animation:9s ease-in-out infinite neuralAppInputTrace}.neuralAppPrediction .neuralAppOutputSignal{animation:9s ease-in-out infinite neuralAppOutputTrace}.neuralAppVariation .neuralAppCase0{--neural-case-delay:0s}.neuralAppVariation .neuralAppCase1{--neural-case-delay:-8s}.neuralAppVariation .neuralAppCase2{--neural-case-delay:-4s}.neuralAppVariation .neuralAppCase{animation:12s ease-in-out infinite neuralAppCaseSelect;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppOperatorState{animation:12s ease-in-out infinite neuralAppCaseOperator;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppFieldState{animation:12s ease-in-out infinite neuralAppCaseField;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppLocal{animation:12s ease-in-out infinite neuralAppCaseLocal;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppNonlocal{animation:12s ease-in-out infinite neuralAppCaseLong;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppEncode{animation:12s ease-in-out infinite neuralAppCaseEncode;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppInputSignal{animation:12s ease-in-out infinite neuralAppCaseInput;animation-delay:var(--neural-case-delay)}.neuralAppVariation .neuralAppOutputSignal{animation:12s ease-in-out infinite neuralAppCaseOutput;animation-delay:var(--neural-case-delay)}.neuralAppEncode path{stroke-dasharray:100}.serviceApplicationMotion:not([data-motion=active]) .neuralApplicationDiagram *{animation-play-state:paused!important}.serviceApplicationMotion[data-motion=active] .neuralApplicationDiagram *{animation-play-state:running!important}.serviceApplicationMotion[data-motion=active] .neuralAppPrediction .neuralApplicationStage:is(:first-child,:last-child) .neuralApplicationArt{will-change:transform}@keyframes neuralAppInputChange{0%,to{transform:scaleY(1)}20%,86%{transform:scaleY(.68)}}@keyframes neuralAppConditionChange{0%,to{opacity:.4}20%,86%{opacity:1}}@keyframes neuralAppFieldDeform{0%,56%,to{transform:scaleY(1)}76%,86%{transform:scaleY(.68)}}@keyframes neuralAppOperatorOld{0%,20%,to{opacity:1}34%,86%{opacity:0}}@keyframes neuralAppOperatorNew{0%,20%,to{opacity:0}34%,86%{opacity:1}}@keyframes neuralAppFieldOld{0%,56%,to{opacity:1}76%,86%{opacity:0}}@keyframes neuralAppFieldNew{0%,56%,to{opacity:0}76%,86%{opacity:1}}@keyframes neuralAppEncoding{0%,18%,to{opacity:0;stroke-dashoffset:100px}24%{opacity:1;stroke-dashoffset:100px}34%{opacity:1;stroke-dashoffset:0}40%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppLocalTrace{0%,30%,to{opacity:0;stroke-dashoffset:100px}32%{opacity:1;stroke-dashoffset:100px}44%,58%{opacity:1;stroke-dashoffset:0}76%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppLongTrace{0%,42%,to{opacity:0;stroke-dashoffset:100px}44%{opacity:1;stroke-dashoffset:100px}56%,66%{opacity:1;stroke-dashoffset:0}76%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppInputTrace{0%,18%,to{opacity:0;stroke-dashoffset:100px}20%{opacity:1;stroke-dashoffset:100px}30%{opacity:1;stroke-dashoffset:0}36%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppOutputTrace{0%,50%,to{opacity:0;stroke-dashoffset:100px}52%{opacity:1;stroke-dashoffset:100px}64%{opacity:1;stroke-dashoffset:0}74%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppCaseSelect{0%,24%,to{opacity:1}30%,94%{opacity:.24}}@keyframes neuralAppCaseOperator{0%,6%,45.3333%,to{opacity:0}12%,39.3333%{opacity:1}}@keyframes neuralAppCaseField{0%,14%,53.3333%,to{opacity:0}20%,47.3333%{opacity:1}}@keyframes neuralAppCaseEncode{0%,3%,to{opacity:0;stroke-dashoffset:100px}6%{opacity:1;stroke-dashoffset:100px}12%{opacity:1;stroke-dashoffset:0}17%,95%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppCaseLocal{0%,10%,to{opacity:0;stroke-dashoffset:100px}12%{opacity:1;stroke-dashoffset:100px}18%,24%{opacity:1;stroke-dashoffset:0}30%,95%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppCaseLong{0%,17%,to{opacity:0;stroke-dashoffset:100px}19%{opacity:1;stroke-dashoffset:100px}25%{opacity:1;stroke-dashoffset:0}32%,95%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppCaseInput{0%,to{opacity:0;stroke-dashoffset:100px}2%{opacity:1;stroke-dashoffset:100px}9%{opacity:1;stroke-dashoffset:0}14%,95%{opacity:0;stroke-dashoffset:0}}@keyframes neuralAppCaseOutput{0%,12%,to{opacity:0;stroke-dashoffset:100px}14%{opacity:1;stroke-dashoffset:100px}20%{opacity:1;stroke-dashoffset:0}26%,95%{opacity:0;stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.serviceApplicationMotion .neuralApplicationDiagram *{animation:none!important}.neuralAppVariation .neuralAppCase{opacity:.3}.neuralAppVariation .neuralAppCase0{opacity:1}.neuralAppVariation .neuralAppOperatorState.neuralAppCase1,.neuralAppVariation .neuralAppOperatorState.neuralAppCase2,.neuralAppVariation .neuralAppFieldState.neuralAppCase1,.neuralAppVariation .neuralAppFieldState.neuralAppCase2{opacity:0}}.cfdApplicationMotion,.cfdApplicationGraphic{width:100%;height:100%;display:block}.cfdAppBackground{fill:#f8f7f5}.cfdAppGrid{opacity:.65}.cfdApplicationGraphic pattern path{fill:none;stroke:#2b2d3014;stroke-width:1px}.cfdAppVessel,.cfdAppBaffles path{stroke:#25282b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.cfdAppBaffles path{fill:none;stroke-width:7px}.cfdAppStreamlines path,.cfdAppRecirculation{fill:none;stroke:#78909b;stroke-width:2.25px;stroke-linecap:round;opacity:.66}.cfdAppSpeciesLines path{stroke:url(#species-line)}.cfdAppSpeciesField,.cfdAppProductField{pointer-events:none;transition:opacity .2s linear}.cfdAppSpeciesFieldA,.cfdAppSpeciesFieldB{animation:7.2s ease-in-out infinite paused cfdAppSpeciesBlend}.cfdAppSpeciesFieldB{animation-delay:-.06s}.cfdAppProductField{opacity:.18;animation:7.2s ease-in-out infinite paused cfdAppProductFormation}.cfdAppMixingInterface path{fill:none;stroke:#78909b;stroke-width:2px;stroke-linecap:round;stroke-dasharray:3 9;opacity:.5;animation:3.8s linear infinite paused cfdAppInterfaceTransport}.cfdAppMixingInterface path:nth-child(2n){animation-direction:reverse}.cfdAppTracer{fill:none;stroke:#607f8e;stroke-width:8px;stroke-linecap:round;stroke-dasharray:1.5 98.5;animation:5.4s linear infinite paused cfdAppTransport}.cfdApplicationMotion[data-motion=active] .cfdAppTracer,.cfdApplicationMotion[data-motion=active] .cfdAppReactionField,.cfdApplicationMotion[data-motion=active] .cfdAppSpeciesField,.cfdApplicationMotion[data-motion=active] .cfdAppProductField,.cfdApplicationMotion[data-motion=active] .cfdAppMixingInterface path{animation-play-state:running}.cfdAppTracerOffset{animation-delay:-2.7s}.cfdAppTracerSpeed1{animation-duration:5.1s}.cfdAppTracerSpeed2{animation-duration:4.45s}.cfdAppTracerSpeed3{animation-duration:4.8s}.cfdAppTracerSpeed4{animation-duration:5.65s}.cfdAppReactionTracer1{animation-duration:5.1s}.cfdAppReactionTracer2{animation-duration:4.8s}.cfdAppReactionTracer3{animation-duration:5s}.cfdAppReactionTracer4{animation-duration:5.3s}.cfdAppRecirculation{stroke:#7c0911;stroke-width:2.4px;opacity:.5}.cfdAppRecirculationTracer{stroke:#7c0911;animation-duration:3.2s}.cfdAppPressure path{fill:none;stroke:#2b2d3061;stroke-width:2px}.cfdAppPressure .cfdAppPressureLoss{stroke:#7c0911;stroke-width:5px;stroke-linecap:round;opacity:.62}.cfdAppLabels{fill:#34383c;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:.12em;font-size:28px;font-weight:700}.cfdAppCallout{fill:none;stroke:#2b2d3075;stroke-width:1.8px}.cfdAppReactionCallout{stroke:#7c0911;opacity:.48}.cfdAppReactionField{fill:#7c0911;stroke:#7c0911;stroke-width:2.5px;opacity:.08;animation:5.2s ease-in-out infinite paused cfdAppReaction}.cfdAppReactionMatrix path{fill:none;stroke:#7c0911;stroke-width:2px;stroke-dasharray:4 8;opacity:.36}.cfdAppSpeciesTracers .cfdAppTracer{stroke:url(#species-line)}@keyframes cfdAppTransport{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes cfdAppReaction{0%,35%,to{opacity:.04}54%,82%{opacity:.16}}@keyframes cfdAppSpeciesBlend{0%,18%{opacity:.92}48%{opacity:.72}72%,to{opacity:.46}}@keyframes cfdAppProductFormation{0%,34%{opacity:.02}52%{opacity:.1}72%,to{opacity:.22}}@keyframes cfdAppInterfaceTransport{to{stroke-dashoffset:-24px}}@media (max-width:768px){.cfdAppLabels{letter-spacing:.08em;font-size:30px}}@media (max-width:520px){.cfdAppLabels{font-size:var(--service-label-application-mobile)}}@media (prefers-reduced-motion:reduce){.cfdAppTracer,.cfdAppReactionField,.cfdAppSpeciesField,.cfdAppProductField,.cfdAppMixingInterface path{animation:none}.cfdAppSpeciesFieldA,.cfdAppSpeciesFieldB{opacity:.64}.cfdAppProductField{opacity:.16}}.serviceApplicationMotion,.serviceApplicationGraphic{width:100%;height:100%;display:block}.serviceAppBackground{fill:#f8f7f5}.serviceApplicationGraphic pattern path{fill:none;stroke:#2b2d3013;stroke-width:1px}.serviceAppGrid{opacity:.46}.serviceAppShell,.serviceAppEquipment,.serviceAppMiniShell,.serviceAppMiniEquipment,.serviceAppInput,.serviceAppOperator,.serviceAppFieldPanel{fill:#ece9e47a;stroke:#25282b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.serviceAppSolid{fill:#e2e0dbb3;stroke:#25282b;stroke-width:3.5px;stroke-linejoin:round}.serviceAppPipe,.serviceAppMixer,.serviceAppDivider,.serviceAppDistributor,.serviceAppInputGeometry,.serviceAppGeometryCase>path:first-child{fill:none;stroke:#25282b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.serviceAppFlowLines path,.serviceAppFlowLine{fill:none;stroke:#78909b;stroke-width:2.5px;stroke-linecap:round;opacity:.72}.serviceAppTracer{fill:none;stroke:#607f8e;stroke-width:8px;stroke-linecap:round;stroke-dasharray:1.4 98.6;animation:5s linear infinite paused serviceAppTransport}.serviceAppDelayHalf{animation-delay:-2.5s}.serviceAppReverse{animation-direction:reverse}.serviceAppHotTracer{stroke:#7c0911;opacity:.72}.serviceAppFastTracer{animation-duration:2.1s}.serviceAppHeatField{pointer-events:none}.serviceAppHeatSource,.serviceAppReactionZone{fill:#7c091121;stroke:#7c0911;stroke-width:3.5px}.serviceAppIsotherms path,.serviceAppConduction path,.serviceAppHeatTransfer path,.serviceAppThermalLine{fill:none;stroke:#7c0911;stroke-width:2.4px;stroke-linecap:round;opacity:.42}.serviceAppDeflection{fill:none;stroke:#7c0911;stroke-width:3px;stroke-linecap:round;opacity:.72;stroke-dasharray:100;animation:6.4s ease-in-out infinite paused serviceAppDeflectionEstablish}.serviceAppStructuralLoad path,.serviceAppSpeciesTransfer path{fill:none;stroke:#7c0911;stroke-width:2px;stroke-linecap:round;stroke-dasharray:3 9;animation:2.4s linear infinite paused serviceAppTransfer}.serviceAppCoupledStructure{fill:#e2e0dba3;stroke:#25282b;stroke-width:4px}.serviceAppCoupledPassage{fill:#78909b0e;stroke:#25282b;stroke-width:3.4px}.serviceAppCoupledCoolant path:not(.serviceAppTracer){stroke-width:2px;opacity:.56}.serviceAppCoupledCoolant .serviceAppTracer{animation-duration:4.2s}.serviceAppCoupledTracerOffset{animation-delay:-1.35s}.serviceAppCoupledHeatSource{fill:#7c09112e;stroke:#7c0911;stroke-width:3px}.serviceAppCoupledHeatRise{pointer-events:none;transform-box:fill-box;transform-origin:bottom;animation:7.2s ease-in-out infinite paused serviceAppCoupledHeatRise}.serviceAppCoupledIsotherms path{fill:none;stroke:#7c0911;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:120;animation:7.2s ease-in-out infinite paused serviceAppCoupledIsotherm}.serviceAppCoupledIsotherms path:nth-child(2){opacity:.66;animation-delay:-.12s}.serviceAppCoupledIsotherms path:nth-child(3){opacity:.44;animation-delay:-.24s}.serviceAppCoupledResponse{fill:none;stroke:#7c0911;stroke-width:3px;stroke-linecap:round;stroke-dasharray:100;animation:7.2s ease-in-out infinite paused serviceAppCoupledResponse}.serviceAppCoupledReference{fill:none;stroke:#2b2d304d;stroke-width:1.7px;stroke-dasharray:8 8}.serviceAppPorous{fill:#78909b14;stroke:#78909b;stroke-width:2px}.serviceAppMembrane{fill:#7c09111f;stroke:#7c0911;stroke-width:2.4px}.serviceAppPorousDots circle,.serviceAppBedDots circle{fill:#7c091170;stroke:#7c0911;stroke-width:1.3px}.serviceAppElectrodeBed{stroke:#78909b;stroke-width:2.5px}.serviceAppElectrodePellets circle{fill:#747b7f;opacity:.64}.serviceAppSecondaryPath{fill:#78909b0b;stroke:#25282b;stroke-width:3.2px}.serviceAppReactionSites circle{fill:#7c0911;opacity:.34;transform-box:fill-box;transform-origin:50%;animation:3.8s ease-in-out infinite paused serviceAppReactionActivity}.serviceAppSecondaryTransport path:not(.serviceAppTracer){opacity:.42}.serviceAppCharge path{fill:none;stroke:#7c0911;stroke-width:2.4px;stroke-dasharray:4 11;opacity:.5;animation:2.8s linear infinite paused serviceAppTransfer}.serviceAppHeatBand,.serviceAppJacket,.serviceAppBottleneck,.serviceAppLimitBand{fill:none;stroke:#7c0911;stroke-width:4px;stroke-linecap:round;opacity:.55}.serviceAppProductTracer{stroke:#7c0911}.serviceAppLayerIsotherms path{fill:none;stroke:#7c091161;stroke-width:2px;stroke-dasharray:100;animation:6.2s ease-in-out infinite paused serviceAppIsothermEstablish}.serviceAppLayerIsotherms path:nth-child(2){opacity:.72;animation-delay:-.18s}.serviceAppLayerIsotherms path:nth-child(3){opacity:.48;animation-delay:-.36s}.serviceAppThermalSource{fill:#7c09112e;stroke:#7c0911;stroke-width:3.2px}.serviceAppThermalStack rect{fill:#e2e0dbb3;stroke:#25282b;stroke-width:3px}.serviceAppThermalStack rect:nth-child(2){fill:#e7e4df9e}.serviceAppThermalStack rect:nth-child(3){fill:#ece9e48a}.serviceAppThermalField{pointer-events:none;transform-box:fill-box;transform-origin:top;animation:6.2s ease-in-out infinite paused serviceAppThermalSpread}.serviceAppThermalConduction path{fill:none;stroke:#7c0911;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:4 11;opacity:.5;animation:3s linear infinite paused serviceAppThermalConduction}.serviceAppThermalPassage{fill:#78909b0e;stroke:#25282b;stroke-width:3.4px}.serviceAppThermalCoolant path:not(.serviceAppTracer){stroke-width:2.2px;opacity:.72}.serviceAppThermalCoolant .serviceAppTracer{animation-duration:4.2s}.serviceAppThermalTracerOffset{animation-delay:-1.3s}.serviceAppThermalPickup path{fill:none;stroke:#7c0911;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:3 8;opacity:.5;animation:2.8s linear infinite paused serviceAppThermalPickup}.serviceAppHxTubes,.serviceAppHxBaffles{fill:none;stroke:#2b2d3061;stroke-width:1.8px}.serviceAppHxBaffles{stroke-width:2.4px}.serviceAppHeatTransfer path{stroke-dasharray:4 8;animation:2.6s linear infinite paused serviceAppTransfer}.serviceAppInsulation{fill:none;stroke:#2b2d3057;stroke-width:2.2px;stroke-dasharray:10 9}.serviceAppHxInsulation{fill:none;stroke:#2b2d305c;stroke-width:2.2px;stroke-dasharray:10 9}.serviceAppHxShell{fill:#ece9e46b;stroke:#25282b;stroke-width:4px}.serviceAppHxWall{fill:none;stroke:#25282b;stroke-width:4px;stroke-linecap:round}.serviceAppHxStreams path:not(.serviceAppTracer){stroke-width:2.4px;opacity:.72}.serviceAppHxStreams .serviceAppTracer{animation-duration:4.4s}.serviceAppHxTracerOffset{animation-delay:-1.4s}.serviceAppHxFins path{fill:none;stroke:#2b2d3057;stroke-width:2px;stroke-linecap:round}.serviceAppScaleArrow,.serviceAppSignal,.serviceAppEvaluation>path:not(.serviceAppPreferred){fill:none;stroke:#2b2d3080;stroke-width:2.5px;stroke-linecap:round}.serviceAppMixerBlade{fill:none;stroke:#25282b;stroke-width:4px;stroke-linecap:round}.serviceAppMixerRotor{transform-box:fill-box;transform-origin:50%;animation:7.2s linear infinite paused serviceAppMixerTurn}.serviceAppProcessFeedPipe{fill:none;stroke:#25282b;stroke-width:4px;stroke-linecap:round}.serviceAppProcessMixer,.serviceAppProcessReactor,.serviceAppScaleShell{fill:#ece9e475;stroke:#25282b;stroke-width:4px}.serviceAppProcessMixing path:not(.serviceAppTracer),.serviceAppProcessResidence path:not(.serviceAppTracer){stroke-width:2.3px;opacity:.65}.serviceAppProcessMixing .serviceAppTracer,.serviceAppProcessResidence .serviceAppTracer{animation-duration:4.4s}.serviceAppProcessTracerOffset{animation-delay:-1.35s}.serviceAppProcessMixerContours path{fill:none;stroke:#607f8e99;stroke-width:2px;stroke-linecap:round}.serviceAppProcessReactionField{pointer-events:none;transform-box:fill-box;transform-origin:50%;animation:5.8s ease-in-out infinite paused serviceAppProcessReactionField}.serviceAppProcessBed circle{fill:#7c091157;stroke:#7c0911;stroke-width:1px}.serviceAppProcessReactionSites circle{fill:#7c091133;stroke:#7c0911;stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite paused serviceAppReactionActivity}.serviceAppProcessHeatInput path{fill:none;stroke:#7c0911;stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:4 9;opacity:.58;animation:3s linear infinite paused serviceAppProcessHeatInput}.serviceAppScalePilotShell{fill:#78909b0b}.serviceAppScalePilotHeader,.serviceAppScaleInlet,.serviceAppScaleLanes path{fill:none;stroke:#2b2d3061;stroke-width:2px;stroke-linecap:round}.serviceAppScaleLanes path{stroke-width:1.35px;stroke-dasharray:5 8;opacity:.52}.serviceAppScalePilotFlow .serviceAppTracer{animation-duration:4.8s}.serviceAppScalePilotBalance circle,.serviceAppScaleCorrectedMarkers circle{fill:#78909b;stroke:#f8f7f5;stroke-width:1.5px;opacity:.76}.serviceAppScaleMaldistribution,.serviceAppScaleCorrected{animation:9.6s ease-in-out infinite paused serviceAppScaleMaldistributionState}.serviceAppScaleCorrected{animation-name:serviceAppScaleCorrectedState}.serviceAppScaleMaldistribution .serviceAppFlowLines path:not(.serviceAppTracer){stroke-width:2.5px;opacity:.72}.serviceAppScaleCorrected .serviceAppFlowLines path:not(.serviceAppTracer){stroke-width:2.2px;opacity:.62}.serviceAppScaleProblemFlow .serviceAppScaleProblemLane1{stroke-width:3.2px;opacity:.92}.serviceAppScaleProblemFlow .serviceAppScaleProblemLane2{stroke-width:2.2px;opacity:.58}.serviceAppScaleProblemFlow .serviceAppScaleProblemLane3{stroke-width:1.35px;opacity:.28}.serviceAppScaleProblemFlow .serviceAppScaleProblemLane4{stroke-width:2.8px;opacity:.78}.serviceAppScaleTracer{stroke:#7c0911;animation-duration:4.2s}.serviceAppScalePressure path{fill:none;stroke:#7c091157;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:5 8;animation:9.6s ease-in-out infinite paused serviceAppScalePressureBuild}.serviceAppScaleRestriction{fill:none;stroke:#7c0911;stroke-width:7px;stroke-linecap:round;animation:9.6s ease-in-out infinite paused serviceAppBottleneckSequence}.serviceAppScaleDistributor path{fill:none;stroke:#2b2d3080;stroke-width:5px;stroke-linecap:round}.serviceAppScaleProblemLabels,.serviceAppScaleCorrectedLabel{fill:#7c0911;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:.09em;font-size:18px;font-weight:750}.serviceAppScaleProblemLabels path,.serviceAppScaleCorrectedLabel path{fill:none;stroke:#7c09117a;stroke-width:1.7px}.serviceAppScaleCorrectedLabel{fill:#4f6874}.serviceAppScaleCorrectedLabel path{stroke:#4f68747a}.serviceAppScaleCorrectedFlow .serviceAppTracer{animation-duration:4.4s}.serviceAppScalePilot,.serviceAppScaleIndustrial,.serviceAppBottleneck,.serviceAppDistributor{animation:8.4s ease-in-out infinite paused serviceAppScaleSequence}.serviceAppScaleIndustrial{animation-delay:-.35s}.serviceAppBottleneck{animation-name:serviceAppBottleneckSequence}.serviceAppDistributor{animation-name:serviceAppCorrectionSequence}.serviceAppPressure path,.serviceAppComparison path,.serviceAppLimit path{fill:none;stroke:#2b2d3066;stroke-width:2.2px}.serviceAppPreferred,.serviceAppComparison .serviceAppPreferred{fill:none;stroke:#7c0911;stroke-width:5px;stroke-linecap:round}.serviceAppPreferredShell{fill:#7c09110e;stroke:#7c0911}.serviceAppOperatingEnvelope{fill:#78909b14;stroke:#607f8e80;stroke-width:2.2px;stroke-linejoin:round}.serviceAppOptimizationShell,.serviceAppRobustShell{fill:#ece9e470;stroke:#25282b;stroke-width:4px;stroke-linejoin:round}.serviceAppOptimizationCase,.serviceAppRobustState{opacity:.42;animation:9.6s ease-in-out infinite paused serviceAppOptimizationCase1}.serviceAppOptimizationCase2,.serviceAppRobustState2{animation-name:serviceAppOptimizationCase2}.serviceAppOptimizationCase3,.serviceAppRobustState3{animation-name:serviceAppOptimizationCase3}.serviceAppOptimizationPreferred .serviceAppOptimizationShell{animation:9.6s ease-in-out infinite paused serviceAppOptimizationPreferred}.serviceAppOptimizationFlow path:not(.serviceAppTracer),.serviceAppRobustFlow path:not(.serviceAppTracer){stroke-width:2.2px;opacity:.68}.serviceAppOptimizationFlow .serviceAppTracer,.serviceAppRobustFlow .serviceAppTracer{animation-duration:4.2s}.serviceAppOptimizationSeparation path{fill:none;stroke:#7c0911;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:4 7;opacity:.72;animation:2.8s linear infinite paused serviceAppOptimizationSeparation}.serviceAppOptimizationSeparationReduced{opacity:.54}.serviceAppOptimizationLabel{fill:#34383c;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:.09em;font-size:25px;font-weight:750}.serviceAppOptimizationProgress path{fill:none;stroke:#2b2d306b;stroke-width:2.2px;stroke-linecap:round}.serviceAppRobustLimit{fill:none;stroke:#7c0911;stroke-width:2px;stroke-dasharray:8 8;opacity:.62}.serviceAppRobustPassage{fill:none;stroke:#25282b;stroke-width:3px}.serviceAppRobustHeatSource{fill:#7c091124;stroke:#7c0911;stroke-width:2px}.serviceAppRobustResponse path{fill:none;stroke:#78909b;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:100;animation:9.6s ease-in-out infinite paused serviceAppRobustResponse}.serviceAppRobustConfirmation path{fill:none;stroke:#2b2d304d;stroke-width:2px;stroke-linecap:round}.serviceAppRobustConfirmation path:last-child{stroke:#7c0911;stroke-width:4px;animation:9.6s ease-in-out infinite paused serviceAppRobustConfirm}.serviceAppDecision text{fill:#34383c;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:.11em;text-anchor:middle;font-size:27px;font-weight:750}.serviceAppBoundary path,.serviceAppOperatorCore path{fill:none;stroke:#78909b;stroke-width:2px;opacity:.45}.serviceAppOperator{fill:#f8f7f5db;stroke-width:5px}.serviceAppFieldPanel{fill:#78909b0f}.serviceAppFieldUpdate path{fill:none;stroke:#78909b;stroke-width:3px;stroke-linecap:round;stroke-dasharray:180;opacity:.8;animation:3s ease-in-out infinite paused serviceAppFieldUpdate}.serviceAppFieldUpdate path:nth-child(2){stroke:#7c0911;opacity:.64;animation-delay:-.08s}.serviceAppFieldUpdate path:nth-child(3){animation-delay:-.16s}.serviceAppPulse{animation:4.4s ease-in-out infinite paused serviceAppPulse}.serviceAppDecision{animation:6s ease-in-out infinite paused serviceAppDecision}.serviceAppDecision2{animation-delay:-4s}.serviceAppDecision3{animation-delay:-2s}.serviceAppGeometryCase>path:first-child{fill:#ece9e473}.serviceAppLabels{fill:#34383c;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:.1em;font-size:27px;font-weight:750}.serviceAppLabels .serviceAppCompactLabel{letter-spacing:.065em;font-size:22px}.serviceAppCallout{fill:none;stroke:#2b2d307a;stroke-width:1.8px}.serviceApplicationMotion[data-motion=active] .serviceAppTracer,.serviceApplicationMotion[data-motion=active] .serviceAppPulse,.serviceApplicationMotion[data-motion=active] .serviceAppDecision,.serviceApplicationMotion[data-motion=active] .serviceAppFieldUpdate path,.serviceApplicationMotion[data-motion=active] .serviceAppDeflection,.serviceApplicationMotion[data-motion=active] .serviceAppStructuralLoad path,.serviceApplicationMotion[data-motion=active] .serviceAppSpeciesTransfer path,.serviceApplicationMotion[data-motion=active] .serviceAppCharge path,.serviceApplicationMotion[data-motion=active] .serviceAppLayerIsotherms path,.serviceApplicationMotion[data-motion=active] .serviceAppHeatTransfer path,.serviceApplicationMotion[data-motion=active] .serviceAppMixerRotor,.serviceApplicationMotion[data-motion=active] .serviceAppScalePilot,.serviceApplicationMotion[data-motion=active] .serviceAppScaleIndustrial,.serviceApplicationMotion[data-motion=active] .serviceAppBottleneck,.serviceApplicationMotion[data-motion=active] .serviceAppDistributor,.serviceApplicationMotion[data-motion=active] .serviceAppCoupledHeatRise,.serviceApplicationMotion[data-motion=active] .serviceAppCoupledIsotherms path,.serviceApplicationMotion[data-motion=active] .serviceAppCoupledResponse,.serviceApplicationMotion[data-motion=active] .serviceAppReactionSites circle,.serviceApplicationMotion[data-motion=active] .serviceAppThermalField,.serviceApplicationMotion[data-motion=active] .serviceAppThermalConduction path,.serviceApplicationMotion[data-motion=active] .serviceAppThermalPickup path,.serviceApplicationMotion[data-motion=active] .serviceAppProcessReactionField,.serviceApplicationMotion[data-motion=active] .serviceAppProcessReactionSites circle,.serviceApplicationMotion[data-motion=active] .serviceAppProcessHeatInput path,.serviceApplicationMotion[data-motion=active] .serviceAppScaleMaldistribution,.serviceApplicationMotion[data-motion=active] .serviceAppScaleCorrected,.serviceApplicationMotion[data-motion=active] .serviceAppScaleRestriction,.serviceApplicationMotion[data-motion=active] .serviceAppScalePressure path,.serviceApplicationMotion[data-motion=active] .serviceAppOptimizationCase,.serviceApplicationMotion[data-motion=active] .serviceAppOptimizationPreferred .serviceAppOptimizationShell,.serviceApplicationMotion[data-motion=active] .serviceAppOptimizationSeparation path,.serviceApplicationMotion[data-motion=active] .serviceAppRobustState,.serviceApplicationMotion[data-motion=active] .serviceAppRobustResponse path,.serviceApplicationMotion[data-motion=active] .serviceAppRobustConfirmation path:last-child{animation-play-state:running}@keyframes serviceAppTransport{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes serviceAppPulse{0%,12%,to{opacity:.24}30%,82%{opacity:.62}}@keyframes serviceAppDecision{0%,26%,to{opacity:.38}35%,64%{opacity:1}74%{opacity:.56}}@keyframes serviceAppFieldUpdate{0%,18%,to{opacity:.28;stroke-dashoffset:18px}23%,76%{opacity:.88;stroke-dashoffset:0}}@keyframes serviceAppTransfer{to{stroke-dashoffset:-52px}}@keyframes serviceAppDeflectionEstablish{0%,14%,to{opacity:.28;stroke-dashoffset:100px}34%,82%{opacity:.78;stroke-dashoffset:0}}@keyframes serviceAppIsothermEstablish{0%,12%,to{opacity:.16;stroke-dashoffset:100px}32%,82%{opacity:.62;stroke-dashoffset:0}}@keyframes serviceAppMixerTurn{to{transform:rotate(360deg)}}@keyframes serviceAppScaleSequence{0%,8%,to{opacity:.42}12%,38%{opacity:1}48%,92%{opacity:.68}}@keyframes serviceAppBottleneckSequence{0%,28%,to{opacity:.22}40%,62%{opacity:.9}72%{opacity:.3}}@keyframes serviceAppCorrectionSequence{0%,56%{opacity:.28}68%,96%{opacity:1}to{opacity:.28}}@keyframes serviceAppCoupledHeatRise{0%,10%,to{opacity:.22;transform:scaleY(.64)}30%,82%{opacity:.7;transform:scaleY(1)}}@keyframes serviceAppCoupledIsotherm{0%,18%,to{opacity:.12;stroke-dashoffset:120px}34%,82%{opacity:.58;stroke-dashoffset:0}}@keyframes serviceAppCoupledResponse{0%,28%,to{opacity:.18;stroke-dashoffset:100px}44%,84%{opacity:.82;stroke-dashoffset:0}}@keyframes serviceAppReactionActivity{0%,16%,to{opacity:.22;transform:scale(.72)}38%,76%{opacity:.82;transform:scale(1)}}@keyframes serviceAppThermalSpread{0%,12%,to{opacity:.24;transform:scale(.72,.52)}34%,82%{opacity:.72;transform:scale(1)}}@keyframes serviceAppThermalConduction{to{stroke-dashoffset:-30px}}@keyframes serviceAppThermalPickup{to{stroke-dashoffset:28px}}@keyframes serviceAppProcessReactionField{0%,14%,to{opacity:.25;transform:scale(.88)}36%,82%{opacity:.82;transform:scale(1)}}@keyframes serviceAppProcessHeatInput{to{stroke-dashoffset:-26px}}@keyframes serviceAppScaleMaldistributionState{0%,18%,to{opacity:0}28%,60%{opacity:1}68%{opacity:0}}@keyframes serviceAppScaleCorrectedState{0%,62%,to{opacity:0}72%,94%{opacity:1}}@keyframes serviceAppScalePressureBuild{0%,24%,to{opacity:.08;stroke-dashoffset:24px}38%,64%{opacity:.8;stroke-dashoffset:0}76%{opacity:.12}}@keyframes serviceAppOptimizationCase1{0%,8%,to{opacity:.42}12%,30%{opacity:1}36%,96%{opacity:.42}}@keyframes serviceAppOptimizationCase2{0%,28%,to{opacity:.42}36%,56%{opacity:1}62%,96%{opacity:.42}}@keyframes serviceAppOptimizationCase3{0%,54%,to{opacity:.42}64%,92%{opacity:1}}@keyframes serviceAppOptimizationPreferred{0%,58%,to{stroke:#25282b;fill:#ece9e470}66%,92%{stroke:#7c0911;fill:#7c09110d}}@keyframes serviceAppOptimizationSeparation{to{stroke-dashoffset:-22px}}@keyframes serviceAppRobustResponse{0%,12%,to{opacity:.26;stroke-dashoffset:100px}30%,84%{opacity:.76;stroke-dashoffset:0}}@keyframes serviceAppRobustConfirm{0%,70%,to{opacity:.18}78%,94%{opacity:.9}}@media (max-width:768px){.serviceAppLabels,.serviceAppDecision text{letter-spacing:.07em;font-size:30px}.serviceAppLabels .serviceAppCompactLabel{font-size:26px}}@media (max-width:520px){.serviceAppLabels,.serviceAppDecision text,.serviceAppOptimizationLabel{font-size:var(--service-label-application-mobile);letter-spacing:.055em}.serviceAppLabels .serviceAppCompactLabel,.serviceAppScaleProblemLabels,.serviceAppScaleCorrectedLabel{font-size:var(--service-label-application-secondary-mobile)}}@media (prefers-reduced-motion:reduce){.serviceAppTracer,.serviceAppPulse,.serviceAppDecision,.serviceAppFieldUpdate path,.serviceAppDeflection,.serviceAppStructuralLoad path,.serviceAppSpeciesTransfer path,.serviceAppCharge path,.serviceAppLayerIsotherms path,.serviceAppHeatTransfer path,.serviceAppMixerRotor,.serviceAppScalePilot,.serviceAppScaleIndustrial,.serviceAppBottleneck,.serviceAppDistributor{animation:none}.serviceAppCoupledHeatRise,.serviceAppCoupledIsotherms path,.serviceAppCoupledResponse,.serviceAppReactionSites circle,.serviceAppThermalField,.serviceAppThermalConduction path,.serviceAppThermalPickup path{opacity:.58;stroke-dashoffset:0;animation:none;transform:none}.serviceAppProcessReactionField,.serviceAppProcessReactionSites circle,.serviceAppProcessHeatInput path{opacity:.62;stroke-dashoffset:0;animation:none;transform:none}.serviceAppScaleMaldistribution,.serviceAppScaleRestriction,.serviceAppScalePressure path{opacity:0;animation:none}.serviceAppScaleCorrected{opacity:.9;animation:none}.serviceAppOptimizationCase,.serviceAppRobustState,.serviceAppOptimizationPreferred .serviceAppOptimizationShell,.serviceAppOptimizationSeparation path,.serviceAppRobustResponse path,.serviceAppRobustConfirmation path:last-child{opacity:.78;stroke-dashoffset:0;animation:none}.serviceAppOptimizationPreferred .serviceAppOptimizationShell{stroke:#7c0911;fill:#7c09110d}}.applicationCard:hover .applicationImage img{transform:scale(1.018)}.applicationCopy{flex-direction:column;padding:24px 26px 26px;display:flex}.applicationCopy h3,.thinkingStep h3{color:#151515;font-size:var(--font-size-card-title);margin:0;line-height:1.3}.applicationCopy p,.thinkingStep p{color:#666;margin-top:14px;line-height:1.75}.applicationCopy p{line-height:1.65}.serviceThinking{background:var(--services-bg);border-block:1px solid #0000000f}.thinkingGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:36px;display:grid}.thinkingStep{background:var(--services-surface);border-radius:0 0 var(--services-radius) var(--services-radius);border-top:2px solid #9e1c208f;min-height:224px;padding:24px}.thinkingStep span{color:#9e1c20;letter-spacing:.16em;margin-bottom:28px;font-size:.8rem;display:block}.phenomenaPanel{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:64px;display:grid}.phenomenaList{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.phenomenaList li{color:#30343a;background:var(--services-surface);border:1px solid #00000012;padding:14px 16px;line-height:1.35;transition:background .2s,border-color .2s,color .2s}.phenomenaList li:hover{color:var(--services-accent);background:var(--services-surface);border-color:#9e1c2038}.serviceFitCopy{max-width:62ch}.serviceFitCopy p{color:var(--services-muted);margin:0;font-size:1.04rem;line-height:1.68}.serviceFitCopy p+p{margin-top:14px}.serviceFitCopy strong{color:var(--services-text);font-weight:650}.serviceFitContact{color:var(--services-accent);align-items:center;gap:8px;margin-top:22px;font-weight:700;text-decoration:none;display:inline-flex}.serviceFitContact span{transition:transform .22s}.serviceFitContact:hover span{transform:translate(3px)}.servicesCarouselStatus{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.serviceCTASection{text-align:center;max-width:820px;margin:0 auto}.servicesSecondaryButton:hover{color:#9e1c20}@media (max-width:1180px){.servicesHero{min-height:auto;padding-bottom:48px}.servicesHeroLayout{grid-template-columns:1fr;gap:56px}.servicesHeroContent{max-width:760px}.servicesHeroVisual{width:100%;min-height:var(--hero-visual-height-large);margin-top:0}.serviceDetailVisual{min-height:var(--hero-visual-height-large)}.serviceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.approachSteps{grid-template-columns:none;grid-auto-columns:minmax(270px,calc(50% - 14px))}.thinkingGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.servicesApproachLayout,.serviceDetailHeroLayout{grid-template-columns:1fr;gap:56px}.serviceDetailHeroCopy{max-width:760px}.approachPageHero{padding:calc(var(--navbar-height) + 56px) 0 68px}.approachPageStepsTrack:before{left:23px}.approachPageStep{padding:var(--section-space) 0;grid-template-columns:48px minmax(0,1fr);gap:22px 20px}.approachPageStepNumber{width:46px;height:46px;font-size:.78rem}.approachPageStep ul{grid-column:2}.approachPageStepCopy p{max-width:none}}@media (max-width:900px){#capabilities{scroll-margin-top:calc(var(--navbar-height) + 20px)}.pageHero{padding-top:calc(var(--navbar-height) + 48px);padding-bottom:var(--page-hero-bottom)}.serviceDetailHero{padding-bottom:40px}.serviceDetailHero .servicesHeroTitle{font-size:var(--font-size-page-title);line-height:1.02}.servicesHeroLayout,.serviceDetailHeroLayout,.serviceSplitIntro,.phenomenaPanel,.serviceFitEditorial{grid-template-columns:1fr;gap:34px}.serviceFitEditorialIntro{max-width:none}.serviceFitEditorial .serviceFitContact{grid-column:1}.serviceEditorialRail{--mobile-rail-card-width:clamp(240px, calc(100vw - 128px), 340px);--mobile-rail-gap:18px;margin-inline:0}.serviceEditorialRail>.railButton{--rail-button-position:translateY(-50%);z-index:4;display:grid;position:absolute;top:50%}.serviceEditorialRail .railButtonLeft{left:calc(50% - var(--mobile-rail-card-width) / 2 - 56px)}.serviceEditorialRail .railButtonRight{right:calc(50% - var(--mobile-rail-card-width) / 2 - 56px)}.serviceEditorialRail.platformRailHasMore:after{opacity:1;width:58px;display:block;top:4px;bottom:12px;right:0}.serviceEditorialTrack{grid-auto-flow:column;grid-auto-columns:var(--mobile-rail-card-width);gap:var(--mobile-rail-gap);width:100%;padding:4px calc((100% - var(--mobile-rail-card-width)) / 2) 12px;overscroll-behavior-inline:contain;scroll-padding-inline:calc((100% - var(--mobile-rail-card-width)) / 2);scroll-snap-type:inline mandatory;scrollbar-width:none;grid-template-columns:none;display:grid;overflow-x:auto}.serviceEditorialTrack::-webkit-scrollbar{display:none}.serviceEditorialCard{scroll-snap-align:center;scroll-snap-stop:always;min-height:168px}.servicesHeroLayout{gap:48px}.serviceDetailHeroLayout{gap:40px}.serviceDetailHeroCopy{max-width:760px}.serviceDetailVisual{min-height:var(--hero-visual-height-medium)}.servicesHero .servicesHeroTitle{font-size:var(--font-size-page-title);line-height:1.05}.servicesHeroTitle br,.servicesSectionTitle br{display:none}.servicesHeroVisual{min-height:var(--hero-visual-height-medium);margin-top:0;transform:none}.servicesApproach,.computationalPlatform{padding:76px 0 0}.platformGrid{grid-template-columns:none;grid-auto-columns:minmax(270px,calc(50% - 14px))}.serviceGridSection{padding:56px 0 0}.serviceGridRail>.railButton{display:grid}.serviceGridRail .railButtonLeft{left:8px}.serviceGridRail .railButtonRight{right:8px}.serviceGrid{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:minmax(300px,calc(58.8235% - 14.1176px));grid-auto-flow:column;gap:20px;min-width:0;scroll-padding-inline:1px;display:grid;overflow-x:auto}.serviceGrid::-webkit-scrollbar{display:none}.serviceTile{scroll-snap-align:start;scroll-snap-stop:always}.servicesCTA{padding:56px 0 84px}.serviceDetailPage .serviceSection{padding:76px 0 0}.serviceDetailPage .serviceApplications{padding-top:52px}.thinkingGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.applicationGrid{grid-template-columns:1fr}.approachSteps{grid-template-columns:none;grid-auto-columns:minmax(270px,76vw)}.approachStep{min-height:auto}.approachStepLink{padding:26px}.approachStepNumber{width:44px;height:44px}.serviceTileContent h3,.serviceTileContent p{min-height:0}.railButton{width:44px;min-width:44px;height:44px;min-height:44px}.railButtonRight{right:8px}.railButtonLeft{left:8px}}@media (max-width:767px){.servicesHeroLayout,.serviceDetailHeroLayout{gap:28px}.servicesHeroActions{width:100%;margin-top:0}.servicesHeroActions .servicesHeroButton{min-height:52px}.servicesHeroVisual,.serviceDetailVisual{width:100%}.approachPageStepsTrack:before{display:none}.approachPageStep{grid-template-columns:1fr;gap:18px;padding:44px 0}.approachPageStepNumber{width:42px;height:42px;font-size:.74rem}.approachPageStepCopy p{max-width:none;margin-top:12px}.approachPageStep ul{grid-column:auto;gap:12px}.approachPageCTA .servicesCTAActions{flex-direction:column;align-items:center}}@media (max-width:560px),(max-width:960px) and (max-height:560px) and (orientation:landscape){.pageHero{width:92%;padding-top:calc(var(--navbar-height) + 36px);padding-bottom:var(--page-hero-bottom)}.servicesHero .servicesHeroTitle{font-size:var(--font-size-page-title);line-height:1.02}.serviceDetailHero{padding-top:calc(var(--navbar-height) + 36px);padding-bottom:32px}.serviceDetailHeroLayout,.serviceSplitIntro,.phenomenaPanel{grid-template-columns:1fr;gap:32px}.serviceGrid,.applicationGrid,.thinkingGrid,.phenomenaList{grid-template-columns:1fr}.serviceGrid{grid-template-columns:none;grid-auto-columns:clamp(230px,100vw - 116px,320px);gap:48px;padding-inline:calc(50% + clamp(230px,100vw - 116px,320px)/-2);scroll-padding-inline:calc(50% + clamp(230px,100vw - 116px,320px)/-2)}.serviceTile{scroll-snap-align:center}.serviceGridRail .railButtonLeft{left:calc(50% + clamp(230px,100vw - 116px,320px)/-2 - 48px)}.serviceGridRail .railButtonRight{right:calc(50% + clamp(230px,100vw - 116px,320px)/-2 - 48px)}.approachSteps{grid-auto-columns:var(--mobile-rail-card-width);padding-inline:calc((100% - var(--mobile-rail-card-width)) / 2);scroll-padding-inline:calc((100% - var(--mobile-rail-card-width)) / 2);grid-template-columns:none;gap:48px}.approachRail,.platformRail{--mobile-rail-card-width:clamp(220px, calc(100vw - 112px), 318px)}.approachStep,.platformCardReveal{scroll-snap-align:center;scroll-snap-stop:always}.serviceDetailHero .servicesHeroTitle{font-size:var(--font-size-page-title);line-height:1.02}.servicesHero .servicesHeroCopy p,.servicesHeroDescription,.servicesSectionDescription,.servicesCTADescription{font-size:1rem;line-height:1.65}.servicesSectionTitle,.servicesIntro .servicesSectionTitle,.servicesApproach .servicesSectionTitle,.serviceDetailPage .servicesSectionTitle{font-size:var(--font-size-section-title);line-height:1.08}.servicesCTATitle{font-size:var(--font-size-section-title);line-height:1.1}.servicesEyebrow{margin-bottom:18px;font-size:11px}.servicesIntro .servicesEyebrow{margin-bottom:22px}.servicesApproachLayout{gap:40px}.servicesHeroVisual,.serviceDetailVisual{min-height:var(--hero-visual-height-compact)}.serviceDetailVisualCaption{font-size:.62rem}.servicesHero{padding-bottom:36px}.servicesApproach,.computationalPlatform{padding:62px 0 0}.platformGrid{grid-auto-columns:var(--mobile-rail-card-width);padding-inline:calc((100% - var(--mobile-rail-card-width)) / 2);scroll-padding-inline:calc((100% - var(--mobile-rail-card-width)) / 2);grid-template-columns:none;gap:48px}.approachRail .railButtonLeft,.platformRail .railButtonLeft{left:calc(50% - var(--mobile-rail-card-width) / 2 - 48px)}.approachRail .railButtonRight,.platformRail .railButtonRight{right:calc(50% - var(--mobile-rail-card-width) / 2 - 48px)}.platformRail{margin-top:40px}.platformCard{min-height:300px;padding:26px}.serviceGridSection{padding:44px 0 0}.serviceDetailPage .serviceSection{padding:62px 0 0}.serviceDetailPage .serviceApplications{padding-top:44px}.serviceSplitIntro{margin-bottom:30px}.serviceTileContent,.applicationCopy{padding:22px}.servicesCTA{padding:44px 0 58px}.servicesCTAButton,.servicesCTASecondaryButton,.servicesHeroButton{width:100%;max-width:280px}.thinkingGrid,.phenomenaList{grid-template-columns:1fr}.thinkingStep{min-height:auto}.thinkingStep span{margin-bottom:24px}.approachPageHero{padding:var(--page-hero-top) 0 var(--page-hero-bottom)}.approachPageHero h1{font-size:clamp(2.8rem,3.5vw,3.25rem);line-height:1}.approachPageHero p{margin-top:26px;font-size:1rem}}@media (prefers-reduced-motion:reduce){.servicesRevealEnabled [data-service-reveal],.servicesRevealEnabled [data-service-reveal].servicesRevealVisible{opacity:1;transition:none;transform:none}.serviceTileLink,.serviceTileImageElement,.serviceTileCta>span,.applicationCard,.applicationImage img,.approachStep,.approachStepNumber,.platformCard,.platformIcon svg,.platformIconAccent{transition:none}.approachStep:hover,.approachStep:focus-within,.servicesRevealEnabled .approachStep.servicesRevealVisible:hover,.servicesRevealEnabled .approachStep.servicesRevealVisible:focus-within,.approachPageCtaSecondary:hover span,.approachPageCtaSecondary:focus-visible span,.platformCardReveal:hover .platformCard,.platformCardReveal:focus-within .platformCard{transform:none}}@media (min-width:768px) and (max-width:960px) and (max-height:560px) and (orientation:landscape){.servicesHero,.serviceDetailHero{padding-top:calc(var(--navbar-height) + 28px);padding-bottom:32px}.servicesHeroLayout,.serviceDetailHeroLayout{gap:24px 32px}.servicesHeroVisual,.serviceDetailVisual{min-height:clamp(250px,34vw,320px)}}@media (prefers-reduced-motion:reduce){.serviceDetailVisualGrid{animation-name:serviceDetailGridDrift!important;animation-duration:12s!important;animation-iteration-count:infinite!important;animation-direction:alternate!important}.serviceVisualLine{animation-name:serviceDetailReferenceFlow!important;animation-duration:10s!important;animation-iteration-count:infinite!important}.serviceVisualFieldLine,.serviceVisualVector,.serviceVisualReaction,.serviceVisualPrediction,.serviceVisualTruth{animation-name:serviceDetailDashFlow!important;animation-duration:7s!important;animation-iteration-count:infinite!important}.serviceVisualContour{animation-name:serviceDetailContourBreathe!important;animation-duration:5.8s!important;animation-iteration-count:infinite!important;animation-direction:alternate!important}.serviceVisualVessel{animation-name:serviceProcessVesselBreathe!important;animation-duration:6.4s!important;animation-iteration-count:infinite!important;animation-direction:alternate!important}.serviceVisualParticle{animation-name:serviceProcessParticlePulse!important;animation-duration:3.8s!important;animation-iteration-count:infinite!important;animation-direction:alternate!important}.serviceVisualSample{animation-name:serviceSamplePulse!important;animation-duration:4.8s!important;animation-iteration-count:infinite!important}.serviceVisualOptimum{animation-name:serviceOptimumPulse!important;animation-duration:3.6s!important;animation-iteration-count:infinite!important}.serviceDetailVisual--cfd .serviceVisualFieldLine{animation-name:serviceCfdStreamlineFlow!important;animation-duration:5.8s!important}.serviceDetailVisual--cfd .serviceVisualVector{animation-name:serviceCfdVectorPulse!important;animation-duration:4.6s!important;animation-direction:alternate!important}.serviceDetailVisual--coupled .serviceVisualContour{animation-name:serviceCoupledContourBreathe!important}.serviceDetailVisual--thermal .serviceVisualContourWarm{animation-name:serviceThermalContourBreathe!important;animation-duration:5.2s!important}.serviceDetailVisual--thermal .serviceVisualVector{animation-name:serviceThermalHeatVector!important;animation-duration:4.2s!important}.serviceDetailVisual--process .serviceVisualVector{animation-name:serviceProcessPortFlow!important;animation-duration:4.8s!important}.serviceDetailVisual--process .serviceVisualReaction{animation-name:serviceProcessReactionFlow!important;animation-duration:3.8s!important}.serviceDetailVisual--optimization .serviceVisualObjective{animation-name:serviceOptimizationTrace!important;animation-duration:8s!important;animation-iteration-count:infinite!important}.serviceDetailVisual--optimization .serviceVisualSample{animation-name:serviceOptimizationSampleScan!important}.serviceDetailVisual--ai .serviceVisualPrediction{animation-name:serviceAiPredictionFlow!important;animation-duration:4.8s!important}.serviceDetailVisual--ai .serviceVisualTruth{animation-name:serviceAiTruthFlow!important;animation-duration:6s!important}.serviceDetailVisual--ai .serviceVisualSample{animation-name:serviceAiSampleFlicker!important;animation-duration:3.8s!important}}.servicesPage>.servicesHero .servicesHeroTitle,.servicesPage .serviceDetailHero .servicesHeroTitle{font-size:clamp(2.8rem,3.5vw,3.25rem);line-height:1}@media (max-width:699px){.servicesPage>.servicesHero .servicesHeroTitle,.servicesPage .serviceDetailHero .servicesHeroTitle,.approachPageHero h1{font-size:var(--font-size-page-title);line-height:1}}@media (max-width:430px){.servicesPage .serviceDetailHero .servicesHeroTitle{font-size:clamp(2.15rem,10.6vw,2.75rem)}}@media (hover:none) and (pointer:coarse),(any-hover:none) and (any-pointer:coarse){.serviceTileContent,.approachStepLink,.platformCard{padding-bottom:62px}}.notFoundPage{min-height:calc(100svh - var(--navbar-height));padding:calc(var(--navbar-height) + 48px) 0 80px;background:var(--color-background,#f7f6f2);align-items:center;display:grid}.notFoundInner{max-width:780px}.notFoundInner h1{max-width:720px;font-size:var(--font-size-page-title);letter-spacing:-.045em;margin-top:24px;line-height:1.02}.notFoundInner>p:not(.sectionEyebrow){max-width:620px;color:var(--color-muted,#66707a);margin-top:28px;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7}.serviceEditorialShell{gap:28px;display:grid}.serviceEditorialRail{margin-top:0}.serviceEditorialViewport{min-width:0}.serviceEditorialRail>.railButton,.serviceEditorialRail:after{display:none}.serviceEditorialTrack{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid;overflow:visible}.serviceEditorialCard{min-width:0;min-height:100%;color:inherit;background:var(--services-surface);border-radius:var(--services-radius);box-shadow:none;border:1px solid #20242a1a;flex-direction:column;padding:22px 22px 24px;display:flex}.serviceEditorialCard h3{color:var(--services-text);margin:0;font-size:1.02rem;font-weight:650;line-height:1.32}.serviceEditorialCard p{color:var(--services-muted);margin:10px 0 0;font-size:.94rem;line-height:1.55}.serviceFitEditorial{grid-template-columns:minmax(0,.34fr) minmax(0,.58fr);align-items:start;gap:28px clamp(36px,5.5vw,72px);display:grid}.serviceFitEditorialIntro{max-width:16ch}.serviceFitEditorialSection{border-bottom:1px solid #20242a14;padding-bottom:clamp(28px,3.5vw,40px)}.serviceFitEditorialList{border-top:1px solid #20242a1a;margin:0;padding:0;list-style:none;display:grid}.serviceFitEditorialItem{border-bottom:1px solid #20242a12;grid-template-columns:2.4rem minmax(0,1fr);align-items:start;column-gap:16px;margin:0;padding:22px 0;display:grid}.serviceFitEditorialNumber{color:var(--services-accent);letter-spacing:.12em;text-transform:uppercase;padding-top:.28em;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:700;line-height:1.2}.serviceFitEditorialBody h3{color:var(--services-text);margin:0;font-size:1.02rem;font-weight:650;line-height:1.35}.serviceFitEditorialBody p{color:var(--services-muted);margin:6px 0 0;font-size:.94rem;line-height:1.55}.serviceFitEditorial .serviceFitContact{grid-column:2;justify-self:start;margin-top:4px}.notFoundLinks{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.notFoundLinks a{border:1px solid var(--color-border,#d8d7d2);min-height:44px;color:inherit;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.notFoundLinks a:hover,.notFoundLinks a:focus-visible{border-color:var(--color-accent,#9e1c20)}@media (max-width:560px){.notFoundPage{padding:calc(var(--navbar-height) + 32px) 0 56px}}@media (prefers-reduced-motion:reduce){.servicesHeroVisual *,.servicesHeroVisual :before,.servicesHeroVisual :after,.serviceDetailVisual *,.serviceDetailVisual :before,.serviceDetailVisual :after{animation:none!important}.servicesStage{opacity:0!important}.servicesStageCoupled{opacity:1!important}}@media (max-width:900px){.serviceFitEditorial{grid-template-columns:1fr;gap:22px}.serviceFitEditorialIntro{max-width:none}.serviceFitEditorial .serviceFitContact{grid-column:1}.serviceEditorialRail{--mobile-rail-card-width:clamp(220px, calc(100vw - 160px), 320px);--mobile-rail-gap:18px;--mobile-rail-control-space:56px;margin-inline:0}.serviceEditorialViewport{margin-inline:var(--mobile-rail-control-space);overflow:hidden}.serviceEditorialRail>.railButton{--rail-button-position:translateY(-50%);z-index:4;width:48px;min-width:48px;height:48px;min-height:48px;display:grid;position:absolute;top:50%}.serviceEditorialRail .railButtonLeft{left:4px}.serviceEditorialRail .railButtonRight{right:4px}.serviceEditorialRail.platformRailHasMore:after{top:4px;right:var(--mobile-rail-control-space);opacity:1;width:40px;display:block;bottom:12px}.serviceEditorialTrack{grid-auto-flow:column;grid-auto-columns:var(--mobile-rail-card-width);gap:var(--mobile-rail-gap);width:100%;padding:4px calc((100% - var(--mobile-rail-card-width)) / 2) 12px;overscroll-behavior-inline:contain;scroll-padding-inline:calc((100% - var(--mobile-rail-card-width)) / 2);scroll-snap-type:inline mandatory;scrollbar-width:none;grid-template-columns:none;display:grid;overflow-x:auto}.serviceEditorialTrack::-webkit-scrollbar{display:none}.serviceEditorialCard{scroll-snap-align:center;scroll-snap-stop:always;min-height:168px}}@media (min-width:1600px){:root{--services-container:var(--container-standard);--services-readable:min(72ch, 920px)}.servicesHero,.serviceDetailHero,.pageHero{width:min(var(--container-hero), calc(100vw - (var(--page-gutter) * 2)))}.servicesHeroLayout,.serviceDetailHeroLayout{column-gap:var(--hero-column-gap)}.servicesHeroTitle,.servicesPage>.servicesHero .servicesHeroTitle,.servicesPage .serviceDetailHero .servicesHeroTitle,.serviceDetailHero .servicesHeroTitle,.approachPageHero h1,.privacyHero h1,.servicesPage .privacyHero h1{font-size:var(--type-page-title)}.servicesSectionTitle,.serviceDetailPage .servicesSectionTitle,.approachPageStepCopy h2,.servicesCTATitle,.privacyContent h2{font-size:var(--type-section-title)}.servicesIntro,.servicesSectionHeader,.computationalPlatformHeader,.serviceCTASection{max-width:min(960px,58vw)}.serviceTileContent,.approachStepLink,.platformCard,.applicationCopy,.thinkingStep{padding:clamp(32px,1.9vw,46px)}.serviceTileContent p,.approachStep p,.platformCard p,.applicationCopy p,.thinkingStep p,.phenomenaList li,.serviceFitCopy p,.approachPageStep li,.approachPageStepCopy p,.privacyContent p,.privacyContent li{font-size:var(--type-body);line-height:1.68}.serviceTileContent h3,.approachStep h3,.platformCard h3,.applicationCopy h3,.thinkingStep h3{font-size:var(--type-card-title)}.serviceTileContent p{min-height:0}.applicationGrid{gap:var(--card-grid-gap)}.thinkingGrid{gap:clamp(22px,1.4vw,32px)}.serviceDetailVisual text{font-size:var(--type-diagram-label)}.serviceDetailVisualCaption{font-size:var(--type-caption)}}@media (min-width:1920px) and (min-height:900px){.serviceDetailVisual,.servicesHeroVisual{min-height:var(--hero-visual-height)}.serviceTileImage{aspect-ratio:16/9}.thinkingStep{min-height:clamp(280px,15vw,360px)}}:is(.serviceDetailVisual--ai:has(.neuralSystem),.serviceTileImage:has(.neuralSystem)){aspect-ratio:auto;background:#f8f7f5;height:auto;min-height:0}.serviceDetailEngineeringGraphic .serviceEngineeringGraphic--neural,.serviceEngineeringGraphic--neural{position:relative;inset:auto;container:neural-system/inline-size}.neuralSystem{color:#353c40;padding:24px 20px 18px}.neuralSystem--hero{padding:28px 28px 22px}.neuralSystemHeading{padding-bottom:28px}.neuralSystemHeading>span{letter-spacing:.15em;color:#7c0911;font-size:10px;font-weight:600}.neuralSystemHeading p{letter-spacing:-.025em;margin:8px 0 0;font-size:clamp(17px,2cqi,23px);font-weight:500;line-height:1.3}.neuralSystemStages{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.neuralSystemStage{min-width:0;position:relative}.neuralSystemLabel{align-content:start;gap:5px;min-height:92px;display:grid}.neuralSystemIndex{letter-spacing:.1em;color:#7c0911;font-size:10px}.neuralSystemTitle{font-size:14px;font-weight:600;line-height:1.3}.neuralSystemSubtitle{color:#687177;font-size:12px;line-height:1.45}.serviceEngineeringGraphic .neuralSystemArt{width:100%;height:auto;position:static;inset:auto;overflow:visible}.neuralSystemArt :is(path,ellipse,circle){stroke-linecap:round;stroke-linejoin:round}.neuralSystemAxis{fill:none;stroke:#c3c7c6;stroke-width:.7px}.neuralSystemDomain{fill:#e9edeb;fill-opacity:.55;stroke:#626d72;stroke-width:1.15px}.neuralSystemGhost{fill-opacity:.18;stroke:#a6afb1;stroke-dasharray:2 4;stroke-width:.8px}.neuralSystemMesh{fill:none;stroke:#9eafb6;stroke-width:.65px}.neuralSystemSamples{fill:#55798e;animation:9s ease-in-out infinite neuralDomainSample}.serviceEngineeringGraphic .neuralSystem .neuralSystemSamples circle{fill:#55798e;opacity:1}.neuralSystemBoundary{fill:none;stroke:#7c0911;stroke-width:1.8px}.neuralSystemConditions{fill:none;stroke:#55798e;stroke-width:1.1px;animation:9s ease-in-out infinite neuralConditionShift}.neuralSystemParameters{fill:none;stroke:#8d969a;stroke-width:.8px}.neuralSystemLatentMesh{fill:none;stroke:#a8b6bb;stroke-width:.75px}.neuralSystemLongRange{fill:none;stroke:#78909b;stroke-width:.85px;stroke-dasharray:3 4;animation:9s ease-in-out infinite neuralNonlocalInteraction}.neuralSystemLocal{fill:none;stroke:#7c0911;stroke-width:1px;animation:9s ease-in-out infinite neuralLocalInteraction}.neuralSystemTokens ellipse{fill:#78909b;fill-opacity:.06;stroke:#b3bfc3;stroke-width:.65px}.neuralSystemTokens path{fill:#e1e7e7;stroke:#627e8b;stroke-width:1px}.neuralSystemTokens .neuralSystemTokenMark{fill:none;stroke:#7c0911;stroke-width:.8px}.neuralSystemTokenA{animation:9s ease-in-out infinite neuralTokenOrganizeA}.neuralSystemTokenB{animation:9s ease-in-out infinite neuralTokenOrganizeB}.neuralSystemFieldBase,.neuralSystemFieldUpdate{fill:none;stroke:#55798e;stroke-width:1.05px}.neuralSystemFieldBase{animation:9s ease-in-out infinite neuralFieldPrevious}.neuralSystemFieldUpdate{opacity:0;animation:9s ease-in-out infinite neuralFieldReconstruct}.neuralSystemFieldAccent{fill:none;stroke:#7c0911;stroke-width:1.3px;animation:9s ease-in-out infinite neuralFieldReconstruct}.neuralSystemNote{color:#687177;margin:12px 0 0;font-size:11px;line-height:1.5}.serviceEngineeringGraphic .neuralSystemConnector{fill:none;stroke:#8c969b;stroke-width:.9px;width:25px;height:20px;position:absolute;inset:52% -25px auto auto}.neuralSystemLegend{border-top:1px solid #dfe2df;flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;margin-top:24px;padding-top:12px;display:flex}.neuralSystemLegend span{letter-spacing:.04em;color:#687177;font-size:10px;line-height:1.5}.neuralSystemLegend span:first-child{color:#7c0911}.neuralSystem--card .neuralSystemNote,.neuralSystem--card .neuralSystemSubtitle{display:none}.neuralSystem--card .neuralSystemLabel{min-height:52px}.neuralSystem :is(.neuralSystemSamples,.neuralSystemConditions,.neuralSystemTokenA,.neuralSystemTokenB,.neuralSystemFieldBase,.neuralSystemFieldUpdate,.neuralSystemFieldAccent){animation-duration:10s}.neuralSystemDeformation,.neuralSystemConditions{transform-origin:120px 100px}.neuralSystemDeformation--domain{animation:10s ease-in-out infinite neuralInputDeform}.neuralSystemDeformation--latent{animation:10s ease-in-out infinite neuralLatentDeform}.neuralSystemDeformation--field{animation:10s ease-in-out infinite neuralOutputDeform}.neuralSystemInteractionReference{fill:none;stroke:#a8b6bb;stroke-width:.7px;opacity:.5}.neuralSystemLocal,.neuralSystemLongRange{opacity:1;animation:none}.neuralSystemLocal path{stroke:#7c0911;stroke-width:1.9px;stroke-dasharray:100;animation:10s ease-in-out infinite neuralLocalSignal}.neuralSystemLongRange path{stroke:#55798e;stroke-width:1.7px;stroke-dasharray:none;stroke-dashoffset:0;animation:10s ease-in-out infinite neuralLongSignal}.neuralSystemEncoding{fill:none;stroke:#55798e;stroke-width:1.6px}.neuralSystemEncodeA{animation:10s ease-in-out infinite neuralEncodeA}.neuralSystemEncodeB{animation:10s ease-in-out infinite neuralEncodeB}.neuralSystemEncodeBridge{stroke:#55798e;stroke-width:2px;stroke-dasharray:100;animation:10s ease-in-out infinite neuralEncodeSignal}.neuralSystemReconstructBridge{stroke:#7c0911;stroke-width:2px;stroke-dasharray:100;animation:10s ease-in-out infinite neuralReconstructSignal}@keyframes neuralInputDeform{0%,to{transform:scaleY(1)}18%,86%{transform:scaleY(.72)}}@keyframes neuralLatentDeform{0%,18%,to{transform:scaleY(1)}34%,86%{transform:scaleY(.72)}}@keyframes neuralOutputDeform{0%,58%,to{transform:scaleY(1)}76%,86%{transform:scaleY(.72)}}@keyframes neuralDomainSample{0%,to{opacity:.65;transform:translate(0)}18%{opacity:1;transform:translate(0)}32%,86%{opacity:.4;transform:translate(12px)}}@keyframes neuralConditionShift{0%,to{opacity:.5;transform:scaleX(1)}18%,86%{opacity:1;transform:scaleX(.72)}}@keyframes neuralTokenOrganizeA{0%,18%,to{transform:translate(0)}34%,86%{transform:translate(10px,-12px)}}@keyframes neuralTokenOrganizeB{0%,18%,to{transform:translate(0)}34%,86%{transform:translate(-10px,12px)}}@keyframes neuralEncodeA{0%,16%{opacity:0;transform:translate(-22px,18px)}21%{opacity:1;transform:translate(-22px,18px)}33%{opacity:1;transform:translate(10px,-12px)}38%,to{opacity:0;transform:translate(10px,-12px)}}@keyframes neuralEncodeB{0%,16%{opacity:0;transform:translate(22px,-18px)}21%{opacity:1;transform:translate(22px,-18px)}33%{opacity:1;transform:translate(-10px,12px)}38%,to{opacity:0;transform:translate(-10px,12px)}}@keyframes neuralLocalSignal{0%,32%,to{opacity:0;stroke-dashoffset:100px}34%{opacity:1;stroke-dashoffset:100px}46%,62%{opacity:1;stroke-dashoffset:0}76%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralLongSignal{0%,44%,to{opacity:0}60%,68%{opacity:1}80%,90%{opacity:0}}@keyframes neuralEncodeSignal{0%,16%,to{opacity:0;stroke-dashoffset:100px}18%{opacity:1;stroke-dashoffset:100px}30%{opacity:1;stroke-dashoffset:0}38%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralReconstructSignal{0%,54%,to{opacity:0;stroke-dashoffset:100px}56%{opacity:1;stroke-dashoffset:100px}66%{opacity:1;stroke-dashoffset:0}76%,90%{opacity:0;stroke-dashoffset:0}}@keyframes neuralFieldPrevious{0%,58%,to{opacity:1}76%,86%{opacity:0}}@keyframes neuralFieldReconstruct{0%,58%,to{opacity:0}76%,86%{opacity:1}}@container neural-system (max-width:519px){.neuralSystem{padding:20px 16px 16px}.neuralSystemHeading{padding-bottom:22px}.neuralSystemStages{grid-template-columns:1fr;gap:25px}.neuralSystemStage{grid-template-columns:minmax(0,1fr) minmax(100px,52%);align-items:center;gap:8px;display:grid}.neuralSystemLabel{min-height:0}.neuralSystemTitle{font-size:13px}.neuralSystemSubtitle{font-size:12px}.neuralSystemNote{grid-column:1/-1;margin-top:0}.serviceEngineeringGraphic .neuralSystemConnector{top:auto;bottom:-24px;right:calc(26% - 12px);transform:rotate(90deg)}.neuralSystemLegend{justify-content:flex-start;gap:5px 12px;margin-top:22px}.neuralSystem--card .neuralSystemStage{grid-template-columns:minmax(0,1fr) 112px}.neuralSystem--card .neuralSystemConnector{right:43px}}@container neural-system (min-width:340px) and (max-width:519px){.neuralSystem--card .neuralSystemStages{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.neuralSystem--card .neuralSystemStage{display:block}.serviceEngineeringGraphic .neuralSystem--card .neuralSystemConnector{width:20px;top:60%;bottom:auto;right:-19px;transform:none}}@media (prefers-reduced-motion:reduce){.neuralSystemFieldBase{opacity:.2}.neuralSystemFieldUpdate,.neuralSystemFieldAccent{opacity:.85}.neuralSystemEncoding,.neuralSystemEncodeBridge,.neuralSystemReconstructBridge{opacity:0}.neuralSystemDeformation{transform:none}}
