html:has(.gal){background:#fff}html:has(.gal) body{background:#fff}.gal{--gal-pad:clamp(1.25rem, 3.5vw, 2.5rem);--gal-gap:clamp(1.5rem, 4.5vw, 5rem);--gal-ease:cubic-bezier(.22, 1, .36, 1);--gal-hover:.55s;--gal-ink:#000;--gal-ink-soft:#0000008c;color:var(--gal-ink);position:relative}.gal-grid{align-items:flex-start;gap:var(--gal-gap);padding:var(--gal-gap) var(--gal-pad) 20vh;transition:filter .6s var(--gal-ease);flex-wrap:wrap;display:flex}.gal-tile{flex-grow:calc(var(--a) * 10);flex-shrink:1;flex-basis:calc(var(--a) * var(--gal-unit));color:inherit;transition:flex-basis .5s var(--gal-ease), opacity .45s var(--gal-ease), filter .45s var(--gal-ease);display:block}.gal-grid-tail{flex:999999 1 0;height:0}.gal-tile,.gal-tile:hover{opacity:1}.gal-tile img,.gal-tile video{width:100%;height:auto;transition:filter .7s var(--gal-ease), opacity .7s var(--gal-ease);display:block}.gal-tile video{aspect-ratio:var(--a);object-fit:cover}.gal-tile:hover img,.gal-tile:hover video{filter:blur(1.6px);opacity:.82}.gal-controls{padding:calc(3.5rem + 1.4rem) var(--gal-pad) 0;letter-spacing:.08em;text-transform:uppercase;color:var(--gal-ink);transition:filter .6s var(--gal-ease);flex-wrap:wrap;gap:.6rem 2.2rem;font-size:11px;line-height:1.5;display:flex}.gal-control-group{gap:1.3rem;display:flex}.gal-control-group-end{margin-left:auto}.gal-control{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;transition:color var(--gal-hover) var(--gal-ease);background:0 0;border:0;padding:0}.gal-control:hover,.gal-control.is-active{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.gal button:focus:not(:focus-visible),.gal-lightbox:focus{outline:none}.gal button:focus-visible{outline:1px solid var(--gal-ink);outline-offset:3px}.gal button,.gal-tile{-webkit-tap-highlight-color:transparent}.gal-cursor{z-index:90;pointer-events:none;opacity:0;transition:opacity .22s var(--gal-ease);will-change:transform;mix-blend-mode:difference;position:fixed;top:0;left:0}.gal-cursor.is-visible{opacity:1}.gal-cursor-label{color:#fff;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600;display:inline-block;transform:translate(-50%,-50%)}.gal.has-cursor .gal-tile{cursor:none}@media (hover:none),(pointer:coarse){.gal-cursor{display:none}}.gal-lightbox{--caption:minmax(12rem, 17rem);z-index:80;grid-template-columns:auto var(--caption) 1fr var(--caption) auto;align-items:center;gap:var(--gal-pad);padding:4rem var(--gal-pad) var(--gal-pad);color:var(--gal-ink);opacity:0;pointer-events:none;transition:opacity .6s var(--gal-ease);display:grid;position:fixed;inset:0}.gal-lightbox.is-open{opacity:1;pointer-events:auto}.gal-lightbox[hidden]{display:none}.gal-lightbox-veil{background:#ffffffdb;position:fixed;inset:0}.gal-lightbox-plate,.gal-lightbox-caption,.gal-lightbox-nav{z-index:1;position:relative}.gal-lightbox-close{top:4.6rem;right:var(--gal-pad);z-index:1;font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--gal-ink-soft);cursor:pointer;transition:color .2s var(--gal-ease);background:0 0;border:0;padding:0;font-size:12px;position:fixed}.gal-lightbox-close:hover{color:var(--gal-ink)}.gal-lightbox-plate{min-width:0;min-height:0;transition:opacity .42s var(--gal-ease);grid-column:3;place-items:center;display:grid}.gal-lightbox.is-changing .gal-lightbox-plate,.gal-lightbox.is-changing .gal-lightbox-caption{opacity:0}.gal-lightbox-plate img{width:auto;max-width:100%;height:auto;max-height:74vh}.gal-lightbox-caption{transition:opacity .42s var(--gal-ease);grid-column:4;font-size:1rem;line-height:1.3}.gal-lightbox-title{letter-spacing:-.01em;margin:0 0 .45rem;font-weight:600}.gal-lightbox-desc{color:var(--gal-ink-soft);margin:0 0 .9rem;font-size:.95rem;line-height:1.45}.gal-lightbox-meta{flex-direction:column;gap:.15rem;margin:0 0 .9rem;display:flex}.gal-lightbox-count{color:var(--gal-ink-soft);font-variant-numeric:tabular-nums;margin:0}.gal-lightbox-nav{width:clamp(2rem,4vw,3.5rem);height:40vh;font:inherit;color:var(--gal-ink-soft);cursor:pointer;transition:color .2s var(--gal-ease);background:0 0;border:0;align-self:center;padding:0;font-size:1.1rem}.gal-lightbox-nav:hover{color:var(--gal-ink)}.gal-lightbox-prev{grid-column:1}.gal-lightbox-next{grid-column:5}@media (max-width:1499px){.gal-lightbox{grid-template-columns:auto 1fr var(--caption) auto}.gal-lightbox-plate{grid-column:2}.gal-lightbox-caption{grid-column:3}.gal-lightbox-next{grid-column:4}}@media (max-width:899px){.gal-lightbox{grid-template-rows:1fr auto;grid-template-columns:auto 1fr auto;align-content:center}.gal-lightbox-plate{grid-area:1/1/auto/-1}.gal-lightbox-caption{grid-area:2/2}.gal-lightbox-prev{grid-area:2/1}.gal-lightbox-next{grid-area:2/3}.gal-lightbox-nav{align-self:start;min-width:44px;height:auto;min-height:44px}.gal-lightbox-plate img{max-height:58vh}}html.gal-locked{overflow:hidden}html.gal-locked .gal-grid,html.gal-locked .gal-controls,html.gal-locked .intro-bg-fade{filter:blur(10px)}html.gal-locked .intro-bg-fade{transform:scale(1.1)}.intro-bg-fade{transition:filter .6s var(--gal-ease), transform .6s var(--gal-ease)}.gal-empty{min-height:60vh;padding:0 var(--gal-pad);text-align:center;color:var(--gal-ink-soft);place-items:center;display:grid}@media (prefers-reduced-motion:reduce){.gal *,.gal :before,.gal :after{transition-duration:.001ms!important}}.gal-lightbox-plate video{width:auto;max-width:100%;height:auto;max-height:74vh;display:block}.gal-lightbox-thumbs{flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem;display:flex}.gal-lightbox-thumb{cursor:pointer;opacity:.55;width:44px;height:44px;transition:opacity .3s var(--gal-ease), border-color .3s var(--gal-ease);background:#0000000f;border:1px solid #0000;place-items:center;padding:0;display:grid;overflow:hidden}.gal-lightbox-thumb img,.gal-lightbox-thumb video{object-fit:cover;width:100%;height:100%;display:block}.gal-lightbox-thumb.is-active,.gal-lightbox-thumb:hover{opacity:1;border-color:#0009}.gal-empty code{color:var(--gal-ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}@media (max-width:899px){.gal-lightbox-plate video{max-height:58vh}}
