/* Independent visual product concept. Shared protected type, buttons and chrome
 * stay global. Full vendor frames are never enlarged on hover. */
.keyshot2-page{--k2-line:#bfdde3;--k2-dark:#082c40}
.keyshot2-page :is(a,button,summary,input):focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.keyshot2-page .ip-inline-link:hover,.keyshot2-page .ip-inline-link:focus-visible,.keyshot2-page figcaption a:hover,.keyshot2-page figcaption a:focus-visible{color:var(--cyan)}
.keyshot2-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.keyshot2-page section[id],.keyshot2-page article[id],.keyshot2-page aside[id]{scroll-margin-top:var(--k2-anchor-clearance,170px)}
.keyshot2-page h2:focus-visible{outline:2px solid var(--cyan);outline-offset:8px}
.keyshot2-page .motion-cta{max-width:100%;white-space:normal}
.k2-meta,.k2-caption,.k2-still figcaption,.k2-video figcaption{font-size:.875rem;line-height:1.6}
.k2-meta{display:block;letter-spacing:.07em;color:#39798b;margin-bottom:18px}
.keyshot2-page p.k2-caption{font-size:.875rem;line-height:1.6}
.k2-still,.k2-video{margin:0;min-width:0}
.k2-still img,.k2-video video{display:block;width:100%;height:100%;object-fit:contain}
.k2-still figcaption,.k2-video figcaption{padding-top:14px;color:var(--pr-body)}
.k2-still figcaption a,.k2-video figcaption a{color:inherit;text-decoration:underline;text-underline-offset:4px;transition:color .2s}
.k2-video video{aspect-ratio:16/9;background:#e9f1f3}
.k2-hero{--pr-body:var(--body-text-on-dark);padding-bottom:66px;position:relative;overflow:clip}
.k2-hero-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:6%;align-items:center;min-height:560px;padding:15px 0 20px}
.k2-hero .pr-hero-copy{position:relative;z-index:2;min-width:0}
.k2-hero .pr-hero-copy>p{max-width:520px;color:#2c5a6e}
.k2-hero .pr-hero-copy h1>span{color:#0a344a}
.k2-hero .ip-inline-link{color:#c0dde5}
.k2-hero-stage{position:relative;min-width:0;isolation:isolate;padding:38px 0 0}
.k2-hero-stage .k2-video{position:relative;z-index:1}
.k2-hero-stage .k2-video video{box-shadow:0 20px 70px #00101b60}
.k2-aperture{position:absolute;inset:-15% -10%;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse,#3bc5f328,transparent 65%)}
.k2-aperture i{position:absolute;width:76%;aspect-ratio:1;top:2%;left:12%;border:1px solid #66e1d82e;border-radius:50%;animation:k2-aperture 32s linear infinite;animation-play-state:paused}
.k2-aperture i:after{content:"";position:absolute;left:50%;top:-3px;width:5px;height:5px;background:#63d7d4;border-radius:50%;box-shadow:0 0 18px #3bc5f3}
.k2-aperture i:nth-child(2){inset:18% auto auto 24%;width:52%;animation-duration:24s;animation-direction:reverse}
.k2-hero-stage.ip-animation-active .k2-aperture i{animation-play-state:running}
@keyframes k2-aperture{to{transform:rotate(360deg)}}
.k2-stage-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;color:#a8dbe1;font-size:.875rem;letter-spacing:.08em}
.k2-stage-label button{font:inherit;letter-spacing:0;min-height:44px;border:1px solid #6a9eaa;background:#0c3c52;color:#c0dde5;padding:10px 16px;cursor:pointer;transition:background .25s,border-color .25s}
.k2-stage-label button:hover{background:#14556b;border-color:var(--cyan)}
.k2-page-nav .ip-wrap>div{width:100%;justify-content:space-between}
/* Family page links keep the same menu treatment and reflow at enlarged text. */
.keyshot2-page .k2-page-nav[data-managed-chapters],.keyshot2-page .k2-page-nav[data-managed-chapters]>.ip-wrap{min-width:0;max-width:100%}
.keyshot2-page .k2-page-nav[data-managed-chapters] .ip-wrap>div{min-width:0;max-width:100%;display:flex;flex-wrap:wrap;gap:0;align-items:stretch}
.keyshot2-page .k2-page-nav[data-managed-chapters] a{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;justify-content:center;text-align:center}
.k2-visual-pair{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center}
.k2-watch-wide{background:#edf7f8;padding:22px}
.k2-watch-wide img{height:auto}
.k2-manifesto>div{position:relative;padding:26px 0 26px 52px;border-bottom:1px solid var(--k2-line)}
.k2-manifesto>div:first-child{padding-top:0}
.k2-manifesto .ms-icon{position:absolute;left:0;font-size:30px;color:#169da5}
.keyshot2-page h3{font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.25;letter-spacing:-.035em;margin-bottom:16px}
.k2-studio{background:#edf7f8}
.k2-gallery{--pr-body:var(--body-text-on-dark);color:#fff;background:radial-gradient(ellipse at 5% 65%,#14546a65,transparent 62%),#082c40;padding:40px;border:1px solid #417886}
.k2-gallery-top{max-width:840px;margin-bottom:28px}
.k2-gallery-top .ip-label{color:#83dce0}
.k2-gallery-top h3{font-size:clamp(1.6rem,2.6vw,2.5rem)}
.k2-gallery-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;margin:0 0 28px;border:1px solid #4c7b8a;min-width:0}
.k2-gallery-options label{position:relative;cursor:pointer;border-right:1px solid #4c7b8a;min-width:0}
.k2-gallery-options label:last-child{border:0}
.k2-gallery-options input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:1}
.k2-gallery-options label>span{display:flex;align-items:center;gap:14px;min-height:72px;padding:18px 20px;font-weight:600;color:#c0dde5;transition:color .25s,background .25s,box-shadow .25s}
.k2-gallery-options b{color:#7dbac7;font-size:.875rem}
.k2-gallery-options .ms-icon{margin-left:auto;transition:transform .3s;font-size:21px}
.k2-gallery-options input:checked+span{background:#15566a;color:#fff;box-shadow:inset 0 -3px #63d7d4}
.k2-gallery-options input:checked+span .ms-icon,.k2-gallery-options label:hover .ms-icon{transform:translateX(4px)}
.k2-gallery-options input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:-5px}
.k2-gallery-panel{display:grid;grid-template-columns:1.12fr 1fr;gap:6%;align-items:center;padding-bottom:28px;min-width:0}
.k2-gallery-panel .k2-still{background:linear-gradient(135deg,#deecef,#e8f6f9);padding:25px}
.k2-gallery-panel .k2-still img{height:340px}
.k2-gallery-panel figcaption{color:#2c5a6e}
.k2-gallery-copy h3{font-size:clamp(1.6rem,2.4vw,2.35rem)}
.k2-gallery-copy .k2-meta{color:#8bcbd5}
.k2-gallery-panel+.k2-gallery-panel{border-top:1px solid #517e89;padding-top:28px}
/* Without :has(), all three authored views remain in normal reading order. */
@supports selector(:has(*)){
 .k2-gallery-panel{display:none}
 .k2-gallery:has(#k2-view-finish:checked) [data-view="finish"],.k2-gallery:has(#k2-view-construction:checked) [data-view="construction"],.k2-gallery:has(#k2-view-presentation:checked) [data-view="presentation"]{display:grid;animation:k2-view-enter .4s ease both}
 .k2-gallery-panel+.k2-gallery-panel{padding-top:0;border:0}
}
@keyframes k2-view-enter{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:none}}
.k2-disclosure{border-block:1px solid #759ba6;margin:26px 0 0}
.k2-disclosure summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;min-height:64px;padding:18px 0;cursor:pointer;list-style:none;font-weight:600;transition:color .25s}
.k2-disclosure summary::-webkit-details-marker{display:none}
.k2-disclosure summary:hover,.k2-disclosure summary:focus-visible{color:var(--cyan)}
.k2-disclosure summary i{font-style:normal;font-size:25px;line-height:1;text-align:center;color:#39bdc3;transition:transform .35s}
.k2-disclosure[open] summary i{transform:rotate(45deg)}
.k2-disclosure p{padding-bottom:22px;margin:0}
.k2-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:54px}
.k2-feature-grid article{padding:0 30px;border-right:1px solid var(--k2-line);transition:border-color .3s}
.k2-feature-grid article:first-child{padding-left:0}.k2-feature-grid article:last-child{padding-right:0;border:0}
.k2-feature-grid .ms-icon{display:block;font-size:33px;color:#169da5;margin-bottom:25px;transition:transform .3s,color .3s}
.k2-feature-grid article:hover .ms-icon{color:#078ca6;transform:translateY(-5px)}
.k2-cad{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding-top:60px;margin-top:60px;border-top:1px solid var(--k2-line)}
.k2-cad>div{min-width:0}.k2-cad h3{font-size:clamp(1.6rem,2.3vw,2.3rem)}
.k2-links{display:flex;flex-wrap:wrap;gap:18px 30px;margin-top:25px}
.k2-handoff{padding:35px;background:#e1f0f3;border:1px solid #a7cbd5;overflow:hidden}
.k2-handoff ol{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.k2-handoff li{min-width:0;position:relative;font-size:.875rem}
.k2-handoff li>.ms-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid #7eafbe;color:#178da1;font-size:29px;margin-bottom:22px;background:#edf7f8;position:relative;z-index:1}
.k2-handoff li:not(:last-child):after{content:"";position:absolute;top:27px;left:56px;width:calc(100% - 36px);height:1px;background:#7eafbe}
.k2-handoff li:not(:last-child):before{content:"";position:absolute;top:25px;left:56px;width:6px;height:5px;background:#169da5;animation:k2-handoff 5s ease-in-out infinite;animation-play-state:paused}
.k2-handoff.ip-animation-active li:before{animation-play-state:running}
.k2-handoff strong,.k2-handoff li>span:last-child{display:block;margin-top:8px;overflow-wrap:anywhere}
@keyframes k2-handoff{0%,15%{opacity:0;transform:translateX(0)}25%{opacity:1}75%,100%{opacity:0;transform:translateX(65px)}}
.k2-dam-composition{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}
.k2-asset-wall{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:170px 170px auto;gap:14px;position:relative;background:#edf7f8;padding:24px;border:1px solid var(--k2-line)}
.k2-asset-wall>div{background:#dceef1;overflow:hidden;border:1px solid #c4dce4;transition:transform .5s,border-color .5s,box-shadow .5s}
.k2-asset-wall>div:first-child{grid-row:1/3}
.k2-asset-wall>div>img{height:100%;width:100%;object-fit:contain}
.k2-asset-wall>span{grid-column:1/-1;font-size:.875rem;letter-spacing:.06em;padding-top:12px;color:#39798b}
@media(hover:hover){.k2-asset-wall:hover>div:nth-child(2){transform:translateY(-4px);border-color:#169da5}.k2-asset-wall:hover>div:nth-child(3){transform:translateY(4px);border-color:#169da5}}
.k2-dam-cards article{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid var(--k2-line)}
.k2-dam-cards article:first-child{padding-top:0}
.k2-dam-cards article>.ms-icon{font-size:29px;flex-shrink:0;color:#169da5;transition:transform .3s}
.k2-dam-cards article:hover>.ms-icon{transform:translateY(-3px)}
.k2-dam-cards h3{margin-bottom:10px}.k2-dam-cards p{margin:0}
/* Reserve the action's natural width; scope prose reflows in the remaining track. */
.k2-section-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:50px;border-top:1px solid var(--k2-line);padding-top:35px;margin-top:50px}
.k2-section-foot>p{min-width:0;max-width:840px;margin:0}.k2-section-foot>.motion-cta{justify-self:end}
.k2-vr{--pr-body:var(--body-text-on-dark);background:#082c40;color:#fff}
.k2-vr .ip-label{color:#83dce0}.k2-vr h2 em{color:#63d7d4}
.k2-vr-grid{display:grid;grid-template-columns:.8fr 1fr;gap:8%;align-items:center}
.k2-vr-grid .k2-still{max-width:480px}
.k2-vr-grid .k2-still img{max-height:540px;object-fit:contain;background:#dceef1}
.k2-vr-grid>div{min-width:0}
.k2-vr .k2-disclosure{margin:0}
.k2-web{padding:38px 0}.k2-web .motion-cta{margin-top:18px}
.k2-vr .ip-inline-link{color:#c0dde5}.k2-vr .k2-caption{margin-top:25px}
.k2-rendering{background:#f3f9fa}
.k2-render-heading{margin-bottom:45px}
.k2-render-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.k2-render-card{position:relative;min-width:0;padding:38px;border:1px solid #b4d0da;background:#e5f1f4;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.k2-render-card:first-child{--pr-body:var(--body-text-on-dark);background:radial-gradient(ellipse at 100% 0,#17617850,transparent 65%),#082c40;color:#fff;border-color:#286375}
.k2-render-card:first-child .ip-label{color:#83dce0}
.k2-render-card h2{font-size:clamp(1.8rem,2.6vw,2.8rem);line-height:1.15;margin:18px 0 24px}
.k2-render-card .motion-cta{margin-top:28px}
.k2-render-card:hover,.k2-render-card:focus-within{transform:translateY(-5px);border-color:#169da5;box-shadow:0 18px 40px #0c35450d}
.k2-render-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:30px 0;margin:15px 0}
.k2-render-flow li{min-width:0;border-top:1px solid #6496a4;position:relative;padding-top:20px}
.k2-render-flow li:after{content:"";position:absolute;left:0;top:-1px;width:28px;height:2px;background:#3bc5f3;animation:k2-render-trace 5s ease-in-out infinite;animation-delay:calc(var(--i,0)*.65s);animation-play-state:paused}
.k2-render-flow li:nth-child(2){--i:1}.k2-render-flow li:nth-child(3){--i:2}
.k2-render-card.ip-animation-active .k2-render-flow li:after{animation-play-state:running}
.k2-render-flow span{display:block;color:#32b6bd;font-size:.875rem;margin-bottom:12px}
.k2-render-flow strong{font-size:1rem;line-height:1.4;display:block}
@keyframes k2-render-trace{0%,10%{opacity:0;transform:translateX(-15px)}35%{opacity:1}85%,100%{opacity:0;transform:translateX(90px)}}
.k2-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.k2-industry-grid article{border:1px solid var(--k2-line);display:flex;flex-direction:column;background:#fff;transition:border-color .35s,transform .35s,box-shadow .35s}
.k2-industry-grid article:hover,.k2-industry-grid article:focus-within{transform:translateY(-6px);border-color:#169da5;box-shadow:0 18px 35px #0c35450d}
.k2-industry-grid .k2-still{height:290px;background:#edf7f8;padding:20px;border-bottom:1px solid var(--k2-line)}
.k2-industry-grid article>div{padding:28px;display:flex;flex-direction:column;flex:1}
.k2-industry-grid article .ip-inline-link{margin-top:auto;padding-top:15px}
.k2-industrial-reel{display:grid;grid-template-columns:.85fr 1fr;gap:7%;align-items:center;padding-top:60px;margin-top:60px;border-top:1px solid var(--k2-line)}
.k2-industrial-reel h3{font-size:clamp(1.7rem,2.6vw,2.6rem)}
.k2-industrial-reel video{aspect-ratio:1218/1080;max-height:440px}
.k2-technologies{background:#edf7f8}
.k2-technology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.k2-technology-grid article{display:flex;flex-direction:column;min-width:0;padding:30px;border-top:2px solid #7dbac7;background:#fff;transition:border-color .35s,background .35s}
.k2-technology-grid article:hover,.k2-technology-grid article:focus-within{border-color:#169da5;background:#f8fcfd}
.k2-technology-grid article>.ms-icon{display:block;font-size:34px;color:#169da5;margin-bottom:26px}
.k2-technology-grid .ip-inline-link{margin-top:auto;padding-top:18px}
.k2-education{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.k2-education h2{margin-top:20px}.k2-education .motion-cta{margin-top:20px}
.k2-trial{--pr-body:var(--body-text-on-dark);background:radial-gradient(ellipse at 90% 30%,#17617850,transparent 60%),#082c40;color:#fff}
.k2-trial>.ip-wrap{display:grid;grid-template-columns:1fr .75fr;gap:8%;align-items:center}
.k2-trial h2{margin:20px 0 24px}.k2-trial h2 em{color:#63d7d4}.k2-trial .ip-label{color:#83dce0}
.k2-trial .ip-inline-link{color:#c0dde5}.k2-trial .pr-hero-actions{margin-top:28px}
.k2-trial video{aspect-ratio:4/5;max-height:540px;object-fit:contain;background:#c3e3e8}
.k2-trial p.k2-trial-terms{margin-top:30px;padding-top:24px;border-top:1px solid #4b7785;font-size:1rem}
.k2-sources{padding-bottom:60px}.k2-sources .pr-source-links{gap:15px 28px}
/* Hidden-tab and reduced-motion lifecycle also pauses shared passive treatments. */
.keyshot2-page.k2-motion-paused *,.keyshot2-page.k2-motion-paused *:before,.keyshot2-page.k2-motion-paused *:after{animation-play-state:paused!important}
@media(max-width:1200px){.k2-hero-grid{gap:4%;grid-template-columns:1fr 1.1fr}.k2-gallery{padding:30px}.k2-gallery-options label>span{padding:16px 13px;gap:8px}.k2-gallery-options .ms-icon{display:none}.k2-render-card{padding:30px}.k2-render-flow{gap:12px}.k2-section-foot{gap:28px}}
@media(max-width:1000px){.k2-hero-grid{grid-template-columns:1fr;gap:20px;padding-bottom:0}.k2-hero .pr-hero-copy>p{max-width:680px}.k2-hero-stage{max-width:850px;padding-top:10px}.k2-hero-stage video{max-height:450px}.k2-hero-grid{min-height:0}.k2-cad,.k2-dam-composition,.k2-vr-grid{grid-template-columns:1fr;gap:40px}.k2-vr-grid{grid-template-columns:.8fr 1fr;gap:5%}.k2-industry-grid article>div{padding:20px}.k2-render-card{padding:25px}.k2-render-flow{grid-template-columns:1fr;gap:16px}.k2-render-flow li{display:flex;align-items:center;gap:16px;padding-top:13px}.k2-render-flow span{margin:0}.k2-technology-grid{gap:18px}.k2-technology-grid article{padding:22px}}
@media(max-width:850px){.k2-visual-pair,.k2-gallery-panel{grid-template-columns:1fr;gap:30px}.k2-manifesto>div{padding-top:20px}.k2-manifesto>div:first-child{padding-top:20px}.k2-gallery-panel .k2-still img{height:330px}.k2-section-foot{display:block}.k2-section-foot>.motion-cta{margin-top:25px}.k2-vr-grid,.k2-industrial-reel,.k2-trial>.ip-wrap{grid-template-columns:1fr;gap:35px}.k2-vr-grid .k2-still{max-width:100%;display:grid;grid-template-columns:1fr}.k2-vr-grid .k2-still img{height:430px}.k2-industry-grid{grid-template-columns:1fr}.k2-industry-grid article{display:grid;grid-template-columns:.85fr 1fr}.k2-industry-grid .k2-still{height:100%;min-height:260px;border-bottom:0;border-right:1px solid var(--k2-line)}.k2-industry-grid article>div{padding:28px}.k2-technology-grid{grid-template-columns:1fr}.k2-technology-grid article{padding:30px}.k2-education{grid-template-columns:1fr;gap:25px}.k2-trial .k2-video{max-width:540px;width:100%;justify-self:center}.k2-trial video{height:470px;max-height:none}.k2-trial .k2-trial-terms{max-width:680px}.k2-stage-label{letter-spacing:.04em}}
@media(max-width:600px){.k2-hero{padding-bottom:38px}.k2-hero .pr-hero-copy h1{font-size:clamp(2.7rem,9.2vw,3.8rem)}.k2-hero .pr-hero-copy>.ip-inline-link{width:100%;justify-content:space-between}.k2-hero-stage{padding-top:0}.k2-stage-label{display:block}.k2-stage-label button{margin-top:15px}.k2-watch-wide{padding:12px}.k2-gallery{padding:22px 18px}.k2-gallery-options{grid-template-columns:1fr}.k2-gallery-options label{border-right:0;border-bottom:1px solid #4c7b8a}.k2-gallery-options label>span{min-height:56px;padding:14px 16px}.k2-gallery-options .ms-icon{display:block}.k2-gallery-options input:checked+span{box-shadow:inset 3px 0 #63d7d4}.k2-gallery-panel .k2-still{padding:12px}.k2-gallery-panel .k2-still img{height:285px}.k2-feature-grid{grid-template-columns:1fr;margin-top:32px}.k2-feature-grid article,.k2-feature-grid article:first-child,.k2-feature-grid article:last-child{padding:26px 0;border-right:0;border-bottom:1px solid var(--k2-line)}.k2-feature-grid article:last-child{border-bottom:0}.k2-feature-grid .ms-icon{margin-bottom:20px}.k2-cad{padding-top:35px;margin-top:20px}.k2-handoff{padding:22px}.k2-handoff ol{gap:14px}.k2-handoff li>.ms-icon{width:44px;height:44px;font-size:26px}.k2-handoff li:not(:last-child):after{top:22px;left:44px;width:calc(100% - 30px)}.k2-handoff li:not(:last-child):before{top:20px;left:44px}.k2-asset-wall{padding:16px;gap:10px;grid-template-rows:125px 125px auto}.k2-asset-wall>span{font-size:.875rem;letter-spacing:0}.k2-dam-cards article{gap:18px}.k2-vr-grid .k2-still img{height:380px}.k2-render-grid{grid-template-columns:1fr}.k2-render-card{padding:28px 22px}.k2-render-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.k2-render-flow li{display:block;padding-top:16px}.k2-render-flow span{margin-bottom:10px}.k2-render-flow strong{font-size:.9rem;overflow-wrap:anywhere}.k2-industry-grid article{display:flex}.k2-industry-grid .k2-still{height:280px;min-height:0;border-right:0;border-bottom:1px solid var(--k2-line)}.k2-industry-grid article>div{padding:26px}.k2-industrial-reel{padding-top:40px;margin-top:40px}.k2-industrial-reel video{height:auto;max-height:none}.k2-technology-grid article{padding:26px}.k2-trial video{height:410px}.k2-links{display:grid;gap:18px}.k2-sources{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.keyshot2-page *, .keyshot2-page *:before,.keyshot2-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.k2-render-card:hover,.k2-industry-grid article:hover,.k2-render-card:focus-within,.k2-industry-grid article:focus-within{transform:none}}

/* User-approved passive background hero. Only this background fills/crops;
 * all feature clips retain their complete frame. No controls or captions. */
.k2-hero{--pr-body:var(--body-text);background:#dce2e5;color:#0a344a;min-height:760px;padding-bottom:70px;isolation:isolate}
.k2-hero>.ip-wrap{position:relative;z-index:1}
.k2-hero-background{position:absolute;inset:0;z-index:0;pointer-events:none;background:#dce2e5}
.k2-hero-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eef2f5fa 0%,#eef2f5ed 27%,#eef2f599 45%,#e7ecef05 67%)}
.k2-hero-background .k2-video{height:100%;width:100%}
.k2-hero-background .k2-video:nth-child(2){display:none}
.k2-hero-background video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;background:#dce2e5}
.k2-hero-grid{display:block;min-height:0;padding:35px 0 15px}
.k2-hero .pr-hero-copy{max-width:590px}
.k2-hero .pr-hero-copy>p{max-width:520px}
.k2-hero .ip-breadcrumb,.k2-hero .ip-inline-link{color:#2c5a6e}
.k2-hero .ip-breadcrumb a:hover,.k2-hero .ip-inline-link:hover{color:var(--cyan)}
.k2-hero .ip-label{color:#18798a}
.k2-hero .pr-hero-copy h1 em{color:#169da5}
.k2-gallery-panel>.k2-video{height:440px;background:#e7eef0;overflow:hidden}
.k2-gallery-panel video{height:100%;aspect-ratio:auto;background:#e7eef0}
.k2-gallery-copy>.ip-inline-link{color:#c0dde5;margin-top:26px}
.k2-gallery-copy>.ip-inline-link:hover{color:var(--cyan)}
.k2-asset-wall{grid-template-rows:170px 170px}
.k2-asset-wall .k2-video{height:100%}
.k2-asset-wall video{height:100%;aspect-ratio:auto;object-fit:contain}
.k2-industry-grid article>.k2-video{height:300px;background:#e3eff2;border-bottom:1px solid var(--k2-line)}
.k2-industry-grid video{height:100%;aspect-ratio:auto;background:#e3eff2}
.k2-industry-grid article>div{min-width:0}
.k2-industry-grid .k2-meta{font-size:.875rem;letter-spacing:0;line-height:1.6;margin-bottom:18px}
.k2-ai{--pr-body:var(--body-text-on-dark);background:#082c40;color:#fff;position:relative;overflow:clip}
.k2-ai .ip-label,.k2-ai .k2-meta{color:#83dce0}
.k2-ai h2 em{color:#63d7d4}
.k2-ai-stage>.k2-video{width:100%;background:#051f30;border:1px solid #477582}
.k2-ai-stage video{max-height:600px;object-fit:contain;background:#051f30}
.k2-ai-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #477582;border-top:0}
.k2-ai-cards article{min-width:0;padding:32px;position:relative;border-right:1px solid #477582;transition:background .35s,box-shadow .35s}
.k2-ai-cards article:last-child{border-right:0}
.k2-ai-cards article:hover{background:#124458;box-shadow:inset 0 3px #63d7d4}
.k2-ai-cards article>strong{font-size:.875rem;color:#83dce0;display:block;line-height:1.6;border-top:1px solid #477582;padding-top:18px;margin-top:24px}
.k2-ai .k2-section-foot{border-color:#477582}
.k2-immersive{min-height:330px;display:grid;place-items:center;position:relative;perspective:800px;overflow:hidden;background:radial-gradient(ellipse,#15556b77,transparent 70%)}
.k2-immersive-frame{width:230px;height:230px;display:grid;place-items:center;position:relative;transform:rotateX(10deg) rotateY(-20deg);border:1px solid #6bc8cc55}
.k2-immersive-frame>.ms-icon{font-size:94px;color:#81dce0}
.k2-immersive-frame>i{position:absolute;inset:0;border:1px solid #6bc8cc55;transform:translate3d(0,0,-45px)}
.k2-immersive-frame>i:nth-child(3){transform:translate3d(0,0,-90px)}
.k2-immersive-frame>i:nth-child(4){transform:translate3d(0,0,45px);animation:k2-immersive 8s ease-in-out infinite;animation-play-state:paused}
.k2-immersive.ip-animation-active .k2-immersive-frame>i{animation-play-state:running}
@keyframes k2-immersive{0%,100%{opacity:.3;transform:translate3d(0,0,15px)}50%{opacity:.9;transform:translate3d(0,0,65px)}}
@media(max-width:1000px){.k2-hero{min-height:720px}.k2-hero-grid{padding:25px 0}.k2-hero .pr-hero-copy{max-width:560px}.k2-gallery-panel>.k2-video{height:390px}.k2-ai-cards article{padding:25px}.k2-hero-background:after{background:linear-gradient(90deg,#eef2f5fa 0%,#eef2f5e8 40%,#eef2f570 70%,#eef2f530)}}
@media(max-width:850px){.k2-gallery-panel{grid-template-columns:1fr}.k2-gallery-panel>.k2-video{height:420px}.k2-industry-grid article>.k2-video{height:100%;min-height:280px;border-bottom:0;border-right:1px solid var(--k2-line)}.k2-ai-cards{grid-template-columns:1fr}.k2-ai-cards article{border-right:0;border-bottom:1px solid #477582}.k2-ai-cards article:last-child{border-bottom:0}.k2-ai-cards article>strong{margin-top:20px}.k2-ai-stage video{min-height:0;max-height:500px}}
@media(max-width:600px){.k2-hero{min-height:910px;padding-bottom:350px}.k2-hero-grid{padding:10px 0}.k2-hero .pr-hero-copy{max-width:100%}.k2-hero-background .k2-video:first-child{display:none}.k2-hero-background .k2-video:nth-child(2){display:block;position:absolute;bottom:0;height:500px}.k2-hero-background video{object-fit:cover;object-position:center}.k2-hero-background:after{background:linear-gradient(180deg,#eef2f5 0%,#eef2f5 47%,#eef2f5e8 55%,#eef2f500 78%)}.k2-gallery-panel>.k2-video{height:360px}.k2-industry-grid article>.k2-video{height:300px;min-height:0;border-right:0;border-bottom:1px solid var(--k2-line)}.k2-ai-cards article{padding:26px 22px}.k2-immersive{min-height:260px}.k2-immersive-frame{width:180px;height:180px}}
/* Compact seven-chapter navigation: short labels share the first row; the three
 * longer choices share the second. Intrinsic minima allow extra rows for zoom. */
@media(max-width:850px){
 .keyshot2-page .k2-page-nav .ip-wrap>div{display:flex;flex-wrap:wrap;gap:0;align-items:stretch}
 .keyshot2-page .k2-page-nav a{flex:1 1 25%;min-width:min-content;min-height:46px;padding:6px 7px;justify-content:center;text-align:center;white-space:normal}
 .keyshot2-page .k2-page-nav a:nth-child(n+5){flex-basis:33.333333%}
}

/* One product remains the visual thread. Native stage/finish inputs own state;
 * only the illustrative geometry changes, never actual files or rendering. */
.k2-workbench{--pr-body:var(--body-text-on-dark);--wf-front-light:#f1b6a3;--wf-front-dark:#c77e72;--wf-top:#f6c6b7;--wf-side:#ae6e63;--wf-surface:0;--wf-wire:#8fdcde;--wf-wire-alpha:.8;--wf-handle:#8fdcde;--wf-construction:1;--wf-light:0;--wf-outputs:0;--wf-reuse:0;position:relative;background:linear-gradient(140deg,#092c40,#0b3549 65%,#0c3e50);border:1px solid #477988;color:#fff}
.k2-wf-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:0;border-bottom:1px solid #477988;min-width:0;padding:0;margin:0}
.k2-wf-stages label{position:relative;cursor:pointer;min-width:0;border-right:1px solid #477988}
.k2-wf-stages label:last-child{border-right:0}
.k2-wf-stages input,.k2-wf-finishes input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:1}
.k2-wf-stages label>span{display:flex;align-items:center;gap:15px;min-height:84px;padding:20px 25px;background:#082b3f;color:#bedce4;transition:background .3s,color .3s,box-shadow .3s}
.k2-wf-stages b{font-size:.875rem;color:#7fbac5;font-weight:600}
.k2-wf-stages strong{font-size:1.125rem;font-weight:650}
.k2-wf-stages i{margin-left:auto;font-style:normal;color:#7fc8d2;transition:transform .3s,color .3s}
.k2-wf-stages label:hover>span{background:#123f52;color:#fff}
.k2-wf-stages label:hover i,.k2-wf-stages input:focus-visible+span i{color:var(--cyan);transform:translateX(4px)}
.k2-wf-stages input:checked+span{background:#16586a;color:#fff;box-shadow:inset 0 3px #70dfd9}
.k2-wf-stages input:checked+span b,.k2-wf-stages input:checked+span i{color:#91eeea}
.k2-wf-stages input:focus-visible+span,.k2-wf-finishes input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:-5px}
.k2-wf-body{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;min-height:540px}
.k2-wf-canvas{min-width:0;align-self:stretch;display:grid;align-items:center;border-right:1px solid #47798855;overflow:hidden}
.k2-wf-art{display:block;width:100%;height:auto;overflow:visible}
.k2-wf-front-light{stop-color:var(--wf-front-light);transition:stop-color .6s}
.k2-wf-front-dark{stop-color:var(--wf-front-dark);transition:stop-color .6s}
.k2-wf-side-light{stop-color:var(--wf-side);transition:stop-color .6s}
.k2-wf-top{fill:var(--wf-top);transition:fill .6s}
.k2-wf-surface{opacity:var(--wf-surface);transition:opacity .85s}
.k2-wf-wire{stroke:var(--wf-wire);opacity:var(--wf-wire-alpha);transition:stroke .85s,opacity .85s}
.k2-wf-handle{stroke:var(--wf-handle);transition:stroke .85s}
.k2-wf-product{transform:translate(317px,64px) scale(1.2);transition:transform .95s cubic-bezier(.2,.7,.2,1)}
.k2-wf-construction{opacity:var(--wf-construction);transition:opacity .65s}
.k2-wf-light{opacity:var(--wf-light);transition:opacity .8s}
.k2-wf-output-frames{opacity:var(--wf-outputs);transition:opacity .8s}
.k2-wf-output-left{transform-origin:288px 420px;transform:translate(45px,20px) rotate(0);transition:transform .95s cubic-bezier(.2,.7,.2,1)}
.k2-wf-output-right{transform-origin:633px 423px;transform:translate(-45px,20px) rotate(0);transition:transform .95s cubic-bezier(.2,.7,.2,1)}
.k2-wf-reuse-layout{opacity:var(--wf-reuse);transform:translateY(16px);transition:opacity .8s,transform .95s}
.k2-wf-shadow,.k2-wf-horizon,.k2-wf-source-anchor{transition:opacity .65s}
.k2-wf-briefs{padding:42px 36px;min-width:0}
.k2-wf-brief{min-height:390px;display:flex;flex-direction:column;align-items:flex-start}
.k2-wf-brief h3{font-size:clamp(1.65rem,2.5vw,2.35rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 20px}
.k2-wf-brief p{color:var(--body-text-on-dark);margin:0 0 20px}
.k2-wf-brief>.k2-meta{color:#81dcd9;margin-bottom:19px}
.k2-wf-brief .ip-inline-link{margin-top:auto;max-width:100%;color:#e4f7f8}
.k2-wf-brief .ip-inline-link:is(:hover,:focus-visible){color:var(--cyan)}
.k2-wf-handoff{border-left:2px solid #70dcd7;padding:2px 0 2px 18px;margin:4px 0 27px;width:100%}
.k2-wf-handoff .k2-meta{color:#7ec5cf;margin-bottom:5px;font-size:.875rem;letter-spacing:.07em}
.k2-wf-handoff p{margin:0;font-weight:600}
.k2-wf-finishes{min-width:0;border:0;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px;width:100%}
.k2-wf-finishes legend{color:#c0dde5;font-size:.875rem;margin-bottom:11px}
.k2-wf-finishes label{position:relative;min-width:0;cursor:pointer}
.k2-wf-finishes label>span{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 10px;border:1px solid #568490;font-size:.875rem;color:#c0dde5;transition:background .3s,border-color .3s,color .3s}
.k2-wf-finishes input:checked+span{color:#fff;border-color:#7adeda;background:#205566}
.k2-wf-finishes label:hover>span{border-color:#8bdadf;background:#163f52}
.k2-wf-finishes i{width:14px;height:14px;border-radius:50%;border:1px solid #e9f4f377;flex-shrink:0}
.k2-wf-swatch-coral{background:#efad99}.k2-wf-swatch-mist{background:#a9dad8}.k2-wf-swatch-graphite{background:#67838e}
.k2-wf-brief .k2-disclosure{margin:0 0 24px;width:100%}
.k2-wf-brief .k2-disclosure summary{font-size:.9375rem;min-height:48px;padding-right:8px}
.k2-wf-brief .k2-disclosure p{margin-bottom:8px;font-size:.9375rem}
@supports selector(:has(*)){
 .k2-wf-brief{display:none}
 .k2-workbench:has(#k2-wf-brief:checked) [data-workflow="brief"],.k2-workbench:has(#k2-wf-scene:checked) [data-workflow="scene"],.k2-workbench:has(#k2-wf-outputs:checked) [data-workflow="outputs"],.k2-workbench:has(#k2-wf-reuse:checked) [data-workflow="reuse"]{display:flex;animation:k2-wf-copy .4s ease both}
 .k2-workbench:has(:is(#k2-wf-scene,#k2-wf-outputs,#k2-wf-reuse):checked){--wf-surface:1;--wf-wire:#284a54;--wf-wire-alpha:.08;--wf-handle:#315a65;--wf-construction:0}
 .k2-workbench:has(#k2-wf-scene:checked){--wf-light:1}
 .k2-workbench:has(#k2-wf-outputs:checked){--wf-outputs:1}
 .k2-workbench:has(#k2-wf-outputs:checked) .k2-wf-product{transform:translate(363px,153px) scale(.74)}
 .k2-workbench:has(#k2-wf-outputs:checked) .k2-wf-output-left{transform:rotate(-7deg)}
 .k2-workbench:has(#k2-wf-outputs:checked) .k2-wf-output-right{transform:rotate(7deg)}
 .k2-workbench:has(#k2-wf-reuse:checked){--wf-reuse:1}
 .k2-workbench:has(#k2-wf-reuse:checked) .k2-wf-product{transform:translate(184px,187px) scale(.7)}
 .k2-workbench:has(#k2-wf-reuse:checked) .k2-wf-reuse-layout{transform:translateY(0)}
 .k2-workbench:has(:is(#k2-wf-outputs,#k2-wf-reuse):checked) :is(.k2-wf-shadow,.k2-wf-source-anchor,.k2-wf-horizon){opacity:0}
 .k2-workbench:has(#k2-wf-finish-mist:checked){--wf-front-light:#c5eeeb;--wf-front-dark:#78aaa9;--wf-top:#d6f4ee;--wf-side:#5f9698}
 .k2-workbench:has(#k2-wf-finish-graphite:checked){--wf-front-light:#92a8b0;--wf-front-dark:#4c6976;--wf-top:#afc4c8;--wf-side:#3d5c6a}
}
.k2-wf-light-sweep{transform-origin:170px 25px;animation:k2-wf-light 9s ease-in-out infinite;animation-play-state:paused}
.k2-wf-travel,.k2-wf-return{stroke-dasharray:5 9;animation:k2-wf-carry 4s linear infinite;animation-play-state:paused}
.k2-workbench.ip-animation-active:has(#k2-wf-scene:checked) .k2-wf-light-sweep,.k2-workbench.ip-animation-active:has(#k2-wf-outputs:checked) .k2-wf-travel,.k2-workbench.ip-animation-active:has(#k2-wf-reuse:checked) .k2-wf-return{animation-play-state:running}
@keyframes k2-wf-light{0%,100%{transform:rotate(-3deg);opacity:.55}50%{transform:rotate(5deg);opacity:1}}
@keyframes k2-wf-carry{to{stroke-dashoffset:-56}}
@keyframes k2-wf-copy{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.k2-wf-body{grid-template-columns:1.1fr 1fr}.k2-wf-briefs{padding:34px 25px}.k2-wf-stages label>span{gap:10px;padding:18px;min-height:74px}.k2-wf-brief{min-height:420px}}
@media(max-width:850px){.k2-wf-body{grid-template-columns:1fr;min-height:0}.k2-wf-canvas{border-right:0;border-bottom:1px solid #47798855}.k2-wf-art{max-width:740px;margin:auto}.k2-wf-briefs{padding:30px}.k2-wf-brief{min-height:0}.k2-wf-brief .ip-inline-link{margin-top:6px}.k2-wf-brief h3{font-size:1.9rem}.k2-wf-stages label>span{padding:18px 14px;gap:8px}.k2-wf-stages strong{font-size:1rem}}
@media(max-width:600px){.k2-wf-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.k2-wf-stages label:nth-child(2){border-right:0}.k2-wf-stages label:nth-child(-n+2){border-bottom:1px solid #477988}.k2-wf-stages label>span{min-height:64px;padding:15px}.k2-wf-stages input:checked+span{box-shadow:inset 3px 0 #70dfd9}.k2-wf-briefs{padding:26px 20px}.k2-wf-brief h3{font-size:1.65rem}.k2-wf-handoff{padding-left:13px}.k2-wf-finishes{gap:6px}.k2-wf-finishes label>span{padding:9px 8px;gap:6px}}
@media(prefers-reduced-motion:reduce){.k2-workbench *{animation:none!important;transition:none!important}}

/* Fit the box to the full source frame instead of letterboxing a fixed-height
 * box. The user-approved background hero alone keeps its cover/crop behavior. */
.keyshot2-page :is(.k2-gallery-panel,.k2-ai-stage,.k2-trial) .k2-video{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:var(--k2-media-ratio);align-self:center}
.keyshot2-page :is(.k2-gallery-panel,.k2-ai-stage,.k2-trial) .k2-video video{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:var(--k2-media-ratio);object-fit:contain}
.keyshot2-page .k2-gallery-panel>.k2-video{max-width:min(100%,calc(620px * var(--k2-media-width) / var(--k2-media-height)));justify-self:center}
.keyshot2-page .k2-industry-grid article>.k2-video{border-right:0;border-bottom:1px solid var(--k2-line)}
.keyshot2-page .k2-watch-showcase{max-width:500px;width:100%;justify-self:center;padding:0;overflow:hidden}
.keyshot2-page .k2-watch-showcase img{width:100%;height:auto;max-height:none;object-fit:contain}
.keyshot2-page .k2-trial .k2-video{max-width:min(100%,calc(540px * var(--k2-media-width) / var(--k2-media-height)));justify-self:center}
/* Equal industry-card stages are an explicit exception to intrinsic outer boxes.
 * Contain the full frame within a common square; never crop the Studio UI. */
.keyshot2-page .k2-industry-grid{align-items:stretch;grid-auto-rows:1fr}
.keyshot2-page .k2-industry-grid article>.k2-video{position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1;align-self:start;overflow:hidden;background:#d8d8d8;flex:none}
.keyshot2-page .k2-industry-grid article:last-child>.k2-video{background:#222}
.keyshot2-page .k2-industry-grid video{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;background:transparent}
.keyshot2-page .k2-industry-grid article>div{padding:28px;min-height:330px}
.keyshot2-page .k2-industry-grid h3{min-height:2.5em;margin-bottom:18px}
.keyshot2-page .k2-industry-grid article .ip-inline-link{margin-top:auto;padding-top:26px}
@media(min-width:601px) and (max-width:850px){.keyshot2-page .k2-industry-grid article{grid-template-columns:1fr 1.2fr;align-items:stretch}.keyshot2-page .k2-industry-grid article>.k2-video{height:100%;aspect-ratio:auto;border-right:1px solid var(--k2-line);border-bottom:0}.keyshot2-page .k2-industry-grid h3{min-height:0}}
@media(max-width:600px){.keyshot2-page .k2-industry-grid article>div{padding:26px;min-height:0}.keyshot2-page .k2-industry-grid h3{min-height:0}}

/* Brief-to-model highlights explain the handoff while the complete wireframe
 * stays visible. No loading, validation or rendering state is implied. */
.k2-wf-intent-trace{opacity:0;stroke-dasharray:15 85;animation:k2-wf-intent 9s ease-in-out infinite;animation-play-state:paused}
.k2-wf-brief-carry{stroke-dasharray:12 88;opacity:0;animation:k2-wf-brief-carry 9s ease-in-out infinite;animation-play-state:paused}
.k2-wf-brief-pulse{transform-box:fill-box;transform-origin:center;opacity:0;animation:k2-wf-brief-pulse 9s ease-out infinite;animation-play-state:paused}
.k2-workbench.ip-animation-active:has(#k2-wf-brief:checked) :is(.k2-wf-intent-trace,.k2-wf-brief-carry,.k2-wf-brief-pulse){animation-play-state:running}
.k2-workbench:has(:is(#k2-wf-scene,#k2-wf-outputs,#k2-wf-reuse):checked) .k2-wf-intent-trace{visibility:hidden}
@keyframes k2-wf-intent{0%,30%,100%{opacity:0;stroke-dashoffset:0}38%{opacity:.7}70%{opacity:.7;stroke-dashoffset:-90}78%{opacity:0;stroke-dashoffset:-100}}
@keyframes k2-wf-brief-carry{0%,7%,32%,100%{opacity:0;stroke-dashoffset:0}12%{opacity:.8}26%{opacity:.8;stroke-dashoffset:-100}31%{opacity:0;stroke-dashoffset:-100}}
@keyframes k2-wf-brief-pulse{0%,72%,100%{opacity:0;transform:scale(.7)}77%{opacity:.6;transform:scale(1)}94%{opacity:0;transform:scale(2.5)}}
@media(prefers-reduced-motion:reduce){.k2-workbench :is(.k2-wf-intent-trace,.k2-wf-brief-carry,.k2-wf-brief-pulse){animation:none!important;opacity:0}}

.k2-studio #roadmap,.keyshot2-page #cad-workflow,.k2-applications #industries{scroll-margin-top:var(--k2-anchor-clearance,170px)}
.k2-source-update{margin-top:28px}
.k2-source-update p{max-width:1000px}
.k2-studio-action{margin-top:32px}
/* The source reel reserves its left half for desktop copy. On phones, its
 * rightmost 1080px square centers the product while trimming only empty canvas.
 * Match the decoded #e3e3e3 studio matte for a continuous text/video surface. */
@media(max-width:600px){
 .keyshot2-page .k2-hero{display:flex;flex-direction:column;min-height:0;padding-bottom:0;background:#e3e3e3}
 .keyshot2-page .k2-hero>.ip-wrap{order:0}
 .keyshot2-page .k2-hero-background{position:relative;inset:auto;order:1;width:100%;margin:28px auto 0;background:#e3e3e3}
 .keyshot2-page .k2-hero-background:after{display:none}
 .keyshot2-page .k2-hero-background .k2-video:first-child{display:block;width:100%;height:auto;aspect-ratio:1;background:#e3e3e3}
 .keyshot2-page .k2-hero-background video{width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:100% 50%;background:#e3e3e3}
}
