.gallery-variant-section{background:#ffffff04;padding:clamp(2rem,5vw,4rem) 0;position:relative}.gallery-variant-section .showcase-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;max-width:88rem;margin:0 auto clamp(1.5rem,4vw,2.5rem);padding:0 clamp(1.25rem,5vw,3rem);display:flex}.gallery-variant-section .showcase-headings{min-width:0}.gallery-variant-section .showcase-title{font-family:var(--font-fonseca);color:var(--on-dark-1);letter-spacing:.01em;margin:.4rem 0 0;font-size:clamp(2.4rem,6vw,4.5rem);line-height:.95}.gallery-variant-section .showcase-meta{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-4);margin:.8rem 0 0;font-size:11px}.gallery-variant-section .showcase-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:88rem;margin:clamp(1.5rem,4vw,2.5rem) auto 0;padding:0 clamp(1.25rem,5vw,3rem);display:flex}.gallery-variant-section .showcase-ctrl{width:52px;min-width:52px;height:52px;color:var(--on-dark-1);cursor:pointer;background:#141414b3;border:1px solid #f7f1e340;border-radius:9999px;justify-content:center;align-items:center;transition:background .22s,border-color .22s,color .22s,transform .22s;display:inline-flex}.gallery-variant-section .showcase-ctrl:hover:not(:disabled){background:var(--goldenrod);border-color:var(--goldenrod);color:var(--charcoal)}.gallery-variant-section .showcase-ctrl:focus-visible{outline:2px solid var(--goldenrod);outline-offset:3px}.gallery-variant-section .showcase-ctrl:disabled{opacity:.35;cursor:not-allowed}.gallery-variant-section .showcase-ctrl svg{width:22px;height:22px}.gallery-variant-section .showcase-counter{font-family:var(--font-mono);letter-spacing:.18em;color:var(--on-dark-2);font-variant-numeric:tabular-nums;font-size:12px}.gallery-variant-section .carousel{width:100vw;margin-left:calc(50% - 50vw);position:relative}.gallery-variant-section .carousel-stage{aspect-ratio:16/9;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;background:#000;width:100%;position:relative;overflow:hidden}.gallery-variant-section .carousel-stage:active{cursor:grabbing}@media (max-width:640px){.gallery-variant-section .carousel-stage{aspect-ratio:4/5}}.gallery-variant-section .carousel-slide{opacity:0;pointer-events:none;transition:opacity .6s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.gallery-variant-section .carousel-slide.is-active{opacity:1;pointer-events:auto}.gallery-variant-section .carousel-slide img{object-fit:cover}.gallery-variant-section .carousel-whole-row,.gallery-variant-section .carousel-both{gap:clamp(.75rem,2vw,1.5rem);display:flex;position:absolute;inset:0}.gallery-variant-section .carousel-whole-row{justify-content:center;align-items:center;padding:clamp(.75rem,2.5vw,2rem) clamp(5rem,8vw,7rem)}.gallery-variant-section .carousel-both-zoom{flex:1 1 0;min-width:0;position:relative}.gallery-variant-section .carousel-whole{background:#000;flex:none;min-width:0;height:100%;margin:0;display:flex;position:relative}.gallery-variant-section .carousel-whole-row .carousel-whole{flex:0 auto}.gallery-variant-section .carousel-whole:after{content:"";pointer-events:none;border:1px solid #f7f1e31a;position:absolute;inset:0}.gallery-variant-section .carousel-slide .carousel-whole img{object-fit:contain;width:auto;max-width:100%;height:100%;display:block}@media (min-width:769px){[data-portfolio-wireframe] .gallery-variant-section .carousel-whole-row{padding-inline:calc(156px + 1.25rem)}}@media (max-width:640px){.gallery-variant-section .carousel-whole-row{padding:.75rem}.gallery-variant-section .carousel-whole-beside{display:none}}.gallery-variant-section .carousel-cap{font-family:var(--font-serif);color:var(--cream);background:linear-gradient(#0000,#000000c7);padding:clamp(1rem,3vw,2rem);font-size:clamp(.95rem,2vw,1.25rem);font-style:italic;position:absolute;bottom:0;left:0;right:0}.gallery-variant-section .carousel-arrow{z-index:3;position:absolute;top:50%;transform:translateY(-50%)}.gallery-variant-section .carousel-arrow.prev{left:clamp(.75rem,2vw,1.5rem)}.gallery-variant-section .carousel-arrow.next{right:clamp(.75rem,2vw,1.5rem)}.gallery-variant-section .carousel-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:1rem;display:flex}.gallery-variant-section .carousel-dot{cursor:pointer;background:0 0;border:1px solid #f7f1e366;border-radius:9999px;width:10px;height:10px;padding:0;transition:background .22s,border-color .22s,transform .22s}.gallery-variant-section .carousel-dot:hover{border-color:var(--goldenrod)}.gallery-variant-section .carousel-dot.is-active{background:var(--goldenrod);border-color:var(--goldenrod);transform:scale(1.15)}.gallery-variant-section .carousel-dot:focus-visible{outline:2px solid var(--goldenrod);outline-offset:2px}.gallery-variant-section .coverflow{width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.gallery-variant-section .coverflow-track{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;height:clamp(360px,64vh,660px);position:relative}.gallery-variant-section .coverflow-track:active{cursor:grabbing}.gallery-variant-section .coverflow-item{aspect-ratio:3/2;will-change:transform, opacity;background:#000;border:1px solid #f7f1e31a;width:clamp(280px,56vw,760px);margin:0;padding:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s,filter .5s;position:absolute;top:50%;left:50%;overflow:hidden}.gallery-variant-section .coverflow-item img{object-fit:cover}.gallery-variant-section .coverflow-item[data-offset="0"]{opacity:1;z-index:5;filter:none;transform:translate(-50%,-50%)scale(1)}.gallery-variant-section .coverflow-item[data-offset="-1"]{opacity:.5;z-index:4;filter:brightness(.7);transform:translate(-114%,-50%)scale(.82)}.gallery-variant-section .coverflow-item[data-offset="1"]{opacity:.5;z-index:4;filter:brightness(.7);transform:translate(14%,-50%)scale(.82)}.gallery-variant-section .coverflow-item[data-offset="-2"]{opacity:.22;z-index:3;filter:brightness(.55);transform:translate(-168%,-50%)scale(.66)}.gallery-variant-section .coverflow-item[data-offset="2"]{opacity:.22;z-index:3;filter:brightness(.55);transform:translate(68%,-50%)scale(.66)}.gallery-variant-section .coverflow-item[data-offset=hidden]{opacity:0;z-index:1;pointer-events:none;transform:translate(-50%,-50%)scale(.5)}.gallery-variant-section .coverflow-item.is-peek{cursor:pointer}.gallery-variant-section .coverflow-peek-target{z-index:1;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.gallery-variant-section .coverflow-peek-target:focus-visible{outline:2px solid var(--accent-red);outline-offset:3px}.gallery-variant-section .coverflow-arrow{z-index:10;position:absolute;top:50%;transform:translateY(-50%)}@media (max-width:640px){.gallery-variant-section .coverflow-track{height:calc(125vw - 11px)}.gallery-variant-section .coverflow-item{aspect-ratio:4/5;width:calc(100vw - 28px)}.gallery-variant-section .coverflow-item[data-offset="-1"]{transform:translate(-144%,-50%)scale(.92)}.gallery-variant-section .coverflow-item[data-offset="1"]{transform:translate(44%,-50%)scale(.92)}.gallery-variant-section .coverflow-item[data-offset="-2"],.gallery-variant-section .coverflow-item[data-offset="2"]{opacity:0}.gallery-variant-section[data-phone-frames=landscape] .coverflow-track{height:calc(66.6667vw + 5.33333px)}.gallery-variant-section[data-phone-frames=landscape] .coverflow-item{aspect-ratio:3/2}.gallery-variant-section[data-phone-frames=landscape] .coverflow-item img{object-fit:contain}}.gallery-variant-section .coverflow-arrow.prev{left:clamp(.5rem,2vw,1.5rem)}.gallery-variant-section .coverflow-arrow.next{right:clamp(.5rem,2vw,1.5rem)}.gallery-variant-section .snaprail-wrap{width:100vw;margin-left:calc(50% - 50vw)}.gallery-variant-section .snaprail{scroll-snap-type:x mandatory;scroll-behavior:smooth;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding:0 clamp(1.25rem,5vw,3rem);display:flex;overflow-x:auto}.gallery-variant-section .snaprail::-webkit-scrollbar{display:none}.gallery-variant-section .snaprail:active{cursor:grabbing}.gallery-variant-section .snaprail>.gallery-card{scroll-snap-align:center;aspect-ratio:3/4;flex-shrink:0;height:clamp(420px,72vh,760px)}@media (max-width:640px){.gallery-variant-section .snaprail>.gallery-card{aspect-ratio:4/5;height:clamp(360px,64vh,560px)}}.gallery-variant-section .snaprail-progress{align-items:center;gap:1rem;max-width:88rem;margin:1.25rem auto 0;padding:0 clamp(1.25rem,5vw,3rem);display:flex}.gallery-variant-section .snaprail-track{background:#f7f1e324;border-radius:9999px;flex:1;height:3px;position:relative;overflow:hidden}.gallery-variant-section .snaprail-bar{background:var(--teal);border-radius:9999px;transition:width .12s linear,transform .12s linear;position:absolute;top:0;bottom:0;left:0}.gallery-variant-section .lbgrid{grid-template-columns:repeat(2,1fr);gap:clamp(.5rem,1.5vw,1rem);max-width:88rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem);display:grid}@media (min-width:760px){.gallery-variant-section .lbgrid{grid-template-columns:repeat(3,1fr)}}.gallery-variant-section .lbgrid-cell{aspect-ratio:4/5;cursor:zoom-in;background:#000;border:1px solid #f7f1e31a;padding:0;position:relative;overflow:hidden}.gallery-variant-section .lbgrid-cell img{object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-variant-section .lbgrid-cell:hover img,.gallery-variant-section .lbgrid-cell:focus-visible img{transform:scale(1.05)}.gallery-variant-section .lbgrid-cell:focus-visible{outline:2px solid var(--goldenrod);outline-offset:2px}.lightbox{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080808f5;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-bar{justify-content:space-between;align-items:center;gap:1rem;padding:clamp(.75rem,2vw,1.25rem) clamp(1rem,3vw,2rem);display:flex}.lightbox-bar .showcase-ctrl{width:44px;min-width:44px;height:44px;color:var(--on-dark-1);cursor:pointer;background:#141414b3;border:1px solid #f7f1e340;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}.lightbox-bar .showcase-ctrl:hover{background:var(--goldenrod);border-color:var(--goldenrod);color:var(--charcoal)}.lightbox-bar .showcase-ctrl:focus-visible{outline:2px solid var(--goldenrod);outline-offset:3px}.lightbox-bar .showcase-counter{font-family:var(--font-mono);letter-spacing:.18em;color:var(--on-dark-2);font-variant-numeric:tabular-nums;font-size:12px}.lightbox-stage{flex:1;min-height:0;margin:0 clamp(.5rem,2vw,2rem);position:relative}.lightbox-img{position:absolute;inset:0}.lightbox-img img{object-fit:contain}.lightbox-cap{text-align:center;font-family:var(--font-serif);color:var(--on-dark-2);padding:clamp(.75rem,2vw,1.25rem) 1rem clamp(1rem,3vw,2rem);font-size:clamp(.9rem,2vw,1.15rem);font-style:italic}.lightbox-arrow{z-index:3;width:52px;min-width:52px;height:52px;color:var(--on-dark-1);cursor:pointer;background:#141414b3;border:1px solid #f7f1e340;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:var(--goldenrod);border-color:var(--goldenrod);color:var(--charcoal)}.lightbox-arrow:focus-visible{outline:2px solid var(--goldenrod);outline-offset:3px}.lightbox-arrow.prev{left:clamp(.25rem,2vw,1rem)}.lightbox-arrow.next{right:clamp(.25rem,2vw,1rem)}.lightbox-arrow svg{width:22px;height:22px}.gallery-variant-section .stage-wrap{max-width:88rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem)}.gallery-variant-section .stage-frame{aspect-ratio:16/10;background:#000;border:1px solid #f7f1e31a;width:100%;position:relative;overflow:hidden}@media (max-width:640px){.gallery-variant-section .stage-frame{aspect-ratio:4/5}}.gallery-variant-section .stage-frame:focus-visible{outline:2px solid var(--avocado);outline-offset:3px}.gallery-variant-section .stage-layer{opacity:0;transition:opacity .45s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.gallery-variant-section .stage-layer.is-active{opacity:1}.gallery-variant-section .stage-layer img{object-fit:cover}.gallery-variant-section .stage-cap{background:linear-gradient(#0000,#000000c7);justify-content:space-between;align-items:baseline;gap:1rem;padding:clamp(1rem,3vw,1.75rem);display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-variant-section .stage-cap-text{font-family:var(--font-serif);color:var(--cream);font-size:clamp(.95rem,2vw,1.2rem);font-style:italic}.gallery-variant-section .stage-cap-num{font-family:var(--font-mono);letter-spacing:.16em;color:var(--avocado);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.gallery-variant-section .stage-thumbs{scrollbar-width:none;gap:8px;padding:12px 2px 4px;display:flex;overflow-x:auto}.gallery-variant-section .stage-thumbs::-webkit-scrollbar{display:none}.gallery-variant-section .stage-thumb{aspect-ratio:1;cursor:pointer;opacity:.55;background:#000;border:2px solid #0000;flex:none;width:clamp(72px,14vw,116px);padding:0;transition:opacity .22s,border-color .22s;position:relative;overflow:hidden}.gallery-variant-section .stage-thumb img{object-fit:cover}.gallery-variant-section .stage-thumb:hover{opacity:.85}.gallery-variant-section .stage-thumb.is-active{opacity:1;border-color:var(--avocado)}.gallery-variant-section .stage-thumb:focus-visible{outline:2px solid var(--avocado);outline-offset:2px}.gallery-variant-section .filterable-wrap{background:#ffffff04;border:1px solid #f7f1e31a;max-width:88rem;margin:0 auto;padding:clamp(1.25rem,3vw,2.25rem) clamp(1.25rem,5vw,3rem)}.gallery-variant-section .filterable-head{border-bottom:1px solid #f7f1e31a;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:1rem;padding-bottom:clamp(1rem,2.5vw,1.5rem);display:flex}.gallery-variant-section .filterable-count{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--goldenrod);margin:0;font-size:11px}.gallery-variant-section .filterable-chips{flex-direction:column;gap:.75rem;margin:clamp(1.1rem,3vw,1.75rem) 0;display:flex}.gallery-variant-section .filterable-chip-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gallery-variant-section .filterable-chip-label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--on-dark-4);margin-right:.35rem;font-size:9px}.gallery-variant-section .filter-chip{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-2);cursor:pointer;background:0 0;border:1px solid #f7f1e333;min-height:36px;padding:7px 14px;font-size:10px;transition:color .2s,background .2s,border-color .2s}.gallery-variant-section .filter-chip:hover{border-color:var(--goldenrod);color:var(--on-dark-1)}.gallery-variant-section .filter-chip.is-active{background:var(--goldenrod);border-color:var(--goldenrod);color:var(--charcoal)}.gallery-variant-section .filter-chip:focus-visible{outline:2px solid var(--goldenrod);outline-offset:2px}.gallery-variant-section .filterable-grid{grid-template-columns:repeat(1,1fr);gap:clamp(.6rem,1.5vw,1rem);display:grid}@media (min-width:640px){.gallery-variant-section .filterable-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.gallery-variant-section .filterable-grid{grid-template-columns:repeat(3,1fr)}}.gallery-variant-section .filterable-cell{aspect-ratio:4/3;background:#000;border:1px solid #f7f1e31a;margin:0;position:relative;overflow:hidden}.gallery-variant-section .filterable-cell img{transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-variant-section .filterable-cell:hover img{transform:scale(1.05)}.gallery-variant-section .filterable-cell-tag{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-2);background:#0009;padding:4px 9px;font-size:9px;position:absolute;bottom:0;left:0}.gallery-variant-section .filterable-empty{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-4);text-align:center;padding:clamp(2rem,6vw,4rem) 0;font-size:12px}.gallery-variant-section .filterable-cta-mobile{display:none}@media (min-width:640px){.gallery-variant-section .filterable-cell:nth-child(n+7){display:none}}@media (max-width:639px){.gallery-variant-section .filterable-grid{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.6rem;display:flex;overflow-x:auto}.gallery-variant-section .filterable-grid::-webkit-scrollbar{display:none}.gallery-variant-section .filterable-cell{aspect-ratio:4/5;scroll-snap-align:center;flex:0 0 75vw}.gallery-variant-section .showcase-cta-desktop{display:none}.gallery-variant-section .filterable-cta-mobile{margin-top:1.25rem;display:block}.gallery-variant-section .filterable-cta-mobile .cta-btn{text-align:center;justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.gallery-variant-section .carousel-slide,.gallery-variant-section .coverflow-item,.gallery-variant-section .stage-layer,.gallery-variant-section .snaprail{scroll-behavior:auto!important;transition:none!important}.gallery-variant-section .lbgrid-cell:hover img,.gallery-variant-section .lbgrid-cell:focus-visible img,.gallery-variant-section .filterable-cell:hover img{transform:none}}.gallery-variant-section[data-gallery-variant=carousel]{padding-bottom:1rem}.gallery-variant-section .carousel-footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:3rem;margin-top:0;display:grid}.gallery-variant-section .carousel-footer .carousel-dots{margin-top:0}.gallery-variant-section .gallery-preview-footer{margin-top:1.5rem}.gallery-stills{background:var(--charcoal);--stills-wipe:1s cubic-bezier(.16, 1, .3, 1);--stills-settle:2.4s cubic-bezier(.16, 1, .3, 1);--stills-stagger:calc(var(--frame,0) * .14s);--stills-gutter:6px;--stills-edge:clamp(1rem, 4vw, 2.5rem);padding-bottom:0}.gallery-stills .stills-reel{width:100vw;margin-left:calc(50% - 50vw)}.gallery-stills .stills-strip{min-height:100svh;padding:calc(var(--stills-edge) + 2rem) var(--stills-edge) var(--stills-edge);background:#000;place-items:center;margin:0;display:grid;position:relative}.gallery-stills .stills-stack{gap:var(--stills-gutter);width:100%;display:grid}@media (max-width:767px){.gallery-stills .stills-strip{min-height:0}}.gallery-stills .stills-slate{top:var(--stills-edge);left:var(--stills-edge);right:var(--stills-edge);color:var(--on-dark-3);align-items:center;gap:.75rem;display:flex;position:absolute}.gallery-stills .stills-slate-num{color:var(--goldenrod)}.gallery-stills .stills-slate-rule{background:#f7f1e324;flex:1;height:1px}.gallery-stills .stills-frame{aspect-ratio:2.39;clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path var(--stills-wipe), opacity .5s cubic-bezier(.16, 1, .3, 1), transform var(--stills-wipe);transition-delay:var(--stills-stagger);background:#000;position:relative;overflow:hidden;transform:translateY(10px)}.gallery-stills .stills-frame--from-right{clip-path:inset(0 0 0 100%)}.gallery-stills .stills-frame.in{clip-path:inset(0);opacity:1;transform:translateY(0)}.gallery-stills .stills-frame .prog-img,.gallery-stills .stills-frame .prog-img img{width:100%;height:100%;position:absolute;inset:0}.gallery-stills .stills-frame .prog-img img{object-fit:cover;object-position:var(--stills-focus,50% 50%);transition:transform var(--stills-settle);transition-delay:var(--stills-stagger);transform:scale(1.08)}.gallery-stills .stills-frame.in .prog-img img{transform:scale(1)}@media (hover:hover) and (pointer:fine){.gallery-stills .stills-strip:hover .stills-frame.in .prog-img img{transition-duration:.9s;transition-delay:calc(var(--frame,0) * 60ms);transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.gallery-stills .stills-frame,.gallery-stills .stills-frame .prog-img img{clip-path:none!important;opacity:1!important;transition:none!important;transform:none!important}}[data-motion-off] .gallery-stills .stills-frame,[data-motion-off] .gallery-stills .stills-frame .prog-img img{clip-path:none!important;opacity:1!important;transition:none!important;transform:none!important}[data-variant-card] .gallery-stills .stills-strip{min-height:0}
