.Scene-module__DP4U5a__scene{width:100%;height:100%;position:relative}.Scene-module__DP4U5a__workspace{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.Scene-module__DP4U5a__workspaceWrapper{grid-template-rows:62px 1fr 44px 62px;width:min(94%,1180px);height:calc(100% - 42px);margin-top:38px;display:grid;position:relative}.Scene-module__DP4U5a__canvasContainer{contain:strict;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.Scene-module__DP4U5a__canvas{z-index:2;width:100%;height:100%;display:block;position:relative}.Scene-module__DP4U5a__canvasContainerPhysicsActive{background:#f8f7f557}.Scene-module__DP4U5a__physicsCanvas{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.Scene-module__DP4U5a__equationPhysicsLayer{opacity:1;transition:opacity var(--physics-transition,.42s) cubic-bezier(.22,1,.36,1)}.Scene-module__DP4U5a__equationPhysicsLayerInactive{opacity:0}.Scene-module__DP4U5a__equationPhysicsLayerMorphing{opacity:.14;transition-duration:var(--context-transition,.34s)}.Scene-module__DP4U5a__physicsModeSelector{align-items:start}.Scene-module__DP4U5a__physicsModeButton{--interactive-text-base:#262626;appearance:none;background:0 0;background-image:linear-gradient(90deg, var(--crimson,#9e1c20) 0%, var(--crimson,#9e1c20) 50%, var(--interactive-text-base) 50%, var(--interactive-text-base) 100%);-webkit-text-fill-color:transparent;text-align:left;cursor:pointer;background-position:100% 0;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;border:0;border-radius:0;min-width:0;margin:0;padding:0 0 8px;transition:background-position .46s cubic-bezier(.22,1,.36,1),opacity .28s,transform .28s;position:relative}.Scene-module__DP4U5a__physicsModeButton span:first-child{font-weight:600}.Scene-module__DP4U5a__physicsModeButton span:nth-child(2){font-weight:400}.Scene-module__DP4U5a__physicsModeButton:hover,.Scene-module__DP4U5a__physicsModeButtonActive{color:var(--crimson,#9e1c20);opacity:1;background-position:0 0;transform:translateY(-1px)}.Scene-module__DP4U5a__physicsModeButton:focus-visible{outline-offset:7px;background-position:0 0;outline:1px solid #9e1c207a}.Scene-module__DP4U5a__physicsModeIndicator{background:var(--crimson,#9e1c20);opacity:.72;clip-path:inset(0 100% 0 0);width:34px;height:1px;transition:clip-path .46s cubic-bezier(.22,1,.36,1),transform .46s cubic-bezier(.22,1,.36,1);position:absolute;top:-10px;left:0;transform:translate(-18%)}.Scene-module__DP4U5a__physicsModeButton:hover .Scene-module__DP4U5a__physicsModeIndicator,.Scene-module__DP4U5a__physicsModeButton:focus-visible .Scene-module__DP4U5a__physicsModeIndicator,.Scene-module__DP4U5a__physicsModeButtonActive .Scene-module__DP4U5a__physicsModeIndicator{opacity:.72;clip-path:inset(0);transform:translate(0)}.Scene-module__DP4U5a__physicsInteractionPulse{left:var(--pulse-x,50%);z-index:4;pointer-events:none;transform-origin:bottom;background:linear-gradient(#0000,#9e1c208a 48%,#0000);width:1px;height:145px;animation:.68s cubic-bezier(.22,1,.36,1) both Scene-module__DP4U5a__physicsInteractionPulse;position:absolute;bottom:30px}@keyframes Scene-module__DP4U5a__physicsInteractionPulse{0%{opacity:0;transform:translate(-50%)scaleY(.18)}22%{opacity:.62}to{opacity:0;transform:translate(-50%,-158px)scaleY(1)}}.Scene-module__DP4U5a__pickableMovingEquation,.Scene-module__DP4U5a__reassignedPathEquation,.Scene-module__DP4U5a__reassignedEquation{cursor:pointer;touch-action:none}.Scene-module__DP4U5a__pickableMovingEquation,.Scene-module__DP4U5a__reassignedPathEquation{stroke:#0000;stroke-width:12px;paint-order:stroke fill;pointer-events:visiblePainted}.Scene-module__DP4U5a__pickableMovingEquation:hover,.Scene-module__DP4U5a__reassignedPathEquation:hover,.Scene-module__DP4U5a__reassignedEquation:hover{opacity:.96}.Scene-module__DP4U5a__reassignedEquationActive{cursor:pointer;opacity:1}.Scene-module__DP4U5a__mobileStreamlineLayer,.Scene-module__DP4U5a__mobileEquationLayer,.Scene-module__DP4U5a__desktopReducedMotionStreamlineLayer,.Scene-module__DP4U5a__desktopReducedMotionEquationLayer{display:none}.Scene-module__DP4U5a__reassignedEquationHitArea{fill:#0000;pointer-events:all;touch-action:none}.Scene-module__DP4U5a__reassignedEquationText{letter-spacing:.12em;font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:600}.Scene-module__DP4U5a__equationDropTarget{stroke-opacity:.42!important;stroke-width:2.8px!important;opacity:.58!important}@media (max-width:639px){.Scene-module__DP4U5a__pickableMovingEquation,.Scene-module__DP4U5a__reassignedPathEquation,.Scene-module__DP4U5a__reassignedEquation{cursor:default;pointer-events:none}}.Scene-module__DP4U5a__workspaceHeader,.Scene-module__DP4U5a__workspaceFooter{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;column-gap:12px;width:calc(100% - 64px);margin-inline:32px;display:grid}.Scene-module__DP4U5a__contextSelectorRegion{z-index:5;min-width:0;position:relative}.Scene-module__DP4U5a__contextButton{--interactive-text-base:#262626;appearance:none;background:0 0;background-image:linear-gradient(90deg, var(--crimson,#9e1c20) 0%, var(--crimson,#9e1c20) 50%, var(--interactive-text-base) 50%, var(--interactive-text-base) 100%);-webkit-text-fill-color:transparent;text-align:left;cursor:pointer;background-position:100% 0;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;border:0;border-radius:0;min-width:0;margin:0;padding:0 0 7px;transition:background-position .46s cubic-bezier(.22,1,.36,1),opacity .28s,transform .28s;position:relative}.Scene-module__DP4U5a__contextButton:hover,.Scene-module__DP4U5a__contextButtonActive{color:var(--crimson,#9e1c20);opacity:1;background-position:0 0;transform:translateY(-1px)}.Scene-module__DP4U5a__contextButton:focus-visible{outline-offset:6px;background-position:0 0;outline:1px solid #9e1c207a}.Scene-module__DP4U5a__contextIndicator{background:var(--crimson,#9e1c20);opacity:.72;clip-path:inset(0 100% 0 0);width:34px;height:1px;transition:clip-path .46s cubic-bezier(.22,1,.36,1),transform .46s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;transform:translate(-18%)}.Scene-module__DP4U5a__contextButton:hover .Scene-module__DP4U5a__contextIndicator,.Scene-module__DP4U5a__contextButton:focus-visible .Scene-module__DP4U5a__contextIndicator,.Scene-module__DP4U5a__contextButtonActive .Scene-module__DP4U5a__contextIndicator{opacity:.72;clip-path:inset(0);transform:translate(0)}.Scene-module__DP4U5a__contextDescription{z-index:5;color:#2b2d309e;letter-spacing:.08em;opacity:0;pointer-events:none;max-width:560px;margin:0;font-family:IBM Plex Mono,monospace;font-size:11.5px;line-height:1.45;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-29px;left:48px;transform:translateY(-3px)}.Scene-module__DP4U5a__contextDescriptionVisible{opacity:.88;transform:translateY(0)}.Scene-module__DP4U5a__metaBlock{letter-spacing:.19em;text-transform:uppercase;color:#262626;opacity:.74;flex-direction:column;align-items:flex-start;gap:3px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;display:flex}.Scene-module__DP4U5a__metaBlock div:first-child{font-weight:600}.Scene-module__DP4U5a__metaBlock div:last-child{font-weight:400}.Scene-module__DP4U5a__accentBlock{color:#9e1c20;opacity:.82}.Scene-module__DP4U5a__workspaceToolbar{justify-content:center;align-items:center;width:100%;display:flex}.Scene-module__DP4U5a__toolbar{align-items:center;gap:10px;display:flex}.Scene-module__DP4U5a__tool{border:1px solid #00000038;width:9px;height:9px;transition:all .2s}.Scene-module__DP4U5a__tool:hover{background:#222}.Scene-module__DP4U5a__tool.Scene-module__DP4U5a__active{background:#9e1c20;border-color:#9e1c20}@media (max-width:900px){.Scene-module__DP4U5a__scene{min-height:42svh}.Scene-module__DP4U5a__workspaceWrapper{grid-template-rows:46px 1fr 18px 46px;width:94%;height:calc(100% - 18px);margin-top:8px}.Scene-module__DP4U5a__workspaceHeader,.Scene-module__DP4U5a__workspaceFooter{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:8px;width:100%;margin-inline:0}.Scene-module__DP4U5a__metaBlock{letter-spacing:.11em;font-size:8.5px;line-height:1.45}.Scene-module__DP4U5a__physicsModeButton,.Scene-module__DP4U5a__contextButton{min-height:44px}.Scene-module__DP4U5a__contextDescription{max-width:460px;font-size:9px;bottom:-24px;left:28px}}@media (max-width:560px),(max-width:960px) and (max-height:560px) and (orientation:landscape){.Scene-module__DP4U5a__scene{min-height:max(560px,62svh)}.Scene-module__DP4U5a__workspaceWrapper{grid-template-rows:auto 1fr 12px auto;gap:8px;width:96%}.Scene-module__DP4U5a__workspaceHeader,.Scene-module__DP4U5a__workspaceFooter{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.Scene-module__DP4U5a__metaBlock{letter-spacing:.09em;font-size:8px}.Scene-module__DP4U5a__contextButton{min-height:44px}.Scene-module__DP4U5a__contextDescription,.Scene-module__DP4U5a__physicsInteractionPulse,.Scene-module__DP4U5a__primaryStreamlineLayer,.Scene-module__DP4U5a__primaryEquationLayer,.Scene-module__DP4U5a__desktopReducedMotionStreamlineLayer,.Scene-module__DP4U5a__desktopReducedMotionEquationLayer{display:none}.Scene-module__DP4U5a__mobileStreamlineLayer,.Scene-module__DP4U5a__mobileEquationLayer{display:block}}@media (max-width:767.98px){.Scene-module__DP4U5a__scene{height:auto;min-height:0}.Scene-module__DP4U5a__workspace{align-items:flex-start;position:relative;inset:auto}.Scene-module__DP4U5a__workspaceWrapper{grid-template-rows:auto auto 0 auto;gap:6px;width:min(100vw - 24px,520px);max-width:520px;height:auto;margin-top:0}.Scene-module__DP4U5a__canvasContainer{aspect-ratio:2;height:auto}.Scene-module__DP4U5a__workspaceHeader,.Scene-module__DP4U5a__workspaceFooter{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0 6px;width:100%;margin-inline:0;display:grid}.Scene-module__DP4U5a__workspaceHeader{margin-bottom:2px}.Scene-module__DP4U5a__workspaceFooter{margin-top:0}.Scene-module__DP4U5a__contextButton[data-engineering-context=process-systems],.Scene-module__DP4U5a__physicsModeButton[data-physics-mode=mass-transfer]{display:none}.Scene-module__DP4U5a__metaBlock{letter-spacing:clamp(.03em,.16vw,.08em);text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:42px;padding:0 1px;font-size:clamp(.46rem,1.95vw,.64rem);line-height:1.1}.Scene-module__DP4U5a__contextButton,.Scene-module__DP4U5a__physicsModeButton{min-height:44px;padding:0 1px 8px}.Scene-module__DP4U5a__physicsModeIndicator{width:min(28px,58%);top:auto;bottom:0;left:50%;transform:translate(-50%)}.Scene-module__DP4U5a__physicsModeButton:hover .Scene-module__DP4U5a__physicsModeIndicator,.Scene-module__DP4U5a__physicsModeButton:focus-visible .Scene-module__DP4U5a__physicsModeIndicator,.Scene-module__DP4U5a__physicsModeButtonActive .Scene-module__DP4U5a__physicsModeIndicator{transform:translate(-50%)}.Scene-module__DP4U5a__contextIndicator{width:min(28px,58%);top:0;left:50%;transform:translate(-50%)}.Scene-module__DP4U5a__contextButton:hover .Scene-module__DP4U5a__contextIndicator,.Scene-module__DP4U5a__contextButton:focus-visible .Scene-module__DP4U5a__contextIndicator,.Scene-module__DP4U5a__contextButtonActive .Scene-module__DP4U5a__contextIndicator{transform:translate(-50%)}}@media (min-width:768px) and (max-width:1180px) and (min-height:580px){.Scene-module__DP4U5a__scene{height:auto;min-height:clamp(440px,52vw,590px)}.Scene-module__DP4U5a__workspace{align-items:flex-start}.Scene-module__DP4U5a__workspaceWrapper{grid-template-rows:44px auto 16px 44px;height:auto;max-height:calc(100% - 24px);margin-top:0}.Scene-module__DP4U5a__canvasContainer{aspect-ratio:2;height:auto;min-height:0}.Scene-module__DP4U5a__workspaceHeader,.Scene-module__DP4U5a__workspaceFooter{align-items:center}}@media (hover:hover) and (pointer:fine) and (min-width:561px){.Scene-module__DP4U5a__primaryStreamlineLayer,.Scene-module__DP4U5a__primaryEquationLayer{display:inline}.Scene-module__DP4U5a__mobileStreamlineLayer,.Scene-module__DP4U5a__mobileEquationLayer{display:none}}@media (prefers-reduced-motion:reduce){.Scene-module__DP4U5a__physicsInteractionPulse{display:none}.Scene-module__DP4U5a__contextButton,.Scene-module__DP4U5a__physicsModeButton{transition-duration:.46s,.28s,.28s!important}.Scene-module__DP4U5a__contextIndicator,.Scene-module__DP4U5a__physicsModeIndicator{transition-duration:.46s,.46s!important}.Scene-module__DP4U5a__contextDescription{transition-duration:.6s!important}}.Scene-module__DP4U5a__equationCard{pointer-events:none;opacity:0;z-index:4;transition:opacity 1.2s,transform 1.2s;animation:18s ease-in-out infinite Scene-module__DP4U5a__equationBreathing;position:absolute;transform:translateY(8px)}.Scene-module__DP4U5a__equationVisible{opacity:.16;transform:translateY(0)}.Scene-module__DP4U5a__equationTitle{letter-spacing:.12em;text-transform:uppercase;color:#9e1c20b3;margin-bottom:6px;font-size:11px;font-weight:600}.Scene-module__DP4U5a__equationText{color:#20242ab8;white-space:nowrap;font-family:Cambria Math,STIX Two Math,Times New Roman,serif;font-size:20px;line-height:1.35}@keyframes Scene-module__DP4U5a__equationBreathing{0%{opacity:.05}25%{opacity:.16}50%{opacity:.23}75%{opacity:.16}to{opacity:.05}}.Scene-module__DP4U5a__physicsEquation{pointer-events:none;-webkit-user-select:none;user-select:none;color:#1c202438;white-space:normal;z-index:4;font-family:Cambria Math,STIX Two Math,Times New Roman,serif;font-style:italic;font-weight:400;line-height:1.35;animation:2.8s ease-in-out infinite Scene-module__DP4U5a__pdeFade,10s ease-in-out infinite Scene-module__DP4U5a__pdeFloat;position:absolute}.Scene-module__DP4U5a__left{text-align:left;transform:translateY(-50%)}.Scene-module__DP4U5a__right{text-align:right;transform:translate(-100%,-50%)}@keyframes Scene-module__DP4U5a__pdeFade{0%{opacity:.05}20%{opacity:.18}50%{opacity:.3}80%{opacity:.16}to{opacity:.05}}@keyframes Scene-module__DP4U5a__pdeFloat{0%{transform:translateY(-50%)translate(0)}25%{transform:translateY(-50%)translate(4px,-5px)}50%{transform:translateY(-50%)translate(-3px,-2px)}75%{transform:translateY(-50%)translate(-5px,4px)}to{transform:translateY(-50%)translate(0)}}
: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}.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,.serviceTileAction 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,.serviceTileLink:hover .serviceTileAction 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}.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;overflow:hidden}.serviceTileLink:hover{box-shadow:var(--services-shadow-hover);border-color:#9e1c203d;transform:translateY(-4px)}.serviceTileImage{aspect-ratio:16/9;background:#11171d;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;filter:brightness(.98)contrast(1.03);transition:filter .4s,transform .4s cubic-bezier(.22,1,.36,1)}.serviceTileLink:hover .serviceTileImageElement{filter:brightness(1.04)contrast(1.04);transform:scale(1.018)}.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:transform .22s}.serviceTileLink:hover .serviceTileContent h3{transform:translateY(-2px)}.serviceTileContent p{color:#5d6269;min-height:6.3em;margin:15px 0 24px;font-size:.98rem;line-height:1.62}.serviceTileAction{color:var(--services-accent);align-items:center;gap:8px;margin-top:auto;font-size:.94rem;font-weight:700;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);display:inline-flex}@media (hover:hover) and (pointer:fine){.serviceTileAction{opacity:0;pointer-events:none;transform:translate(-.35rem)}.serviceTileLink:hover .serviceTileAction,.serviceTileLink:focus-visible .serviceTileAction,.serviceTile:focus-within .serviceTileAction{opacity:1;pointer-events:auto;transform:translate(0)}}.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}.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}.approachStep p{max-width:33ch;color:var(--services-muted);margin:16px 0 0;font-size:.98rem;line-height:1.65}.approachStepAction{color:var(--services-accent);align-items:center;gap:6px;margin-top:auto;padding-top:22px;font-size:.84rem;font-weight:650;transition:color .22s;display:inline-flex}.approachStepAction>span{transition:transform .22s cubic-bezier(.22,1,.36,1)}.approachStep:hover .approachStepAction,.approachStep:focus-within .approachStepAction{color:var(--services-accent-dark)}.approachStep:hover .approachStepAction>span,.approachStep:focus-within .approachStepAction>span{transform:translate(3px)}.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: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}.platformCard p{color:var(--services-muted);margin:16px 0 0;font-size:.95rem;line-height:1.65}.platformLink{min-height:44px;color:var(--services-accent);align-self:flex-start;align-items:center;gap:7px;margin-top:auto;padding-top:24px;font-size:.84rem;font-weight:650;text-decoration:none;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);display:inline-flex}@media (hover:hover) and (pointer:fine){.platformLink{opacity:0;pointer-events:none;transform:translate(-4px)}.platformCardReveal:hover .platformLink,.platformCardReveal:focus-within .platformLink,.platformCard:focus-visible .platformLink{opacity:1;pointer-events:auto;transform:translate(0)}}.platformLink span{transition:transform .24s cubic-bezier(.22,1,.36,1)}.platformCard:hover .platformLink span,.platformCard:focus-visible .platformLink span{transform:translate(3px)}.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%}.serviceDetailVisual text{fill:#232b34b3;letter-spacing:.02em;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.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)}.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}.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){.serviceGrid,.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}.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,.serviceTileAction,.applicationCard,.applicationImage img,.approachStep,.approachStepNumber,.approachStepAction,.approachStepAction>span,.platformCard,.platformIcon svg,.platformIconAccent,.platformLink,.platformLink span{transition:none}.approachStep:hover,.approachStep:focus-within,.servicesRevealEnabled .approachStep.servicesRevealVisible:hover,.servicesRevealEnabled .approachStep.servicesRevealVisible:focus-within,.approachStep:hover .approachStepAction>span,.approachStep:focus-within .approachStepAction>span,.approachPageCtaSecondary:hover span,.approachPageCtaSecondary:focus-visible span,.platformCardReveal:hover .platformCard,.platformCardReveal:focus-within .platformCard,.platformCard:hover .platformLink span,.platformCard:focus-visible .platformLink span{transform:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){.serviceTileAction,.serviceTileLink:hover .serviceTileAction,.serviceTileLink:focus-visible .serviceTileAction,.serviceTile:focus-within .serviceTileAction,.platformLink,.platformCardReveal:hover .platformLink,.platformCardReveal:focus-within .platformLink,.platformCard:focus-visible .platformLink{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)}}.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}}@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}}
