/* Quote Hero Slider – all values come from CSS variables set inline per slider */
.qhs{position:relative;width:100%;height:var(--h);overflow:hidden;border-radius:var(--rad);background:var(--bg);color:#fff;font-family:var(--qf);isolation:isolate;touch-action:pan-y;box-sizing:border-box}
.qhs *,.qhs *::before,.qhs *::after{box-sizing:border-box}
.qhs:focus-visible{outline:2px solid var(--abg);outline-offset:-4px}
.qhs__slides{position:absolute;inset:0}
.qhs__slide{position:absolute;inset:0;overflow:hidden;visibility:hidden;will-change:transform,opacity}
.qhs__slide.is-active,.qhs__slide.is-leaving,.qhs__slide.is-incoming{visibility:visible}
.qhs__slide.is-active{z-index:1}
.qhs__slide.is-incoming{z-index:2}

/* image + overlay */
.qhs .qhs__bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;object-fit:var(--fit);object-position:var(--pos);transform-origin:center;margin:0;border:0}
.qhs__ov{position:absolute;inset:0;background:var(--ovbg);pointer-events:none}
.qhs--kb .is-active .qhs__bg,.qhs--kb .is-leaving .qhs__bg{animation:qhs-kb var(--kbd) linear forwards}
@keyframes qhs-kb{from{transform:scale(1)}to{transform:scale(var(--kbs))}}

/* text */
.qhs__inner{position:absolute;inset:0;display:flex;align-items:var(--av);padding:var(--cy) 0;pointer-events:none;z-index:3}
.qhs__content{margin-left:var(--cl);width:var(--cw);text-align:var(--ta);pointer-events:auto}
.qhs .qhs__quote{margin:0;padding:0;border:0;background:none;box-shadow:none;quotes:none;color:var(--qc);font-family:var(--qf);font-size:var(--qs);font-weight:var(--qw);font-style:var(--qst);line-height:var(--qlh);letter-spacing:var(--qls);text-transform:var(--qtt)}
.qhs .qhs__quote::before,.qhs .qhs__quote::after{content:none}
.qhs .qhs__author{margin:var(--aumt) 0 0;padding:0;color:var(--auc);font-family:var(--auf);font-size:var(--aus);font-weight:var(--auw);font-style:var(--aust);text-transform:var(--autt);line-height:1.4}
.qhs .qhs__btn{display:inline-block;margin-top:var(--bmt);padding:var(--bpy) var(--bpx);background:var(--bbg);color:var(--bc);border:var(--bbw) solid var(--bbc);border-radius:var(--br);font-family:var(--qf);font-size:var(--bfs);font-weight:var(--bw);text-transform:var(--btt);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--hd),color var(--hd),border-color var(--hd),transform var(--hd)}
.qhs .qhs__btn:hover,.qhs .qhs__btn:focus-visible{background:var(--bhbg);color:var(--bhc);border-color:var(--bhbc);transform:translateY(var(--bl))}

/* text entrance animation (restarts every time a slide becomes active) */
.qhs .is-active .qhs__anim{animation-duration:var(--tad);animation-delay:calc(var(--tadl) + var(--i,0) * var(--tast));animation-fill-mode:backwards;animation-timing-function:cubic-bezier(.22,.8,.3,1)}
.qhs[data-ta="fade-in"] .is-active .qhs__anim{animation-name:qhs-fade-in}
.qhs[data-ta="fade-up"] .is-active .qhs__anim{animation-name:qhs-fade-up}
.qhs[data-ta="fade-down"] .is-active .qhs__anim{animation-name:qhs-fade-down}
.qhs[data-ta="slide-left"] .is-active .qhs__anim{animation-name:qhs-slide-left}
.qhs[data-ta="slide-right"] .is-active .qhs__anim{animation-name:qhs-slide-right}
.qhs[data-ta="zoom-in"] .is-active .qhs__anim{animation-name:qhs-zoom-in}
@keyframes qhs-fade-in{from{opacity:0}to{opacity:1}}
@keyframes qhs-fade-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes qhs-fade-down{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}
@keyframes qhs-slide-left{from{opacity:0;transform:translateX(-44px)}to{opacity:1;transform:none}}
@keyframes qhs-slide-right{from{opacity:0;transform:translateX(44px)}to{opacity:1;transform:none}}
@keyframes qhs-zoom-in{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}

/* arrows */
.qhs__arrows{position:absolute;z-index:6;display:flex;gap:var(--ag)}
.qhs[data-apos="bottom-right"] .qhs__arrows{right:var(--aox);bottom:var(--aoy)}
.qhs[data-apos="bottom-left"] .qhs__arrows{left:var(--aox);bottom:var(--aoy)}
.qhs[data-apos="bottom-center"] .qhs__arrows{left:50%;bottom:var(--aoy);transform:translateX(-50%)}
.qhs[data-apos="top-right"] .qhs__arrows{right:var(--aox);top:var(--aoy)}
.qhs[data-apos="middle-sides"] .qhs__arrows{left:var(--aox);right:var(--aox);top:50%;transform:translateY(-50%);justify-content:space-between;pointer-events:none}
.qhs__arrow{display:inline-flex;align-items:center;justify-content:center;width:var(--az);height:var(--az);padding:0;margin:0;border:var(--abw) solid var(--abc);border-radius:var(--ar);background:var(--abg);color:var(--acl);box-shadow:var(--ash);cursor:pointer;pointer-events:auto;transition:background-color var(--hd),color var(--hd),border-color var(--hd),transform var(--hd),opacity var(--hd);-webkit-appearance:none;appearance:none}
.qhs__arrow svg{width:var(--ai);height:var(--ai);display:block}
.qhs__arrow:hover:not(:disabled),.qhs__arrow:focus-visible:not(:disabled){background:var(--ahbg);color:var(--ahc);border-color:var(--ahbc);transform:scale(var(--ahs))}
.qhs__arrow:focus-visible{outline:2px solid var(--abg);outline-offset:3px}
.qhs__arrow:disabled{background:var(--adbg);color:var(--adc);border-color:var(--adbg);opacity:var(--ado);cursor:default}

