.gallery{flex-direction:column;gap:3.5rem;display:flex}.gallery-section{width:100%}.gallery-year{text-transform:uppercase;letter-spacing:.45em;color:var(--color-text-muted);justify-content:center;align-items:center;gap:1.25rem;margin:0 0 2.5rem;font-size:.75rem;font-weight:700;display:flex}.gallery-year:before,.gallery-year:after{content:"";background:var(--color-border);width:clamp(2rem,8vw,5rem);height:1px}@keyframes photo-flash{0%,to{outline-color:#0000}25%,60%{outline-color:var(--color-accent)}}.photo-card--highlight{outline-offset:4px;outline:2px solid #0000;animation:1.8s ease-out photo-flash}.photo-modal{z-index:100;visibility:hidden;pointer-events:none;justify-content:center;align-items:center;transition:visibility 0s .4s;display:flex;position:fixed;inset:0}.photo-modal--open{visibility:visible;pointer-events:auto;transition:visibility}.photo-modal__backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;background:#000000a6;transition:opacity .4s;position:absolute;inset:0}.photo-modal--open .photo-modal__backdrop{opacity:1}.photo-modal__content{opacity:0;transition:opacity .3s 50ms,transform .3s 50ms;transform:scale(.98)}.photo-modal--open .photo-modal__content{opacity:1;transform:scale(1)}.photo-modal__prev,.photo-modal__next{z-index:2;color:#fff;cursor:pointer;opacity:.5;background:0 0;border:none;padding:1rem;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.photo-modal__prev:hover,.photo-modal__next:hover{opacity:1}.photo-modal__prev{left:.5rem}.photo-modal__next{right:.5rem}@media (width>=768px){.photo-modal__prev{left:1.5rem}.photo-modal__next{right:1.5rem}}.photo-modal__content{max-width:90vw;max-height:90vh;position:relative}.photo-modal__img{border-radius:.5rem;max-width:100%;max-height:90vh;display:block;box-shadow:0 25px 60px #0009}.photo-modal__caption{text-align:center;font-family:var(--font-display);letter-spacing:.005em;color:var(--color-modal-heading);margin-top:1rem;font-size:.9375rem;font-style:italic;display:block}.photo-modal__close{color:#fff;cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;transition:opacity .2s;position:absolute;top:-2.75rem;right:-.25rem}.photo-modal__close:hover{opacity:1}
