@layer components{.gallery_wrap{gap:var(--section-space-small);padding:var(--section-space-nav-overlap) var(--site-margin) var(--section-space-medium);background-color:var(--background);color:var(--text);flex-direction:column;display:flex}.gallery_heading{color:inherit;font-family:var(--primary-family);font-size:clamp(2rem,5.8vw,5.5rem);font-weight:var(--primary-medium);letter-spacing:var(--letter-spacing-tight);margin:0;line-height:1}.gallery_heading-line{display:block}.gallery_split-line-mask{overflow-clip-margin:var(--descender-room)}.gallery_split-line{will-change:transform}.gallery_filters{justify-content:space-between;gap:var(--space-3) 1rem;flex-wrap:wrap;display:flex}.gallery_body{gap:var(--space-2);flex-direction:column;display:flex}.gallery_filter{color:var(--text-2);font-family:var(--primary-family);font-size:clamp(1.1rem,3.4vw,3.25rem);font-weight:var(--primary-regular);letter-spacing:var(--letter-spacing-tight);cursor:pointer;transition:color var(--hover-duration) var(--hover-ease);background:0 0;border:0;padding:0;line-height:1.1}.gallery_filter:hover,.gallery_filter.is-active{color:var(--text)}.gallery_hint{color:var(--text-2);font-family:var(--mono-family);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:clamp(.7rem,.65rem + .2vw,.85rem)}.gallery_grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;display:grid}.gallery_tile{aspect-ratio:1;background-color:var(--background-3);cursor:pointer;will-change:clip-path;border:0;min-width:0;padding:0;position:relative;overflow:hidden}.gallery_image{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--hover-ease);will-change:transform}.gallery_tile:hover .gallery_image{transform:scale(1.04)}.gallery_tile:focus-visible{outline:2px solid var(--text);outline-offset:-4px}.gallery_tile.is-filtered-out{display:none}@media not (min-width:48rem){.gallery_grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery_filters{justify-content:flex-start;gap:var(--space-2) var(--space-4)}}html.gallery-open{overflow:hidden}.gallery-overlay{z-index:300;pointer-events:none;position:fixed;inset:0}.gallery-overlay_panel{background-color:var(--dark-900);color:var(--light-300);clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);visibility:hidden;overscroll-behavior:contain;transition:clip-path var(--page-transition-duration) var(--page-transition-ease), visibility var(--page-transition-duration) var(--page-transition-ease);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(6rem,11vw,9.5rem);column-gap:1rem;display:grid;position:absolute;inset:0;overflow:hidden}.gallery-overlay.is-open{pointer-events:auto}.gallery-overlay.is-open .gallery-overlay_panel{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);visibility:visible}.gallery-overlay_bar{grid-column:1/-1;align-items:center;gap:clamp(1rem,4vw,3.5rem);padding:1rem;display:flex}.gallery-overlay_filters{flex:1;justify-content:space-between}.gallery-overlay_close{width:2.5rem;height:2.5rem;color:var(--light-300);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.gallery-overlay_cross{width:1.4rem;height:1.4rem;position:relative}.gallery-overlay_cross:before,.gallery-overlay_cross:after{content:"";inset-inline:0;border-top:var(--border-width) solid currentcolor;position:absolute;top:50%}.gallery-overlay_cross:before{rotate:45deg}.gallery-overlay_cross:after{rotate:-45deg}.gallery-overlay_filters{flex-wrap:wrap;gap:clamp(1rem,4vw,4rem);display:flex}.gallery-overlay_filter{color:color-mix(in lab, var(--light-300) 55%, transparent);font-family:var(--primary-family);font-size:clamp(1rem,2vw,1.85rem);font-weight:var(--primary-regular);letter-spacing:var(--letter-spacing-tight);cursor:pointer;transition:color var(--hover-duration) var(--hover-ease);background:0 0;border:0;padding:0;line-height:1.1}.gallery-overlay_filter:hover,.gallery-overlay_filter.is-active{color:var(--light-300)}.gallery-overlay_stage{grid-area:2/1;min-width:0;min-height:0;position:relative;overflow:hidden}.gallery-overlay_slide{opacity:0;visibility:hidden;transition:opacity var(--hover-duration) var(--hover-ease), visibility var(--hover-duration) var(--hover-ease);margin:0;position:absolute;inset:0}.gallery-overlay_slide.is-active{opacity:1;visibility:visible}.gallery-overlay_image{object-fit:cover;width:100%;height:100%}.gallery-overlay_side{flex-direction:column;grid-area:2/2;gap:1rem;min-height:0;padding-block-end:1rem;padding-inline-end:1rem;display:flex}.gallery-overlay_rail{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex;overflow-y:auto}.gallery-overlay_rail::-webkit-scrollbar{display:none}.gallery-overlay_thumb{border:var(--border-width) solid transparent;aspect-ratio:4/3;opacity:.55;cursor:pointer;transition:opacity var(--hover-duration) var(--hover-ease), border-color var(--hover-duration) var(--hover-ease);background:0 0;flex:none;padding:0;position:relative;overflow:hidden}.gallery-overlay_thumb:hover,.gallery-overlay_thumb.is-active{opacity:1}.gallery-overlay_thumb.is-active{border-color:var(--light-300)}.gallery-overlay_thumb-image{object-fit:cover;width:100%;height:100%}.gallery-overlay_controls{align-items:flex-end;gap:var(--space-2);flex-direction:column;flex:none;display:flex}.gallery-overlay_step{width:2.75rem;height:2.75rem;color:var(--light-300);cursor:pointer;transition:opacity var(--hover-duration) var(--hover-ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;display:inline-flex}.gallery-overlay_step:hover{opacity:.6}.gallery-overlay_thumb.is-filtered-out{display:none}@media not (min-width:48rem){.gallery-overlay_panel{grid-template-columns:minmax(0,1fr)}.gallery-overlay_stage{grid-area:2/1}.gallery-overlay_side{padding:var(--space-4);pointer-events:none;grid-area:2/1;align-self:end}.gallery-overlay_rail{display:none}.gallery-overlay_controls{pointer-events:auto;flex-direction:row;justify-content:flex-end}.gallery-overlay_step{background-color:color-mix(in srgb, var(--dark-900) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%}}}
