/* Able Gallery Engine 2.1 — scroll-driven triple image marquee */
.agl-section,.agl-section *,.agl-section *::before,.agl-section *::after{box-sizing:border-box}
.agl-section{position:relative;isolation:isolate;width:100%;height:auto;margin:0!important;padding:0!important;background:#fff;overflow:clip}
.agl-sticky{position:relative;top:auto;width:100%;height:auto;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px 0}
.agl-marquees{display:flex;flex-direction:column;gap:8px;width:100%;overflow:hidden;transform:translateZ(0)}
.agl-row{position:relative;width:100%;overflow:hidden}
.agl-track{display:flex;width:max-content;gap:0;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.agl-segment{display:flex;gap:8px;flex:none;padding-right:8px}
.agl-photo{flex:0 0 auto!important;display:block!important;width:clamp(220px,24vw,420px);height:clamp(160px,17vw,270px);margin:0!important;padding:0!important;overflow:hidden;background:#e7e9e7;border:0!important;border-radius:0!important;pointer-events:none}
.agl-photo:nth-child(3n+2){width:clamp(270px,30vw,500px)}
.agl-photo:nth-child(4n){width:clamp(185px,20vw,350px)}
.agl-photo__image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;transition:none!important;transform:none!important;user-select:none}
@media(max-width:767px){.agl-section{height:auto}.agl-sticky{height:auto;padding:10px 0}.agl-marquees{gap:6px}.agl-segment{gap:6px;padding-right:6px}.agl-photo{width:58vw;height:clamp(135px,24svh,230px)}.agl-photo:nth-child(3n+2){width:70vw}.agl-photo:nth-child(4n){width:48vw}}
@media(max-height:650px) and (min-width:768px){.agl-photo{height:24vh}.agl-marquees{gap:6px}}
@media(prefers-reduced-motion:reduce){.agl-section{height:auto!important}.agl-sticky{position:relative;height:auto;min-height:0;padding:24px 0}.agl-track{transform:none!important}.agl-marquees{gap:6px}}
/* 2.2: two gently auto-scrolling rows on desktop; three slower scroll-linked rows on mobile. */
@media(min-width:768px){.agl-row:nth-child(3){display:none!important}}
@media(max-width:767px){.agl-row:nth-child(3){display:block}}

/* 2.5 — self-running desktop image-wall animation.
   Three identical image segments form a complete repeating cycle. Start on the
   middle segment, then translate by exactly one segment width for a seamless loop.
   No JS transforms or visibility observers participate on desktop. */
@keyframes agl-desktop-forward {from{transform:translate3d(-33.333333%,0,0)}to{transform:translate3d(-66.666666%,0,0)}}
@keyframes agl-desktop-reverse {from{transform:translate3d(-66.666666%,0,0)}to{transform:translate3d(-33.333333%,0,0)}}
@media(min-width:768px){
 .agl-section .agl-row:nth-child(1) .agl-track{
   animation:agl-desktop-forward 55s linear infinite!important;
   animation-play-state:running!important;
   will-change:transform;
 }
 .agl-section .agl-row:nth-child(2) .agl-track{
   animation:agl-desktop-reverse 59s linear infinite!important;
   animation-play-state:running!important;
   will-change:transform;
 }
}
/* Honour an explicit accessibility preference, without modifying mobile scroll logic. */
@media(prefers-reduced-motion:reduce){
 .agl-section .agl-row .agl-track{animation:none!important}
}

/* v2.6 — desktop marquee interaction / CI-gallery-inspired hover */
.agl-photo{position:relative}
.agl-photo__open{display:block;width:100%;height:100%;position:relative;overflow:hidden;padding:0;margin:0;border:0;background:transparent;color:inherit;border-radius:0;cursor:pointer;text-align:left;font:inherit}
.agl-photo__open .agl-photo__image{pointer-events:none}
.agl-photo__hover{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(36,40,41,.62);opacity:0;transition:opacity .34s ease;pointer-events:none;padding:12px}
.agl-photo__hover-cta{display:inline-flex;align-items:stretch;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .3s ease,transform .42s cubic-bezier(.2,.85,.25,1);box-shadow:0 16px 42px rgba(0,0,0,.22)}
.agl-photo__hover-label{display:flex;align-items:center;justify-content:center;padding:14px 16px;background:#ffca28;color:#242829;font:800 10px/1.1 Manrope,Arial,sans-serif;letter-spacing:.13em;white-space:nowrap}
.agl-photo__hover-icon{display:grid;place-items:center;flex:none;width:46px;background:#242829;color:#fff}
.agl-photo__hover-icon svg{display:block}
@media(min-width:768px){
 .agl-section .agl-marquees:hover .agl-track,.agl-section .agl-marquees:focus-within .agl-track{animation-play-state:paused!important}
 .agl-section .agl-photo{pointer-events:auto}
 .agl-photo__open:hover .agl-photo__hover,.agl-photo__open:focus-visible .agl-photo__hover{opacity:1}
 .agl-photo__open:hover .agl-photo__hover-cta,.agl-photo__open:focus-visible .agl-photo__hover-cta{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:767px){.agl-photo__open{cursor:default;pointer-events:none}}
/* v2.6.1 — Popup layout matched to Able About Approach lightbox. */
.agl-lightbox[hidden]{display:none!important}
.agl-lightbox{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:64px 72px!important;color:#fff!important;font-family:Manrope,Arial,sans-serif!important;background:transparent!important}
.agl-lightbox__backdrop{position:absolute;inset:0;background:rgba(17,20,21,.97);backdrop-filter:blur(9px);cursor:pointer}
.agl-lightbox__dialog{position:relative;z-index:1;width:min(1350px,100%);max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:0;background:transparent!important;box-shadow:none!important}
.agl-lightbox__top{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:20px}
.agl-lightbox__counter{color:rgba(255,255,255,.75)!important;font:600 11px/1.4 Manrope,Arial,sans-serif!important;letter-spacing:.17em!important}
.agl-lightbox__close,.agl-lightbox__arrow{appearance:none!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:0!important;background:#242829!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;cursor:pointer!important;transition:background .2s ease,color .2s ease!important}
.agl-lightbox__close:hover,.agl-lightbox__arrow:hover{background:#ffca28!important;color:#242829!important}
.agl-lightbox__close{width:42px!important;height:42px!important;padding:0!important}
.agl-lightbox__image-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;max-height:calc(100dvh - 175px);width:100%}
.agl-lightbox img.agl-lightbox__image{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 175px)!important;min-height:0!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important}
.agl-lightbox__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px!important;height:48px!important;padding:0!important;z-index:2}
.agl-lightbox [data-agl-prev]{left:12px}.agl-lightbox [data-agl-next]{right:12px}
.agl-lightbox__caption{text-align:center;padding:0 12px;font:400 12px/1.5 Manrope,Arial,sans-serif;color:rgba(255,255,255,.60);letter-spacing:.025em}
.agl-lightbox button:focus-visible{outline:2px solid #ffca28!important;outline-offset:3px}
@media(max-width:767px){.agl-lightbox{padding:18px 12px!important}.agl-lightbox__dialog{gap:10px}.agl-lightbox__image-wrap{max-height:calc(100dvh - 110px)}.agl-lightbox img.agl-lightbox__image{max-height:calc(100dvh - 110px)!important}.agl-lightbox__arrow{width:36px!important;height:42px!important}.agl-lightbox [data-agl-prev]{left:0}.agl-lightbox [data-agl-next]{right:0}}
@media(prefers-reduced-motion:reduce){.agl-photo__hover,.agl-photo__hover-cta{transition:none!important}}

/* v2.7.0 — Two autonomous marquee rows on all devices. Mobile no longer follows scroll. */
.agl-section .agl-row:nth-child(n+3){display:none!important}
@media (max-width:767px){
 .agl-section .agl-row:nth-child(n+3){display:none!important}
 .agl-section .agl-row:nth-child(1) .agl-track{
  animation:agl-desktop-forward 43s linear infinite!important;
  animation-play-state:running!important;
 }
 .agl-section .agl-row:nth-child(2) .agl-track{
  animation:agl-desktop-reverse 47s linear infinite!important;
  animation-play-state:running!important;
 }
 .agl-section .agl-photo{pointer-events:auto!important}
 .agl-section .agl-photo__open{pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation}
 .agl-section .agl-photo__open:focus-visible .agl-photo__hover{opacity:1}
 .agl-section .agl-photo__open:focus-visible .agl-photo__hover-cta{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
 .agl-section .agl-row .agl-track{animation:none!important;transform:translate3d(-33.333333%,0,0)!important}
}
