/* Shared, offline article image viewer. The original file links remain fallbacks. */
.article-image-trigger{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit;text-decoration:none;overflow:hidden}
.article-image-trigger img{transition:transform .55s cubic-bezier(.22,1,.36,1)}
.article-image-trigger:hover img,.article-image-trigger:focus-visible img{transform:scale(1.018)}
.article-image-trigger::after{content:attr(data-label);position:absolute;right:.7rem;bottom:.7rem;padding:.35rem .55rem;background:var(--sheet);color:var(--ink);font-size:.65rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;opacity:0;transform:translateY(.3rem);transition:opacity .2s,transform .2s;pointer-events:none}
.article-image-trigger:hover::after,.article-image-trigger:focus-visible::after{opacity:1;transform:none}
.article-image-trigger:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media (hover:none){.article-image-trigger::after{opacity:1;transform:none}}

.article-lightbox{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--ink);color:var(--sheet);overflow:auto}
.article-lightbox::backdrop{background:rgba(27,26,23,.96)}
.article-lightbox-shell{display:flex;flex-direction:column;min-height:100%;padding:clamp(1rem,2.5vw,2.3rem)}
.article-lightbox-top{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;border-bottom:1px solid #706e68;padding-bottom:.8rem}
.article-lightbox-brand{font-size:.67rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.article-lightbox-brand span{margin:0 .5rem;color:#e18373}
.article-lightbox-count{color:#e18373;font-size:.75rem;font-weight:700;letter-spacing:.12em}
.article-lightbox button{border:1px solid #77746d;background:transparent;color:var(--sheet);cursor:pointer;font:inherit}
.article-lightbox button:hover,.article-lightbox button:focus-visible{border-color:var(--sheet);background:#34322e;outline:2px solid #e18373;outline-offset:2px}
.article-lightbox button[hidden]{display:none}
.article-lightbox-close{justify-self:end;width:2.5rem;height:2.5rem;font-size:1.6rem!important;line-height:1}
.article-lightbox-stage{display:grid;grid-template-columns:3rem minmax(0,1fr) 3rem;gap:clamp(.5rem,2vw,1.5rem);align-items:center;flex:1;min-height:0;padding:1.2rem 0}
.article-lightbox-stage img{justify-self:center;width:auto;max-width:100%;max-height:min(70dvh,52rem);object-fit:contain}
.article-lightbox-prev,.article-lightbox-next{width:3rem;height:3rem;font-size:1.5rem!important}
.article-lightbox-caption{align-self:center;max-width:70rem;padding-top:.8rem;border-top:1px solid #706e68;color:#dad5cb;font-size:.78rem;line-height:1.55;text-align:center}
@media (max-width:600px){.article-lightbox-stage{grid-template-columns:2.4rem minmax(0,1fr) 2.4rem;gap:.25rem}.article-lightbox-prev,.article-lightbox-next{width:2.4rem;height:2.7rem}.article-lightbox-stage img{max-height:67dvh}.article-lightbox-caption{font-size:.72rem}.article-lightbox-brand{letter-spacing:.06em}}
@media (prefers-reduced-motion:reduce){.article-image-trigger img,.article-image-trigger::after{transition:none}.article-image-trigger:hover img,.article-image-trigger:focus-visible img{transform:none}}
