/* Visible documents are the baseline. JavaScript opts individual elements into motion. */
.is-site{--is-motion-ease:cubic-bezier(.22,.7,.18,1);--is-sticky-offset:124px}
.is-motion-enabled .is-motion-target{transition:opacity .8s var(--is-motion-ease),transform .9s var(--is-motion-ease),clip-path 1s var(--is-motion-ease);transition-delay:var(--is-reveal-delay,0ms)}
.is-motion-enabled .is-motion-pending{opacity:0;transform:translate3d(0,26px,0)}
.is-motion-enabled .is-motion-pending[data-is-reveal="visual"]{transform:translate3d(0,16px,0) scale(.975);clip-path:inset(7% 5% 7% 5% round 4px)}
.is-motion-enabled .is-motion-pending[data-is-reveal="card"]{transform:translate3d(0,30px,0) rotateX(3deg);transform-origin:50% 100%}
.is-motion-enabled .is-motion-pending[data-is-reveal="quiet"]{transform:translate3d(0,14px,0)}
.is-motion-enabled .is-in-view{opacity:1;clip-path:none;transform:none}
.is-motion-enabled .is-in-view[data-is-reveal="visual"]{clip-path:inset(0 round 4px)}
.is-entry-preparing .is-load-item{opacity:0}
.is-entry-play .is-load-item{animation:is-enter-copy .9s var(--is-motion-ease) both;animation-delay:var(--is-entry-delay,0ms)}
.is-entry-play .is-load-heading{animation-name:is-enter-heading;animation-duration:1.1s}
.is-entry-play .is-load-eyebrow{animation-name:is-enter-eyebrow;animation-duration:.8s}
.is-entry-play .is-load-actions{animation-duration:.8s}
.is-entry-play .is-hero-image{animation:is-enter-landscape 1.7s cubic-bezier(.2,.55,.2,1) both}
.is-entry-play .is-page-watermark{animation:is-enter-watermark 1.4s var(--is-motion-ease) both}
.is-entry-play .is-hero-copy .is-eyebrow>span{transform-origin:left center;animation:is-draw-line .9s var(--is-motion-ease) .1s both}
.is-entry-play .is-hero-bottom{animation:is-enter-copy 1s var(--is-motion-ease) .55s both}
.is-entry-play .is-logo{animation:is-enter-brand .8s var(--is-motion-ease) both}
.is-entry-play .is-desktop-nav>a,.is-entry-play .is-language>a,.is-entry-play .is-mobile-nav{animation:is-enter-brand .7s var(--is-motion-ease) .1s both}
.is-entry-play .is-desktop-nav>a:nth-child(2){animation-delay:.14s}.is-entry-play .is-desktop-nav>a:nth-child(3){animation-delay:.18s}.is-entry-play .is-desktop-nav>a:nth-child(4){animation-delay:.22s}.is-entry-play .is-desktop-nav>a:nth-child(5){animation-delay:.26s}.is-entry-play .is-desktop-nav>a:nth-child(6){animation-delay:.3s}
.is-site .is-hero-image{transform:scale(1.045) translateY(var(--is-hero-drift,0px))}
.is-site .is-text-link svg,.is-site .is-card-arrow svg{transition:transform .3s var(--is-motion-ease)}
.is-site .is-button{transition:background .25s,border-color .25s,transform .3s var(--is-motion-ease),box-shadow .3s}
.is-site .is-button:hover{box-shadow:0 8px 22px #103c581c}
.is-site .is-feature-visual>img,.is-site .is-product-cover>img,.is-site .is-gallery-category-cover>img{transition:transform 1.2s var(--is-motion-ease)}
@media(hover:hover) and (pointer:fine){.is-site .is-gallery-category:hover .is-gallery-category-cover>img{transform:scale(1.045)}.is-site .is-solution-card:hover .is-icon{transform:translateY(-3px)}.is-site .is-solution-card .is-icon{transition:transform .5s var(--is-motion-ease)}}
@keyframes is-enter-copy{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes is-enter-heading{from{opacity:0;transform:translateY(27px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes is-enter-eyebrow{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes is-enter-landscape{from{opacity:.65;transform:scale(1.115) translateY(0)}to{opacity:1;transform:scale(1.045) translateY(var(--is-hero-drift,0px))}}
@keyframes is-enter-watermark{from{opacity:0;transform:rotate(-25deg) scale(.88)}to{opacity:.055;transform:rotate(-15deg) scale(1)}}
@keyframes is-draw-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes is-enter-brand{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* An engineering narrative, readable as a normal sequence before enhancement. */
.is-scroll-story{position:relative;padding:96px 0;background:#0c2d3b;color:#f3f8f8}
.is-story-layout{display:block}
.is-story-heading{max-width:510px}
.is-story-heading h2{font-size:clamp(30px,3.3vw,46px);line-height:1.25}
.is-story-heading>p:not(.is-eyebrow){color:#bcd1d5;font-size:16px;line-height:1.85;max-width:430px}
.is-scroll-story .is-eyebrow{color:#a3dcb5}
.is-story-stage{min-width:0;margin-top:38px}
.is-story-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.is-story-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}
[data-story-visual]{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:18px 8px;background:radial-gradient(ellipse at 50% 100%,#3d8c7940,transparent 70%);border-bottom:1px solid #bde2d325}
[data-story-visual]>.is-icon,[data-story-visual]>.is-story-symbol>.is-icon{width:52px;height:52px;color:#b6e5d3}
.is-site .is-scroll-story .is-icon{color:#d6ede8;--is-icon-accent:#a4d5ac;--is-icon-wash:#ffffff0b;--is-icon-node:#a4d5ac}
[data-story-visual]>.is-story-symbol{display:flex;align-items:center;justify-content:center;flex:none}
[data-story-visual]>svg:not(.is-icon){width:100%;height:78px;max-width:320px;overflow:visible}
.is-story-panel{padding:26px 0;border-top:1px solid #bde2d32b;min-width:0}
.is-story-panel .is-eyebrow{font-size:10px;margin-bottom:14px!important}
.is-story-panel h3{font-size:clamp(23px,2.4vw,31px);line-height:1.4;margin-bottom:16px}
.is-story-panel>p:not(.is-eyebrow){color:#c6d8dc;font-size:15px;line-height:1.85;margin-bottom:0;max-width:500px}
.is-story-progress{display:none}
.is-story-link{margin-top:30px}
.is-scroll-story .is-story-link.is-text-link{color:#d1ecdf!important}
.is-story-enhanced{height:285svh;min-height:1850px;padding:0}
.is-story-enhanced>.is-story-pin{position:sticky;top:var(--is-sticky-offset);min-height:calc(100svh - var(--is-sticky-offset));padding:44px 0;display:flex;align-items:center}
.is-story-enhanced .is-story-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"heading stage" "link stage" ". progress";column-gap:clamp(40px,6vw,100px);row-gap:22px;align-items:start;width:min(1280px,calc(100% - 96px))}
.is-story-enhanced .is-story-heading{grid-area:heading}
.is-story-enhanced .is-story-stage{grid-area:stage;min-height:455px;margin-top:0}
.is-story-enhanced .is-story-visuals{position:relative;display:grid;grid-template-columns:1fr;height:205px;margin-bottom:18px}
.is-story-enhanced [data-story-visual]{position:absolute;inset:0;display:flex;flex-direction:row;gap:26px;padding:24px 28px;background:radial-gradient(ellipse at 50% 100%,#3d8c792c,transparent 70%);opacity:0;visibility:hidden;transform:translateY(18px) scale(.98);transition:opacity .55s var(--is-motion-ease),transform .7s var(--is-motion-ease),visibility .55s}
.is-story-enhanced [data-story-visual]>.is-icon,.is-story-enhanced [data-story-visual]>.is-story-symbol>.is-icon{width:80px;height:80px;flex:none}
.is-story-enhanced [data-story-visual]>svg:not(.is-icon){height:135px;min-width:0}
.is-story-enhanced [data-story-visual].is-active{opacity:1;visibility:visible;transform:none}
.is-story-enhanced .is-story-panels{display:grid;grid-template-columns:1fr;gap:0;min-height:220px}
.is-story-enhanced .is-story-panel{grid-area:1/1;align-self:start;padding-top:20px;border-top:0;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .42s var(--is-motion-ease),transform .6s var(--is-motion-ease),visibility .42s;pointer-events:none}
.is-story-enhanced .is-story-panel.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.is-story-enhanced .is-story-progress{grid-area:progress;position:relative;display:block;height:2px;background:#c3e0d728;overflow:hidden;margin-top:0}
.is-story-enhanced .is-story-progress:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#67b99b,#c4f0db);transform:scaleX(var(--is-story-progress,0));transform-origin:left center}
.is-story-enhanced .is-story-link{grid-area:link;align-self:start;justify-self:start;margin-top:0}
.is-story-enhanced .is-story-line{stroke-dasharray:1;stroke-dashoffset:0}
.is-story-enhanced .is-active .is-story-line{animation:is-story-route 1.2s var(--is-motion-ease) both}
.is-story-enhanced .is-story-water>circle{opacity:.3;transform-box:fill-box;transform-origin:center}
.is-story-enhanced .is-active .is-story-water>circle{animation:is-story-water 1s ease-in-out .45s 2 both}
.is-story-enhanced .is-active .is-story-water>circle:nth-child(2){animation-delay:.7s}
.is-story-enhanced .is-active .is-story-water>circle:nth-child(3){animation-delay:.9s}
.is-story-enhanced .is-active .is-story-water>circle:nth-child(4){animation-delay:1.05s}
.is-story-enhanced[data-story-active="0"] .is-active .is-story-water>circle:not(:first-child){animation:none;opacity:.22}
@keyframes is-story-route{from{stroke-dashoffset:1;opacity:.35}to{stroke-dashoffset:0;opacity:1}}
@keyframes is-story-water{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}

@media(min-width:1600px){.is-story-enhanced .is-story-layout{width:min(1380px,calc(100% - 120px))}}
@media(min-width:960px) and (max-height:819px){.is-story-enhanced>.is-story-pin{padding:24px 0}.is-story-enhanced .is-story-stage{min-height:380px}.is-story-enhanced .is-story-visuals{height:145px;margin-bottom:12px}.is-story-enhanced [data-story-visual]{padding-block:10px}.is-story-enhanced [data-story-visual]>svg:not(.is-icon){height:105px}.is-story-enhanced .is-story-panels{min-height:190px}.is-story-enhanced .is-story-panel h3{font-size:27px}.is-story-enhanced .is-story-panel>p:not(.is-eyebrow){font-size:14px;line-height:1.7}.is-story-enhanced .is-story-panel .is-eyebrow{margin-bottom:10px!important}.is-story-enhanced .is-story-link{margin-top:18px}}
@media(max-width:1250px){.is-story-enhanced .is-story-layout{width:calc(100% - 64px)}.is-story-enhanced [data-story-visual]{gap:18px;padding-inline:12px}.is-story-enhanced [data-story-visual]>.is-icon,.is-story-enhanced [data-story-visual]>.is-story-symbol>.is-icon{width:64px;height:64px}}
@media(max-width:959px),(pointer:coarse){.is-scroll-story{padding:70px 0}.is-story-layout{display:block}.is-story-heading{max-width:660px}.is-story-heading>p:not(.is-eyebrow){max-width:600px}.is-story-visuals{max-width:620px}.is-story-panels{grid-template-columns:1fr;gap:0}.is-story-panel{padding:25px 0}.is-motion-enabled .is-motion-pending{transform:translate3d(0,14px,0)}.is-motion-enabled .is-motion-pending[data-is-reveal="visual"]{transform:translate3d(0,9px,0);clip-path:inset(2% round 3px)}.is-motion-enabled .is-motion-pending[data-is-reveal="card"]{transform:translate3d(0,16px,0)}.is-motion-enabled .is-motion-target{transition-duration:.65s;transition-delay:0ms}.is-site .is-hero-image{transform:none}.is-entry-play .is-hero-image{animation-name:is-mobile-landscape}.is-story-panel>p:not(.is-eyebrow){max-width:none}}
@keyframes is-mobile-landscape{from{opacity:.65}to{opacity:1}}
@media(max-width:600px){.is-scroll-story{padding:56px 0}.is-story-layout{gap:20px}.is-story-visuals{gap:8px;margin-bottom:20px}[data-story-visual]{gap:12px;padding:12px 4px}[data-story-visual]>.is-icon,[data-story-visual]>.is-story-symbol>.is-icon{width:42px;height:42px}[data-story-visual]>svg:not(.is-icon){height:55px}.is-story-heading h2{font-size:30px}.is-story-heading>p:not(.is-eyebrow),.is-story-panel>p:not(.is-eyebrow){font-size:14px}}
@media(prefers-reduced-motion:reduce){.is-site *, .is-site *:before,.is-site *:after{scroll-behavior:auto!important}.is-site .is-motion-target,.is-site .is-load-item,.is-site .is-hero-image,.is-site .is-page-watermark,.is-site .is-hero-bottom,.is-site .is-hero-copy .is-eyebrow>span{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;clip-path:none!important}.is-site .is-page-watermark{opacity:.055!important}.is-scroll-story.is-story-enhanced{height:auto!important;min-height:0!important;padding:70px 0!important}.is-story-enhanced>.is-story-pin{position:static!important;min-height:0!important;padding:0!important}.is-story-enhanced .is-story-panels{display:block!important}.is-story-enhanced .is-story-panel{visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto!important;padding:24px 0!important}.is-story-enhanced .is-story-visuals{height:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.is-story-enhanced [data-story-visual]{position:static!important;visibility:visible!important;opacity:1!important;transform:none!important;flex-direction:column!important}.is-story-progress{display:none!important}.is-site .is-button:hover,.is-site .is-solution-card:hover .is-icon,.is-site .is-gallery-category:hover .is-gallery-category-cover>img{transform:none!important}}
@media(prefers-reduced-motion:reduce){.is-entry-play .is-logo,.is-entry-play .is-desktop-nav>a,.is-entry-play .is-language>a,.is-entry-play .is-mobile-nav,.is-story-enhanced .is-story-line,.is-story-enhanced .is-story-water>circle{animation:none!important;transform:none!important}}
