/* CVL Camera Showcase - scoped to .cvlcs */
.elementor-widget-cvl-camera-showcase{width:100%}
.cvlcs{--cvlcs-h:450px;--cvlcs-scale:88;--cvlcs-x:5%;--cvlcs-y:0%;--cvlcs-gap:16px;--cvlcs-radius:28px;--cvlcs-side-w:260px;--cvlcs-bg:#F1F4F9;--cvlcs-bg2:#FFFFFF;--cvlcs-border:#DDE4EF;--cvlcs-accent:#1650EB;--cvlcs-glow:#5B8CFF;--cvlcs-glow-o:.55;--cvlcs-shadow:rgba(10,22,51,.32);--cvlcs-float:10px;--cvlcs-float-dur:7.5s;--cvlcs-int:6500ms;--cvlcs-n:3;--cvlcs-cap-bg:#FFFFFF;--cvlcs-label-c:#1650EB;--cvlcs-label-bg:#EAF0FE;--cvlcs-title-c:#0A1633;--cvlcs-desc-c:#4B5568;--cvlcs-tab-bg:#FFFFFF;--cvlcs-tab-c:#4B5568;--cvlcs-tab-ac:#0A1633;--cvlcs-glass:rgba(255,255,255,.62);--cvlcs-glass-line:rgba(255,255,255,.85);--cvlcs-hi:rgba(255,255,255,.9);
	--cvlcs-cam:calc(var(--cvlcs-h) * var(--cvlcs-scale) / 100);
	container:cvlcs / inline-size;position:relative;width:100%;font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}
.cvlcs *,.cvlcs *::before,.cvlcs *::after{box-sizing:border-box}
.cvlcs-in{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cvlcs-gap);align-items:center}
.cvlcs--cap-beside .cvlcs-in{grid-template-columns:minmax(0,1fr) var(--cvlcs-side-w)}
@container cvlcs (min-width: 760px){.cvlcs--cap-auto .cvlcs-in{grid-template-columns:minmax(0,1fr) var(--cvlcs-side-w)}}
@container cvlcs (max-width: 560px){.cvlcs--cap-beside .cvlcs-in{grid-template-columns:minmax(0,1fr)}}

/* ---------- stage ---------- */
.cvlcs-stage{position:relative;height:var(--cvlcs-h);border-radius:var(--cvlcs-radius);overflow:hidden;isolation:isolate;
	background:radial-gradient(62% 58% at calc(50% + var(--cvlcs-x)) 46%,rgba(91,140,255,.16),transparent 72%),linear-gradient(160deg,var(--cvlcs-bg2) 0%,var(--cvlcs-bg) 78%);
	background:radial-gradient(62% 58% at calc(50% + var(--cvlcs-x)) 46%,color-mix(in srgb,var(--cvlcs-glow) 17%,transparent),transparent 72%),linear-gradient(160deg,var(--cvlcs-bg2) 0%,var(--cvlcs-bg) 78%);
	border:1px solid var(--cvlcs-border);box-shadow:0 34px 60px -40px rgba(10,22,51,.30),inset 0 1px 0 var(--cvlcs-hi,rgba(255,255,255,.9))}
