.project-gallery{padding-block:var(--pd-b)}.project-gallery__heading{max-width:48rem;margin:0 auto clamp(2.5rem,6vw,4rem);text-align:center}.project-gallery__eyebrow{color:#fff0cc;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.project-gallery__heading h2{margin-top:.65rem}.project-gallery__heading>p:last-child{max-width:40rem;margin:1rem auto 0;color:rgba(255,255,255,.76);font-size:1.08rem}.project-gallery__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.5rem;padding-block:1rem;border-block:1px solid rgba(255,255,255,.14)}.project-gallery__filters{display:flex;flex-wrap:wrap;gap:.5rem}.project-gallery__filters button{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:.4rem;color:rgba(255,255,255,.76);font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.project-gallery__filters button>span{min-width:1.35rem;padding-inline:.35rem;border-radius:.25rem;background:rgba(255,255,255,.1);font-size:.68rem;line-height:1.35rem;text-align:center}.project-gallery__filters button:is(:hover,.is-active){border-color:#fff;background:#fff;color:#171717}.project-gallery__filters button.is-active>span{background:rgba(23,23,23,.1)}.project-gallery__count{flex:none;color:rgba(255,255,255,.58);font-size:.78rem;white-space:nowrap}.project-gallery__grid{display:grid;grid-gap:.85rem;gap:.85rem}.project-gallery__grid li{content-visibility:auto;contain-intrinsic-size:auto 18rem}.project-gallery__grid button{position:relative;display:block;width:100%;padding:0;overflow:hidden;border-radius:.25rem;background:#292929;cursor:zoom-in}.project-gallery__grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:opacity .22s ease,transform .35s ease}.project-gallery__grid button>span{position:absolute;right:.75rem;bottom:.75rem;padding:.35rem .65rem;border-radius:.25rem;background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .18s ease}.project-gallery__grid button:focus-visible>span{opacity:1}.project-gallery__more{margin-top:2rem;text-align:center}.project-gallery__more-button{padding:.8rem 1.25rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease}.project-gallery__more-button:is(:hover,:focus-visible){background:#fff;color:#171717}.project-gallery__dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(1rem,3vw,2.5rem);overflow:hidden;border:0;background:rgba(8,8,8,.96);color:#fff}.project-gallery__dialog::-webkit-backdrop{background:rgba(0,0,0,.96);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-gallery__dialog::backdrop{background:rgba(0,0,0,.96);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-gallery__dialog-content{position:relative;display:grid;grid-template-columns:clamp(3rem,6vw,4.5rem) minmax(0,1fr) clamp(3rem,6vw,4.5rem);grid-template-rows:minmax(0,1fr);align-items:center;grid-gap:clamp(.75rem,2vw,1.5rem);gap:clamp(.75rem,2vw,1.5rem);width:min(100%,96rem);height:100%;margin-inline:auto}.project-gallery__media{display:flex;grid-column:2;grid-row:1;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;width:100%;height:100%;min-height:0;margin:0}.project-gallery__image-stage{position:relative;display:grid;width:100%;min-width:0;min-height:0;place-items:center;overflow:hidden}.project-gallery__image-stage[aria-busy=true]:after{width:2.25rem;height:2.25rem;border:2px solid rgba(255,255,255,.24);border-top-color:#fff;border-radius:50%;content:"";animation:gallery-spin .7s linear infinite}.project-gallery__dialog img{position:static;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 8rem);border-radius:.3rem;object-fit:contain;opacity:0;transition:opacity .18s ease}.project-gallery__dialog img.is-loaded{opacity:1}.project-gallery__media figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .8rem;min-height:1.75rem;text-align:center}.project-gallery__media figcaption>span{padding:.25rem .5rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:rgba(255,255,255,.72);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.project-gallery__media figcaption>strong{color:rgba(255,255,255,.92);font-size:.78rem;letter-spacing:.04em}.project-gallery__close,.project-gallery__dialog-nav{position:absolute;z-index:1;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(0,0,0,.78);color:#fff;cursor:pointer}.project-gallery__close{position:fixed;top:clamp(.75rem,2vw,1.25rem);right:clamp(.75rem,2vw,1.25rem);font-size:1.8rem;line-height:1}.project-gallery__dialog-nav{position:static;width:3rem;height:3rem;font-size:1.35rem;justify-self:center;transition:background-color .16s ease,transform .16s ease}.project-gallery__dialog-nav:is(:hover,:focus-visible){background:#fff;color:#171717;transform:scale(1.04)}.project-gallery__dialog-nav--previous{grid-column:1;grid-row:1}.project-gallery__dialog-nav--next{grid-column:3;grid-row:1}@keyframes gallery-spin{to{transform:rotate(1turn)}}@media (hover:hover){.project-gallery__grid button:hover img{opacity:.82;transform:scale(1.025)}.project-gallery__grid button:hover>span{opacity:1}}@media (min-width:600px){.project-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.project-gallery__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:699px){.project-gallery__toolbar{align-items:stretch;flex-direction:column}.project-gallery__filters{flex-wrap:nowrap;max-width:100%;padding-bottom:.35rem;overflow-x:auto;scrollbar-width:thin}.project-gallery__filters button{flex:none}.project-gallery__dialog{padding:.75rem}.project-gallery__dialog-content{display:block}.project-gallery__media{width:100%;height:100%;padding:2.75rem 0 .25rem}.project-gallery__dialog img{max-height:calc(100dvh - 9rem)}.project-gallery__dialog-nav{position:absolute;top:50%;width:2.65rem;height:2.65rem;transform:translateY(-50%)}.project-gallery__dialog-nav:is(:hover,:focus-visible){transform:translateY(-50%) scale(1.04)}.project-gallery__dialog-nav--previous{left:0}.project-gallery__dialog-nav--next{right:0}}@media (prefers-reduced-motion:reduce){.project-gallery__dialog-nav,.project-gallery__filters button,.project-gallery__grid img,.project-gallery__more-button{transition:none}.project-gallery__image-stage[aria-busy=true]:after{animation:none}}