/* TEXVIA motion: flowing hero light, stable type, and poster-backed films. */
[data-motion-region]{position:relative;isolation:isolate;overflow:hidden}
.motion-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none}
.motion-plane{--motion-angle:31deg;--motion-from-x:-3%;--motion-from-y:-2%;--motion-to-x:4%;--motion-to-y:3%;--motion-opacity-from:.65;--motion-opacity-to:.9;--motion-duration:24s;position:absolute;display:block;transform:translate3d(var(--motion-from-x),var(--motion-from-y),0) rotate(var(--motion-angle));opacity:var(--motion-opacity-from);transform-origin:center;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 80%,transparent)}
.motion-plane--one{left:30%;top:-63%;width:49%;height:205%;background:linear-gradient(90deg,transparent 3%,#3e105412 23%,#6a05a657 50%,#9940c946 60%,#6a05a618 82%,transparent 100%);border-left:1px solid #b957dc24}
.motion-plane--two{--motion-duration:31s;--motion-angle:29deg;--motion-from-x:4%;--motion-from-y:3%;--motion-to-x:-5%;--motion-to-y:-2%;--motion-opacity-from:.7;--motion-opacity-to:.46;left:66%;top:-63%;width:27%;height:205%;background:linear-gradient(90deg,transparent 1%,#3e105439 24%,#6a05a66b 56%,#b561dc28 78%,transparent 100%);border-right:1px solid #bd72dc3b}
.motion-plane--three{--motion-duration:38s;--motion-angle:-21deg;--motion-from-x:-2%;--motion-from-y:3%;--motion-to-x:3%;--motion-to-y:-3%;--motion-opacity-from:.3;--motion-opacity-to:.62;left:-12%;top:63%;width:115%;height:56%;background:linear-gradient(180deg,transparent 0%,#3e10542e 25%,#6a05a64d 49%,#bd73df1f 53%,#3e105423 66%,transparent 100%)}
.motion-line{position:absolute;left:-7%;top:86%;width:112%;height:1px;display:block;background:linear-gradient(90deg,transparent 9%,#8541a849 34%,#bc7dde76 57%,#6a05a631 81%,transparent 95%);opacity:.46;transform:translate3d(-2%,0,0) rotate(-21deg);transform-origin:center}
.motion-scene--subtle{opacity:.48}
.motion-scene--subtle .motion-plane--one{left:45%;width:41%}
.motion-scene--subtle .motion-plane--two{left:78%;width:22%}
.motion-scene--subtle .motion-plane--three{top:80%;height:43%;opacity:.3}
.motion-scene--closing{opacity:.7}
.motion-scene--closing .motion-plane--one{left:42%;top:-114%;height:300%;width:43%}
.motion-scene--closing .motion-plane--two{left:78%;top:-114%;height:300%;width:20%}
.motion-scene--closing .motion-plane--three{top:83%;height:64%}

/* The first banner has a visible sweep from its first frame. Secondary
   sections keep the quieter treatment, while text and links stay stationary. */
.motion-scene--hero .motion-plane--one{--motion-duration:12s;--motion-delay:-3.5s;--motion-from-x:-24%;--motion-from-y:-8%;--motion-to-x:22%;--motion-to-y:7%;--motion-opacity-from:.64;--motion-opacity-to:.95;left:24%;width:55%;background:linear-gradient(90deg,transparent 4%,#3e105425 23%,#6a05a68c 47%,#9d44dd7a 56%,#d599ff36 60%,#6a05a633 77%,transparent 100%);border-left-color:#d599ff63}
.motion-scene--hero .motion-plane--two{--motion-duration:15s;--motion-delay:-6s;--motion-from-x:28%;--motion-from-y:8%;--motion-to-x:-26%;--motion-to-y:-7%;--motion-opacity-from:.78;--motion-opacity-to:.48;left:62%;width:34%;background:linear-gradient(90deg,transparent 1%,#3e105448 20%,#6a05a6a3 48%,#9d44dd66 64%,#d599ff30 74%,transparent 100%);border-right-color:#d599ff80}
.motion-scene--hero .motion-plane--three{--motion-duration:18s;--motion-delay:-8s;--motion-from-x:-11%;--motion-from-y:16%;--motion-to-x:11%;--motion-to-y:-18%;--motion-opacity-from:.38;--motion-opacity-to:.8;top:58%;background:linear-gradient(180deg,transparent 0%,#3e10542e 22%,#6a05a666 47%,#bd73df40 52%,#3e105430 68%,transparent 100%)}
.motion-scene--hero .motion-line{left:-25%;top:69%;width:150%;height:2px;background:linear-gradient(90deg,transparent 8%,#6a05a649 24%,#d599ffa6 48%,#a14de689 68%,transparent 90%)}
.motion-scene--hero .motion-line::after{content:'';position:absolute;left:11%;right:11%;top:70px;height:1px;background:inherit;opacity:.35}

html.motion-ready .motion-plane{animation:texvia-plane-drift var(--motion-duration) ease-in-out infinite alternate;animation-delay:var(--motion-delay,0s);animation-play-state:paused}
html.motion-ready .motion-line{animation:texvia-line-drift 28s ease-in-out infinite alternate;animation-play-state:paused}
html.motion-ready .motion-scene--hero .motion-line{animation-name:texvia-hero-light-sweep;animation-duration:10s;animation-timing-function:linear;animation-delay:-4s}
html.motion-ready:not([data-motion-paused="true"]) [data-motion-region].is-motion-visible .motion-plane,
html.motion-ready:not([data-motion-paused="true"]) [data-motion-region].is-motion-visible .motion-line{animation-play-state:running}
html[data-motion-paused="true"] .motion-plane,
html[data-motion-paused="true"] .motion-line{animation-play-state:paused}

@keyframes texvia-plane-drift{
  from{transform:translate3d(var(--motion-from-x),var(--motion-from-y),0) rotate(var(--motion-angle));opacity:var(--motion-opacity-from)}
  to{transform:translate3d(var(--motion-to-x),var(--motion-to-y),0) rotate(var(--motion-angle));opacity:var(--motion-opacity-to)}
}
@keyframes texvia-line-drift{
  from{transform:translate3d(-2%,0,0) rotate(-21deg);opacity:.3}
  to{transform:translate3d(3%,-14px,0) rotate(-19deg);opacity:.62}
}
@keyframes texvia-hero-light-sweep{
  from{transform:translate3d(-15%,68px,0) rotate(-21deg);opacity:.48}
  to{transform:translate3d(16%,-82px,0) rotate(-18deg);opacity:.85}
}

/* Controls stay in normal flow and above decorative layers. */
.motion-toolbar{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 18px;padding-top:0;padding-bottom:20px;min-height:64px}
.motion-toggle,.film-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:44px;padding:10px 14px;border:1px solid #b798c36e;border-radius:0;background:#130b19d9;color:#f1e8f5;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.015em;text-align:left;box-shadow:none;transition:background .2s,border-color .2s,color .2s}
.motion-toggle:hover,.film-toggle:hover{border-color:#d3a6ef;background:#341244;color:#fff}
.motion-toggle:focus-visible,.film-toggle:focus-visible{outline:2px solid #e4bbff;outline-offset:5px}
.motion-control-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 14px}
.motion-control-icon svg,.film-toggle svg{width:14px;height:14px;flex-shrink:0;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.motion-control-icon .motion-icon-play,.film-toggle .film-icon-play{fill:currentColor;stroke-width:1.2}
.motion-icon-play,.film-icon-pause{display:none}
html[data-motion-paused="true"] .motion-icon-pause{display:none}
html[data-motion-paused="true"] .motion-icon-play{display:block}
.closing-cta>.motion-toolbar{padding-top:30px;padding-bottom:0}
.page-hero>.motion-toolbar{margin-top:26px;padding-bottom:0;min-height:44px}
.site-footer .motion-toggle{background:transparent}
.footer-bottom{flex-wrap:wrap}
.footer-bottom>div{flex-wrap:wrap;row-gap:12px;min-width:0}
.footer-bottom .motion-toggle--footer{font-size:10px;padding:9px 12px;white-space:nowrap}
.footer-bottom .footer-linkedin{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#e6d7ee;white-space:nowrap}
.footer-linkedin .linkedin-mark{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid currentColor;border-radius:2px;font-size:13px;font-weight:800;line-height:1;letter-spacing:-.6px;padding-top:1px}
.footer-bottom .footer-linkedin:hover{color:#dcaeff}
.footer-bottom .footer-linkedin:focus-visible{outline:2px solid #e4bbff;outline-offset:5px}

/* Native film surfaces preserve their image until a decoded frame is available. */
.industry-film{position:relative;isolation:isolate;overflow:hidden;background:#17101d}
.industry-film>.film-poster,.industry-film>.industry-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--film-position,center);pointer-events:none}
.industry-film>.film-poster{z-index:0}
.industry-film>.industry-video{z-index:1;opacity:0;transition:opacity .4s ease}
.industry-film.has-video-frame[data-video-state="playing"]>.industry-video,
.industry-film.has-video-frame[data-video-state="paused"]>.industry-video{opacity:1}
.industry-film[data-video-state="poster"]>.industry-video,
.industry-film[data-video-state="loading"]>.industry-video,
.industry-film[data-video-state="blocked"]>.industry-video,
.industry-film[data-video-state="error"]>.industry-video{opacity:0}
.industry-film--hero{position:absolute;inset:0;z-index:-3;width:100%;height:100%}
.industry-film--hero::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,#3e105415,transparent 55%,#6a05a612)}
.industry-film--feature{width:100%;height:100%}
.featured-visual:has(>.industry-film--feature)::after{display:none}
.industry-film--feature::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#3e105408 0%,transparent 35%,#1207181f 58%,#100719a6 100%)}
.industry-film--feature .featured-image-label{z-index:3;bottom:72px;left:28px;color:#fff;text-shadow:0 1px 8px #0008}
.film-caption{position:absolute;z-index:3;left:28px;right:190px;bottom:24px;margin:0;color:#fff;font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.035em}
.film-caption>span{display:block;margin-top:4px;color:#ded0e7;font-size:9px;font-weight:400;line-height:1.5;letter-spacing:.07em;text-transform:uppercase}
.film-status{position:absolute;z-index:3;left:24px;right:24px;top:20px;max-width:340px;padding:10px 13px;border-left:2px solid #b973e1;background:#160b20e8;color:#efe1f5;font-size:11px;line-height:1.7}
.film-status:empty{display:none}
.industry-footage-note{margin:17px 0 0;color:#ac98b7;font-size:10px;line-height:1.7;letter-spacing:.02em}
.film-toggle{position:absolute;z-index:4;right:24px;bottom:20px;background:#130b19e6;max-width:calc(100% - 48px)}
.motion-toolbar>.film-toggle--hero-retry{position:static;max-width:100%;flex:0 1 auto}
.film-toggle--hero-retry .film-icon-play{display:block}
.film-toggle--hero-retry[data-video-state="playing"] .film-icon-play{display:none}
.film-toggle--hero-retry[data-video-state="playing"] .film-icon-pause{display:block}
.industry-film[data-video-state="playing"] .film-icon-play{display:none}
.industry-film[data-video-state="playing"] .film-icon-pause{display:block}
.industry-film:not([data-video-state="playing"]) .film-icon-play{display:block}
.industry-film[data-video-state="loading"] .film-toggle{color:#decde7;border-color:#aa82bb}
.industry-film[data-video-state="error"] .film-toggle{background:#1d1029eb}

/* Entrances never conceal content when JavaScript or observation is unavailable. */
[data-motion-reveal]{opacity:1}
html.motion-ready [data-motion-reveal].is-motion-revealed{animation:texvia-content-enter .7s var(--ease,cubic-bezier(.22,.61,.36,1)) both}
html[data-motion-paused="true"] [data-motion-reveal].is-motion-revealed{animation:none}
@keyframes texvia-content-enter{
  from{opacity:.82;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@media(min-width:1650px){
  .motion-toolbar{padding-bottom:26px}
  .motion-toggle,.film-toggle{font-size:12px;padding:12px 17px;gap:12px}
  .film-caption{font-size:14px;left:32px;bottom:29px;right:205px}
  .film-caption>span{font-size:10px}
  .film-toggle{right:28px;bottom:24px}
  .industry-film--feature .featured-image-label{left:32px;bottom:82px}
}
@media(max-width:960px){
  .motion-scene--hero .motion-plane--one{left:12%;width:90%;top:-35%;height:150%}
  .motion-scene--hero .motion-plane--two{left:60%;width:48%;top:-34%;height:150%}
  .motion-plane--one{left:17%;width:72%;top:-35%;height:150%}
  .motion-plane--two{left:64%;width:40%;top:-34%;height:150%}
  .motion-plane--three{left:-24%;top:61%;width:151%;height:46%}
  .motion-scene--subtle .motion-plane--one{left:33%;width:57%}
  .motion-scene--subtle .motion-plane--two{left:81%;width:33%}
  .motion-scene--closing .motion-plane--one{left:35%;top:-62%;height:222%;width:52%}
  .motion-scene--closing .motion-plane--two{left:82%;top:-62%;height:222%;width:31%}
  .film-caption{left:22px;right:22px;bottom:78px;font-size:12px}
  .film-caption>span{font-size:9px}
  .film-toggle{right:18px;bottom:18px;font-size:10px;padding-inline:11px;gap:8px}
  .industry-film--feature .featured-image-label{left:22px;bottom:72px}
}
@media(max-width:700px){
  .motion-scene--hero{opacity:.78}
  .motion-scene--hero .motion-plane--one{left:16%;top:-18%;width:104%;height:135%}
  .motion-scene--hero .motion-plane--two{left:68%;top:-16%;width:65%;height:140%}
  .motion-scene--hero .motion-plane--three{top:61%;height:49%}
  .motion-scene--subtle{opacity:.42}
  .motion-plane--one{left:27%;top:-18%;width:92%;height:123%}
  .motion-plane--two{left:78%;top:-16%;width:54%;height:133%}
  .motion-plane--three{left:-28%;top:66%;width:170%;height:44%}
  .motion-line{top:81%;left:-15%;width:140%}
  .motion-toolbar{padding-bottom:18px}
  .motion-toggle{font-size:10px;gap:9px;padding:10px 12px}
  .closing-cta>.motion-toolbar{padding-top:24px}
  .page-hero>.motion-toolbar{margin-top:22px}
  .film-caption{left:22px;right:22px;bottom:78px;font-size:12px}
  .film-caption>span{font-size:9px}
  .film-status{left:18px;right:18px;top:18px;font-size:10px;max-width:300px}
  .industry-footage-note{font-size:9px;margin-top:14px}
  .film-toggle{right:18px;bottom:19px;font-size:10px;padding:11px 12px}
  .industry-film--feature .featured-image-label{font-size:9px;left:22px;bottom:74px}
}
@media(max-width:390px){
  .film-caption{left:18px;right:18px;bottom:76px;font-size:11px;letter-spacing:.02em}
  .film-caption>span{font-size:9px}
  .film-toggle{right:14px;bottom:16px;gap:7px;padding-inline:9px;font-size:9px}
  .industry-film--feature .featured-image-label{left:18px;bottom:69px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  html.motion-ready .motion-plane,html.motion-ready .motion-line{animation:none!important}
  html.motion-ready [data-motion-reveal].is-motion-revealed{animation:none!important;opacity:1;transform:none}
  .industry-film>.industry-video,.motion-toggle,.film-toggle{transition:none}
}
@media(forced-colors:active){
  .motion-scene{display:none}
  .motion-toggle,.film-toggle{forced-color-adjust:auto;border:1px solid ButtonText;background:ButtonFace;color:ButtonText}
  .motion-toggle:focus-visible,.film-toggle:focus-visible{outline-color:Highlight}
  .film-caption,.industry-film--feature .featured-image-label{background:Canvas;color:CanvasText;text-shadow:none;padding:3px 5px}
}
