/* Vector artwork is rendered at its final size, without perspective rasterization. */
.real-product{display:block;width:100%;height:100%;object-fit:contain;padding:28px 22px 14px;background:white;transition:transform .3s ease}.product:hover .real-product{transform:scale(1.035)}.detail .real-product{padding:28px;max-height:430px}.product-info .price{font-size:19px}.download{display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.download>span{color:var(--orange);font-size:22px}.download:hover{border-color:var(--orange)}.source-caption{font-size:12px}.product h3{min-height:70px}.product-info .net{display:block;min-height:32px}@media(prefers-reduced-motion:reduce){.product:hover .real-product{transform:none}}
.device.vector-device{display:block;width:164px;height:204px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none;position:relative}
.device.vector-device:before,.device.vector-device:after{display:none}
.vector-device img{display:block;width:100%;height:100%;object-fit:contain}
.device-caption{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:1.5px;font-weight:700;color:#274554}
.device-caption i{font-style:normal;color:#7c929c;font-size:7px;display:block;letter-spacing:1.6px}
.hero-art .device.vector-device{width:310px;height:380px;transform:none;z-index:2}
.hero-art .device-caption{display:none}
.product-visual .device.vector-device{width:158px;height:195px;transform:none;transition:translate .3s ease}
.detail .device.vector-device{width:300px;height:370px;transform:none}
.hero-art{background:radial-gradient(ellipse,#dce8e3 0%,transparent 68%)}
.hero-art:before{border-color:#bdcfc7;animation:orbit-breathe 6s ease-in-out infinite}
.hero-art:after{border-style:dashed;border-color:#c3d3cc;animation:orbit-turn 75s linear infinite}
.energy-wave{position:absolute;width:100%;height:100%;inset:0;z-index:1;overflow:visible}
.energy-base{stroke:#c0d3ca;stroke-width:1.4}
.energy-flow{stroke:#e86b2a;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:65 850;animation:energy-travel 5s linear infinite}
.floating{border-color:#cbd8d3;box-shadow:0 10px 24px #18322c0b}
.floating.one{left:-8px;bottom:50px;animation:label-float 6s ease-in-out infinite}
.floating.two{right:-8px;top:45px;animation:label-float 6s ease-in-out -3s infinite}
.floating strong{font-size:16px}.floating small{font-size:9px;letter-spacing:.7px}
.motion-toggle{position:absolute;bottom:2px;right:0;z-index:4;background:#f9fcfa;border:1px solid #c7d6cf;color:#476358;padding:5px 10px;font-size:10px;border-radius:20px}
.hero h1 em{background:linear-gradient(100deg,#b94412,#ed7d39 60%,#b94412);background-clip:text;-webkit-background-clip:text;color:transparent}
.product{transition:box-shadow .25s ease,border-color .25s ease,translate .25s ease}
.product:hover,.product:focus-within{border-color:#dda27d;box-shadow:0 15px 32px #19354012;translate:0 -5px}
.product:hover .vector-device{translate:0 -5px}
.btn{transition:background .2s ease,box-shadow .2s ease,translate .2s ease}
.btn:hover{translate:0 -2px;box-shadow:0 5px 12px #a64a1e20}.btn:active{translate:0 1px}
.category .arrow{transition:translate .25s ease}.category:hover .arrow{translate:3px -3px}
.article{transition:border-color .25s ease}.article:hover{border-color:var(--orange)}
.textlink{display:inline-block;transition:translate .2s ease}.textlink:hover{translate:3px 0}
.cartlink b{display:inline-block}
.consult{position:relative;overflow:hidden}.consult:after{content:'';position:absolute;right:-80px;bottom:-140px;width:350px;height:350px;border:1px solid #ffffff17;border-radius:50%;pointer-events:none;box-shadow:0 0 0 35px #ffffff05,0 0 0 70px #ffffff03}
@keyframes energy-travel{to{stroke-dashoffset:-915}}
@keyframes orbit-turn{to{rotate:360deg}}
@keyframes orbit-breathe{50%{scale:1.035;opacity:.5}}
@keyframes label-float{50%{translate:0 -7px}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(max-width:1000px){.hero-art .device.vector-device{width:260px;height:330px}.floating strong{font-size:13px}.floating.two{top:50px}}
@media(max-width:650px){.hero-art .device.vector-device{width:238px;height:300px}.hero-art{height:365px;margin-top:15px}.floating.one{left:0;bottom:48px}.floating.two{right:0;top:12px}.product-visual .device.vector-device{width:126px;height:156px}.detail .device.vector-device{width:230px;height:285px}.product:hover,.product:focus-within{translate:none}}
@media (max-width:1000px), (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-toggle{display:none}.product:hover,.product:hover .vector-device,.btn:hover,.textlink:hover,.category:hover{translate:none;transform:none}}
/* Disable hover movement as well as timed animations on mobile and touch devices. */
@media (max-width:1000px), (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce){
  .product:hover,.product:focus-within,.product:hover .real-product,.product:hover .vector-device,.btn:hover,.btn:active,.textlink:hover,.category:hover,.category:hover .arrow{translate:none!important;transform:none!important}
}
/* Keep the consultation heading on exactly two lines at every card width. */
.consult>div:first-child{container-type:inline-size;min-width:0}
.consult .consult-title{font-size:min(30px,5.5cqi);line-height:1.25}
.consult-title>span{display:block;white-space:nowrap}
