@keyframes track-in{0%{opacity:0;letter-spacing:.45em}to{opacity:1;letter-spacing:.12em}}@keyframes lb-spin{to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}body{background:#faf9f7;font-family:EB Garamond,serif;padding:2rem 1.5rem 3rem}.gallery-header{border-bottom:.0625rem solid #ddd;margin-bottom:2.5rem;padding-bottom:1.5rem;text-align:center}.gallery-header h1{color:#1a1a1a;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;opacity:0;animation:track-in 1.6s cubic-bezier(.19,1,.22,1) forwards}.gallery-header p{color:#888;font-size:.875rem;font-style:italic;letter-spacing:.08em;margin-top:.625rem}.gallery-footer{border-top:.0625rem solid #ddd;margin-top:2.5rem;padding-top:1.25rem;text-align:center}.gallery-footer p{color:#888;font-size:.875rem;letter-spacing:.08em}.gallery{display:grid;gap:.625rem;grid-auto-flow:row;grid-auto-rows:.0625rem;grid-template-columns:repeat(1,1fr)}.gallery-item{cursor:pointer;grid-row-end:span 60;overflow:hidden;position:relative}.gallery-item img{display:block;height:auto;transition:transform .5s cubic-bezier(.25,.46,.45,.94);width:100%}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:hover .item-overlay{background:rgba(0,0,0,.52)}.gallery-item:hover .item-info{opacity:1;transform:translateY(0)}.item-overlay{background:transparent;display:flex;flex-direction:column;inset:0;justify-content:flex-end;padding:1rem .875rem;position:absolute;transition:background .4s ease}.item-info{opacity:0;transform:translateY(.5rem);transition:opacity .35s ease,transform .35s ease}.item-technique{color:hsla(0,0%,100%,.95);font-family:Cormorant Garamond,serif;font-size:.82rem;font-weight:300;letter-spacing:.04em;line-height:1.4}.item-dimensions{color:hsla(0,0%,100%,.55);font-size:.68rem;letter-spacing:.06em;margin-top:.125rem}.lightbox{align-items:center;background:transparent;display:flex;inset:0;justify-content:center;position:fixed;transition:background .35s ease,visibility 0s linear .35s;visibility:hidden;z-index:1000}.lightbox .lightbox-inner{align-items:center;display:flex;flex-direction:column;max-width:72vw;opacity:0;position:relative;transform:scale(.94);transition:opacity .35s ease,transform .35s ease}.lightbox .lightbox-inner img{display:block;max-height:75vh;max-width:100%;-o-object-fit:contain;object-fit:contain;transition:opacity .3s ease,transform .3s ease}.lightbox .lightbox-inner img.effect-out{opacity:0;transform:scale(.93)}.lightbox .lightbox-inner img.effect-in{opacity:0;transform:scale(1.05)}.lightbox .lightbox-btn{background:none;border:none;color:hsla(0,0%,100%,.5);cursor:pointer;padding:1rem;font-size:1.6rem;line-height:1;transition:color .2s,transform .15s;flex-shrink:0;font-family:sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lightbox .lightbox-btn:hover{color:#fff;transform:scale(1.15)}.lightbox .lightbox-caption{color:hsla(0,0%,100%,.65);font-family:Cormorant Garamond,serif;font-size:.9rem;font-weight:300;letter-spacing:.07em;margin-top:.9rem;text-align:center}.lightbox .lightbox-counter{color:hsla(0,0%,100%,.3);font-size:.7rem;letter-spacing:.1em;margin-top:.3rem}.lightbox .lightbox-close{background:none;border-radius:.25rem;border:none;color:hsla(0,0%,100%,.5);cursor:pointer;font-family:sans-serif;font-size:1.4rem;line-height:1;padding:.4rem .6rem;position:fixed;right:1rem;top:1rem;transition:color .2s,background .2s}.lightbox .lightbox-close:hover{background:hsla(0,0%,100%,.08);color:#fff}.lightbox .lb-spinner{display:none;position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:2px solid hsla(0,0%,100%,.2);border-top-color:hsla(0,0%,100%,.85);border-radius:50%;animation:lb-spin .8s linear infinite;z-index:1}.lightbox .lb-spinner.active{display:block}.lightbox.active{background:rgba(0,0,0,.92);transition:background .35s ease,visibility 0s linear 0s;visibility:visible}.lightbox.active .lightbox-inner{opacity:1;transform:scale(1)}@media (min-width:25rem){.gallery{grid-template-columns:repeat(2,1fr)}}@media (min-width:43.75rem){.gallery{grid-template-columns:repeat(3,1fr)}}@media (min-width:75rem){.gallery{grid-template-columns:repeat(4,1fr)}}@media (min-width:90rem){.gallery{grid-template-columns:repeat(5,1fr)}}@media (min-width:105rem){.gallery{grid-template-columns:repeat(6,1fr)}}