.cvlcs-stage::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
	background-image:radial-gradient(rgba(22,80,235,.13) 1px,transparent 1.5px);background-image:radial-gradient(color-mix(in srgb,var(--cvlcs-accent) 14%,transparent) 1px,transparent 1.5px);background-size:18px 18px;
	-webkit-mask:radial-gradient(58% 60% at calc(50% + var(--cvlcs-x)) 50%,#000 0%,transparent 78%);mask:radial-gradient(58% 60% at calc(50% + var(--cvlcs-x)) 50%,#000 0%,transparent 78%)}
.cvlcs--bare .cvlcs-stage{background:none;border-color:transparent;box-shadow:none}

/* ---------- effects ---------- */
.cvlcs-fx{position:absolute;inset:0;z-index:0;pointer-events:none;transform:translate3d(var(--cvlcs-px,0px),var(--cvlcs-py,0px),0);transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.cvlcs-fx>span{position:absolute;left:calc(50% + var(--cvlcs-x));top:calc(48% + var(--cvlcs-y));translate:-50% -50%;display:block}
.cvlcs-halo{width:calc(var(--cvlcs-cam) * .95);aspect-ratio:1;border-radius:50%;opacity:var(--cvlcs-glow-o);
	background:radial-gradient(circle,rgba(91,140,255,.55) 0%,rgba(91,140,255,.18) 45%,transparent 70%);
	background:radial-gradient(circle,color-mix(in srgb,var(--cvlcs-glow) 58%,transparent) 0%,color-mix(in srgb,var(--cvlcs-glow) 20%,transparent) 45%,transparent 70%);
	animation:cvlcs-pulse 8s ease-in-out infinite}
.cvlcs-glass{width:calc(var(--cvlcs-cam) * .58);height:calc(var(--cvlcs-cam) * .74);border-radius:26px;rotate:-9deg;margin-left:calc(var(--cvlcs-cam) * .14);
	background:linear-gradient(150deg,rgba(255,255,255,.62),rgba(255,255,255,.14));background:linear-gradient(150deg,var(--cvlcs-glass),color-mix(in srgb,var(--cvlcs-glass) 22%,transparent));border:1px solid var(--cvlcs-glass-line);
	box-shadow:0 24px 50px -34px rgba(22,80,235,.45),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cvlcs-ring{border-radius:50%;aspect-ratio:1}
.cvlcs-r1{width:calc(var(--cvlcs-cam) * 1.12);border:1px dashed rgba(22,80,235,.26);border-color:color-mix(in srgb,var(--cvlcs-accent) 26%,transparent);transform:perspective(900px) rotateX(74deg);animation:cvlcs-spin 46s linear infinite}
.cvlcs-r1::before{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--cvlcs-accent);box-shadow:0 0 12px var(--cvlcs-glow)}
.cvlcs-r2{width:calc(var(--cvlcs-cam) * .86);border:1px solid rgba(22,80,235,.16);border-color:color-mix(in srgb,var(--cvlcs-accent) 16%,transparent);transform:perspective(900px) rotateX(74deg) rotateY(10deg);animation:cvlcs-spin-r 64s linear infinite}
.cvlcs-r2::before{content:"";position:absolute;bottom:-3px;left:30%;width:6px;height:6px;border-radius:50%;background:var(--cvlcs-glow);opacity:.8}
.cvlcs-r3{width:calc(var(--cvlcs-cam) * 1.02);border:1px solid rgba(22,80,235,.10);border-color:color-mix(in srgb,var(--cvlcs-accent) 10%,transparent)}
.cvlcs-scan{width:calc(var(--cvlcs-cam) * .98);aspect-ratio:1;border-radius:50%;overflow:hidden;opacity:.9;
	-webkit-mask:radial-gradient(circle,#000 40%,transparent 70%);mask:radial-gradient(circle,#000 40%,transparent 70%)}
.cvlcs-scan::before{content:"";position:absolute;left:0;right:0;top:0;height:26%;
	background:linear-gradient(180deg,transparent 0%,rgba(22,80,235,.08) 70%,rgba(22,80,235,.18) 97%,transparent 100%);
	background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--cvlcs-accent) 8%,transparent) 70%,color-mix(in srgb,var(--cvlcs-accent) 18%,transparent) 97%,transparent 100%);
	transform:translateY(-110%);animation:cvlcs-scan 6s cubic-bezier(.45,0,.55,1) infinite}
.cvlcs--no-rings .cvlcs-ring,.cvlcs--no-scan .cvlcs-scan,.cvlcs--no-glass .cvlcs-glass{display:none}

/* ---------- slides ---------- */
.cvlcs-slides{position:absolute;inset:0;z-index:1}
.cvlcs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translate3d(46px,0,0) scale(.95);
	transition:opacity .7s ease,transform .9s cubic-bezier(.22,.61,.36,1),visibility 0s linear .9s}
.cvlcs-slide.is-leaving{transform:translate3d(-46px,0,0) scale(.95)}
.cvlcs-slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .8s ease .15s,transform 1.1s cubic-bezier(.22,.61,.36,1) .1s,visibility 0s}
.cvlcs-float{position:absolute;left:calc(50% + var(--cvlcs-x));top:calc(48% + var(--cvlcs-y));width:calc(100% - 28px);height:var(--cvlcs-cam);translate:-50% -50%;
	animation:cvlcs-float var(--cvlcs-float-dur) ease-in-out infinite alternate}
