.ao-gallery{padding:88px 0 100px;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 50% 55%,#14264b,transparent 68%);position:relative}
.ao-gallery-heading{text-align:center;padding:0 24px;margin:0 auto 40px}.ao-gallery-heading h2{font-size:clamp(26px,3vw,42px);margin:0 0 12px}.ao-gallery-heading p{color:#abb8cf;font-size:15px;margin:0 0 20px}.ao-gallery-toggle{border:1px solid #718098;background:transparent;color:white;padding:8px 20px;border-radius:24px;cursor:pointer}
.ao-gallery-space{perspective:1200px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ao-gallery-row{display:flex;width:max-content;animation:ao-gallery-drift var(--duration) linear infinite;will-change:transform;padding:16px 0}
.ao-gallery-row:nth-child(2){animation-direction:reverse}.ao-gallery-row:nth-child(3){opacity:.82}
.ao-gallery-group{display:flex;gap:24px;padding-right:24px;align-items:center}
.ao-gallery-card{flex:none;width:clamp(190px,23vw,360px);height:clamp(130px,15vw,230px);border:1px solid #ffffff18;border-radius:10px;background:#454c58;box-shadow:0 16px 30px #0004;overflow:hidden;cursor:zoom-in;position:relative;color:#c1c6cf;transform:rotate(var(--rotation)) scale(var(--scale));transition:filter .2s}
.ao-gallery-card:nth-child(even){width:clamp(155px,18vw,280px)}.ao-gallery-card:hover{filter:brightness(1.15)}.ao-gallery-card:focus-visible{outline:3px solid #d3ef49;outline-offset:-4px}
.ao-gallery-card img{width:100%;height:100%;object-fit:cover;display:block}.ao-gallery-placeholder{display:grid;place-content:center;height:100%;background:linear-gradient(145deg,#555d69,#363d49);font-size:13px;letter-spacing:2px}.ao-gallery-placeholder:before{content:'＋';font-size:25px;text-align:center;margin-bottom:9px;color:#8b94a2}
.ao-gallery.is-paused .ao-gallery-row,.ao-gallery.is-offscreen .ao-gallery-row,.ao-gallery:has(.ao-gallery-card:focus-visible) .ao-gallery-row{animation-play-state:paused}@media(hover:hover){.ao-gallery-space:hover .ao-gallery-row{animation-play-state:paused}}
@keyframes ao-gallery-drift{to{transform:translateX(-50%)}}
.ao-gallery-dialog{border:0;padding:0;background:#111925;color:white;width:min(1100px,92vw);max-width:92vw;max-height:90dvh;border-radius:12px;overflow:hidden}.ao-gallery-dialog::backdrop{background:#020711e8;backdrop-filter:blur(8px)}.ao-gallery-view{height:min(65vh,700px);display:flex;align-items:center;justify-content:center;background:#323943}.ao-gallery-view img{max-width:100%;max-height:100%;object-fit:contain}.ao-gallery-view .ao-gallery-placeholder{width:100%;text-align:center;letter-spacing:1px}.ao-gallery-close{position:absolute;top:12px;right:12px;border:1px solid #ffffff55;background:#101827cc;color:white;border-radius:50%;width:44px;height:44px;font-size:26px;cursor:pointer}.ao-gallery-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:14px}.ao-gallery-controls button{background:transparent;color:white;border:1px solid #748196;border-radius:24px;padding:8px 16px;cursor:pointer}.ao-gallery-caption{margin:0;text-align:center;font-size:14px}
@media(max-width:767px){.ao-gallery{padding:54px 0 64px}.ao-gallery-heading{margin-bottom:20px}.ao-gallery-group{gap:14px;padding-right:14px}.ao-gallery-row{padding:10px 0}.ao-gallery-view{height:52dvh}.ao-gallery-controls{padding:14px 12px}.ao-gallery-controls button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.ao-gallery-row{animation:none}.ao-gallery-space{overflow-x:auto;mask-image:none}.ao-gallery-group[aria-hidden]{display:none}.ao-gallery-card{transform:none}.ao-gallery-toggle{display:none}}

/* Match the AO feature headline and subtitle typography. */
.ao-gallery-heading h2{font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1.5;margin:0 auto 18px;text-shadow:0 3px 0 #0008;color:#fff}
.ao-gallery-heading p{font-size:24px;letter-spacing:3px;line-height:1.5;color:#d3ef49;margin:0 0 24px}
@media(max-width:649.98px){.ao-gallery-heading h2{font-size:clamp(22px,5.8vw,30px);line-height:1.4}.ao-gallery-heading p{font-size:16px;letter-spacing:2px}}

.ao-gallery-dialog{transform-origin:center;will-change:transform,opacity}
.ao-gallery-dialog.is-entering::backdrop{animation:ao-gallery-dim-in 460ms ease both}
.ao-gallery-dialog.is-leaving::backdrop{animation:ao-gallery-dim-out 320ms ease both}
@keyframes ao-gallery-dim-in{from{background:#02071100;backdrop-filter:blur(0)}to{background:#020711e8;backdrop-filter:blur(8px)}}
@keyframes ao-gallery-dim-out{from{background:#020711e8;backdrop-filter:blur(8px)}to{background:#02071100;backdrop-filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.ao-gallery-dialog::backdrop{animation:none!important}}
