body{font-family:var(--font-body);background-color:var(--charcoal);color:var(--cream);max-width:100%}nav{position:fixed;top:0;left:0;right:0;background:#241f1cf2;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);z-index:1000;border-bottom:1px solid rgba(200,181,160,.1)}.portfolio-hero{margin-top:48px;padding:4rem 5% 3rem;text-align:center}.portfolio-hero h1{font-family:var(--font-display);font-size:3.5rem;font-weight:300;color:var(--cream);letter-spacing:2px;margin-bottom:.5rem}.portfolio-hero p{font-family:var(--font-body);font-size:1rem;font-weight:300;color:var(--sand);letter-spacing:2px;text-transform:uppercase}.gallery-container{max-width:1400px;margin:0 auto;padding:2rem 3%}.gallery-grid{columns:3;column-gap:1rem}.gallery-item{break-inside:avoid;margin-bottom:1rem;position:relative;overflow:hidden;cursor:pointer;background-color:#c8b5a00d;display:inline-block;transition:transform .3s ease;-webkit-column-break-inside:avoid;page-break-inside:avoid}.gallery-item:hover{transform:translateY(-3px);z-index:10}.gallery-item img{width:100%;height:auto;display:block;transition:opacity .3s ease}.gallery-item:hover img{opacity:.8}.hover-overlay{position:absolute;inset:0;background:#241f1cb3;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.gallery-item:hover .hover-overlay{opacity:1}.hover-overlay span{font-family:var(--font-body);font-size:.9rem;color:var(--white);letter-spacing:2px;text-transform:uppercase;background-color:#d4a76af2;padding:.8rem 1.8rem}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000f2;z-index:2000;padding:2rem;overflow-y:auto}.lightbox.active{display:flex;align-items:safe center;justify-content:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{max-width:1400px;width:100%;display:flex;gap:3rem;align-items:center;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.lightbox-image{flex:1.5}.lightbox-image img{width:100%;height:auto;max-height:85vh;object-fit:contain}.lightbox-info{flex:1;color:var(--cream)}.lightbox-info h2{font-family:var(--font-display);font-size:3rem;font-weight:400;color:var(--cream);margin-bottom:1rem;letter-spacing:1px}.lightbox-meta{font-family:var(--font-body);font-size:.95rem;color:var(--golden);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2rem}.lightbox-description{font-family:var(--font-body);font-size:1.1rem;line-height:1.9;color:var(--sand);margin-bottom:2rem;font-weight:300}.lightbox-details{border-top:1px solid rgba(200,181,160,.2);padding-top:2rem;margin-top:2rem}.lightbox-details h3{font-family:var(--font-display);font-size:1.5rem;color:var(--cream);margin-bottom:1rem}.lightbox-details ul{list-style:none;padding:0}.lightbox-details li{font-family:var(--font-body);font-size:.95rem;color:var(--sand);margin-bottom:.8rem;padding-left:1.5rem;position:relative}.lightbox-details li:before{content:"•";position:absolute;left:0;color:var(--golden)}.lightbox-close{position:fixed;top:2rem;right:2rem;width:50px;height:50px;background-color:#ffffff1a;border:1px solid var(--sand);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:2rem;color:var(--cream);transition:all .3s ease;z-index:2001}.lightbox-close:hover{background-color:var(--golden);border-color:var(--golden);transform:rotate(90deg)}.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);width:50px;height:50px;background-color:#ffffff1a;border:1px solid var(--sand);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;color:var(--cream);transition:all .3s ease;z-index:2001}.lightbox-prev:hover,.lightbox-next:hover{background-color:var(--golden);border-color:var(--golden)}.lightbox-prev{left:2rem}.lightbox-next{right:2rem}footer{background-color:#241f1c;padding:3rem 5%;text-align:center;border-top:1px solid rgba(200,181,160,.1)}footer p{font-family:var(--font-body);font-size:.85rem;color:var(--sand);letter-spacing:1px}@media(min-width:768px){.lightbox-close{top:2rem;right:2rem;background-color:#ffffff80}}@media(max-width:1200px){.gallery-grid{columns:3}}@media(max-width:1024px){.lightbox-content{flex-direction:column}.lightbox-info h2{font-size:2rem}}@media(max-width:768px){.portfolio-hero h1{font-size:2.5rem}.gallery-grid{columns:2}.lightbox{padding:1rem}.lightbox-nav,.lightbox-prev,.lightbox-next{display:none}}@media(max-width:480px){.gallery-grid{columns:1}}
