/* CineGrow automatic Masonry portfolio */
.cg-freewall{position:relative;width:100%;min-height:240px;margin-inline:auto}
.cg-wall-sizer{width:calc((100% - 30px)/4)}.cg-wall-gutter{width:10px}
.cg-wall-item{width:calc((100% - 30px)/4);margin-bottom:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#070a0f;box-shadow:0 18px 44px rgba(0,0,0,.24);opacity:0;transition:opacity .22s ease,transform .22s ease,border-color .18s ease,box-shadow .18s ease}
.cg-wall-item.cg-wall-ready{opacity:1}.cg-wall-item:hover{z-index:5;border-color:rgba(0,229,160,.34);box-shadow:0 24px 60px rgba(0,0,0,.4)}
.cg-wall-open{appearance:none;width:100%;display:block;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.cg-wall-open:focus-visible{outline:2px solid var(--cg-jade);outline-offset:-3px}
.cg-wall-media{position:relative;width:100%;aspect-ratio:var(--cg-media-ratio,16/9);overflow:hidden;background:#020407}.cg-wall-media img,.cg-wall-media video{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#020407}.cg-wall-media video{pointer-events:none}
.cg-wall-caption{min-height:54px;display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .82rem;border-top:1px solid rgba(255,255,255,.06);background:rgba(13,18,25,.97)}.cg-wall-caption strong{min-width:0;overflow:hidden;color:var(--cg-cream);font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.cg-wall-caption span{flex:0 0 auto;color:var(--cg-jade);font-size:.52rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.cg-wall-video-badge{position:absolute;top:.72rem;left:.72rem;z-index:2;padding:.28rem .48rem;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:rgba(4,7,11,.72);color:var(--cg-cream);font-size:.5rem;font-weight:700;letter-spacing:.14em;backdrop-filter:blur(8px)}.cg-portfolio-note{margin:1.35rem 0 0;color:var(--cg-muted);font-size:.68rem;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.cg-wall-empty{min-height:320px;display:grid;place-content:center;gap:.55rem;padding:2rem;border:1px dashed rgba(0,229,160,.24);border-radius:7px;text-align:center;background:linear-gradient(135deg,rgba(0,229,160,.04),transparent 42%),var(--cg-card)}.cg-wall-empty span{color:var(--cg-jade);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.cg-wall-empty strong{color:var(--cg-cream);font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,3vw,2rem)}.cg-wall-empty p{margin:0;color:var(--cg-muted);font-size:.78rem}
body.cg-wall-lightbox-open{overflow:hidden}.cg-wall-lightbox[hidden]{display:none}.cg-wall-lightbox{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:1rem}.cg-wall-lightbox-backdrop{position:absolute;inset:0;background:rgba(1,3,7,.94);backdrop-filter:blur(15px)}.cg-wall-lightbox-dialog{position:relative;z-index:1;width:min(95vw,1240px);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#030509;box-shadow:0 34px 110px rgba(0,0,0,.72)}.cg-wall-lightbox-stage{flex:1 1 auto;min-height:0;display:grid;place-items:center;background:#000}.cg-wall-lightbox-stage img,.cg-wall-lightbox-stage video{display:block;max-width:100%;max-height:calc(94vh - 82px);width:auto;height:auto;object-fit:contain}.cg-wall-lightbox-stage video{width:100%;background:#000}.cg-wall-lightbox-caption{flex:0 0 auto;min-height:78px;display:flex;flex-direction:column;justify-content:center;gap:.28rem;padding:.85rem 4rem .95rem 1.15rem;border-top:1px solid rgba(255,255,255,.07);background:#090d13}.cg-wall-lightbox-caption span{color:var(--cg-jade);font-size:.56rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.cg-wall-lightbox-caption strong{color:var(--cg-cream);font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:600}.cg-wall-lightbox-close,.cg-wall-lightbox-nav{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(7,9,15,.8);color:var(--cg-cream);cursor:pointer;backdrop-filter:blur(8px)}.cg-wall-lightbox-close{top:.72rem;right:.72rem;width:40px;height:40px;font-size:1.55rem}.cg-wall-lightbox-nav{top:50%;width:46px;height:46px;transform:translateY(-50%);font-size:2rem}.cg-wall-lightbox-prev{left:.72rem}.cg-wall-lightbox-next{right:.72rem}.cg-wall-lightbox-close:hover,.cg-wall-lightbox-close:focus-visible,.cg-wall-lightbox-nav:hover,.cg-wall-lightbox-nav:focus-visible{border-color:var(--cg-jade);color:var(--cg-jade);outline:none}
@media(max-width:991.98px){.cg-wall-sizer,.cg-wall-item{width:calc((100% - 20px)/3)}}
@media(max-width:575.98px){.cg-wall-sizer,.cg-wall-item{width:100%}.cg-wall-caption{min-height:48px;padding:.62rem .7rem}.cg-wall-caption strong{font-size:.9rem}.cg-wall-lightbox{padding:0}.cg-wall-lightbox-dialog{width:100%;max-height:100vh;border-radius:0}.cg-wall-lightbox-stage img,.cg-wall-lightbox-stage video{max-height:calc(100vh - 78px)}.cg-wall-lightbox-nav{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.cg-wall-item{transition:opacity .12s ease}}
