.project-gallery{display:grid;grid-gap:var(--space-4);gap:var(--space-4);min-width:0;max-width:100%}.project-gallery__main{position:relative;min-width:0}.project-gallery__viewport{overflow:hidden;width:100%;border-radius:18px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 24px 60px rgba(0,0,0,.22)}.project-gallery__track{display:flex;width:100%;will-change:transform;transition:transform .55s cubic-bezier(.22,1,.36,1)}.project-gallery__filters{display:flex;flex-wrap:wrap;gap:.45rem .65rem}.project-gallery__filter{font-size:.62rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-beige-dim);padding:.35rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.project-gallery__filter.is-active,.project-gallery__filter:hover{color:var(--color-gold);border-color:rgba(212,175,136,.55);background:rgba(212,175,136,.08)}.project-gallery__slide{flex:0 0 100%;width:100%;min-width:0;margin:0}.project-gallery__slide-btn{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.project-gallery__slide-btn img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.project-gallery__slide-btn:hover img{transform:scale(1.02)}.project-gallery__expand{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:999px;font-size:.62rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-beige);background:rgba(10,10,10,.72);border:1px solid var(--color-border-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translateY(6px);transition:opacity var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.project-gallery__expand svg{width:.95rem;height:.95rem}.project-gallery__slide-btn:focus-visible .project-gallery__expand,.project-gallery__slide-btn:hover .project-gallery__expand{opacity:1;transform:translateY(0)}.project-gallery__nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid var(--color-border-strong);background:rgba(10,10,10,.78);color:var(--color-beige);cursor:pointer;transform:translateY(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),background var(--duration) var(--ease-out),opacity var(--duration) var(--ease-out)}.project-gallery__nav:hover:not(:disabled){color:var(--color-gold);border-color:rgba(212,175,136,.55)}.project-gallery__nav:disabled{opacity:.35;cursor:not-allowed}.project-gallery__nav svg{width:1rem;height:1rem}.project-gallery__nav--prev{left:1rem}.project-gallery__nav--next{right:1rem}.project-gallery__footer{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.project-gallery__count{margin:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-beige-muted)}.project-gallery__current-label,.project-gallery__hint{color:var(--color-gold-soft)}.project-gallery__hint{color:var(--color-beige-dim)}.project-gallery__counter{flex-shrink:0}.project-gallery__thumbs{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.project-gallery__thumb{flex:0 0 6.5rem;overflow:hidden;aspect-ratio:4/3;border-radius:12px;border:1px solid var(--color-border);padding:0;background:var(--color-surface);cursor:pointer;opacity:.72;transition:opacity var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.project-gallery__thumb.is-active,.project-gallery__thumb:hover{opacity:1;border-color:rgba(212,175,136,.55)}.project-gallery__thumb.is-active{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.22)}.project-gallery__thumb img{width:100%;height:100%;object-fit:cover}.project-lightbox{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;padding:clamp(.85rem,2vw,1.5rem)}.project-lightbox__backdrop{position:fixed;inset:0;border:0;background:rgba(4,4,4,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.project-lightbox__content{position:relative;z-index:1;flex:1 1;min-height:0;width:min(100%,1400px);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.project-lightbox__close,.project-lightbox__nav,.project-lightbox__tool,.project-lightbox__tools,.project-lightbox__top,.project-lightbox__viewport{pointer-events:auto}.project-lightbox__top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);flex-shrink:0;padding-bottom:.25rem}.project-lightbox__meta{display:grid;grid-gap:.25rem;gap:.25rem}.project-lightbox__meta strong{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-beige)}.project-lightbox__meta span{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-beige-muted)}.project-lightbox__close{width:2.75rem;height:2.75rem;flex-shrink:0;display:grid;place-items:center;border-radius:999px;border:1px solid var(--color-border-strong);background:rgba(10,10,10,.82);color:var(--color-beige);cursor:pointer}.project-lightbox__close:hover{color:var(--color-gold);border-color:rgba(212,175,136,.45)}.project-lightbox__close svg{width:1.1rem;height:1.1rem}.project-lightbox__tools{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem;border-radius:999px;border:1px solid var(--color-border);background:rgba(10,10,10,.82)}.project-lightbox__tool{min-width:2.2rem;height:2.2rem;padding:0 .65rem;border:0;border-radius:999px;background:transparent;color:var(--color-beige);font:inherit;font-size:var(--text-sm);cursor:pointer}.project-lightbox__tool:hover:not(:disabled){color:var(--color-gold);background:rgba(212,175,136,.1)}.project-lightbox__tool:disabled{opacity:.4;cursor:not-allowed}.project-lightbox__tool--reset{font-size:.68rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding-inline:.85rem}.project-lightbox__zoom-label{min-width:3rem;text-align:center;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-beige-muted)}.project-lightbox__viewport{position:relative;flex:1 1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(237,230,217,.08);background:rgba(0,0,0,.35);touch-action:none}.project-lightbox__viewport.is-zoomed{cursor:-webkit-grab;cursor:grab}.project-lightbox__viewport.is-zoomed:active{cursor:-webkit-grabbing;cursor:grabbing}.project-lightbox__canvas{transform-origin:center center;transition:transform .2s var(--ease-out);will-change:transform}.project-lightbox__image{display:block;max-width:min(100%,1400px);max-height:calc(100dvh - 11rem);width:auto;height:auto;object-fit:contain;border-radius:12px;background:#050505;box-shadow:0 30px 80px rgba(0,0,0,.45);-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-lightbox__nav{position:absolute;top:50%;z-index:2;width:3rem;height:3rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--color-border-strong);background:rgba(10,10,10,.82);color:var(--color-beige);cursor:pointer;transform:translateY(-50%)}.project-lightbox__nav:hover:not(:disabled){color:var(--color-gold)}.project-lightbox__nav:disabled{opacity:.35;cursor:not-allowed}.project-lightbox__nav svg{width:1.1rem;height:1.1rem}.project-lightbox__nav--prev{left:.75rem}.project-lightbox__nav--next{right:.75rem}@media (max-width:699px){.project-gallery__nav{width:2.35rem;height:2.35rem}.project-gallery__nav--prev{left:.55rem}.project-gallery__nav--next{right:.55rem}.project-gallery__thumb{flex-basis:5rem}.project-lightbox__top{grid-template-columns:minmax(0,1fr) auto}.project-lightbox__tools{grid-column:1/-1;justify-self:start}.project-lightbox__nav{width:2.5rem;height:2.5rem}.project-lightbox__nav--prev{left:.25rem}.project-lightbox__nav--next{right:.25rem}.project-lightbox__image{max-height:calc(100dvh - 13rem)}}@media (prefers-reduced-motion:reduce){.project-gallery__slide-btn img,.project-gallery__thumb,.project-gallery__track,.project-lightbox__canvas{transition:none}}