/**
 * Hero slider for the Home page (#f2e-hero). Behaviour: assets/js/hero-slider.js.
 */
#f2e-hero{display:grid!important;grid-template-columns:100%;position:relative;overflow:hidden}
/* Slides: the incoming one fades in on top (z 2) while the outgoing one stays opaque underneath (z 1). */
#f2e-hero>.f2e-slide{grid-area:1/1;position:relative;isolation:isolate;overflow:hidden;opacity:0;visibility:hidden;z-index:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),visibility 0s linear 1.2s}
#f2e-hero>.f2e-slide.is-leaving{opacity:1;visibility:visible;z-index:1;transition:none}
#f2e-hero>.f2e-slide.is-active,#f2e-hero:not(.f2e-ready)>.f2e-slide:first-child{opacity:1;visibility:visible;z-index:2;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),visibility 0s}
/* Ken Burns: a copy of the slide photo that slowly settles while the slide is on screen. */
#f2e-hero>.f2e-slide::after{content:"";position:absolute;inset:0;z-index:0;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.1);transform-origin:60% 50%;will-change:transform;pointer-events:none}
#f2e-hero>.f2e-slide.is-active::after,#f2e-hero>.f2e-slide.is-leaving::after,#f2e-hero:not(.f2e-ready)>.f2e-slide:first-child::after{animation:f2eKenBurns 9s cubic-bezier(.25,.1,.25,1) both}
#f2e-hero>.f2e-slide::before{z-index:1}
#f2e-hero>.f2e-slide>.e-con-inner{position:relative;z-index:2}
/* Radial glow, moved inside each slide so it stays between the photo and the text. */
#f2e-hero::after{display:none}
#f2e-hero>.f2e-slide>.e-con-inner::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:calc(var(--padding-top,0px) * -1);bottom:calc(var(--padding-bottom,0px) * -1);left:50%;width:100vw;margin-left:-50vw;background:radial-gradient(811px 484px at 75% 40.5%,rgba(114,136,163,.24),rgba(114,136,163,0))}
/* Copy is not animated: every slide carries the same text in the same place, so it stays still while only the photos change. */
@keyframes f2eKenBurns{from{transform:scale(1.1)}to{transform:scale(1)}}
html:not(.isl-loaded) #f2e-hero>.f2e-slide::after{animation-play-state:paused}
/* Dots: dim track, white fill that runs for the slide interval. */
#f2e-hero>.elementor-widget-html{grid-area:1/1;align-self:end;position:relative;z-index:3;padding:0 16px 40px;pointer-events:none;margin:0}
#f2e-hero .f2e-dots{max-width:1216px;margin:0 auto;display:flex;gap:8px;pointer-events:auto}
#f2e-hero .f2e-dots button{position:relative;width:28px;height:20px;padding:0;border:0;border-radius:0;cursor:pointer;color:rgba(255,255,255,.35);background:linear-gradient(currentColor,currentColor) center/100% 3px no-repeat;transition:color .3s ease,width .4s cubic-bezier(.4,0,.2,1)}
#f2e-hero .f2e-dots button:hover{color:rgba(255,255,255,.7)}
#f2e-hero .f2e-dots button.is-active{width:44px;color:rgba(255,255,255,.35)}
#f2e-hero .f2e-dots button.is-active::after{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:#FFFFFF;transform-origin:left center;animation:f2eProgress var(--f2e-interval,6.5s) linear both}
#f2e-hero.is-paused .f2e-dots button.is-active::after{animation-play-state:paused}
#f2e-hero .f2e-dots button:focus-visible{outline:2px solid #2BAAE2;outline-offset:2px}
@keyframes f2eProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1024px){#f2e-hero>.elementor-widget-html{padding:0 24px 32px}#f2e-hero>.f2e-slide{padding-bottom:96px!important}}
@media(max-width:767px){#f2e-hero>.elementor-widget-html{padding:0 16px 24px}#f2e-hero>.f2e-slide{padding-bottom:80px!important}}
@media(prefers-reduced-motion:reduce){#f2e-hero>.f2e-slide,#f2e-hero>.f2e-slide.is-active{transition:none}#f2e-hero>.f2e-slide::after{animation:none!important;transform:none}#f2e-hero .f2e-dots button.is-active::after{animation:none;transform:none}}
