.image-masonry{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto}.masonry-grid{columns:4;column-gap:.75rem;width:100%}.masonry-item{break-inside:avoid;cursor:pointer;border-radius:4px;width:100%;margin-bottom:.75rem;display:block;position:relative;overflow:hidden}.masonry-item:hover .masonry-caption{opacity:1}.masonry-image{border-radius:4px;width:100%;height:auto;transition:transform .4s,filter .4s;display:block}.masonry-item:hover .masonry-image{filter:brightness(.85);transform:scale(1.03)}.masonry-caption{color:#fff;opacity:0;background:linear-gradient(#0000 0%,#000000b3 100%);border-radius:0 0 4px 4px;padding:.5rem .75rem;font-size:.75rem;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}@media (max-width:1200px){.masonry-grid{columns:3}}@media (max-width:768px){.masonry-grid{columns:2;column-gap:.5rem}.masonry-item{margin-bottom:.5rem}}@media (max-width:480px){.masonry-grid{columns:1}}.lightbox-overlay{z-index:9999;background:#000000f2;justify-content:center;align-items:center;animation:.3s lightboxFadeIn;display:flex;position:fixed;inset:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:80vh;animation:.3s imageSlideIn}@keyframes imageSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-caption{color:#fff;text-align:center;max-width:600px;margin-top:1rem;font-size:1rem}.lightbox-counter{color:#fff;opacity:.8;margin-top:.5rem;font-size:.9rem}.lightbox-close{color:#fff;cursor:pointer;z-index:10000;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;padding:0;font-size:2.5rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.lightbox-arrow{color:#fff;cursor:pointer;z-index:10000;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:0;font-size:3rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-50%)scale(1.1)}.lightbox-arrow-left{left:2rem}.lightbox-arrow-right{right:2rem}@media (max-width:768px){.lightbox-close{width:40px;height:40px;font-size:2rem;top:1rem;right:1rem}.lightbox-arrow{width:50px;height:50px;font-size:2.5rem}.lightbox-arrow-left{left:1rem}.lightbox-arrow-right{right:1rem}.lightbox-caption{padding:0 1rem;font-size:.9rem}.lightbox-counter{font-size:.8rem}.lightbox-content{max-width:95vw}.lightbox-image{max-height:70vh}}.masonry-video-wrapper{width:100%;display:block;position:relative}.masonry-play-overlay{pointer-events:none;background:#00000040;border-radius:4px;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.masonry-item:hover .masonry-play-overlay{background:#00000073}.masonry-play-overlay svg{filter:drop-shadow(0 2px 4px #00000080);transition:transform .2s}.masonry-item:hover .masonry-play-overlay svg{transform:scale(1.15)}.lightbox-video{background:#000;border-radius:4px;max-width:90vw;max-height:80vh;display:block}
.project-detail-page{background:var(--concrete-900);width:100%;color:var(--concrete-100)}.project-hero{width:100vw;height:100svh;display:flex;position:relative}.project-hero-image{width:50%;height:100%;position:relative;overflow:hidden}.project-hero-content{background:var(--concrete-900);flex-direction:column;justify-content:center;width:50%;height:100%;padding:0 5%;display:flex}.project-meta{color:var(--concrete-400);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:.5rem;margin-bottom:2rem;font-family:Messina Sans Mono,monospace;font-size:.875rem;display:flex}.project-meta-service{color:var(--trd-accent)}.project-hero-title{text-transform:uppercase;margin-bottom:1.5rem;font-family:Rader,sans-serif;font-size:3.5rem;font-weight:700;line-height:1}.project-hero-tagline{color:var(--concrete-300);font-family:Messina Sans,sans-serif;font-size:1.25rem;line-height:1.6}.detail-nav-bar{align-items:center;gap:1rem;width:80%;max-width:1200px;margin:0 auto;padding:2rem 0 0;display:flex}.back-link{text-transform:uppercase;letter-spacing:.08em;color:var(--concrete-400);align-items:center;gap:.5rem;font-family:Messina Sans Mono,monospace;font-size:.8125rem;font-weight:400;line-height:1;text-decoration:none;transition:color .25s,gap .25s;display:inline-flex}.back-link:hover{color:var(--concrete-100);gap:.75rem}.back-link-arrow{flex-shrink:0;transition:transform .25s}.back-link:hover .back-link-arrow{transform:translate(-3px)}.project-section{padding:8rem 0}.project-content{width:80%;max-width:1200px;margin:0 auto}.project-content-wide{width:90%;max-width:1400px;margin:0 auto}.text-center{text-align:center}.section-title{text-transform:uppercase;margin-bottom:2rem;font-family:Rader,sans-serif;font-size:3rem;font-weight:700;line-height:1}.section-copy{color:var(--concrete-300);font-family:Messina Sans,sans-serif;font-size:1.125rem;line-height:1.7}.project-results{background:var(--concrete-800)}.project-stats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;width:80%;max-width:1200px;margin-top:4rem;margin-left:auto;margin-right:auto;display:grid}.stat{border-top:1px solid #ffffff1a;padding-top:1.5rem}.stat-value{color:var(--trd-accent);margin-bottom:.75rem;font-family:Rader,sans-serif;font-size:4rem;font-weight:700;line-height:1}.stat-label{color:var(--concrete-300);text-transform:uppercase;letter-spacing:.05em;font-family:Messina Sans,sans-serif;font-size:1rem}.comparison-grid{grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem;display:grid}.comparison-image img{border-radius:1rem;width:100%;height:auto}.comparison-caption{color:var(--concrete-400);text-transform:uppercase;text-align:center;margin-top:1rem;font-family:Messina Sans Mono,monospace;font-size:.875rem}.project-testimonial{background:var(--concrete-800)}.testimonial-quote{color:var(--concrete-100);margin-bottom:2rem;font-family:Messina Sans,sans-serif;font-size:1.5rem;font-style:italic;line-height:1.6}.testimonial-author{flex-direction:column;gap:.5rem;display:flex}.testimonial-author strong{color:var(--trd-accent);font-family:Rader,sans-serif;font-size:1.25rem}.testimonial-author span{color:var(--concrete-400);font-family:Messina Sans,sans-serif;font-size:1rem}.project-cta{background:linear-gradient(135deg,var(--concrete-900)0%,#1a1a1a 100%);padding:10rem 0}.cta-title{margin-bottom:3rem;font-size:4rem}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.button-primary,.button-secondary{text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;padding:1.25rem 3rem;font-family:Messina Sans,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s}.button-primary{background:var(--trd-accent);color:#fff}.button-primary:hover{background:var(--trd-secondary);color:var(--trd-primary);transform:translateY(-2px)}.button-secondary{color:var(--concrete-100);border:2px solid var(--concrete-100);background:0 0}.button-secondary:hover{background:var(--concrete-100);color:var(--concrete-900)}@media (max-width:1000px){.detail-nav-bar{box-sizing:border-box;width:100%;padding:1.5rem 8% 0}.project-hero{flex-direction:column-reverse;height:auto}.project-hero-image,.project-hero-content{width:100%;min-height:50svh}.project-hero-content{padding:5rem 8%}.project-hero-title{font-size:2.5rem}.project-section{padding:5rem 0}.project-content,.project-content-wide{width:100%;padding:0 8%}.section-title{font-size:2rem}.comparison-grid{grid-template-columns:1fr}.project-stats{grid-template-columns:1fr;width:100%;padding:0 8%}.cta-title{font-size:2.5rem}.cta-buttons{flex-direction:column;width:100%}.project-gallery{padding:4rem 0 6rem}.project-gallery .project-content-wide{box-sizing:border-box;width:100%;padding:0 5%}.project-gallery .section-title{margin-bottom:1.5rem;font-size:2rem}}.project-gallery{background:var(--concrete-800);width:100%;padding:6rem 0 8rem;overflow-x:hidden}.project-gallery .project-content-wide{box-sizing:border-box;width:90%;max-width:1400px;margin:0 auto;padding:0}.project-gallery .section-title{margin-bottom:2rem;font-size:2.5rem}
