.media-mosaic-gallery,.media-mosaic-gallery--project-detail{--media-mosaic-size: 72px;--media-mosaic-gap: .5rem;--media-mosaic-rows: 6}.media-mosaic-gallery--projects-index{--media-mosaic-size: 128px;--media-mosaic-gap: .5rem;--media-mosaic-rows: 4}.media-mosaic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--media-mosaic-size),1fr));grid-auto-rows:var(--media-mosaic-size);gap:var(--media-mosaic-gap);height:auto;overflow-y:visible;padding-right:0}.media-mosaic-grid__item{position:relative;overflow:hidden;border-radius:.75rem;padding:0;border:1px solid var(--t-border-subtle);background-color:var(--t-subtle-bg);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.media-mosaic-grid__item:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.media-mosaic-grid__item{&:hover{border-color:var(--t-border-hover)}aspect-ratio:1 / 1}.media-mosaic-gallery--project-detail .media-mosaic-grid{grid-template-columns:repeat(auto-fill,72px);grid-auto-rows:72px;justify-content:start;height:auto;overflow-y:visible;padding-right:0}.media-mosaic-gallery--project-detail .media-mosaic-grid__item{width:72px;height:72px;max-width:72px;max-height:72px}.media-mosaic-gallery--projects-index .media-mosaic-grid{grid-template-columns:repeat(auto-fill,128px);grid-auto-rows:128px;justify-content:start;height:auto;overflow-y:visible;padding-right:0}.media-mosaic-gallery--projects-index .media-mosaic-grid__item{width:128px;height:128px;max-width:128px;max-height:128px}.media-mosaic-grid__item img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;aspect-ratio:1 / 1}.media-mosaic-grid__badge{pointer-events:none;position:absolute;bottom:.25rem;left:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;border-radius:.375rem;background-color:#000000a6;padding:.125rem .375rem;font-size:.75rem;line-height:1rem;font-weight:500;line-height:1.25;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.media-lightbox{position:fixed;inset:0;margin:0;height:100vh;max-height:none;width:100vw;max-width:none;border-width:0px;padding:0;background:#000;color:#fff;overflow:hidden}.media-lightbox[open]{display:flex;flex-direction:column}.media-lightbox::backdrop{background:#000;animation:media-fade-in .2s ease-out}.media-lightbox__scrim{pointer-events:none;position:absolute;left:0;right:0;z-index:20;display:flex;padding:.75rem}@media(min-width:768px){.media-lightbox__scrim{padding:1rem 1.25rem}}.media-lightbox__scrim{--tw-backdrop-blur: blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.media-lightbox__scrim:before{content:"";position:absolute;inset:0;z-index:-10;background-color:#000;opacity:.85}.media-lightbox__scrim>*{pointer-events:auto}.media-lightbox__scrim--top{top:0;align-items:flex-start;justify-content:space-between}.media-lightbox__scrim--bottom{bottom:0;flex-direction:column;align-items:stretch;gap:.5rem}.media-lightbox__top-left{display:flex;align-items:center;gap:.75rem}.media-lightbox__counter{font-size:.875rem;line-height:1.25rem;--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);color:#fffc;text-shadow:0 1px 3px rgba(0,0,0,.5)}.media-lightbox__project-link{display:flex;align-items:center;gap:.25rem;font-size:.875rem;line-height:1.25rem;color:#fff9;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;text-shadow:0 1px 3px rgba(0,0,0,.5);text-decoration:none}.media-lightbox__project-link:hover{color:#ffffffe6}.media-lightbox__project-link:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:#fff}.media-lightbox__project-link[hidden]{display:none}.media-lightbox__top-actions{display:flex;align-items:center;gap:.375rem}.media-lightbox__btn{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;background-color:#0006;color:#ffffffe6;--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid rgba(255,255,255,.12)}.media-lightbox__btn:hover{background-color:#0009;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));border-color:#ffffff40}.media-lightbox__btn:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:#fff}.media-lightbox__btn--close{margin-left:.25rem}.media-lightbox__btn[hidden]{display:none}.media-lightbox__stage{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;cursor:default;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.media-lightbox__stage[data-zoomed=true]{cursor:grab}.media-lightbox__stage[data-zoomed=true][data-panning=true]{cursor:grabbing}.media-lightbox__canvas{position:relative;transform-origin:center center;will-change:transform}.media-lightbox__image{display:block;max-width:100vw;max-height:calc(100vh - 80px);width:auto;height:auto;-o-object-fit:contain;object-fit:contain;-webkit-user-drag:none}.media-lightbox__arrow{position:absolute;top:50%;z-index:30;display:flex;height:2.75rem;width:2.75rem;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;border-radius:9999px;background-color:#0006;color:#ffffffe6;--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid rgba(255,255,255,.12)}.media-lightbox__arrow:hover{background-color:#0009;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));border-color:#ffffff40}.media-lightbox__arrow:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:#fff}.media-lightbox__arrow--prev{left:.75rem}@media(min-width:768px){.media-lightbox__arrow--prev{left:1rem}}.media-lightbox__arrow--next{right:.75rem}@media(min-width:768px){.media-lightbox__arrow--next{right:1rem}}@media(hover:hover){.media-lightbox__arrow{opacity:0;transition:opacity .2s ease,background-color .15s ease}.media-lightbox:hover .media-lightbox__arrow,.media-lightbox__arrow:focus-visible{opacity:1}}@media(hover:none){.media-lightbox__arrow{opacity:1}}.media-lightbox__caption{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;padding-left:.25rem;padding-right:.25rem;text-align:left;font-size:.875rem;line-height:1.25rem;color:#ffffffd9}@media(min-width:768px){.media-lightbox__caption{font-size:1rem;line-height:1.5rem}}.media-lightbox__caption{text-shadow:0 1px 3px rgba(0,0,0,.5);min-height:1.25rem}.media-lightbox__caption:empty{display:none}.media-lightbox__strip{display:flex;gap:.375rem;overflow-x:auto;padding-left:.25rem;padding-right:.25rem;padding-bottom:.25rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.media-lightbox__strip-item{flex-shrink:0;overflow:hidden;border-radius:.25rem;border-width:2px;border-color:transparent;padding:0;opacity:.5;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.media-lightbox__strip-item:hover{opacity:.8}.media-lightbox__strip-item:focus-visible{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#fff}.media-lightbox__strip-item img{display:block;height:52px;width:52px;-o-object-fit:cover;object-fit:cover}@media(min-width:768px){.media-lightbox__strip-item img{height:56px;width:56px}}.media-lightbox__strip-item.is-active{border-color:#fffc;opacity:1}html.media-gallery-open,html.media-gallery-open body{overflow:hidden}@media(min-width:768px){.media-mosaic-gallery{--media-mosaic-size: 80px}.media-mosaic-gallery--project-detail{--media-mosaic-size: 72px}.media-mosaic-gallery--projects-index{--media-mosaic-size: 128px}}@keyframes media-fade-in{0%{opacity:0}to{opacity:1}}[data-project-article] img[role=button]{transition:opacity .15s ease}[data-project-article] img[role=button]:hover{opacity:.85}[data-project-article] img[role=button]:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:var(--t-link, currentColor)}@media(prefers-reduced-motion:reduce){.media-lightbox::backdrop,.media-lightbox__arrow,.media-lightbox__btn,.media-lightbox__strip-item{animation:none!important;transition:none!important}}
