.psl-slider{position:relative;width:100%;max-width:var(--psl-max-width);margin:0 auto;outline:none;--psl-scale:1}.psl-viewport{position:relative;overflow:hidden;width:100%;height:auto;aspect-ratio:var(--psl-ratio);background:#111;border-radius:var(--psl-radius)}.psl-track{position:relative;width:100%;height:100%;transition:transform var(--psl-speed) cubic-bezier(.22,.61,.36,1);will-change:transform}.psl-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--psl-speed) ease,visibility var(--psl-speed) ease}.psl-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}.psl-effect-slide .psl-track{display:flex}.psl-effect-slide .psl-slide{position:relative;inset:auto;flex:0 0 100%;opacity:1;visibility:visible;pointer-events:auto}.psl-slide-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}.psl-image,.psl-layer-background{display:block;width:100%;height:100%;object-fit:var(--psl-fit)}.psl-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:36px 34px 28px;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff;pointer-events:none}.psl-title{font-size:clamp(22px,3vw,42px);line-height:1.15;font-weight:700;margin:0 0 8px}.psl-caption{font-size:clamp(14px,1.4vw,18px);line-height:1.55}.psl-caption-below .psl-viewport{overflow:visible;margin-bottom:82px}.psl-caption-below .psl-overlay{top:100%;bottom:auto;background:transparent;color:inherit;padding:14px 4px}.psl-caption-hidden .psl-overlay{display:none}.psl-arrow{position:absolute;top:50%;z-index:500;transform:translateY(-50%);width:44px;height:56px;border:0;border-radius:5px;background:rgba(0,0,0,.48);color:#fff;font-size:38px;line-height:1;cursor:pointer;transition:background .2s,opacity .2s}.psl-arrow:hover,.psl-arrow:focus-visible{background:rgba(0,0,0,.72)}.psl-arrow:disabled{opacity:.25;cursor:default}.psl-prev{left:14px}.psl-next{right:14px}.psl-dots{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 0 2px}.psl-dot{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:#b7b7b7;cursor:pointer;transition:transform .2s,background .2s}.psl-dot.is-active{background:#333;transform:scale(1.25)}.psl-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px}.psl-nav-align-left .psl-dots,.psl-nav-align-left .psl-thumbnails{justify-content:flex-start}.psl-nav-align-center .psl-dots,.psl-nav-align-center .psl-thumbnails{justify-content:center;justify-content:safe center}.psl-nav-align-right .psl-dots,.psl-nav-align-right .psl-thumbnails{justify-content:flex-end;justify-content:safe flex-end}.psl-thumbnail{flex:0 0 84px;height:54px;padding:2px;border:2px solid transparent;border-radius:4px;background:transparent;cursor:pointer;opacity:.65}.psl-thumbnail.is-active{border-color:#2271b1;opacity:1}.psl-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}.psl-theme-dark .psl-dots,.psl-theme-dark .psl-thumbnails{background:#191919;padding:10px;border-radius:0 0 var(--psl-radius) var(--psl-radius)}.psl-theme-dark .psl-dot{background:#666}.psl-theme-dark .psl-dot.is-active{background:#fff}.psl-theme-minimal .psl-arrow{width:34px;height:44px;background:rgba(255,255,255,.86);color:#111;box-shadow:0 1px 4px rgba(0,0,0,.25)}.psl-theme-minimal .psl-prev{left:8px}.psl-theme-minimal .psl-next{right:8px}
.psl-layer-slide{overflow:hidden}.psl-layer-background{position:absolute;inset:0}.psl-layer-canvas{position:absolute;inset:0;z-index:10;pointer-events:none}.psl-layer{position:absolute;box-sizing:border-box;color:var(--psl-layer-color);background:var(--psl-layer-bg);padding:calc(var(--psl-layer-padding) * var(--psl-scale));border-radius:calc(var(--psl-layer-radius) * var(--psl-scale));font-size:calc(var(--psl-layer-font) * var(--psl-scale));line-height:1.15;display:flex;align-items:center;overflow:hidden;pointer-events:auto;box-shadow:var(--psl-layer-depth-shadow,0 0 0 transparent),var(--psl-layer-shadow,0 0 0 transparent)}.psl-layer-button{justify-content:center}.psl-layer-button.psl-button-3d{background:linear-gradient(to bottom,rgba(255,255,255,.24) 0%,rgba(255,255,255,.10) 38%,rgba(0,0,0,.02) 58%,rgba(0,0,0,.12) 100%),var(--psl-layer-bg);box-shadow:inset 0 calc(2px * var(--psl-scale)) 0 rgba(255,255,255,.28),inset 0 calc(-2px * var(--psl-scale)) 0 rgba(0,0,0,.14),var(--psl-layer-depth-shadow,0 0 0 transparent),var(--psl-layer-shadow,0 0 0 transparent);text-shadow:0 calc(1px * var(--psl-scale)) calc(1px * var(--psl-scale)) rgba(0,0,0,.28)}.psl-layer-button.psl-button-3d .psl-layer-link,.psl-layer-button.psl-button-3d .psl-layer-text{position:relative;z-index:1}.psl-layer-link{display:flex;width:100%;height:100%;align-items:center;justify-content:inherit;color:inherit;text-decoration:none}.psl-layer-text{display:block;width:100%}.psl-layer-image{display:block;width:100%;height:100%;object-fit:contain}
/* Layer animation presets. Motion is implemented locally so the plugin has no runtime animation-library dependency. */
.psl-layer-run-in{animation-duration:var(--psl-layer-in-duration);animation-delay:var(--psl-layer-in-delay);animation-fill-mode:both;animation-timing-function:ease}
.psl-layer-run-out{animation-duration:var(--psl-layer-out-duration);animation-delay:0ms;animation-fill-mode:both;animation-timing-function:ease}

.psl-layer-in-flash.psl-layer-run-in{animation-name:psl-flash}
.psl-layer-in-bounce.psl-layer-run-in{animation-name:psl-bounce}
.psl-layer-in-shake.psl-layer-run-in{animation-name:psl-shake}
.psl-layer-in-tada.psl-layer-run-in{animation-name:psl-tada}
.psl-layer-in-swing.psl-layer-run-in{animation-name:psl-swing}
.psl-layer-in-wobble.psl-layer-run-in{animation-name:psl-wobble}
.psl-layer-in-wiggle.psl-layer-run-in{animation-name:psl-wiggle}
.psl-layer-in-pulse.psl-layer-run-in{animation-name:psl-pulse}
.psl-layer-in-flip.psl-layer-run-in{animation-name:psl-flip}
.psl-layer-in-flipInX.psl-layer-run-in{animation-name:psl-flipInX}
.psl-layer-in-flipInY.psl-layer-run-in{animation-name:psl-flipInY}
.psl-layer-in-fadeIn.psl-layer-run-in{animation-name:psl-fadeIn}
.psl-layer-in-fadeInUp.psl-layer-run-in{animation-name:psl-fadeInUp}
.psl-layer-in-fadeInDown.psl-layer-run-in{animation-name:psl-fadeInDown}
.psl-layer-in-fadeInLeft.psl-layer-run-in{animation-name:psl-fadeInLeft}
.psl-layer-in-fadeInRight.psl-layer-run-in{animation-name:psl-fadeInRight}
.psl-layer-in-fadeInUpBig.psl-layer-run-in{animation-name:psl-fadeInUpBig}
.psl-layer-in-fadeInDownBig.psl-layer-run-in{animation-name:psl-fadeInDownBig}
.psl-layer-in-fadeInLeftBig.psl-layer-run-in{animation-name:psl-fadeInLeftBig}
.psl-layer-in-fadeInRightBig.psl-layer-run-in{animation-name:psl-fadeInRightBig}
.psl-layer-in-bounceIn.psl-layer-run-in{animation-name:psl-bounceIn}
.psl-layer-in-bounceInDown.psl-layer-run-in{animation-name:psl-bounceInDown}
.psl-layer-in-bounceInUp.psl-layer-run-in{animation-name:psl-bounceInUp}
.psl-layer-in-bounceInLeft.psl-layer-run-in{animation-name:psl-bounceInLeft}
.psl-layer-in-bounceInRight.psl-layer-run-in{animation-name:psl-bounceInRight}
.psl-layer-in-rotateIn.psl-layer-run-in{animation-name:psl-rotateIn}
.psl-layer-in-rotateInDownLeft.psl-layer-run-in{animation-name:psl-rotateInDownLeft}
.psl-layer-in-rotateInDownRight.psl-layer-run-in{animation-name:psl-rotateInDownRight}
.psl-layer-in-rotateInUpLeft.psl-layer-run-in{animation-name:psl-rotateInUpLeft}
.psl-layer-in-rotateInUpRight.psl-layer-run-in{animation-name:psl-rotateInUpRight}
.psl-layer-in-lightSpeedIn.psl-layer-run-in{animation-name:psl-lightSpeedIn}
.psl-layer-in-hinge.psl-layer-run-in{animation-name:psl-hinge}
.psl-layer-in-rollIn.psl-layer-run-in{animation-name:psl-rollIn}
.psl-layer-in-zoomIn.psl-layer-run-in{animation-name:psl-zoomIn}
.psl-layer-out-flash.psl-layer-run-out{animation-name:psl-flash}
.psl-layer-out-bounce.psl-layer-run-out{animation-name:psl-bounce}
.psl-layer-out-shake.psl-layer-run-out{animation-name:psl-shake}
.psl-layer-out-tada.psl-layer-run-out{animation-name:psl-tada}
.psl-layer-out-swing.psl-layer-run-out{animation-name:psl-swing}
.psl-layer-out-wobble.psl-layer-run-out{animation-name:psl-wobble}
.psl-layer-out-wiggle.psl-layer-run-out{animation-name:psl-wiggle}
.psl-layer-out-pulse.psl-layer-run-out{animation-name:psl-pulse}
.psl-layer-out-flip.psl-layer-run-out{animation-name:psl-flip}
.psl-layer-out-rollOut.psl-layer-run-out{animation-name:psl-rollOut}
.psl-layer-out-lightSpeedOut.psl-layer-run-out{animation-name:psl-lightSpeedOut}
.psl-layer-out-rotateOut.psl-layer-run-out{animation-name:psl-rotateOut}
.psl-layer-out-rotateOutDownLeft.psl-layer-run-out{animation-name:psl-rotateOutDownLeft}
.psl-layer-out-rotateOutDownRight.psl-layer-run-out{animation-name:psl-rotateOutDownRight}
.psl-layer-out-rotateOutUpLeft.psl-layer-run-out{animation-name:psl-rotateOutUpLeft}
.psl-layer-out-rotateOutUpRight.psl-layer-run-out{animation-name:psl-rotateOutUpRight}
.psl-layer-out-bounceOut.psl-layer-run-out{animation-name:psl-bounceOut}
.psl-layer-out-bounceOutDown.psl-layer-run-out{animation-name:psl-bounceOutDown}
.psl-layer-out-bounceOutUp.psl-layer-run-out{animation-name:psl-bounceOutUp}
.psl-layer-out-bounceOutLeft.psl-layer-run-out{animation-name:psl-bounceOutLeft}
.psl-layer-out-bounceOutRight.psl-layer-run-out{animation-name:psl-bounceOutRight}
.psl-layer-out-flipOutY.psl-layer-run-out{animation-name:psl-flipOutY}
.psl-layer-out-flipOutX.psl-layer-run-out{animation-name:psl-flipOutX}
.psl-layer-out-fadeOut.psl-layer-run-out{animation-name:psl-fadeOut}
.psl-layer-out-fadeOutUp.psl-layer-run-out{animation-name:psl-fadeOutUp}
.psl-layer-out-fadeOutDown.psl-layer-run-out{animation-name:psl-fadeOutDown}
.psl-layer-out-fadeOutLeft.psl-layer-run-out{animation-name:psl-fadeOutLeft}
.psl-layer-out-fadeOutRight.psl-layer-run-out{animation-name:psl-fadeOutRight}
.psl-layer-out-fadeOutUpBig.psl-layer-run-out{animation-name:psl-fadeOutUpBig}
.psl-layer-out-fadeOutDownBig.psl-layer-run-out{animation-name:psl-fadeOutDownBig}
.psl-layer-out-fadeOutLeftBig.psl-layer-run-out{animation-name:psl-fadeOutLeftBig}
.psl-layer-out-fadeOutRightBig.psl-layer-run-out{animation-name:psl-fadeOutRightBig}
.psl-layer-out-hinge.psl-layer-run-out{animation-name:psl-hinge}
.psl-layer-out-zoomOut.psl-layer-run-out{animation-name:psl-zoomOut}

@keyframes psl-flash{0%,50%,100%{opacity:1}25%,75%{opacity:.15}}
@keyframes psl-bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-24%)}60%{transform:translateY(-10%)}}
@keyframes psl-shake{0%,100%{transform:translateX(0)}15%,45%,75%{transform:translateX(-9%)}30%,60%,90%{transform:translateX(9%)}}
@keyframes psl-tada{0%,100%{transform:scale(1) rotate(0)}10%,20%{transform:scale(.92) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.08) rotate(3deg)}40%,60%,80%{transform:scale(1.08) rotate(-3deg)}}
@keyframes psl-swing{0%,100%{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}}
@keyframes psl-wobble{0%,100%{transform:translateX(0) rotate(0)}15%{transform:translateX(-18%) rotate(-5deg)}30%{transform:translateX(14%) rotate(4deg)}45%{transform:translateX(-10%) rotate(-3deg)}60%{transform:translateX(7%) rotate(2deg)}75%{transform:translateX(-4%) rotate(-1deg)}}
@keyframes psl-wiggle{0%,100%{transform:skewX(0)}20%{transform:skewX(9deg)}40%{transform:skewX(-7deg)}60%{transform:skewX(5deg)}80%{transform:skewX(-3deg)}}
@keyframes psl-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes psl-flip{0%{transform:perspective(700px) rotateY(0)}50%{transform:perspective(700px) rotateY(180deg)}100%{transform:perspective(700px) rotateY(360deg)}}
@keyframes psl-flipInX{0%{opacity:0;transform:perspective(700px) rotateX(80deg)}55%{opacity:1;transform:perspective(700px) rotateX(-12deg)}80%{transform:perspective(700px) rotateX(6deg)}100%{transform:perspective(700px) rotateX(0)}}
@keyframes psl-flipInY{0%{opacity:0;transform:perspective(700px) rotateY(80deg)}55%{opacity:1;transform:perspective(700px) rotateY(-12deg)}80%{transform:perspective(700px) rotateY(6deg)}100%{transform:perspective(700px) rotateY(0)}}
@keyframes psl-flipOutX{0%{opacity:1;transform:perspective(700px) rotateX(0)}100%{opacity:0;transform:perspective(700px) rotateX(82deg)}}
@keyframes psl-flipOutY{0%{opacity:1;transform:perspective(700px) rotateY(0)}100%{opacity:0;transform:perspective(700px) rotateY(82deg)}}
@keyframes psl-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes psl-fadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes psl-fadeInDown{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
@keyframes psl-fadeInLeft{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:translateX(0)}}
@keyframes psl-fadeInRight{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:translateX(0)}}
@keyframes psl-fadeInUpBig{from{opacity:0;transform:translateY(90%)}to{opacity:1;transform:translateY(0)}}
@keyframes psl-fadeInDownBig{from{opacity:0;transform:translateY(-90%)}to{opacity:1;transform:translateY(0)}}
@keyframes psl-fadeInLeftBig{from{opacity:0;transform:translateX(-120%)}to{opacity:1;transform:translateX(0)}}
@keyframes psl-fadeInRightBig{from{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}
@keyframes psl-fadeOut{from{opacity:1}to{opacity:0}}
@keyframes psl-fadeOutUp{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}
@keyframes psl-fadeOutDown{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}
@keyframes psl-fadeOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-34px)}}
@keyframes psl-fadeOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(34px)}}
@keyframes psl-fadeOutUpBig{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-90%)}}
@keyframes psl-fadeOutDownBig{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(90%)}}
@keyframes psl-fadeOutLeftBig{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-120%)}}
@keyframes psl-fadeOutRightBig{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(120%)}}
@keyframes psl-bounceIn{0%{opacity:0;transform:scale(.45)}55%{opacity:1;transform:scale(1.12)}75%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes psl-bounceInDown{0%{opacity:0;transform:translateY(-120%)}60%{opacity:1;transform:translateY(12%)}80%{transform:translateY(-5%)}100%{transform:translateY(0)}}
@keyframes psl-bounceInUp{0%{opacity:0;transform:translateY(120%)}60%{opacity:1;transform:translateY(-12%)}80%{transform:translateY(5%)}100%{transform:translateY(0)}}
@keyframes psl-bounceInLeft{0%{opacity:0;transform:translateX(-140%)}60%{opacity:1;transform:translateX(10%)}80%{transform:translateX(-4%)}100%{transform:translateX(0)}}
@keyframes psl-bounceInRight{0%{opacity:0;transform:translateX(140%)}60%{opacity:1;transform:translateX(-10%)}80%{transform:translateX(4%)}100%{transform:translateX(0)}}
@keyframes psl-bounceOut{20%{transform:scale(1.08)}50%,55%{opacity:1;transform:scale(.9)}100%{opacity:0;transform:scale(.3)}}
@keyframes psl-bounceOutDown{0%{transform:translateY(0)}20%{transform:translateY(-10%)}100%{opacity:0;transform:translateY(130%)}}
@keyframes psl-bounceOutUp{0%{transform:translateY(0)}20%{transform:translateY(10%)}100%{opacity:0;transform:translateY(-130%)}}
@keyframes psl-bounceOutLeft{0%{transform:translateX(0)}20%{transform:translateX(10%)}100%{opacity:0;transform:translateX(-140%)}}
@keyframes psl-bounceOutRight{0%{transform:translateX(0)}20%{transform:translateX(-10%)}100%{opacity:0;transform:translateX(140%)}}
@keyframes psl-rotateIn{from{opacity:0;transform:rotate(-160deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes psl-rotateInDownLeft{from{opacity:0;transform-origin:left bottom;transform:rotate(-42deg)}to{opacity:1;transform-origin:left bottom;transform:rotate(0)}}
@keyframes psl-rotateInDownRight{from{opacity:0;transform-origin:right bottom;transform:rotate(42deg)}to{opacity:1;transform-origin:right bottom;transform:rotate(0)}}
@keyframes psl-rotateInUpLeft{from{opacity:0;transform-origin:left top;transform:rotate(42deg)}to{opacity:1;transform-origin:left top;transform:rotate(0)}}
@keyframes psl-rotateInUpRight{from{opacity:0;transform-origin:right top;transform:rotate(-42deg)}to{opacity:1;transform-origin:right top;transform:rotate(0)}}
@keyframes psl-rotateOut{from{opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(160deg)}}
@keyframes psl-rotateOutDownLeft{from{opacity:1;transform-origin:left bottom;transform:rotate(0)}to{opacity:0;transform-origin:left bottom;transform:rotate(42deg)}}
@keyframes psl-rotateOutDownRight{from{opacity:1;transform-origin:right bottom;transform:rotate(0)}to{opacity:0;transform-origin:right bottom;transform:rotate(-42deg)}}
@keyframes psl-rotateOutUpLeft{from{opacity:1;transform-origin:left top;transform:rotate(0)}to{opacity:0;transform-origin:left top;transform:rotate(-42deg)}}
@keyframes psl-rotateOutUpRight{from{opacity:1;transform-origin:right top;transform:rotate(0)}to{opacity:0;transform-origin:right top;transform:rotate(42deg)}}
@keyframes psl-lightSpeedIn{from{opacity:0;transform:translateX(120%) skewX(-18deg)}70%{opacity:1;transform:translateX(-5%) skewX(6deg)}to{transform:translateX(0) skewX(0)}}
@keyframes psl-lightSpeedOut{from{opacity:1;transform:translateX(0) skewX(0)}to{opacity:0;transform:translateX(120%) skewX(18deg)}}
@keyframes psl-rollIn{from{opacity:0;transform:translateX(-100%) rotate(-110deg)}to{opacity:1;transform:translateX(0) rotate(0)}}
@keyframes psl-rollOut{from{opacity:1;transform:translateX(0) rotate(0)}to{opacity:0;transform:translateX(100%) rotate(110deg)}}
@keyframes psl-hinge{0%{transform-origin:left top;transform:rotate(0);opacity:1}25%{transform-origin:left top;transform:rotate(70deg)}45%{transform-origin:left top;transform:rotate(52deg)}65%{transform-origin:left top;transform:rotate(68deg)}80%{transform-origin:left top;transform:rotate(60deg);opacity:1}100%{transform:translateY(120%);opacity:0}}
@keyframes psl-zoomIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes psl-zoomOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}

@media(max-width:782px){.psl-overlay{padding:20px}.psl-arrow{width:38px;height:48px;font-size:32px}.psl-prev{left:8px}.psl-next{right:8px}.psl-thumbnail{flex-basis:68px;height:44px}}@media(prefers-reduced-motion:reduce){.psl-track,.psl-slide,.psl-dot,.psl-arrow,.psl-layer{transition:none!important;animation:none!important}.psl-layer{opacity:1!important;transform:none!important}}

/* v0.4 slide transition engine */
.psl-viewport{perspective:1200px}.psl-slide.psl-transition-in,.psl-slide.psl-transition-out{visibility:visible;pointer-events:none;will-change:transform,opacity,clip-path,filter;animation-duration:var(--psl-speed);animation-fill-mode:both;animation-timing-function:cubic-bezier(.22,.61,.36,1)}.psl-slide.psl-transition-in{z-index:4;pointer-events:auto}.psl-slide.psl-transition-out{z-index:3;opacity:1}.psl-slide.psl-transition-in .psl-layer-canvas{z-index:12}
.psl-fx-fade.psl-transition-in{animation-name:psl-slide-fade-in}.psl-fx-fade.psl-transition-out{animation-name:psl-slide-fade-out}
.psl-fx-slide-left.psl-transition-in{animation-name:psl-slide-left-in}.psl-fx-slide-left.psl-transition-out{animation-name:psl-slide-left-out}
.psl-fx-slide-right.psl-transition-in{animation-name:psl-slide-right-in}.psl-fx-slide-right.psl-transition-out{animation-name:psl-slide-right-out}
.psl-fx-slide-up.psl-transition-in{animation-name:psl-slide-up-in}.psl-fx-slide-up.psl-transition-out{animation-name:psl-slide-up-out}
.psl-fx-slide-down.psl-transition-in{animation-name:psl-slide-down-in}.psl-fx-slide-down.psl-transition-out{animation-name:psl-slide-down-out}
.psl-fx-zoom-in.psl-transition-in{animation-name:psl-slide-zoom-in}.psl-fx-zoom-in.psl-transition-out{animation-name:psl-slide-zoom-in-out}
.psl-fx-zoom-out.psl-transition-in{animation-name:psl-slide-zoom-out-in}.psl-fx-zoom-out.psl-transition-out{animation-name:psl-slide-zoom-out-out}
.psl-fx-flip-x.psl-transition-in{animation-name:psl-slide-flip-x-in;backface-visibility:hidden}.psl-fx-flip-x.psl-transition-out{animation-name:psl-slide-flip-x-out;backface-visibility:hidden}
.psl-fx-flip-y.psl-transition-in{animation-name:psl-slide-flip-y-in;backface-visibility:hidden}.psl-fx-flip-y.psl-transition-out{animation-name:psl-slide-flip-y-out;backface-visibility:hidden}
.psl-fx-rotate.psl-transition-in{animation-name:psl-slide-rotate-in}.psl-fx-rotate.psl-transition-out{animation-name:psl-slide-rotate-out}
.psl-fx-blur.psl-transition-in{animation-name:psl-slide-blur-in}.psl-fx-blur.psl-transition-out{animation-name:psl-slide-blur-out}
.psl-fx-wipe-left.psl-transition-in{animation-name:psl-slide-wipe-left-in}.psl-fx-wipe-left.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-wipe-right.psl-transition-in{animation-name:psl-slide-wipe-right-in}.psl-fx-wipe-right.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-wipe-up.psl-transition-in{animation-name:psl-slide-wipe-up-in}.psl-fx-wipe-up.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-wipe-down.psl-transition-in{animation-name:psl-slide-wipe-down-in}.psl-fx-wipe-down.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-diagonal.psl-transition-in{animation-name:psl-slide-diagonal-in}.psl-fx-diagonal.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-circle.psl-transition-in{animation-name:psl-slide-circle-in}.psl-fx-circle.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-diamond.psl-transition-in{animation-name:psl-slide-diamond-in}.psl-fx-diamond.psl-transition-out{animation-name:psl-slide-fade-soft-out}
.psl-fx-fold.psl-transition-in{animation-name:psl-slide-fold-in;transform-origin:left center}.psl-fx-fold.psl-transition-out{animation-name:psl-slide-fold-out;transform-origin:right center}

@keyframes psl-slide-fade-in{from{opacity:0}to{opacity:1}}@keyframes psl-slide-fade-out{from{opacity:1}to{opacity:0}}
@keyframes psl-slide-left-in{from{opacity:.7;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes psl-slide-left-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:.55;transform:translate3d(-35%,0,0)}}
@keyframes psl-slide-right-in{from{opacity:.7;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes psl-slide-right-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:.55;transform:translate3d(35%,0,0)}}
@keyframes psl-slide-up-in{from{opacity:.7;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes psl-slide-up-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:.55;transform:translate3d(0,-35%,0)}}
@keyframes psl-slide-down-in{from{opacity:.7;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes psl-slide-down-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:.55;transform:translate3d(0,35%,0)}}
@keyframes psl-slide-zoom-in{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes psl-slide-zoom-in-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}
@keyframes psl-slide-zoom-out-in{from{opacity:0;transform:scale(1.28)}to{opacity:1;transform:scale(1)}}@keyframes psl-slide-zoom-out-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.82)}}
@keyframes psl-slide-flip-x-in{from{opacity:0;transform:rotateX(88deg) scale(.94)}to{opacity:1;transform:rotateX(0) scale(1)}}@keyframes psl-slide-flip-x-out{from{opacity:1;transform:rotateX(0)}to{opacity:0;transform:rotateX(-88deg)}}
@keyframes psl-slide-flip-y-in{from{opacity:0;transform:rotateY(88deg) scale(.94)}to{opacity:1;transform:rotateY(0) scale(1)}}@keyframes psl-slide-flip-y-out{from{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(-88deg)}}
@keyframes psl-slide-rotate-in{from{opacity:0;transform:rotate(12deg) scale(.86)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes psl-slide-rotate-out{from{opacity:1;transform:rotate(0) scale(1)}to{opacity:0;transform:rotate(-10deg) scale(1.1)}}
@keyframes psl-slide-blur-in{from{opacity:0;filter:blur(18px);transform:scale(1.07)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes psl-slide-blur-out{from{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(14px);transform:scale(.98)}}
@keyframes psl-slide-fade-soft-out{from{opacity:1}to{opacity:.25}}
@keyframes psl-slide-wipe-left-in{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}@keyframes psl-slide-wipe-right-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes psl-slide-wipe-up-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes psl-slide-wipe-down-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes psl-slide-diagonal-in{from{clip-path:polygon(0 0,0 0,0 0,0 0)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@keyframes psl-slide-circle-in{from{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(75% at 50% 50%)}}
@keyframes psl-slide-diamond-in{from{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%)}to{clip-path:polygon(50% -20%,120% 50%,50% 120%,-20% 50%)}}
@keyframes psl-slide-fold-in{from{opacity:.2;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes psl-slide-fold-out{from{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}

/* v0.6 YouTube background slides */
.psl-youtube-slide{overflow:hidden;background:#000}.psl-youtube-frame-wrap{position:absolute;inset:0;z-index:1;overflow:hidden;background:#000}.psl-youtube-iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;max-width:none;border:0;pointer-events:none}.psl-youtube-slide:not(.psl-youtube-controls) .psl-youtube-iframe{opacity:1;visibility:visible;transition:none}.psl-youtube-controls .psl-youtube-iframe{pointer-events:auto}.psl-youtube-start-cover{position:absolute;inset:0;z-index:2;overflow:hidden;background:#000;opacity:.998;visibility:visible;transition:opacity .42s ease,visibility 0s linear .42s;pointer-events:none}.psl-youtube-start-cover img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.015)}.psl-youtube-revealed .psl-youtube-start-cover{opacity:0;visibility:hidden}.psl-youtube-dim{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,var(--psl-youtube-dim,.30));pointer-events:none}.psl-youtube-content{position:absolute;inset:0;z-index:3;display:flex;padding:clamp(20px,5vw,72px);box-sizing:border-box;pointer-events:none;color:#fff;text-align:var(--psl-youtube-align,center)}.psl-youtube-valign-top{align-items:flex-start}.psl-youtube-valign-center{align-items:center}.psl-youtube-valign-bottom{align-items:flex-end}.psl-youtube-content-inner{width:var(--psl-youtube-content-width,80%);max-width:100%;margin-left:auto;margin-right:auto}.psl-youtube-heading{margin:0 0 calc(14px * var(--psl-scale));padding:0;color:var(--psl-youtube-heading-color,#fff);font-size:calc(var(--psl-youtube-heading,52px) * var(--psl-scale));line-height:1.15;font-weight:700;letter-spacing:.01em;text-shadow:0 2px 16px rgba(0,0,0,.42)}.psl-youtube-body{margin:0;color:var(--psl-youtube-body-color,#fff);font-size:calc(var(--psl-youtube-body,20px) * var(--psl-scale));line-height:1.6;text-shadow:0 1px 10px rgba(0,0,0,.42)}
.psl-youtube-heading.has-background{display:inline-block;max-width:100%;padding:.14em .34em;background:var(--psl-youtube-heading-bg,#000);box-decoration-break:clone;-webkit-box-decoration-break:clone}.psl-youtube-body.has-background{display:inline-block;max-width:100%;margin-top:.15em;padding:.22em .45em;background:var(--psl-youtube-body-bg,#000);box-decoration-break:clone;-webkit-box-decoration-break:clone}
@media(max-width:782px){.psl-youtube-content{padding:20px}.psl-youtube-content-inner{width:min(100%,var(--psl-youtube-content-width,80%))}}


/* v0.8.2 YouTube independent vertical text offsets */
.psl-youtube-heading{position:relative;top:var(--psl-youtube-heading-y,0px)}
.psl-youtube-body{position:relative;top:var(--psl-youtube-body-y,0px)}

/* v0.9 image rounding/shadows and dimensional buttons */
.psl-layer-image{border-radius:inherit}.psl-button-3d .psl-layer-link,.psl-button-3d>.psl-layer-text{border-radius:inherit}

/* v0.9.2 fragmented/Nivo-style transitions (implemented locally; no Nivo runtime dependency) */
.psl-fragment-layer{position:absolute;inset:0;z-index:50;overflow:hidden;pointer-events:none;border-radius:inherit;transform:translateZ(0)}
.psl-fragment-piece{position:absolute;overflow:hidden;opacity:0;will-change:transform,opacity;backface-visibility:hidden;transform-origin:50% 50%}
.psl-fragment-piece img{position:absolute;display:block;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none;user-select:none;-webkit-user-drag:none}
.psl-slide.psl-fragment-target{opacity:0!important;visibility:visible!important;pointer-events:none!important;transition:none!important}
.psl-slide.psl-fragment-base-out{opacity:1!important;visibility:visible!important;pointer-events:none!important;z-index:3;animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.psl-fragment-layer{display:none!important}}
