.gallery-root{background:var(--parchment);color:var(--black);min-height:100vh}.gallery-hero{padding-block:clamp(3rem,6vw,5rem)}.gallery-eyebrow{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--stone);font-size:11px;font-weight:500}.gallery-h1{font-family:var(--font-display);letter-spacing:-.005em;color:var(--plum);margin-top:1rem;font-size:clamp(2.5rem,5.5vw,4rem);font-weight:300;line-height:1.05}.gallery-h1 em{font-style:italic}.gallery-lead{font-family:var(--font-body);color:color-mix(in srgb, var(--black) 80%, transparent);max-width:60ch;margin-top:1.5rem;font-size:1.075rem;font-weight:300;line-height:1.7}.gallery-nav{flex-wrap:wrap;gap:2.5rem;margin-top:2.5rem;display:flex}.gallery-nav-link{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--plum);border-bottom:1px solid color-mix(in srgb, var(--plum) 35%, transparent);padding-bottom:.25rem;font-size:12px;font-weight:500;text-decoration:none;transition:border-color .2s}.gallery-nav-link:hover{border-bottom-color:var(--plum)}.gallery-grid-section{border-top:1px solid color-mix(in srgb, var(--bronze) 35%, transparent);padding-block:clamp(2rem,4vw,3rem) clamp(4rem,8vw,7rem)}.gallery-grid{column-count:3;column-gap:.375rem}@media (max-width:900px){.gallery-grid{column-count:2;column-gap:.3rem}}@media (max-width:540px){.gallery-grid{column-count:1}}.gallery-item{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;background:color-mix(in srgb, var(--parchment) 92%, var(--stone) 8%);appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:zoom-in;border:0;margin:0 0 .375rem;padding:0;display:block;position:relative;overflow:hidden}.gallery-item:focus-visible{outline:2px solid var(--plum);outline-offset:2px}@media (max-width:900px){.gallery-item{margin-bottom:.3rem}}@media (max-width:540px){.gallery-item{margin-bottom:.375rem}}.gallery-img{width:100%;height:auto;transition:transform .7s cubic-bezier(.32,.72,0,1);display:block}.gallery-item:hover .gallery-img{transform:scale(1.025)}.lightbox{z-index:1000;background:#141110f0;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2.5rem);animation:.22s cubic-bezier(.32,.72,0,1) lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-stage{cursor:zoom-out;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lightbox-img{object-fit:contain;cursor:default;width:auto;max-width:92vw;height:auto;max-height:88vh;display:block;box-shadow:0 25px 70px -20px #000000b3}.lightbox-close,.lightbox-nav{color:#f4f0eaa6;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;padding:.75rem;transition:color .2s,transform .2s;display:flex;position:absolute}.lightbox-close:hover,.lightbox-close:focus-visible,.lightbox-nav:hover,.lightbox-nav:focus-visible{color:var(--parchment);outline:none}.lightbox-close{top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem)}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-nav:hover{transform:translateY(-50%)scale(1.1)}.lightbox-prev{left:clamp(.5rem,2vw,1.5rem)}.lightbox-next{right:clamp(.5rem,2vw,1.5rem)}.lightbox-counter{color:#f4f0ea8c;font-family:var(--font-display);letter-spacing:.05em;font-size:.875rem;font-style:italic;position:absolute;bottom:clamp(.75rem,2vw,1.5rem);left:50%;transform:translate(-50%)}.lightbox-counter span{color:#f4f0ea4d;margin:0 .25rem}@media (max-width:540px){.lightbox-nav{display:none}.lightbox-img{max-width:96vw}}.gallery-footer{border-top:1px solid color-mix(in srgb, var(--bronze) 35%, transparent);background:color-mix(in srgb, var(--parchment) 95%, var(--stone) 5%);padding-block:clamp(3rem,6vw,5rem)}.gallery-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2rem;margin-top:1.5rem;display:flex}.gallery-footer-text{font-family:var(--font-body);color:color-mix(in srgb, var(--black) 78%, transparent);max-width:50ch;font-size:1rem;font-weight:300;line-height:1.7}.gallery-footer-text em{font-style:italic;font-family:var(--font-display);color:var(--plum);font-weight:400}.gallery-cta{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--parchment);background:var(--plum);border:1px solid var(--plum);white-space:nowrap;padding:.85rem 1.5rem;font-size:12px;font-weight:500;text-decoration:none;transition:background .2s}.gallery-cta:hover{background:color-mix(in srgb, var(--plum) 88%, black)}
