.project-detail-page{background-color:var(--primary-cream);min-height:100vh}.page-header-wrap{background-color:var(--primary-cream);padding-top:7rem}@media (min-width:1024px){.page-header-wrap{padding-top:8rem}}.hero-section .hero-image{position:relative;height:50vh;cursor:pointer}@media (min-width:1024px){.hero-section .hero-image{height:60vh}}.hero-section .hero-image:hover:after{content:"Click to view gallery";position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);color:#fff;padding:.5rem 1rem;font-size:.875rem}.details-section{padding:3rem 0;background-color:var(--primary-cream)}@media (min-width:1024px){.details-section{padding:4rem 0}}.details-section .project-location{font-size:.875rem;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;text-align:center}.details-section .project-title{font-size:2rem;font-weight:400;color:var(--primary-brown);text-align:center;margin-bottom:2.5rem}@media (min-width:1024px){.details-section .project-title{font-size:2.5rem}}.details-section .project-content{display:grid;grid-template-columns:1fr;gap:2rem;max-width:900px;margin:0 auto}@media (min-width:1024px){.details-section .project-content{grid-template-columns:1fr 1fr;gap:3rem}}.details-section .content-block{background:#fff;padding:2rem}.details-section .content-block h2{font-size:1.125rem;font-weight:600;color:var(--primary-brown);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary-amber)}@media (min-width:1024px){.details-section .content-block h2{font-size:1.25rem}}.details-section .content-block p{font-size:.9375rem;color:#3c3c3c;line-height:1.7;max-width:55ch}@media (min-width:1024px){.details-section .content-block p{font-size:1rem}}.gallery-section{padding:2rem 0 4rem;background-color:#fff}@media (min-width:1024px){.gallery-section{padding:3rem 0 5rem}}.gallery-section .gallery-title{font-size:1.5rem;font-weight:400;color:var(--primary-brown);text-align:center;margin-bottom:2rem}@media (min-width:1024px){.gallery-section .gallery-title{font-size:1.75rem}}.gallery-section .gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width:768px){.gallery-section .gallery-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}@media (min-width:1024px){.gallery-section .gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-section .gallery-item{position:relative;aspect-ratio:4/3;cursor:pointer;overflow:hidden}.gallery-section .gallery-item img{transition:transform .3s ease}.gallery-section .gallery-item:hover img{transform:scale(1.05)}.gallery-section .gallery-item:hover:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}.case-nav-section{padding:2rem 0;background-color:var(--primary-cream);border-top:1px solid rgba(0,0,0,.05)}.case-nav-section .case-nav{display:flex;flex-direction:column;gap:.75rem}@media (min-width:768px){.case-nav-section .case-nav{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}}.case-nav-section .case-nav-spacer{display:none}@media (min-width:768px){.case-nav-section .case-nav-spacer{display:block;flex:1}}.case-nav-section .case-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;transition:all .2s ease;overflow:hidden}@media (min-width:768px){.case-nav-section .case-nav-item{flex:1;max-width:350px}}.case-nav-section .case-nav-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.case-nav-section .case-nav-item.prev{justify-content:flex-start}.case-nav-section .case-nav-item.next{justify-content:flex-end;text-align:right}.case-nav-section .nav-icon{font-size:1.5rem;color:var(--primary-brown);flex-shrink:0}.case-nav-section .nav-thumb{position:relative;width:50px;height:50px;flex-shrink:0}@media (min-width:768px){.case-nav-section .nav-thumb{width:60px;height:60px}}@media (min-width:1024px){.case-nav-section .nav-thumb{width:80px;height:60px}}.case-nav-section .nav-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.case-nav-section .nav-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.case-nav-section .nav-title{font-size:.875rem;font-weight:600;color:var(--primary-brown);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width:1024px){.case-nav-section .nav-title{font-size:1rem}}.bottom-cta-section{padding:4rem 1rem;background-color:var(--primary-brown);text-align:center}@media (min-width:1024px){.bottom-cta-section{padding:5rem 2rem}}.bottom-cta-section .cta-heading{font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:.75rem}@media (min-width:1024px){.bottom-cta-section .cta-heading{font-size:2rem}}.bottom-cta-section .cta-subtext{font-size:1rem;color:var(--primary-amber);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}@media (min-width:1024px){.bottom-cta-section .cta-subtext{font-size:1.125rem}}.bottom-cta-section .cta-button{display:inline-block;background-color:#fff;color:var(--primary-brown);padding:1rem 2.5rem;font-weight:600;font-size:1rem;border-radius:.375rem;transition:all .2s ease}.bottom-cta-section .cta-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:1000}.lightbox,.lightbox-close{display:flex;align-items:center;justify-content:center}.lightbox-close{position:absolute;top:1rem;right:1rem;width:48px;height:48px;background:transparent;color:#fff;font-size:2rem;z-index:10;transition:opacity .2s ease}.lightbox-close:hover{opacity:.7}.lightbox-content{position:relative;width:90vw;height:80vh;max-width:1200px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.1);color:#fff;font-size:1.5rem;z-index:10;transition:background .2s ease}.lightbox-nav:hover{background:hsla(0,0%,100%,.2)}.lightbox-nav.prev{left:1rem}@media (min-width:1024px){.lightbox-nav.prev{left:2rem}}.lightbox-nav.next{right:1rem}@media (min-width:1024px){.lightbox-nav.next{right:2rem}}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.875rem;background:rgba(0,0,0,.5);padding:.5rem 1rem}