/* Pressure Video Slider */
.pvs{position:relative;overflow:hidden;background:#000;color:#fff;height:var(--pvs-h,78vh);min-height:360px;max-height:1200px;outline:none;-webkit-user-select:none;user-select:none;isolation:isolate}
.pvs:focus-visible{box-shadow:inset 0 0 0 3px rgba(255,255,255,.6)}
.pvs.pvs-full-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.pvs-track{display:flex;height:100%;width:100%;will-change:transform;transition:transform var(--pvs-speed,900ms) cubic-bezier(.4,0,.2,1);touch-action:pan-y pinch-zoom;cursor:grab}
.pvs-track.is-dragging{transition:none;cursor:grabbing}
.pvs-track.no-transition{transition:none}
.pvs-slide{position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden;display:flex}
.pvs-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none;background:#000}
.pvs-dim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,calc(var(--pvs-dim,.35) * .6)) 0%,rgba(0,0,0,var(--pvs-dim,.35)) 55%,rgba(0,0,0,calc(var(--pvs-dim,.35) + .25)) 100%);pointer-events:none}
.pvs-caption{position:relative;z-index:2;width:100%;display:flex;align-items:flex-end;padding:clamp(24px,6vw,80px) clamp(20px,6vw,96px) clamp(76px,11vh,128px)}
.pvs-caption-inner{width:100%;max-width:1240px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:clamp(10px,1.6vw,18px)}
.pvs-align-center .pvs-caption-inner{align-items:center;text-align:center}
.pvs-align-right .pvs-caption-inner{align-items:flex-end;text-align:right}
.pvs-kicker{display:inline-block;font-size:clamp(11px,1.1vw,14px);letter-spacing:.18em;text-transform:uppercase;font-weight:600;opacity:.9;padding:6px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;margin:0}
.pvs-heading{margin:0;max-width:14ch;font-size:clamp(2.1rem,6.2vw,4.6rem);line-height:1.02;font-weight:800;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.pvs-sub{margin:0;max-width:52ch;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.5;color:rgba(255,255,255,.88)}
.pvs-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.pvs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;font-weight:600;font-size:1rem;line-height:1;text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;border:2px solid transparent;cursor:pointer}
.pvs-btn-primary{background:var(--pvs-accent,#c82525);color:#fff;border-color:var(--pvs-accent,#c82525)}
.pvs-btn-primary:hover,.pvs-btn-primary:focus-visible{background:#fff;color:#111;border-color:#fff;transform:translateY(-1px)}
.pvs-btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);backdrop-filter:blur(4px)}
.pvs-btn-ghost:hover,.pvs-btn-ghost:focus-visible{background:#fff;color:#111;border-color:#fff;transform:translateY(-1px)}
.pvs-slide-link{position:absolute;inset:0;z-index:3;text-indent:-9999px}

/* buttons-only slides: vertically centred; left/centre/right follows the slide's Text position */
.pvs-caption.pvs-caption-buttons{align-items:flex-end}
.pvs-caption.pvs-caption-buttons .pvs-actions{margin-top:0}
.pvs-align-center .pvs-actions{justify-content:center}
.pvs-align-right .pvs-actions{justify-content:flex-end}

/* caption entrance, like the reference's fade-in-up */
.pvs-caption-inner>*{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.pvs-slide.is-active .pvs-caption-inner>*{opacity:1;transform:none}
.pvs-slide.is-active .pvs-caption-inner>:nth-child(2){transition-delay:.08s}
.pvs-slide.is-active .pvs-caption-inner>:nth-child(3){transition-delay:.16s}
.pvs-slide.is-active .pvs-caption-inner>:nth-child(4){transition-delay:.24s}

/* neutralise theme button styles on the controls */
.pvs button.pvs-arrow,.pvs button.pvs-dot{appearance:none;-webkit-appearance:none;box-shadow:none;text-shadow:none;font:inherit;line-height:0;min-height:0;min-width:0;letter-spacing:0;text-transform:none;outline:none;box-sizing:border-box}
.pvs button.pvs-arrow:hover,.pvs button.pvs-dot:hover{box-shadow:none}

/* arrows */
.pvs button.pvs-arrow{position:absolute;top:50%;z-index:4;width:52px;height:52px;margin-top:-26px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;opacity:0;transition:opacity .25s ease,background-color .2s ease,transform .2s ease;backdrop-filter:blur(4px)}
.pvs-arrow svg{width:22px;height:22px}
.pvs-prev{left:clamp(12px,2.5vw,32px)}
.pvs-next{right:clamp(12px,2.5vw,32px)}
.pvs:hover button.pvs-arrow,.pvs:focus-within button.pvs-arrow{opacity:1}
.pvs button.pvs-arrow:hover{background:var(--pvs-accent,#c82525);border-color:var(--pvs-accent,#c82525);color:#fff}
.pvs-arrow:focus-visible{opacity:1;outline:2px solid #fff;outline-offset:2px}
@media (hover:none){.pvs button.pvs-arrow{display:none}}

/* dots */
.pvs-dots{position:absolute;left:0;right:0;bottom:clamp(18px,3.5vh,34px);z-index:4;display:flex;justify-content:center;gap:14px;margin:0;padding:0}
.pvs button.pvs-dot{width:10px;height:10px;padding:0;margin:0;border:0;border-radius:50%;background:rgba(255,255,255,.85);cursor:pointer;position:relative;transition:background .2s ease}
.pvs-dot::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(255,255,255,0);transition:border-color .25s ease}
.pvs button.pvs-dot.is-active{background:#fff}
.pvs-dot.is-active::before{border-color:rgba(255,255,255,.9)}
.pvs button.pvs-dot:focus-visible{outline:2px solid #fff;outline-offset:6px}

/* single slide: no controls, no drag */
.pvs-single .pvs-track{cursor:default}

@media (max-width:767px){
	.pvs{height:var(--pvs-h-m,72vh);min-height:420px}
	.pvs-caption{align-items:flex-end;padding:20px 20px 72px}
	.pvs-heading{font-size:clamp(2rem,10vw,3rem);max-width:none}
	.pvs-btn{min-height:46px;padding:0 22px;font-size:.95rem}
	.pvs-dots{bottom:22px}
}
@media (prefers-reduced-motion:reduce){
	.pvs-track{transition-duration:1ms}
	.pvs-caption-inner>*{transition:none;opacity:1;transform:none}
}