.cvlcs-tilt{width:100%;height:100%;transform:perspective(1100px) rotateX(var(--cvlcs-rx,0deg)) rotateY(var(--cvlcs-ry,0deg));transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.cvlcs-img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;margin:0;border:0;border-radius:0;box-shadow:none;
	filter:drop-shadow(0 18px 22px rgba(10,22,51,.16)) drop-shadow(0 0 26px rgba(91,140,255,.22));-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.cvlcs-shadow{position:absolute;left:calc(50% + var(--cvlcs-x));top:calc(48% + var(--cvlcs-y) + var(--cvlcs-cam) / 2);width:calc(var(--cvlcs-cam) * .6);height:calc(var(--cvlcs-cam) * .07);translate:-50% -60%;border-radius:50%;
	background:radial-gradient(closest-side,var(--cvlcs-shadow),transparent);filter:blur(3px);animation:cvlcs-shadow var(--cvlcs-float-dur) ease-in-out infinite alternate}
.cvlcs--no-float .cvlcs-float,.cvlcs--no-float .cvlcs-shadow{animation:none}

/* ---------- caption ---------- */
.cvlcs-side{display:flex;flex-direction:column;gap:var(--cvlcs-gap);min-width:0}
.cvlcs-caps{display:grid;padding:18px 22px;background:var(--cvlcs-cap-bg);border:1px solid var(--cvlcs-border);border-radius:18px;box-shadow:0 16px 34px -26px rgba(10,22,51,.28);text-align:left}
.cvlcs-cap{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s ease,transform .6s cubic-bezier(.22,.61,.36,1),visibility 0s linear .6s}
.cvlcs-cap.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .6s ease .3s,transform .8s cubic-bezier(.22,.61,.36,1) .25s,visibility 0s}
.cvlcs-label{display:inline-block;margin:0 0 10px;padding:6px 12px;border-radius:999px;background:var(--cvlcs-label-bg);color:var(--cvlcs-label-c);font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.6px;text-transform:uppercase}
.cvlcs .cvlcs-title{display:block;margin:0;padding:0;color:var(--cvlcs-title-c);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:30px;line-height:1.15;letter-spacing:-.6px;overflow-wrap:break-word}
.cvlcs .cvlcs-title a{color:inherit;text-decoration:none}
.cvlcs .cvlcs-title a:hover{color:var(--cvlcs-accent)}
.cvlcs .cvlcs-desc{margin:8px 0 0;color:var(--cvlcs-desc-c);font-size:15px;line-height:1.55}

/* ---------- slide buttons ---------- */
.cvlcs-nav{display:flex;gap:10px;align-items:stretch;min-width:0}
.cvlcs-tabs{flex:1 1 auto;display:grid;grid-template-columns:repeat(var(--cvlcs-n),minmax(0,1fr));gap:10px;min-width:0}
.cvlcs--cap-beside .cvlcs-tabs{grid-template-columns:minmax(0,1fr)}
.cvlcs--cap-beside .cvlcs-nav{flex-direction:column}
.cvlcs.cvlcs--cap-beside .cvlcs-play{flex:0 0 44px;align-self:flex-start}
@container cvlcs (min-width: 760px){.cvlcs--cap-auto .cvlcs-tabs{grid-template-columns:minmax(0,1fr)}.cvlcs--cap-auto .cvlcs-nav{flex-direction:column}.cvlcs.cvlcs--cap-auto .cvlcs-play{flex:0 0 44px;align-self:flex-start}}
@container cvlcs (max-width: 560px){.cvlcs--cap-beside .cvlcs-tabs{grid-template-columns:repeat(var(--cvlcs-n),minmax(0,1fr))}.cvlcs--cap-beside .cvlcs-nav{flex-direction:row}.cvlcs.cvlcs--cap-beside .cvlcs-play{align-self:stretch}}
.cvlcs .cvlcs-tab{position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:56px;margin:0;padding:8px 12px 11px 8px;border:1px solid var(--cvlcs-border);border-radius:14px;background:var(--cvlcs-tab-bg);color:var(--cvlcs-tab-c);
	font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:13px;line-height:1.25;text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;overflow:hidden;box-shadow:none;
	transition:border-color .3s ease,box-shadow .3s ease,color .3s ease,background-color .3s ease}
