/* Pea Slider — front end. Breakpoints: tablet <=1024px, mobile <=767px. */
.pea{position:relative;width:100%;overflow:hidden;isolation:isolate;height:var(--h);min-height:var(--minh);max-height:var(--maxh);--gut:24px;--ref:var(--refd,1240);background:#111;contain:paint}
@supports (height:1svh){.pea{height:var(--hs,var(--h))}}
.pea-track,.pea-slide,.pea-bg,.pea-overlay,.pea-slide-link{position:absolute;inset:0}
.pea-slide{opacity:0;visibility:hidden;transition:opacity var(--speed) ease,visibility 0s linear var(--speed)}
.pea-slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity var(--speed) ease,visibility 0s}

/* Slide transition */
.pea-t-slide .pea-slide{opacity:1;transform:translate3d(100%,0,0);transition:visibility 0s linear var(--speed)}
.pea-t-slide[data-dir=prev] .pea-slide{transform:translate3d(-100%,0,0)}
.pea-t-slide .pea-slide.is-out{transform:translate3d(-100%,0,0);visibility:visible;transition:transform var(--speed) cubic-bezier(.65,0,.35,1),visibility 0s linear var(--speed)}
.pea-t-slide[data-dir=prev] .pea-slide.is-out{transform:translate3d(100%,0,0)}
.pea-t-slide .pea-slide.is-active{transform:none;transition:transform var(--speed) cubic-bezier(.65,0,.35,1),visibility 0s}

