/* Compact photographic ribbon with an elevated inspection state. */
.archive-ribbon{padding-top:65px;padding-bottom:160px}
.archive-ribbon .archive-frame{padding-left:18%;margin-top:-38px;pointer-events:none;z-index:0}
.archive-ribbon .archive-frame:first-child{margin-top:0}
.archive-ribbon .archive-photo{width:38%;pointer-events:auto;scale:1;transform-origin:0 40%;transition:scale .5s cubic-bezier(.2,.75,.2,1),filter .45s,opacity .45s;isolation:isolate}
.archive-ribbon .lane-1 .archive-photo{margin-left:56%!important;transform-origin:100% 40%}
.archive-ribbon .archive-photo>:is(a,.archive-image){padding:0;box-shadow:0 14px 32px -15px #0007;transition:box-shadow .45s}
.archive-ribbon .archive-photo img{display:block;aspect-ratio:3/2;object-fit:cover}
.archive-ribbon .archive-photo figcaption,.archive-ribbon .lane-1 figcaption{position:absolute;top:100%;left:0;right:0;max-width:none;margin:0;padding:16px 18px!important;text-align:left;background:var(--paper,#f8f7f3);color:var(--ink,#252523);box-shadow:0 20px 35px -20px #0007;opacity:0;visibility:hidden;translate:0 -8px;transition:opacity .25s,translate .35s,visibility .25s;pointer-events:none}
.archive-ribbon .archive-photo figcaption a,.archive-ribbon .archive-photo figcaption>a{font-size:14px;line-height:1.5;color:inherit}
.archive-ribbon .archive-photo figcaption span,.archive-ribbon .archive-photo figcaption p{font-size:12px;color:inherit;opacity:.75;line-height:1.5}
.archive-ribbon .archive-photo figcaption div{display:block}
.archive-ribbon .archive-photo figcaption span[aria-hidden]{display:inline}
.archive-ribbon .archive-frame.is-active{z-index:20}
.archive-ribbon .is-active .archive-photo{scale:1.48}
.archive-ribbon .is-active .archive-photo>:is(a,.archive-image){box-shadow:0 30px 65px -15px #0008}
.archive-ribbon .is-active figcaption{opacity:1;visibility:visible;translate:0 0;pointer-events:auto}
.archive-ribbon.is-inspecting .archive-frame:not(.is-active) .archive-photo{opacity:.36;filter:saturate(.55)}
.archive-ribbon .ribbon-year,.archive-ribbon .ribbon-year-echo{pointer-events:none}
.archive-ribbon .archive-photo a:focus-visible{outline:2px solid #ef1790;outline-offset:4px}
@media(max-width:700px){
 .archive-ribbon{padding:20px 28px 120px}
 .archive-ribbon .archive-frame{padding-left:0;margin-top:38px}
 .archive-ribbon .archive-photo{width:59%;transform-origin:0 35%}
 .archive-ribbon .lane-1 .archive-photo{margin-left:41%!important;transform-origin:100% 35%}
 .archive-ribbon .is-active .archive-photo{scale:1.3}
 .archive-ribbon .archive-photo figcaption{padding:12px!important}
 .archive-ribbon .ribbon-year{font-size:32px;margin-bottom:24px}
}
@media(prefers-reduced-motion:reduce){.archive-ribbon .archive-photo,.archive-ribbon .archive-photo figcaption{transition:none}.archive-ribbon .is-active .archive-photo{scale:1.15}}
/* Deterministic variation keeps the composition organic without shifting on reload. */
.archive-ribbon .archive-frame{margin-top:var(--photo-gap,-38px)}
.archive-ribbon .archive-frame:first-child{margin-top:0}
.archive-ribbon .archive-photo,.archive-ribbon .lane-1 .archive-photo{width:var(--photo-width,38%);margin-left:var(--photo-left,0%)!important}
.archive-ribbon .ribbon-year-echo{display:none}
@media(max-width:700px){
 .archive-ribbon .archive-frame{margin-top:38px}
 .archive-ribbon .archive-photo,.archive-ribbon .lane-1 .archive-photo{width:var(--mobile-width,59%);margin-left:var(--mobile-left,0%)!important}
}
/* Restore the archive heading and year-navigation layout independently of the old gallery. */
.archive-intro{padding:35px var(--pad) 24px}
.archive-intro h1{font-size:clamp(34px,4.6vw,72px);line-height:1.12;letter-spacing:-.045em;margin:18px 0}
.archive-intro p{font-size:14px;color:var(--quiet)}
.archive-timeline{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px var(--pad) 20px;border-bottom:1px solid var(--line)}
.archive-timeline-title{font-size:12px;letter-spacing:.1em;margin-right:12px;white-space:nowrap}
.archive-timeline a{display:block;font-size:14px;padding:8px 10px;white-space:nowrap;line-height:1.4}
.archive-timeline a:hover,.archive-timeline a:focus-visible{background:var(--ink);color:var(--paper)}
.archive-ribbon{padding-top:40px}
.archive-ribbon .archive-frame{margin-top:calc(var(--photo-gap,-38px) - 28px)}
.archive-ribbon .archive-frame:first-child{margin-top:0}
.archive-ribbon .archive-photo,.archive-ribbon .lane-1 .archive-photo{width:calc(var(--photo-width,38%) * .8)}
.archive-ribbon .lane-0 .archive-photo{margin-left:calc(var(--photo-left,0%) + 5%)!important}
.archive-ribbon .lane-1 .archive-photo{margin-left:calc(var(--photo-left,56%) - 10%)!important}
.archive-ribbon .ribbon-year{font-size:clamp(30px,4vw,58px);top:20px}
@media(max-width:700px){
 .archive-intro{padding-top:24px}
 .archive-timeline{gap:6px;padding-left:var(--pad);padding-right:var(--pad)}
 .archive-timeline-title{flex-basis:100%;margin:0 0 4px}
 .archive-timeline a{padding:7px 9px}
 .archive-ribbon{padding-left:var(--pad);padding-right:var(--pad)}
 .archive-ribbon .archive-frame{margin-top:16px}
 .archive-ribbon .archive-photo,.archive-ribbon .lane-1 .archive-photo{width:calc(var(--mobile-width,59%) * .8)}
 .archive-ribbon .lane-0 .archive-photo{margin-left:calc(var(--mobile-left,0%) + 4%)!important}
 .archive-ribbon .lane-1 .archive-photo{margin-left:calc(var(--mobile-left,41%) - 4%)!important}
 .archive-ribbon .ribbon-year{top:auto;font-size:30px;margin-bottom:18px}
}

/* Pointer drift is visual only; original sizes, margins and spacing stay intact. */
.archive-ribbon .archive-photo{translate:var(--pointer-x,0px) var(--pointer-y,0px);transition:scale .5s cubic-bezier(.2,.75,.2,1),translate .25s ease-out,filter .45s,opacity .45s}
.archive-ribbon .archive-photo>:is(a,.archive-image){box-shadow:0 12px 30px -14px #18231e38,0 3px 10px -4px #18231e1f;transition:box-shadow .45s cubic-bezier(.2,.75,.2,1)}
.archive-ribbon .is-active .archive-photo>:is(a,.archive-image){box-shadow:0 38px 72px -22px #18231e66,0 14px 32px -14px #18231e40}
.archive-ribbon .is-active figcaption{box-shadow:0 28px 48px -22px #18231e4d}
html[data-theme=dark] .archive-ribbon .archive-photo>:is(a,.archive-image){box-shadow:0 14px 34px -12px #0008,0 0 0 1px #ffffff12}
html[data-theme=dark] .archive-ribbon .is-active .archive-photo>:is(a,.archive-image){box-shadow:0 40px 80px -18px #000b,0 16px 36px -12px #0008,0 0 0 1px #ffffff26}
html[data-theme=dark] .archive-ribbon .is-active figcaption{box-shadow:0 28px 48px -18px #0009}
@media(prefers-reduced-motion:reduce){
 .archive-ribbon .archive-photo,.archive-ribbon .archive-photo>:is(a,.archive-image){transition:none}
 .archive-ribbon .archive-photo{translate:none}
}

/* Unlinked archive photographs retain their captions and keyboard reveal. */
.archive-ribbon .archive-photo>.archive-image{display:block;position:relative;background:#fff}
.archive-ribbon .archive-photo figcaption .archive-title{display:block;font-size:14px;line-height:1.5;opacity:1;color:inherit;margin-top:0}
.archive-ribbon .archive-photo:focus-visible{outline:2px solid #ef1790;outline-offset:4px}
