html.gallery-modal-open,html.gallery-modal-open body{overflow:hidden}.gallery-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(.75rem,2vw,1.5rem)}.gallery-modal[hidden]{display:none}.gallery-modal__backdrop{position:absolute;inset:0;background:#0808089e;-webkit-backdrop-filter:blur(8px) saturate(.9);backdrop-filter:blur(8px) saturate(.9);opacity:0;transition:opacity .35s cubic-bezier(.16,1,.3,1)}.gallery-modal__panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(74rem,100%);height:min(92svh,880px);overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:.35rem;background:#f9f8f5d1;color:#171717;opacity:0;transform:translateY(18px) scale(.985);box-shadow:0 30px 90px #00000061;-webkit-backdrop-filter:blur(24px) saturate(1.12);backdrop-filter:blur(24px) saturate(1.12);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.gallery-modal.is-open .gallery-modal__backdrop{opacity:1}.gallery-modal.is-open .gallery-modal__panel{opacity:1;transform:translateY(0) scale(1)}.gallery-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.4rem 1.5rem 1.25rem;border-bottom:1px solid rgba(23,23,23,.1);background:#f9f8f5bd;transition:opacity .3s ease .08s}.gallery-modal__copy{min-width:0}.gallery-modal__title{margin:0;color:#171717;font-size:clamp(1.55rem,3vw,2rem);font-weight:500;letter-spacing:-.02em}.gallery-modal__text{max-width:50rem;margin:.45rem 0 0;color:#737373;font-size:.9rem;line-height:1.55}.gallery-modal__close,.gallery-modal__nav{display:grid;flex:0 0 auto;place-items:center;border-radius:50%;color:currentColor;cursor:pointer}.gallery-modal__close{width:2.75rem;height:2.75rem;border:1px solid rgba(23,23,23,.14);background:#ffffff9e;color:#171717;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .25s ease,background .25s ease}.gallery-modal__close:hover{background:#ffffffe6;transform:rotate(90deg)}.gallery-modal__close svg,.gallery-modal__nav svg{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.gallery-modal__close svg{width:1.15rem;height:1.15rem}.gallery-modal__media{display:flex;flex:1;min-height:0;flex-direction:column;background:#fff}.gallery-modal__stage{position:relative;display:grid;flex:1;min-height:0;place-items:center;margin:0;overflow:hidden;background:#fff}.gallery-modal__main-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;transition:opacity .22s ease}.gallery-modal__transition-image{position:fixed;z-index:82;display:block;max-width:none;margin:0;object-fit:cover;object-position:center;pointer-events:none;transform-origin:top left;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.gallery-modal.is-card-transition .gallery-modal__panel{opacity:1;transform:none;transition:none}.gallery-modal.is-card-transition .gallery-modal__backdrop,.gallery-modal.is-card-transition .gallery-modal__panel{-webkit-backdrop-filter:none;backdrop-filter:none}.gallery-modal.is-card-transition .gallery-modal__header,.gallery-modal.is-card-transition .gallery-modal__gallery,.gallery-modal.is-card-transition .gallery-modal__nav,.gallery-modal.is-card-transition .gallery-modal__counter,.gallery-modal.is-card-transition .gallery-modal__main-image{opacity:0}.gallery-modal__nav{position:absolute;top:50%;z-index:2;width:3rem;height:3rem;border:1px solid rgba(23,23,23,.18);background:#0f0f0f9e;color:#fff;transform:translateY(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s ease .08s,background .2s ease,transform .2s ease}.gallery-modal__nav:hover{background:#0f0f0fe6;transform:translateY(-50%) scale(1.05)}.gallery-modal__nav[hidden]{display:none}.gallery-modal__nav svg{width:1.35rem;height:1.35rem}.gallery-modal__nav--prev{left:1rem}.gallery-modal__nav--next{right:1rem}.gallery-modal__counter{position:absolute;right:1rem;bottom:1rem;padding:.4rem .7rem;border-radius:999px;background:#0f0f0fad;color:#ffffffe0;font-size:.68rem;font-weight:600;letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s ease .08s}.gallery-modal__gallery{display:flex;flex:0 0 auto;gap:.5rem;padding:.65rem;overflow-x:auto;overflow-y:hidden;border-top:1px solid rgba(23,23,23,.1);background:#fff;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a3a3a3 #f5f5f5;transition:opacity .3s ease .08s}.gallery-modal__gallery[hidden]{display:none}.gallery-modal__thumb{position:relative;flex:0 0 5.5rem;height:3.75rem;padding:0;overflow:hidden;border:2px solid transparent;background:#ececec;opacity:.58;cursor:pointer;transition:opacity .2s ease,border-color .2s ease}.gallery-modal__thumb:hover,.gallery-modal__thumb.is-active{border-color:#171717;opacity:1}.gallery-modal__thumb img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:639px){.gallery-modal{padding:0}.gallery-modal__panel{width:100%;height:100svh;border-radius:0}.gallery-modal__header{gap:1rem;padding:1rem}.gallery-modal__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gallery-modal__close{width:2.5rem;height:2.5rem}.gallery-modal__nav{width:2.65rem;height:2.65rem}.gallery-modal__nav--prev{left:.65rem}.gallery-modal__nav--next{right:.65rem}.gallery-modal__counter{right:.75rem;bottom:.75rem}.gallery-modal__thumb{flex-basis:4.5rem;height:3.1rem}}@media(prefers-reduced-motion:reduce){.gallery-modal__backdrop,.gallery-modal__panel{transition:none}}
