.portfolio-module__XbO6Ca__container{max-width:1200px;margin:6rem auto 4rem;padding:0 2rem}.portfolio-module__XbO6Ca__header{text-align:center;margin-bottom:4rem}.portfolio-module__XbO6Ca__header h1{letter-spacing:6px;text-transform:uppercase;margin-bottom:1rem;font-size:2.5rem}.portfolio-module__XbO6Ca__galleryGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.portfolio-module__XbO6Ca__photoCard{background-color:var(--card-bg);cursor:pointer;border-radius:6px;transition:transform .3s;overflow:hidden}.portfolio-module__XbO6Ca__photoCard:hover{transform:translateY(-4px)}.portfolio-module__XbO6Ca__imageWrapper{aspect-ratio:3/4;position:relative;overflow:hidden}.portfolio-module__XbO6Ca__image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio-module__XbO6Ca__hoverOverlay{color:#fff;text-transform:uppercase;letter-spacing:1px;opacity:0;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;font-size:.9rem;font-weight:700;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.portfolio-module__XbO6Ca__photoCard:hover .portfolio-module__XbO6Ca__hoverOverlay{opacity:1}.portfolio-module__XbO6Ca__photoCard:hover .portfolio-module__XbO6Ca__image{transform:scale(1.03)}.portfolio-module__XbO6Ca__photoInfo{text-align:left;padding:1.5rem}.portfolio-module__XbO6Ca__photoInfo h2{letter-spacing:1px;margin-bottom:.4rem;font-size:1.2rem}.portfolio-module__XbO6Ca__photoInfo p{opacity:.7;font-size:.85rem;line-height:1.4}.portfolio-module__XbO6Ca__lightbox{z-index:2000;background-color:#0a0a0af2;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.portfolio-module__XbO6Ca__lightboxContent{flex-direction:column;justify-content:center;align-items:center;max-width:80vw;max-height:90vh;display:flex;position:relative}.portfolio-module__XbO6Ca__lightboxImage{object-fit:contain;border-radius:4px;width:auto;max-width:100%;max-height:50vh}.portfolio-module__XbO6Ca__lightboxCounter{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-top:1rem;font-size:.8rem}.portfolio-module__XbO6Ca__btnClose,.portfolio-module__XbO6Ca__btnNavLeft,.portfolio-module__XbO6Ca__btnNavRight{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:1rem;font-size:2.5rem;transition:opacity .2s;position:absolute}.portfolio-module__XbO6Ca__btnClose:hover,.portfolio-module__XbO6Ca__btnNavLeft:hover,.portfolio-module__XbO6Ca__btnNavRight:hover{opacity:1}.portfolio-module__XbO6Ca__btnClose{font-size:3.5rem;top:1.5rem;right:2rem}.portfolio-module__XbO6Ca__btnNavLeft{left:2rem}.portfolio-module__XbO6Ca__btnNavRight{right:2rem}@media (max-width:768px){.portfolio-module__XbO6Ca__btnNavLeft{font-size:2rem;left:.5rem}.portfolio-module__XbO6Ca__btnNavRight{font-size:2rem;right:.5rem}.portfolio-module__XbO6Ca__btnClose{top:.5rem;right:1rem}}.portfolio-module__XbO6Ca__imageContainer{justify-content:center;align-items:center;width:100%;max-height:50vh;display:flex}.portfolio-module__XbO6Ca__lightboxFooter{background-color:var(--card-bg);border-top:1px solid #d2b48c33;border-radius:0 0 6px 6px;width:100%;max-width:100%;margin-top:1rem;padding:1.5rem}.portfolio-module__XbO6Ca__footerMain{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.portfolio-module__XbO6Ca__footerMain h3{letter-spacing:1px;color:#fff;font-size:1.3rem}.portfolio-module__XbO6Ca__counter{opacity:.6;font-size:.85rem;font-weight:700}.portfolio-module__XbO6Ca__workSummary{opacity:.85;margin-bottom:1.2rem;font-size:.95rem;font-style:italic;line-height:1.5}.portfolio-module__XbO6Ca__creditsGrid{opacity:.9;border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:1.5rem;padding-top:.8rem;font-size:.85rem;display:flex}.portfolio-module__XbO6Ca__creditsGrid strong{color:var(--accent)}@media (max-width:768px){.portfolio-module__XbO6Ca__lightboxContent{justify-content:flex-start;max-height:90vh;padding-bottom:2rem;overflow-y:auto}.portfolio-module__XbO6Ca__imageContainer{max-height:40vh}.portfolio-module__XbO6Ca__lightboxFooter{margin-top:1rem;padding:1rem}.portfolio-module__XbO6Ca__footerMain h3{font-size:1.1rem}.portfolio-module__XbO6Ca__workSummary{font-size:.85rem}.portfolio-module__XbO6Ca__creditsGrid{grid-template-columns:1fr;gap:.4rem}.portfolio-module__XbO6Ca__creditsGrid div{white-space:nowrap}}