/* dots */
.qhs__dots{position:absolute;z-index:6;display:flex;gap:var(--dg);bottom:var(--doy)}
.qhs[data-dpos="bottom-left"] .qhs__dots{left:var(--aox)}
.qhs[data-dpos="bottom-right"] .qhs__dots{right:var(--aox)}
.qhs[data-dpos="bottom-center"] .qhs__dots{left:50%;transform:translateX(-50%)}
.qhs__dot{width:var(--ds);height:var(--ds);padding:0;margin:0;border:0;border-radius:50%;background:var(--dc);opacity:var(--dio);cursor:pointer;transition:background-color var(--hd),opacity var(--hd),transform var(--hd);-webkit-appearance:none;appearance:none}
.qhs__dot:hover{background:var(--dhc);opacity:1}
.qhs__dot.is-active{background:var(--dac);opacity:1;transform:scale(1.3)}
.qhs__dot:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* progress bar */
.qhs__progress{position:absolute;z-index:7;left:0;right:0;bottom:0;height:var(--ph);background:rgba(255,255,255,.18);pointer-events:none}
.qhs__progress span{display:block;height:100%;width:0;background:var(--pc)}
@keyframes qhs-prog{from{width:0}to{width:100%}}

/* responsive - every device variable falls back to the next larger device */
@media (max-width:1024px){
	.qhs{height:var(--h-t,var(--h))}
	.qhs .qhs__quote{font-size:var(--qs-t,var(--qs))}
	.qhs__inner{align-items:var(--av-t,var(--av));padding:var(--cy-t,var(--cy)) 0}
	.qhs__content{margin-left:var(--cl-t,var(--cl));width:var(--cw-t,var(--cw))}
}
@media (max-width:767px){
	.qhs{height:var(--h-m,var(--h-t,var(--h)))}
	.qhs .qhs__quote{font-size:var(--qs-m,var(--qs-t,var(--qs)))}
	.qhs .qhs__author{font-size:var(--aus-m,var(--aus))}
	.qhs__inner{align-items:var(--av-m,var(--av-t,var(--av)));padding:var(--cy-m,var(--cy-t,var(--cy))) 0}
	.qhs__content{margin-left:var(--cl-m,var(--cl-t,var(--cl)));width:var(--cw-m,var(--cw-t,var(--cw)))}
	.qhs__arrow{width:var(--az-m,var(--az));height:var(--az-m,var(--az))}
	.qhs[data-ahm="1"] .qhs__arrows{display:none}
	.qhs[data-apos="bottom-right"] .qhs__arrows{right:calc(var(--aox) * .5)}
	.qhs[data-apos="bottom-left"] .qhs__arrows{left:calc(var(--aox) * .5)}
}

@media (prefers-reduced-motion:reduce){
	.qhs .qhs__anim,.qhs--kb .qhs__bg{animation:none !important}
}

/* ===== video slides ===== */
.qhs__vid{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity var(--vfade,600ms) ease}
.qhs__vid.is-playing{opacity:1}
.qhs .qhs__vid iframe{position:absolute;left:50%;top:50%;width:100%;height:100%;max-width:none;border:0;margin:0;pointer-events:none;transform:translate(-50%,-50%)}
.qhs .qhs__vid video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:var(--vfit,cover);object-position:var(--pos);transform:scale(var(--vz,1));pointer-events:none;margin:0;border:0}
@media (prefers-reduced-motion:reduce){.qhs__vid{transition:none}}

/* video buttons */
.qhs__vc{position:absolute;z-index:6;display:none;gap:var(--vcg,10px)}
.qhs.is-video .qhs__vc{display:flex}
.qhs[data-vcpos="bottom-left"] .qhs__vc{left:var(--vcox,48px);bottom:var(--vcoy,34px)}
.qhs[data-vcpos="bottom-right"] .qhs__vc{right:var(--vcox,48px);bottom:var(--vcoy,34px)}
.qhs[data-vcpos="bottom-center"] .qhs__vc{left:50%;bottom:var(--vcoy,34px);transform:translateX(-50%)}
.qhs[data-vcpos="top-left"] .qhs__vc{left:var(--vcox,48px);top:var(--vcoy,34px)}
.qhs[data-vcpos="top-right"] .qhs__vc{right:var(--vcox,48px);top:var(--vcoy,34px)}
.qhs__vbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--vcz,44px);height:var(--vcz,44px);padding:0;margin:0;border:0;border-radius:var(--vcr,50%);background:var(--vcbg,#111);color:var(--vcc,#fff);cursor:pointer;transition:background-color var(--hd,250ms),color var(--hd,250ms),transform var(--hd,250ms);-webkit-appearance:none;appearance:none}
.qhs__vbtn svg{width:var(--vci,20px);height:var(--vci,20px);display:block}
.qhs__vbtn:hover,.qhs__vbtn:focus-visible{background:var(--vchbg,#fff);color:var(--vchc,#111)}
.qhs__vbtn:focus-visible{outline:2px solid var(--vcbg,#111);outline-offset:3px}
.qhs__vplay .i-pause,.qhs__vplay.is-playing .i-play{display:none}
.qhs__vplay.is-playing .i-pause{display:block}
.qhs__vmute .i-muted,.qhs__vmute.is-muted .i-sound{display:none}
.qhs__vmute.is-muted .i-muted{display:block}