/* Backgrounds */
.pea-bg{overflow:hidden}
.pea-bg picture{display:contents}
.pea-bg-img,.pea-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;border:0;margin:0}
.pea-video{opacity:0;transition:opacity .6s ease}
/* YouTube/Vimeo background: cropped to cover the slide like an image (16:9 source) */
.pea-embed{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pea-embed iframe{position:absolute;top:50%;left:50%;width:100%;height:100%;max-width:none;border:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .8s ease}
.pea-embed iframe.is-playing{opacity:1}
.pea-video.is-playing{opacity:1}
.pea-kb .pea-bg-img{transform-origin:center}
.pea-slide.is-active .pea-kb .pea-bg-img{animation:pea-kb 14s ease-out both}
@keyframes pea-kb{from{transform:scale(1)}to{transform:scale(1.12)}}
.pea-overlay{pointer-events:none}
/* Pattern overlays: --ps = dot/line size, --pg = repeat distance */
.pea-pattern{position:absolute;inset:0;pointer-events:none}
.pea-pat-dots{background-image:radial-gradient(circle,var(--pc) calc(var(--ps) / 2),transparent calc(var(--ps) / 2 + .6px));background-size:var(--pg) var(--pg)}
.pea-pat-grid{background-image:linear-gradient(var(--pc) var(--ps),transparent var(--ps)),linear-gradient(90deg,var(--pc) var(--ps),transparent var(--ps));background-size:var(--pg) var(--pg)}
.pea-pat-lines{background-image:repeating-linear-gradient(0deg,var(--pc) 0 var(--ps),transparent var(--ps) var(--pg))}
.pea-pat-diagonal{background-image:repeating-linear-gradient(45deg,var(--pc) 0 var(--ps),transparent var(--ps) var(--pg))}
.pea-slide-link{z-index:2}

/* Stage + layers: geometry is all custom properties set per layer */
.pea-stage{position:absolute;top:0;bottom:0;left:50%;z-index:3;width:min(calc(100% - var(--gut) * 2),var(--stage));transform:translateX(-50%);pointer-events:none}
/* Fluid scaling: 1 design px = 1px at the design width, less below it. */
@supports (width:1cqw){.pea-stage{container-type:inline-size;--k:min(1px,calc(100cqw / var(--ref)))}}
.pea-layer{position:absolute;left:var(--x);top:var(--y);transform:translate(var(--xt,calc(var(--x) * -1)),var(--yt,calc(var(--y) * -1)));width:var(--w);max-width:100%;font-size:var(--fs);line-height:var(--lh,1.1);text-align:var(--al);pointer-events:auto;box-sizing:border-box}
/* ---- Layer animations: only transform, opacity, filter and clip-path (GPU friendly) ---- */
.pea-li{animation:none}
.pea-slide:not(.is-in) .pea-li{opacity:0}
.pea-slide.is-in .pea-li{animation:var(--an,pea-in) var(--adur) var(--ease,cubic-bezier(.2,.7,.2,1)) var(--ad) backwards}
.pea-slide.is-in .pea-a-none,.pea-slide.is-in .pea-split{animation:none}
/* Split text: each word/letter animates with a stagger */
.pea-split .pea-s,.pea-w{display:inline-block}
.pea-w{white-space:nowrap}
.pea-slide.is-in .pea-split .pea-s{animation:var(--an,pea-in) var(--adur) var(--ease,cubic-bezier(.2,.7,.2,1)) calc(var(--ad) + var(--i) * var(--stg,40ms)) backwards}
.pea-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Entrance effects (--dist is the distance set per layer) */
.pea-a-fade-up{--from:translate3d(0,var(--dist,40px),0)}
.pea-a-fade-down{--from:translate3d(0,calc(var(--dist,40px) * -1),0)}
.pea-a-fade-left{--from:translate3d(calc(var(--dist,40px) * 1.5),0,0)}
.pea-a-fade-right{--from:translate3d(calc(var(--dist,40px) * -1.5),0,0)}
.pea-a-zoom-in{--from:scale(.8)}
.pea-a-zoom-out{--from:scale(1.2)}
.pea-a-blur{--f0:blur(14px);--from:scale(1.05)}
.pea-a-rotate{--from:rotate(-14deg) scale(.85)}
.pea-a-flip{--from:perspective(700px) rotateX(85deg)}
.pea-a-skew{--from:translate3d(calc(var(--dist,40px) * -1.5),0,0) skewX(24deg)}
.pea-a-mask-up,.pea-a-mask-down,.pea-a-mask-left,.pea-a-mask-right{--an:pea-mask}
.pea-a-mask-up{--c0:inset(100% -20% -20% -20%);--from:translate3d(0,calc(var(--dist,40px) * .6),0)}
.pea-a-mask-down{--c0:inset(-20% -20% 100% -20%);--from:translate3d(0,calc(var(--dist,40px) * -.6),0)}
.pea-a-mask-left{--c0:inset(-20% -20% -20% 100%);--from:translate3d(calc(var(--dist,40px) * .6),0,0)}
.pea-a-mask-right{--c0:inset(-20% 100% -20% -20%);--from:translate3d(calc(var(--dist,40px) * -.6),0,0)}
@keyframes pea-in{from{opacity:0;transform:var(--from,none);filter:var(--f0,none)}}
@keyframes pea-mask{from{clip-path:var(--c0);transform:var(--from,none)}to{clip-path:inset(-20% -20% -20% -20%)}}
/* Exits play before the slide changes */
.pea-slide.is-exiting .pea-li[class*="pea-o-"]{animation:pea-out var(--odur,400ms) cubic-bezier(.55,0,.75,.2) forwards}
.pea-slide.is-exiting .pea-split .pea-s{animation:none}
.pea-o-fade-up{--oto:translate3d(0,calc(var(--dist,40px) * -1),0)}
.pea-o-fade-down{--oto:translate3d(0,var(--dist,40px),0)}
.pea-o-fade-left{--oto:translate3d(calc(var(--dist,40px) * -1.5),0,0)}
.pea-o-fade-right{--oto:translate3d(calc(var(--dist,40px) * 1.5),0,0)}
.pea-o-zoom-in{--oto:scale(1.2)}
.pea-o-zoom-out{--oto:scale(.8)}
.pea-o-blur{--of:blur(14px)}
@keyframes pea-out{to{opacity:0;transform:var(--oto,none);filter:var(--of,none)}}
/* Loops start once the entrance has finished */
.pea-lp{display:block;transform-origin:center}
.pea-slide.is-in .pea-lp{animation:var(--lan,none) var(--ldur,2400ms) ease-in-out var(--lst,0ms) infinite}
.pea-slide.is-in .pea-lp-spin{animation-timing-function:linear}
.pea-lp-pulse{--lan:pea-pulse}.pea-lp-float{--lan:pea-float}.pea-lp-sway{--lan:pea-sway}.pea-lp-spin{--lan:pea-spin}.pea-lp-wiggle{--lan:pea-wiggle}.pea-lp-heartbeat{--lan:pea-beat}
@keyframes pea-pulse{50%{transform:scale(calc(1 + .07 * var(--ls,1)))}}
@keyframes pea-float{50%{transform:translate3d(0,calc(-10px * var(--ls,1)),0)}}
@keyframes pea-sway{25%{transform:rotate(calc(4deg * var(--ls,1)))}75%{transform:rotate(calc(-4deg * var(--ls,1)))}}
@keyframes pea-spin{to{transform:rotate(360deg)}}
@keyframes pea-wiggle{0%,60%,100%{transform:none}10%,30%{transform:rotate(calc(-6deg * var(--ls,1)))}20%,40%{transform:rotate(calc(6deg * var(--ls,1)))}}
@keyframes pea-beat{0%,40%,100%{transform:none}10%,30%{transform:scale(calc(1 + .12 * var(--ls,1)))}20%{transform:scale(calc(1 + .03 * var(--ls,1)))}}

/* Layer content resets so theme heading styles don't leak in */
.pea .pea-text{margin:0;padding:0;font-size:inherit;font-weight:inherit;font-style:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;border:0;background:none}
/* Font family is inherited from the layer/slider, except: when the slider uses the theme's fonts,
   headings without their own font are left alone so the theme's heading font applies. */
.pea:not(.pea-ff-theme) .pea-text,.pea .pea-layer[style*="font-family"] .pea-text,.pea .pea-text:not(h1,h2,h3,h4,h5,h6){font-family:inherit}
.pea .pea-text a{color:inherit;text-decoration:none}
.pea-boxed .pea-text,.pea .pea-btn{display:inline-block;background:var(--lbg,transparent);border:2px solid var(--lbd,transparent);border-radius:var(--lr,0);padding:var(--lp,0)}
.pea .pea-btn{padding:var(--lp,.75em 1.8em);color:inherit;text-decoration:none;line-height:inherit;transition:filter .2s,transform .2s}
.pea .pea-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.pea-shadow{text-shadow:0 2px 14px rgba(0,0,0,.45)}
.pea-shadow .pea-img{filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.pea .pea-img{display:block;width:100%;height:auto;max-width:100%;margin:0}
.pea .pea-play-btn{display:inline-flex;align-items:center;gap:.5em;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit}
.pea-play-icon{display:grid;place-items:center;width:2.4em;height:2.4em;border-radius:50%;background:var(--lbg,rgba(255,255,255,.15));border:2px solid var(--lbd,currentColor);transition:transform .25s}
.pea-play-icon svg{width:1em;height:1em;margin-left:.12em}
.pea-play-btn:hover .pea-play-icon{transform:scale(1.08)}
.pea-play-label{font-size:.45em}

/* Controls */
.pea-arrow{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;cursor:pointer;opacity:.75;transition:opacity .2s,background .2s}
.pea-arrow:hover{opacity:1;background:rgba(0,0,0,.5)}
.pea-arrow svg{width:24px;height:24px}
.pea-prev{left:16px}.pea-next{right:16px}
.pea-dots{position:absolute;left:0;right:0;bottom:20px;z-index:5;display:flex;justify-content:center;gap:10px}
.pea-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:background .2s,transform .2s}
.pea-dot.is-active{background:#fff;transform:scale(1.25)}
.pea :focus-visible{outline:2px solid #fff;outline-offset:3px}
.pea-single .pea-arrow,.pea-single .pea-dots{display:none}

/* Desktop only */
@media (min-width:1025px){
.pea-hide-d,.pea-noarrows-d .pea-arrow,.pea-nodots-d .pea-dots{display:none}
}
/* Tablet */
@media (max-width:1024px){
.pea{height:var(--th);--ref:var(--reft,786)}
@supports (height:1svh){.pea{height:var(--ths,var(--th))}}
.pea-layer{left:var(--tx);top:var(--ty);transform:translate(var(--txt,calc(var(--tx) * -1)),var(--tyt,calc(var(--ty) * -1)));width:var(--tw);font-size:var(--tfs);line-height:var(--tlh,var(--lh,1.1));text-align:var(--tal)}
}
@media (min-width:768px) and (max-width:1024px){
.pea-hide-t,.pea-noarrows-t .pea-arrow,.pea-nodots-t .pea-dots{display:none}
}
/* Mobile */
@media (max-width:767px){
.pea{height:var(--mh);--gut:16px;--ref:var(--refm,358)}
@supports (height:1svh){.pea{height:var(--mhs,var(--mh))}}
.pea-layer{left:var(--mx);top:var(--my);transform:translate(var(--mxt,calc(var(--mx) * -1)),var(--myt,calc(var(--my) * -1)));width:var(--mw);font-size:var(--mfs);line-height:var(--mlh,var(--lh,1.1));text-align:var(--mal)}
.pea-bg-img{object-position:var(--pos-m)!important}
.pea-hide-m,.pea-noarrows-m .pea-arrow,.pea-nodots-m .pea-dots{display:none}
.pea-arrow{width:40px;height:40px;margin-top:-20px}
.pea-prev{left:8px}.pea-next{right:8px}
}

/* Video lightbox */
.pea-lb{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:rgba(0,0,0,.9);animation:pea-fade .25s ease}
.pea-lb-inner{width:min(92vw,calc(85vh * 16 / 9));aspect-ratio:16/9;background:#000}
.pea-lb iframe,.pea-lb video{display:block;width:100%;height:100%;border:0}
.pea-lb-close{position:absolute;top:12px;right:12px;width:44px;height:44px;padding:0;border:0;background:none;color:#fff;font-size:34px;line-height:1;cursor:pointer}
@keyframes pea-fade{from{opacity:0}}

@media (prefers-reduced-motion:reduce){
.pea-slide,.pea-t-slide .pea-slide.is-active,.pea-t-slide .pea-slide.is-out{transition-duration:1ms!important}
.pea-slide.is-in .pea-li,.pea-slide.is-in .pea-s,.pea-lp,.pea-slide.is-exiting .pea-li,.pea-slide.is-active .pea-kb .pea-bg-img{animation:none!important}
.pea-slide:not(.is-in) .pea-li{opacity:1}
}
