.an-article-gallery {
	--an-gallery-accent: #e30613;
	--an-gallery-bg: #08090b;
	color: #fff;
	font-family: inherit;
	margin: var(--an-gallery-margin, 0 auto);
	width: min(100%, var(--an-gallery-max-width, 100%));
}
.an-article-gallery button { font: inherit; }
.an-article-gallery__notice { padding: 18px; border: 1px dashed #687080; border-radius: 12px; color: #c8ccd4; }
.an-article-gallery__hero { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 0; border-radius: var(--an-gallery-hero-radius, 18px); background: var(--an-gallery-hero-bg, #111); cursor: var(--an-gallery-pointer, zoom-in); }
.an-article-gallery__hero img { display: block; width: 100%; height: auto; max-height: 72vh; object-fit: contain; transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s; }
.an-article-gallery__hero:hover img { transform: scale(1.035); filter: brightness(.82); }
.an-article-gallery__hero--static { cursor: default; }
.an-article-gallery__hero--static:hover img { transform: none; filter: none; }
.an-article-gallery__hero > span { position: absolute; right: 22px; bottom: 20px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(5,6,8,.75); color: #fff; font-size: 13px; font-weight: 750; letter-spacing: .02em; backdrop-filter: blur(12px); }
.an-article-gallery__video { position: relative; overflow: hidden; aspect-ratio: 16/9; border-radius: var(--an-gallery-hero-radius, 18px); background: var(--an-gallery-hero-bg, #050505); }
.an-article-gallery__video button, .an-article-gallery__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.an-article-gallery__video button { position: relative; padding: 0; background: #050505; cursor: var(--an-gallery-pointer, pointer); }
.an-article-gallery__video img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s, filter .35s; }
.an-article-gallery__video button:hover img { transform: scale(1.03); filter: brightness(.72); }
.an-article-gallery__video button span { position: absolute; inset: 50% auto auto 50%; display: grid; width: 76px; height: 76px; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; background: var(--an-gallery-accent); color: #fff; font-size: 28px; box-shadow: 0 16px 40px rgba(0,0,0,.4); transition: transform .25s; }
.an-article-gallery__video .an-article-gallery__play svg { display: block; width: 32px; height: 32px; margin-left: 4px; fill: #fff; stroke: none; }
.an-article-gallery__video button:hover span { transform: translate(-50%,-50%) scale(1.09); }
.an-article-gallery__grid { display: grid; grid-template-columns: repeat(var(--an-gallery-columns, 3), minmax(0,1fr)); gap: var(--an-gallery-gap, 12px); margin-top: var(--an-gallery-gap, 12px); }
.an-article-gallery__thumb { position: relative; min-height: 0; aspect-ratio: 16/10; padding: 0; overflow: hidden; border: 0; border-radius: var(--an-gallery-thumb-radius, 12px); background: var(--an-gallery-thumb-bg, #15171b); cursor: var(--an-gallery-pointer, zoom-in); }
.an-article-gallery__thumb--after-hero { display: none; }
.an-article-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .3s; }
.an-article-gallery__thumb:hover img, .an-article-gallery__thumb:focus-visible img { transform: scale(1.075); filter: brightness(.75); }
.an-article-gallery__thumb-count, .an-gallery-viewer figcaption { position: absolute; left: 12px; bottom: 12px; display: flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: rgba(0,0,0,.72); color: #fff; font-size: 12px; line-height: 1; backdrop-filter: blur(8px); }
.an-article-gallery svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.an-gallery-viewer { position: fixed; z-index: 2147483000; inset: 0; display: none; background: var(--an-gallery-bg); color: #fff; }
.an-gallery-viewer.is-open { display: block; }
.an-gallery-viewer > header { position: fixed; z-index: 3; top: 0; right: 0; left: 0; display: flex; align-items: center; justify-content: space-between; height: 68px; padding: 0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left)); border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(8,9,11,.92); backdrop-filter: blur(14px); }
.an-gallery-viewer__brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.an-gallery-viewer__brand strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; text-transform: uppercase; letter-spacing: .12em; white-space: nowrap; }
.an-gallery-viewer__logo { display: block; width: auto; max-width: 150px; height: 42px; object-fit: contain; }
.an-gallery-viewer [data-gallery-close] { border: 0; color: #fff; cursor: pointer; }
.an-gallery-viewer > header button { position: relative; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: #202329; }
.an-gallery-viewer > header button span::before, .an-gallery-viewer > header button span::after { content: ""; position: absolute; top: 21px; left: 12px; width: 20px; height: 2px; background: currentColor; }
.an-gallery-viewer > header button span::before { transform: rotate(45deg); }
.an-gallery-viewer > header button span::after { transform: rotate(-45deg); }
.an-gallery-viewer__scroll { height: 100%; padding-top: 68px; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; scroll-snap-type: y proximity; scrollbar-color: #555 #0a0b0d; }
.an-gallery-viewer__item { display: grid; min-height: 0; margin: 0; padding: calc(var(--an-gallery-viewer-gap, 24px) / 2) clamp(18px,5vw,80px); place-items: center; scroll-snap-align: start; }
.an-gallery-viewer__item > div { position: relative; display: grid; max-width: min(1500px,100%); max-height: calc(100vh - 140px); place-items: center; }
.an-gallery-viewer__item img { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 140px); border-radius: 4px; object-fit: contain; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.an-gallery-viewer figcaption { left: 14px; bottom: 14px; padding: 9px 12px; font-size: 13px; }
.an-gallery-viewer__hint { position: fixed; z-index: 4; right: 50%; bottom: max(22px,env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 9px; max-width: calc(100vw - 28px); padding: 11px 16px; transform: translateX(50%); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(14,16,20,.84); color: #fff; font-size: 13px; font-weight: 700; white-space: nowrap; box-shadow: 0 10px 34px rgba(0,0,0,.35); pointer-events: none; backdrop-filter: blur(14px); transition: opacity .25s, transform .25s; }
.an-gallery-viewer__hint span { font-size: 20px; animation: an-gallery-hint 1.4s ease-in-out infinite; }
.an-gallery-viewer__hint.is-hidden { opacity: 0; transform: translate(50%,12px); }
.an-gallery-viewer__ad { display: grid; min-height: min(55vh,620px); padding: 42px 20px; place-items: center; text-align: center; background: rgba(255,255,255,.025); border-block: 1px solid rgba(255,255,255,.08); scroll-snap-align: center; }
.an-gallery-viewer__ad > span { align-self: end; margin-bottom: 16px; color: #747984; font-size: 10px; text-transform: uppercase; letter-spacing: .16em; }
.an-gallery-viewer__ad > div { width: min(100%,1100px); }
.an-gallery-viewer__end { display: grid; min-height: 0; padding: var(--an-gallery-end-spacing, 40px) 20px max(var(--an-gallery-end-spacing, 40px), env(safe-area-inset-bottom)); place-content: center; text-align: center; scroll-snap-align: end; }
.an-gallery-viewer__end p { margin: 0 0 22px; color: #aeb3bd; font-size: 16px; }
.an-gallery-viewer__end .an-gallery-viewer__source { margin-bottom: 8px; color: #fff; }
.an-gallery-viewer__end button { padding: 15px 26px; border-radius: 999px; background: #fff; color: #08090b; font-weight: 800; transition: transform .2s, background .2s; }
.an-gallery-viewer__end [data-gallery-close] { background: #fff !important; color: #08090b !important; -webkit-text-fill-color: #08090b; }
.an-gallery-viewer__end button:hover { transform: translateY(-2px); background: #e5e7eb; }
.an-gallery-is-open { overflow: hidden !important; }
.an-gallery-viewer[aria-hidden="true"] { visibility: hidden; }
.an-gallery-viewer[aria-hidden="false"] { visibility: visible; }
@keyframes an-gallery-hint { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(4px); } }
@media (max-width: 767px) {
	.an-article-gallery { width: 100%; }
	.an-article-gallery__grid { grid-template-columns: repeat(var(--an-gallery-columns-mobile, 2), minmax(0,1fr)); }
	.an-article-gallery__thumb-count { left: 8px; bottom: 8px; padding: 6px 8px; }
	.an-article-gallery__video button span { width: 62px; height: 62px; font-size: 23px; }
	.an-gallery-viewer > header { height: 58px; }
	.an-gallery-viewer__logo { max-width: 112px; height: 36px; }
	.an-gallery-viewer__scroll { padding-top: 58px; scroll-snap-type: none; }
	.an-gallery-viewer__item { min-height: 0; padding: calc(var(--an-gallery-viewer-gap, 24px) / 2) 0; scroll-snap-align: none; }
	.an-gallery-viewer__item > div { width: 100%; max-height: none; }
	.an-gallery-viewer__item img { width: 100%; max-height: none; border-radius: 0; box-shadow: none; }
	.an-gallery-viewer figcaption { left: 10px; bottom: 10px; }
	.an-gallery-viewer__hint { bottom: max(16px,env(safe-area-inset-bottom)); font-size: 12px; }
	.an-gallery-viewer__ad { min-height: 42vh; }
}
@media (prefers-reduced-motion: reduce) { .an-article-gallery *, .an-gallery-viewer * { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; } }
