.aag-wrap{
	--aag-gap:32px; --aag-w-small:18.5vw; --aag-w-double:18.5vw; --aag-w-center:28.5vw;
	--aag-h-single:50.5vh; --aag-h-dbig:38.5vh; --aag-h-dsmall:24vh;
	--aag-radius:16px; --aag-top:200px; --aag-scroll-h:250vh;
	--aag-dur:900ms; --aag-stagger:120ms;
	position:relative; width:100%;
}
.aag-wrap.aag-zoom{ height:var(--aag-scroll-h); }
.aag-stage{ position:relative; width:100%; height:100vh; height:100svh; overflow:hidden; background:#0c1421; }

.aag-heading{ position:absolute; top:0; left:0; right:0; z-index:3; box-sizing:border-box; pointer-events:none; will-change:opacity,transform; }
.aag-heading > *{ margin:0; color:#fff; font-size:clamp(24px,3vw,48px); line-height:1.25; font-weight:700; }

.aag-gallery{ position:absolute; left:0; right:0; bottom:0; top:var(--aag-top); display:flex; align-items:center; justify-content:center; z-index:1; }
.aag-track{ display:flex; align-items:center; justify-content:center; flex:0 0 auto; gap:var(--aag-gap); height:100%; }

.aag-slide{ position:relative; flex:0 0 auto; border-radius:var(--aag-radius); overflow:hidden; }
.aag-single.aag-small{ width:var(--aag-w-small); height:var(--aag-h-single); }
.aag-single.aag-center{ width:var(--aag-w-center); height:100%; z-index:2; }
.aag-double{ width:var(--aag-w-double); display:flex; flex-direction:column; gap:var(--aag-gap); overflow:visible; border-radius:0; }
.aag-cell{ position:relative; overflow:hidden; width:100%; border-radius:var(--aag-radius); }
.aag-cell.is-big{ height:var(--aag-h-dbig); }
.aag-cell.is-small{ height:var(--aag-h-dsmall); }

.aag-slide::after,.aag-cell::after{ content:""; position:absolute; inset:0; pointer-events:none; }
.aag-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; user-select:none; will-change:transform; }

/* entrance animation */
.aag-entrance .aag-slide{ opacity:0; transform:translateY(60px); transition:opacity var(--aag-dur) ease, transform var(--aag-dur) cubic-bezier(.2,.7,.2,1); transition-delay:calc(var(--i) * var(--aag-stagger)); }
.aag-entrance.aag-in .aag-slide{ opacity:1; transform:none; }
.aag-entrance.aag-done .aag-slide{ transition:none !important; }

/* sticky pin: no overflow:hidden on Elementor parent containers, it breaks sticky */
.aag-wrap.aag-zoom .aag-stage{ position:sticky; top:0; }
