[data-entrance]{--cms-duration:.8s;--cms-delay:0s;animation-duration:var(--cms-duration);animation-delay:var(--cms-delay);animation-fill-mode:both;animation-play-state:paused}
[data-entrance].cms-animate{animation-play-state:running}
[data-entrance="fade"].cms-animate{animation-name:cmsFade}[data-entrance="slide-up"].cms-animate{animation-name:cmsSlideUp}[data-entrance="slide-right"].cms-animate{animation-name:cmsSlideRight}[data-entrance="slide-left"].cms-animate{animation-name:cmsSlideLeft}[data-entrance="zoom"].cms-animate{animation-name:cmsZoom}[data-entrance="bounce"].cms-animate{animation-name:cmsBounce}
[data-hover="lift"]{transition:transform .3s ease,box-shadow .3s ease}[data-hover="lift"]:hover{transform:translateY(-10px);box-shadow:0 20px 45px #062f4f33}[data-hover="scale"]{transition:transform .3s ease}[data-hover="scale"]:hover{transform:scale(1.06)}[data-hover="pulse"]:hover{animation:cmsPulse .8s ease infinite}[data-hover="rotate"]{transition:transform .35s ease}[data-hover="rotate"]:hover{transform:rotate(3deg) scale(1.02)}
[data-effect3d]{--cms-perspective:1000px;--cms-rx:0deg;--cms-ry:0deg;--cms-z:0px;--cms-3d-speed:5s;--cms-3d-shadow:0 22px 50px #062f4f35;transform-style:preserve-3d;backface-visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,filter .35s ease;will-change:transform}
[data-effect3d].cms-3d-active{transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry)) translateZ(var(--cms-z))}
[data-effect3d="tilt"]{--cms-perspective:760px;--cms-rx:10deg;--cms-ry:-12deg;--cms-z:18px}[data-effect3d="pointer"]{--cms-perspective:700px;--cms-rx:5deg;--cms-ry:-7deg;--cms-z:14px}[data-effect3d="depth"]{--cms-perspective:650px;--cms-rx:5deg;--cms-ry:-6deg;--cms-z:32px}
[data-effect3d="tilt"].cms-3d-active,[data-effect3d="pointer"].cms-3d-active,[data-effect3d="depth"].cms-3d-active{box-shadow:var(--cms-3d-shadow)}
[data-effect3d="float"].cms-3d-active{animation:cms3dFloat 3.4s ease-in-out infinite;box-shadow:var(--cms-3d-shadow)}
[data-effect3d="spin"].cms-3d-active{animation:cms3dSpin var(--cms-3d-speed) linear infinite;backface-visibility:visible;-webkit-backface-visibility:visible}
[data-effect3d="spin"].cms-3d-active *{backface-visibility:visible;-webkit-backface-visibility:visible}
[data-effect3d="flip"].cms-3d-active{animation:cms3dFlip 1.1s cubic-bezier(.2,.85,.25,1) both;box-shadow:var(--cms-3d-shadow)}
[data-effect3d="orbit"].cms-3d-active{animation:cms3dOrbit var(--cms-3d-speed) ease-in-out infinite;box-shadow:var(--cms-3d-shadow)}
[data-effect3d="swing"].cms-3d-active{animation:cms3dSwing var(--cms-3d-speed) ease-in-out infinite;transform-origin:50% 0;box-shadow:var(--cms-3d-shadow)}
[data-effect3d="pulse3d"].cms-3d-active{animation:cms3dPulse var(--cms-3d-speed) ease-in-out infinite;box-shadow:var(--cms-3d-shadow)}
[data-effect3d="glow3d"].cms-3d-active{animation:cms3dGlow var(--cms-3d-speed) ease-in-out infinite;box-shadow:var(--cms-3d-shadow)}
@keyframes cms3dFloat{0%,100%{transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry)) translateY(0) translateZ(var(--cms-z))}50%{transform:perspective(var(--cms-perspective)) rotateX(calc(var(--cms-rx) + 3deg)) rotateY(calc(var(--cms-ry) - 3deg)) translateY(-15px) translateZ(calc(var(--cms-z) + 22px))}}
@keyframes cms3dSpin{from{transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry)) translateZ(var(--cms-z))}to{transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(calc(var(--cms-ry) + 360deg)) translateZ(var(--cms-z))}}
@keyframes cms3dFlip{from{opacity:0;transform:perspective(var(--cms-perspective)) rotateX(-75deg) rotateY(var(--cms-ry)) translateZ(-40px)}to{opacity:1;transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry)) translateZ(var(--cms-z))}}
@keyframes cms3dOrbit{0%,100%{transform:perspective(var(--cms-perspective)) translate3d(0,0,var(--cms-z)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry))}25%{transform:perspective(var(--cms-perspective)) translate3d(12px,-9px,calc(var(--cms-z) + 14px)) rotateX(8deg) rotateY(-2deg)}50%{transform:perspective(var(--cms-perspective)) translate3d(0,-16px,calc(var(--cms-z) + 24px)) rotateX(2deg) rotateY(7deg)}75%{transform:perspective(var(--cms-perspective)) translate3d(-12px,-9px,calc(var(--cms-z) + 14px)) rotateX(-4deg) rotateY(1deg)}}
@keyframes cms3dSwing{0%,100%{transform:perspective(var(--cms-perspective)) rotateX(2deg) rotateY(-13deg) rotateZ(-2deg) translateZ(var(--cms-z))}50%{transform:perspective(var(--cms-perspective)) rotateX(-2deg) rotateY(13deg) rotateZ(2deg) translateZ(calc(var(--cms-z) + 12px))}}
@keyframes cms3dPulse{0%,100%{transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry)) translateZ(var(--cms-z)) scale(1);box-shadow:var(--cms-3d-shadow)}50%{transform:perspective(var(--cms-perspective)) rotateX(1deg) rotateY(2deg) translateZ(calc(var(--cms-z) + 42px)) scale(1.045);box-shadow:0 35px 85px #062f4f55}}
@keyframes cms3dGlow{0%,100%{transform:perspective(var(--cms-perspective)) rotateX(var(--cms-rx)) rotateY(var(--cms-ry)) translateY(0) translateZ(var(--cms-z));filter:drop-shadow(0 10px 16px #16a9df30)}50%{transform:perspective(var(--cms-perspective)) rotateX(-3deg) rotateY(5deg) translateY(-12px) translateZ(calc(var(--cms-z) + 24px));filter:drop-shadow(0 18px 28px #d5aa4870)}}
@keyframes cmsFade{from{opacity:0}to{opacity:1}}@keyframes cmsSlideUp{from{opacity:0;transform:translateY(45px)}to{opacity:1;transform:none}}@keyframes cmsSlideRight{from{opacity:0;transform:translateX(-55px)}to{opacity:1;transform:none}}@keyframes cmsSlideLeft{from{opacity:0;transform:translateX(55px)}to{opacity:1;transform:none}}@keyframes cmsZoom{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@keyframes cmsBounce{0%{opacity:0;transform:translateY(-35px)}55%{opacity:1;transform:translateY(10px)}75%{transform:translateY(-6px)}100%{transform:none}}@keyframes cmsPulse{50%{transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){[data-entrance],[data-hover],[data-effect3d]{animation:none!important;transition:none!important;opacity:1!important}}
@media(max-width:700px),(pointer:coarse){[data-effect3d]{--cms-perspective:900px;--cms-z:0px;--cms-3d-shadow:0 12px 28px #062f4f24;will-change:auto}[data-effect3d="glow3d"].cms-3d-active{filter:none}[data-effect3d="float"].cms-3d-active,[data-effect3d="orbit"].cms-3d-active,[data-effect3d="swing"].cms-3d-active,[data-effect3d="pulse3d"].cms-3d-active,[data-effect3d="glow3d"].cms-3d-active{animation-duration:calc(var(--cms-3d-speed) * 1.35)}}
.cms-gallery>.cards{display:grid!important;grid-template-columns:repeat(var(--cms-gallery-cols,3),minmax(0,1fr))!important;gap:var(--cms-gallery-gap,12px)!important}.cms-gallery>.cards img{width:100%;height:220px;object-fit:cover;border-radius:14px}
.cms-carousel{position:relative;overflow:hidden;border-radius:18px}.cms-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:12px;scrollbar-width:none}.cms-carousel-track::-webkit-scrollbar{display:none}.cms-carousel-track img{flex:0 0 100%;width:100%;height:var(--cms-media-height,280px);object-fit:cover;scroll-snap-align:center;border-radius:18px}.cms-carousel-prev,.cms-carousel-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#0876b9;font-size:32px;box-shadow:0 5px 20px #062f4f33}.cms-carousel-prev{right:12px}.cms-carousel-next{left:12px}
.cms-carousel[data-arrows="false"] .cms-carousel-prev,.cms-carousel[data-arrows="false"] .cms-carousel-next{display:none}
.cms-marquee{overflow:hidden;border-radius:18px}.cms-marquee-track{display:flex;width:max-content;gap:12px;animation:cmsMarquee 24s linear infinite}.cms-marquee[data-speed=slow] .cms-marquee-track{animation-duration:38s}.cms-marquee[data-speed=fast] .cms-marquee-track{animation-duration:14s}.cms-marquee-track img{width:320px;height:var(--cms-media-height,220px);object-fit:cover;border-radius:16px}.cms-marquee:hover .cms-marquee-track{animation-play-state:paused}@keyframes cmsMarquee{to{transform:translateX(50%)}}@media(max-width:700px){.cms-gallery>.cards{grid-template-columns:repeat(min(var(--cms-gallery-cols,2),2),minmax(0,1fr))!important}.cms-carousel-track img{height:var(--cms-media-height,220px)}.cms-marquee-track img{width:230px;height:var(--cms-media-height,180px)}}@media(prefers-reduced-motion:reduce){.cms-marquee-track{animation:none}}