.cvlcs .cvlcs-tab:hover{border-color:rgba(22,80,235,.45);color:var(--cvlcs-tab-ac);background:var(--cvlcs-tab-bg)}
.cvlcs .cvlcs-tab.is-active{border-color:var(--cvlcs-accent);color:var(--cvlcs-tab-ac);background:var(--cvlcs-tab-bg);box-shadow:0 12px 26px -18px rgba(22,80,235,.7)}
.cvlcs .cvlcs-tab:focus{outline:none}
.cvlcs .cvlcs-tab:focus-visible,.cvlcs .cvlcs-play:focus-visible{outline:3px solid rgba(22,80,235,.45);outline-offset:2px}
.cvlcs-thumb{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:linear-gradient(160deg,#fff,var(--cvlcs-bg));border:1px solid var(--cvlcs-border);display:grid;place-items:center;overflow:hidden}
.cvlcs-thumb img{display:block;width:34px!important;height:34px!important;max-width:none;object-fit:contain;border-radius:0}
.cvlcs-tab-t{min-width:0;overflow-wrap:anywhere}
.cvlcs-bar{position:absolute;left:10px;right:10px;bottom:4px;height:3px;border-radius:3px;background:rgba(22,80,235,.12);opacity:0;transition:opacity .3s}
.cvlcs-tab.is-active .cvlcs-bar{opacity:1}
.cvlcs-bar i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--cvlcs-accent);transform-origin:left center;transform:scaleX(1)}
.cvlcs.is-auto .cvlcs-tab.is-active .cvlcs-bar i{transform:scaleX(0);animation:cvlcs-bar var(--cvlcs-int) linear forwards}
.cvlcs .cvlcs-play{flex:0 0 44px;display:grid;place-items:center;width:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--cvlcs-border);border-radius:14px;background:var(--cvlcs-tab-bg);color:var(--cvlcs-tab-ac);cursor:pointer;box-shadow:none}
.cvlcs .cvlcs-play:hover{border-color:rgba(22,80,235,.45);background:var(--cvlcs-tab-bg);color:var(--cvlcs-accent)}
.cvlcs-i-play,.cvlcs.is-user-paused .cvlcs-i-pause{display:none}
.cvlcs.is-user-paused .cvlcs-i-play{display:block}
.cvlcs--no-thumbs .cvlcs-tab{padding-left:14px}
@container cvlcs (max-width: 560px){
	.cvlcs .cvlcs-tab{flex-direction:column;justify-content:center;gap:6px;padding:8px 6px 12px;text-align:center}
	.cvlcs .cvlcs-tab-t{font-size:12px}
	.cvlcs-thumb{flex-basis:36px;width:36px;height:36px}
	.cvlcs-caps{padding:16px 18px}
}

/* ---------- paused states ---------- */
.cvlcs.is-auto.is-paused .cvlcs-tab.is-active .cvlcs-bar i,.cvlcs.is-auto.is-off .cvlcs-tab.is-active .cvlcs-bar i{animation-play-state:paused}
.cvlcs.is-off .cvlcs-stage *,.cvlcs.is-off .cvlcs-stage *::before{animation-play-state:paused!important}

/* ---------- keyframes ---------- */
@keyframes cvlcs-float{from{transform:translate3d(0,calc(var(--cvlcs-float) * .5),0)}to{transform:translate3d(0,calc(var(--cvlcs-float) * -.5),0)}}
@keyframes cvlcs-shadow{from{transform:scale(1);opacity:1}to{transform:scale(.84);opacity:.6}}
@keyframes cvlcs-pulse{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
@keyframes cvlcs-spin{from{transform:perspective(900px) rotateX(74deg) rotateZ(0)}to{transform:perspective(900px) rotateX(74deg) rotateZ(360deg)}}
@keyframes cvlcs-spin-r{from{transform:perspective(900px) rotateX(74deg) rotateY(10deg) rotateZ(360deg)}to{transform:perspective(900px) rotateX(74deg) rotateY(10deg) rotateZ(0)}}
@keyframes cvlcs-scan{0%{transform:translateY(-110%)}62%,100%{transform:translateY(400%)}}
@keyframes cvlcs-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
	.cvlcs *,.cvlcs *::before,.cvlcs *::after{animation:none!important}
	.cvlcs-slide,.cvlcs-slide.is-leaving,.cvlcs-cap{transform:none!important;transition:opacity .25s ease,visibility 0s linear .25s!important}
	.cvlcs-slide.is-active,.cvlcs-cap.is-active{transition:opacity .25s ease,visibility 0s!important}
	.cvlcs-tilt,.cvlcs-fx{transform:none!important;transition:none!important}
	.cvlcs-scan{display:none}
	.cvlcs-bar i{transform:scaleX(1)!important}
}
