/* Grover Hero Slider for Divi */
.ghs-slider{--ghs-h:700px;--ghs-t:900ms;--ghs-accent:#C9A227;--ghs-nav:#fff;position:relative;overflow:hidden;width:100%;height:var(--ghs-h);color:#fff;background:#0A1630;box-sizing:border-box}
.ghs-slider *{box-sizing:border-box}
@media (max-width:980px){.ghs-slider{height:var(--ghs-ht,var(--ghs-h))}}
@media (max-width:767px){.ghs-slider{height:var(--ghs-hm,var(--ghs-ht,var(--ghs-h)))}}
.ghs-track{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}
.ghs-slide{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;visibility:hidden;overflow:hidden}
.ghs-slide.is-active{visibility:visible;z-index:2}
.ghs-slide.is-leaving{visibility:visible;z-index:1}
.ghs-bg,.ghs-ov{position:absolute;inset:0}
.ghs-bg{overflow:hidden;min-height:100%}
.ghs-bg .ghs-bgimg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center center;background-repeat:no-repeat}
.ghs-ov{z-index:1;background:var(--ov,none);pointer-events:none}

/* ---- Slide transitions ---- */
.ghs-fx-fade .is-active{animation:ghs-fin var(--ghs-t) ease both}
.ghs-fx-fade .is-leaving{animation:ghs-fout var(--ghs-t) ease both}
.ghs-fx-zoom .is-active{animation:ghs-zin var(--ghs-t) ease both}
.ghs-fx-zoom .is-leaving{animation:ghs-zout var(--ghs-t) ease both}
.ghs-fx-slide.ghs-dir-next .is-active{animation:ghs-sin-n var(--ghs-t) cubic-bezier(.65,0,.2,1) both}
.ghs-fx-slide.ghs-dir-next .is-leaving{animation:ghs-sout-n var(--ghs-t) cubic-bezier(.65,0,.2,1) both}
.ghs-fx-slide.ghs-dir-prev .is-active{animation:ghs-sin-p var(--ghs-t) cubic-bezier(.65,0,.2,1) both}
.ghs-fx-slide.ghs-dir-prev .is-leaving{animation:ghs-sout-p var(--ghs-t) cubic-bezier(.65,0,.2,1) both}
.ghs-slide.is-init{animation:none!important}
@keyframes ghs-fin{from{opacity:0}to{opacity:1}}
@keyframes ghs-fout{from{opacity:1}to{opacity:0}}
@keyframes ghs-zin{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}
@keyframes ghs-zout{from{opacity:1;transform:none}to{opacity:0;transform:scale(.92)}}
@keyframes ghs-sin-n{from{transform:translateX(100%)}to{transform:none}}
@keyframes ghs-sout-n{from{transform:none}to{transform:translateX(-100%)}}
@keyframes ghs-sin-p{from{transform:translateX(-100%)}to{transform:none}}
@keyframes ghs-sout-p{from{transform:none}to{transform:translateX(100%)}}

/* ---- Background image motion (Ken Burns) ---- */
.ghs-kb-zoom-in{--kb-from:scale(1);--kb-to:scale(1.12)}
.ghs-kb-zoom-out{--kb-from:scale(1.12);--kb-to:scale(1)}
.ghs-kb-pan-left{--kb-from:scale(1.12) translateX(2.5%);--kb-to:scale(1.12) translateX(-2.5%)}
.ghs-kb-pan-right{--kb-from:scale(1.12) translateX(-2.5%);--kb-to:scale(1.12) translateX(2.5%)}
.ghs-kb-none{--kb-from:none;--kb-to:none}
.ghs-bg .ghs-bgimg{transform:var(--kb-from);transition:none}
.ghs-slide.is-active .ghs-bg .ghs-bgimg,.ghs-slide.is-leaving .ghs-bg .ghs-bgimg{transform:var(--kb-to);transition:transform 9s linear}

