.loupe{display:none}@media (hover:hover) and (pointer:fine){.loupe{z-index:3;aspect-ratio:1;border:var(--border);width:clamp(150px,30%,220px);box-shadow:var(--shadow-float),inset 0 0 0 1px #ffffff59;background-color:var(--salt-2);pointer-events:none;opacity:0;transition:opacity .12s var(--ease-out);will-change:transform,background-position;background-repeat:no-repeat;border-radius:50%;display:block;position:absolute;top:0;left:0}.loupe[data-on]{opacity:1}.photo:has(.loupe){cursor:zoom-in}.gallery div:has(.loupe){cursor:zoom-in}.gallery div:has(.loupe){overflow:hidden}}@media (prefers-reduced-motion:reduce){.loupe{transition:none}}
