.card-image-container{position:relative;width:100%;overflow:hidden;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);border-radius:12px 12px 0 0}.card-image-container.ratio-16-9{aspect-ratio:16 / 9}.card-image-container.ratio-4-3{aspect-ratio:4 / 3}.card-image-container.ratio-1-1{aspect-ratio:1 / 1}.card-image-container.ratio-3-2{aspect-ratio:3 / 2}.card-image-container.ratio-product{aspect-ratio:4 / 3;min-height:200px;max-height:300px}.card-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.card-image-container.product-focus img{-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;background:transparent}.card-image-container.pump-model img{-o-object-fit:contain;object-fit:contain;-o-object-position:center center;object-position:center center;padding:15px;background:#fff}.card-image-container.top-aligned img{-o-object-position:center top;object-position:center top}.card-image-container:hover img{transform:scale(1.08)}.card-image-container.zoom-strong:hover img{transform:scale(1.15)}.card-image-container.zoom-subtle:hover img{transform:scale(1.05)}.card-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,transparent 50%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity .3s ease;pointer-events:none}.card-image-container:hover .card-image-overlay{opacity:1}.card-image-badge{position:absolute;top:16px;left:16px;padding:6px 12px;background:#fffffff2;backdrop-filter:blur(10px);border-radius:20px;font-size:.75rem;font-weight:600;color:#004494;z-index:2}.card-image-container.loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.card-image-container img{opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{to{opacity:1}}.service-card .card-image-container{aspect-ratio:16 / 9;height:200px}.service-card .card-image-container img{-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}.model-card .card-image-container{aspect-ratio:4 / 3;min-height:220px;max-height:280px;background:linear-gradient(135deg,#f8f9fa,#fff);overflow:hidden}.model-card .card-image-container img,.model-card .card-image-container.pump-model img{width:100%!important;height:131%!important;-o-object-fit:cover!important;object-fit:cover!important;-o-object-position:center center!important;object-position:center center!important;padding:0!important}.testimonial-card .card-image-container{aspect-ratio:1 / 1;width:60px;height:60px;border-radius:50%}.testimonial-card .card-image-container img{-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}.dept-card .card-image-container{aspect-ratio:16 / 9;height:120px}.dept-card .card-image-container img{-o-object-fit:cover;object-fit:cover;filter:brightness(.9)}.dept-card:hover .card-image-container img{filter:brightness(1)}@media (max-width: 768px){.card-image-container{border-radius:8px 8px 0 0}.card-image-container.ratio-product{min-height:180px;max-height:250px}.model-card .card-image-container{min-height:180px;max-height:220px}.card-image-container img{transform:none!important}.card-image-container:active img{transform:scale(.98)!important}.card-image-badge{font-size:.7rem;padding:4px 10px;top:12px;left:12px}}@media (min-width: 769px) and (max-width: 1024px){.card-image-container.ratio-product{min-height:190px;max-height:270px}}@media (prefers-reduced-motion: reduce){.card-image-container img,.card-image-overlay{transition:none}.card-image-container:hover img{transform:none}}@media (prefers-contrast: high){.card-image-container{border:2px solid currentColor}.card-image-badge{background:#fff;color:#000;border:1px solid black}}.card-image-container[data-lazy=true] img{filter:blur(5px);transition:filter .3s}.card-image-container[data-lazy=false] img{filter:blur(0)}.card-image-container img{transform:translateZ(0);backface-visibility:hidden}.card-image-container.no-hover:hover img{transform:none}.card-image-container.grayscale img{filter:grayscale(100%);transition:filter .3s}.card-image-container.grayscale:hover img{filter:grayscale(0%)}.card-image-container.blur-hover img{transition:filter .3s,transform .4s}.card-image-container.blur-hover:hover img{filter:blur(2px)}