/* ---- Copy ---- */
.ghs-inner{position:relative;z-index:3;display:flex;width:100%;height:100%;max-width:1240px;margin:0 auto;padding:60px 96px 84px}
.ghs-va-top{align-items:flex-start}.ghs-va-center{align-items:center}.ghs-va-bottom{align-items:flex-end}
.ghs-al-left{justify-content:flex-start;text-align:left}
.ghs-al-center{justify-content:center;text-align:center}
.ghs-al-right{justify-content:flex-end;text-align:right}
.ghs-copy{width:100%}
.ghs-slider .ghs-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:0;font-size:14px;line-height:1.4;color:var(--ghs-accent)}
.ghs-slider .ghs-eyebrow::before{content:"";flex:none;width:40px;height:2px;background:currentColor}
.ghs-al-center .ghs-eyebrow{justify-content:center}
.ghs-al-right .ghs-eyebrow{justify-content:flex-end}
.ghs-slider .ghs-heading{margin:0 0 20px;padding:0;color:#fff;font-size:clamp(34px,5.2vw,68px);line-height:1.08;font-weight:700}
.ghs-slider .ghs-text{max-width:560px;font-size:17px;line-height:1.7;color:#e3e7ef}
.ghs-slider .ghs-text p{margin:0 0 1em;padding:0}
.ghs-al-center .ghs-text{margin-left:auto;margin-right:auto}
.ghs-al-right .ghs-text{margin-left:auto}
.ghs-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.ghs-al-center .ghs-actions{justify-content:center}
.ghs-al-right .ghs-actions{justify-content:flex-end}
.ghs-slider .ghs-btn{display:inline-block;padding:14px 28px;border:1px solid transparent;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;transition:filter .2s,color .2s,border-color .2s}
.ghs-slider .ghs-btn-1{background:var(--btn-bg,var(--ghs-accent));color:var(--btn-fg,#0A1630)}
.ghs-slider .ghs-btn-1:hover{filter:brightness(1.1)}
.ghs-slider .ghs-btn-2{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.ghs-slider .ghs-btn-2:hover{border-color:var(--ghs-accent);color:var(--ghs-accent)}

/* ---- Text animations ---- */
.ghs-word{display:inline-block;white-space:nowrap}
.ghs-char{display:inline-block}
.ghs-js .ghs-anim,.ghs-js .ghs-char{opacity:0}
.ghs-js .is-active .ghs-anim{animation-duration:var(--dur,900ms);animation-delay:var(--d,0ms);animation-timing-function:var(--ease,cubic-bezier(.2,.7,.2,1));animation-fill-mode:both}
.ghs-js .is-active .ghs-a-fade{animation-name:ghs-t-fade}
.ghs-js .is-active .ghs-a-slide-left{animation-name:ghs-t-left}
.ghs-js .is-active .ghs-a-slide-right{animation-name:ghs-t-right}
.ghs-js .is-active .ghs-a-slide-up{animation-name:ghs-t-up}
.ghs-js .is-active .ghs-a-slide-down{animation-name:ghs-t-down}
.ghs-js .is-active .ghs-a-zoom-in{animation-name:ghs-t-zin}
.ghs-js .is-active .ghs-a-zoom-out{animation-name:ghs-t-zout}
.ghs-js .is-active .ghs-a-flip{animation-name:ghs-t-flip;transform-origin:50% 0}
.ghs-js .is-active .ghs-a-blur{animation-name:ghs-t-blur}
.ghs-js .is-active .ghs-a-wipe{animation-name:ghs-t-wipe}
.ghs-js .is-active .ghs-char{animation-name:ghs-c-rise;animation-duration:var(--dur,900ms);animation-timing-function:var(--ease,cubic-bezier(.2,.7,.2,1));animation-fill-mode:both;animation-delay:calc(var(--d,0ms) + var(--i,0) * var(--cs,40ms))}
.ghs-js .is-active .ghs-split[data-split="typewriter"] .ghs-char{animation-name:ghs-c-type;animation-duration:1ms;animation-timing-function:step-start}
.ghs-js .is-leaving .ghs-anim,.ghs-js .is-leaving .ghs-char{opacity:1;animation:none}
@keyframes ghs-t-fade{from{opacity:0}to{opacity:1}}
@keyframes ghs-t-left{from{opacity:0;transform:translate3d(-100px,0,0)}to{opacity:1;transform:none}}
@keyframes ghs-t-right{from{opacity:0;transform:translate3d(100px,0,0)}to{opacity:1;transform:none}}
@keyframes ghs-t-up{from{opacity:0;transform:translate3d(0,60px,0)}to{opacity:1;transform:none}}
@keyframes ghs-t-down{from{opacity:0;transform:translate3d(0,-60px,0)}to{opacity:1;transform:none}}
@keyframes ghs-t-zin{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
@keyframes ghs-t-zout{from{opacity:0;transform:scale(1.35)}to{opacity:1;transform:none}}
@keyframes ghs-t-flip{from{opacity:0;transform:perspective(700px) rotateX(-85deg)}to{opacity:1;transform:none}}
@keyframes ghs-t-blur{from{opacity:0;filter:blur(16px);transform:scale(1.06)}to{opacity:1;filter:none;transform:none}}
@keyframes ghs-t-wipe{from{opacity:1;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes ghs-c-rise{from{opacity:0;transform:translateY(.7em) rotate(5deg)}to{opacity:1;transform:none}}
@keyframes ghs-c-type{from{opacity:0}to{opacity:1}}

/* ---- Arrows and dots ---- */
.ghs-arrow{position:absolute;top:50%;z-index:5;width:48px;height:48px;margin-top:-24px;padding:0;border:1px solid var(--ghs-nav);border-radius:50%;background:rgba(6,14,32,.35);cursor:pointer;opacity:.85;transition:background .2s,opacity .2s}
.ghs-arrow:hover,.ghs-arrow:focus-visible{background:var(--ghs-accent);border-color:var(--ghs-accent);opacity:1}
.ghs-arrow::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border:solid var(--ghs-nav);border-width:2px 2px 0 0}
.ghs-prev{left:20px}.ghs-next{right:20px}
.ghs-prev::after{transform:translate(-30%,-50%) rotate(-135deg)}
.ghs-next::after{transform:translate(-70%,-50%) rotate(45deg)}
.ghs-arrow[disabled]{opacity:.25;cursor:default}
.ghs-dots{position:absolute;left:0;right:0;bottom:26px;z-index:5;display:flex;justify-content:center;gap:10px}
.ghs-dots button{width:10px;height:10px;padding:0;border:1px solid var(--ghs-nav);border-radius:5px;background:transparent;cursor:pointer;transition:width .25s,background .25s}
.ghs-dots button.is-on{width:26px;background:var(--ghs-accent);border-color:var(--ghs-accent)}
.ghs-slider:focus-visible{outline:2px solid var(--ghs-accent);outline-offset:-4px}
@media (max-width:767px){.ghs-arrow{display:none}.ghs-inner{padding:40px 24px 70px}}

@media (prefers-reduced-motion:reduce){
	.ghs-js .ghs-anim,.ghs-js .ghs-char{opacity:1!important;animation:none!important;transform:none!important}
	.ghs-slide,.ghs-bg .ghs-bgimg{animation:none!important;transition:none!important}
}
