.extasy-slider{position:relative;width:100%;margin:0 auto 45px;color:#fff;font-family:inherit}.extasy-slider *{box-sizing:border-box}.extasy-slider__viewport{position:relative;width:100%;height:var(--extasy-slider-height);overflow:hidden;background:#101419;isolation:isolate}.extasy-slider__slide{position:absolute;inset:0;display:block;overflow:hidden;color:#fff!important;text-decoration:none!important;opacity:0;pointer-events:none;transition:opacity .25s ease}.extasy-slider__slide.is-active{opacity:1;pointer-events:auto;z-index:1}.extasy-slider__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 7s ease}.extasy-slider__slide.is-active .extasy-slider__img{transform:scale(1.055)}.extasy-slider__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,15,.78) 0%,rgba(5,10,14,.37) 48%,rgba(5,10,14,.06) 100%),linear-gradient(0deg,rgba(2,4,9,.35),transparent 60%)}.extasy-slider__copy{position:absolute;left:max(5%,calc((100vw - 1440px)/2));bottom:12%;width:min(680px,82%);text-shadow:0 2px 16px rgba(0,0,0,.3)}.extasy-slider__copy h2{font-size:clamp(30px,4.2vw,64px);font-weight:900;color:#fff;margin:0 0 14px;line-height:1.08}.extasy-slider__copy p{font-size:clamp(13px,1.3vw,18px);line-height:1.5;max-width:600px;margin:0 0 18px;color:#fff}.extasy-slider__cta{display:inline-flex;align-items:center;gap:12px;background:#d34360;border-left:5px solid #fff;padding:12px 21px;text-transform:uppercase;font-weight:850;letter-spacing:.02em;font-size:14px;box-shadow:0 10px 25px #0004}.extasy-slider__slide:hover .extasy-slider__cta{background:#aa2947}.extasy-slider__arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);width:44px;height:60px;background:#09131caa;color:white;border:1px solid #ffffff50;border-radius:5px;font-size:36px;cursor:pointer}.extasy-slider__arrow:hover{background:#d34360}.extasy-slider__arrow--prev{left:13px}.extasy-slider__arrow--next{right:13px}.extasy-slider__dots{display:flex;justify-content:center;align-items:center;gap:9px;padding:16px 10px}.extasy-slider__dot{height:13px;width:13px;border:0;border-radius:50%;background:#c4b8b1;cursor:pointer;padding:0;transition:background .2s,transform .2s}.extasy-slider__dot.is-active{background:#d34360;transform:scale(1.16)}.extasy-slider__tiles{position:absolute;inset:0;pointer-events:none;z-index:4;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(5,1fr);visibility:hidden;perspective:1000px}.extasy-slider__tiles.is-playing{visibility:visible}.extasy-slider__tile{background-image:var(--next-image);background-size:800% 500%;background-position:var(--xp) var(--yp);opacity:0;transform:rotateY(85deg) scale(.88);animation:extasy-tile .85s cubic-bezier(.15,.85,.2,1) forwards;animation-delay:var(--delay);backface-visibility:hidden}.extasy-slider__tiles.is-playing .extasy-slider__tile{will-change:transform,opacity}@keyframes extasy-tile{0%{opacity:0;transform:rotateY(85deg) scale(.88)}40%{opacity:1}100%{opacity:1;transform:rotateY(0) scale(1)}}@media(max-width:700px){.extasy-slider__viewport{height:min(var(--extasy-slider-height),430px)}.extasy-slider__copy{left:7%;bottom:12%;width:85%}.extasy-slider__arrow{width:32px;height:44px;font-size:27px}.extasy-slider__arrow--prev{left:5px}.extasy-slider__arrow--next{right:5px}.extasy-slider__tiles{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){.extasy-slider__tile{animation:none}.extasy-slider__img{transition:none}}
/* v1.0.1: break out of narrow Joomla template columns and cover the viewport. */
.extasy-slider{width:100vw;width:100dvw;max-width:none;position:relative;left:50%;transform:translateX(-50%);margin:0 0 48px;overflow:visible;clear:both}
.extasy-slider__viewport{width:100%;height:var(--extasy-slider-height)}
/* Large, clearly visible pager beneath the full-width photograph. */
.extasy-slider__dots{position:relative;z-index:10;display:flex;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:13px 16px;background:transparent}
.extasy-slider__dot{appearance:none;-webkit-appearance:none;display:block;flex:0 0 18px;width:18px;height:18px;border:2px solid #b4a79d;border-radius:50%;background:#c7bdb4;box-shadow:0 1px 2px #0003;cursor:pointer;padding:0;transform:none;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.extasy-slider__dot.is-active,.extasy-slider__dot[aria-current="true"]{background:#d34360;border-color:#d34360;box-shadow:0 0 0 4px #d343602e;transform:scale(1.08)}
.extasy-slider__dot:hover,.extasy-slider__dot:focus-visible{border-color:#d34360;outline-offset:4px}
@media(max-width:700px){.extasy-slider__dots{gap:10px;min-height:50px}.extasy-slider__dot{width:16px;height:16px;flex-basis:16px}}
/* v1.0.2 — taller cinematic canvas and single seamless tile-to-photo handoff. */
.extasy-slider__tiles{z-index:4;transition:opacity .30s ease;opacity:1}
.extasy-slider__tiles.is-dissolving{opacity:0}
.extasy-slider__tile{background-repeat:no-repeat;animation:extasy-tile .85s cubic-bezier(.15,.85,.2,1) both;transform-origin:center;}
.extasy-slider__slide .extasy-slider__copy{transition:opacity .42s ease,transform .42s ease}
.extasy-slider__slide.is-incoming .extasy-slider__copy{animation:extasy-copy-reveal .48s ease both}
@keyframes extasy-copy-reveal{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.extasy-slider__viewport{height:min(var(--extasy-slider-height),520px)}}
@media(prefers-reduced-motion:reduce){.extasy-slider__slide.is-incoming .extasy-slider__copy{animation:none}}
