*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: #fafafa;--text-primary: #333;--text-secondary: #666;--accent: #333;--max-width: 1400px}body{font-family:system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;min-height:100vh;margin:0}html{margin:0;padding:0;scrollbar-gutter:stable}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lazy-img{opacity:0;transition:opacity .2s ease;width:100%;height:100%;object-fit:cover;display:block}.lazy-img--loaded{opacity:1}.gallery-item,.project-card,.engagement-cover,.engagement-cover>*{background:linear-gradient(90deg,#ececec 25%,#e0e0e0,#ececec 75%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.gallery-item:has(.lazy-img--loaded),.engagement-cover:has(.lazy-img--loaded){animation:none;background:none}.project-card:has(.lazy-img--loaded){animation:none;background:#000}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;margin:0 auto;padding:0}.navbar{background:#fff;padding:.6rem 3rem;position:static;z-index:1000;border-bottom:1px solid #eee}.nav-container{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center}.logo-image{height:32px;width:auto}.nav-links{display:flex;list-style:none;gap:3rem}.nav-links a{color:var(--text-secondary);text-decoration:none;transition:color .2s;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.home{width:100%}.home-grid{padding:.5rem}.gallery-grid--home{column-count:3;column-gap:.5rem}.gallery-grid--home .gallery-item{break-inside:avoid;overflow:hidden;cursor:pointer;display:block;transform:translateZ(0);backface-visibility:hidden;margin-bottom:.5rem;aspect-ratio:4 / 5}.gallery-grid--home .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,opacity .2s ease}.gallery-grid--home .gallery-item:hover img{transform:scale(1.04)}.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:1.2rem;color:var(--text-secondary)}.hero{position:relative;height:100vh;width:100%;overflow:hidden;background:#000}.hero-image{width:100vw;height:100vh;object-fit:cover;image-rendering:-webkit-optimize-contrast}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;color:#fff;max-width:700px;padding:2rem}.hero-content h1{font-size:3.5rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem}.hero-tagline{font-size:1.25rem;font-weight:300;letter-spacing:.05em;margin-bottom:1.5rem}.hero-divider{width:60px;height:1px;border:none;background:#fff;margin:0 auto 1.5rem;opacity:.8}.hero-description{font-size:.95rem;font-weight:300;line-height:1.7;opacity:.9;max-width:500px;margin:0 auto}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);cursor:pointer;animation:pulse 2s infinite}.scroll-chevron{display:block;font-size:2rem;color:#fff;opacity:.8;line-height:1}@keyframes pulse{0%,to{transform:translate(-50%) translateY(0);opacity:.8}50%{transform:translate(-50%) translateY(10px);opacity:.4}}.gallery-section{padding:2rem 3rem}.gallery-header{text-align:center;margin-bottom:2rem}.gallery-header h2{font-size:1.5rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.gallery-grid{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.gallery-item{flex:0 0 calc(33.333% - .34rem);overflow:hidden;cursor:pointer}.gallery-item img{width:100%;height:auto;display:block;transition:transform .4s ease,opacity .2s ease;image-rendering:-webkit-optimize-contrast}.gallery-item:hover img{transform:scale(1.05)}.gallery-grid--square .gallery-item{aspect-ratio:1 / 1}.gallery-grid--square .gallery-item img{width:100%;height:100%;object-fit:cover}.page{padding:3rem 3rem 2rem;max-width:900px;margin:0 auto;min-height:calc(100vh - 200px)}.page h1{font-size:2.5rem;font-weight:300;margin-bottom:.5rem}.page-description{color:var(--text-secondary);margin-bottom:2rem}.bio-container{display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:start}.bio-image img{width:100%;border-radius:4px}.bio-content h1{margin-bottom:1.5rem}.bio-content p{margin-bottom:1rem;color:var(--text-secondary)}.bio-intro{font-size:1.2rem;color:var(--text-primary)!important}.contact-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary)}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--text-primary)}.submit-btn{padding:1rem 2rem;background:var(--text-primary);color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:opacity .2s}.submit-btn:hover{opacity:.9}.contact-info{padding-top:1rem}.contact-info h3{font-weight:500;margin-bottom:1rem;margin-top:1.5rem}.contact-info h3:first-child{margin-top:0}.contact-info p{color:var(--text-secondary);margin-bottom:.5rem}.social-links{display:flex;flex-direction:column;gap:.5rem}.social-links a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.social-links a:hover{color:var(--text-primary)}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:zoom-out}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;cursor:default}.lightbox-close{position:absolute;top:1.5rem;right:2rem;background:none;border:none;color:#333;font-size:3rem;cursor:pointer;line-height:1;opacity:.7;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#333;font-size:4rem;cursor:pointer;opacity:.5;transition:opacity .2s;padding:1rem}.lightbox-arrow:hover{opacity:1}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.tagline-section{text-align:center;padding:4rem 2rem 2rem}.studio-tagline{font-size:1.15rem;font-weight:300;color:var(--text-secondary);letter-spacing:.04em;max-width:560px;margin:0 auto;line-height:1.8}.featured-section{padding:2rem 3rem 4rem;max-width:var(--max-width);margin:0 auto;width:100%}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-card{position:relative;display:block;overflow:hidden;text-decoration:none}.project-card img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .5s ease}.project-card:hover img{transform:scale(1.04);opacity:.75}.project-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.25rem 1.25rem 1rem;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 100%);color:#fff}.project-card-category{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:.25rem}.project-card-title{font-size:1.1rem;font-weight:400;margin:0;letter-spacing:.03em}.view-all-wrap{text-align:center;margin-top:2.5rem}.view-all-link{color:var(--text-secondary);text-decoration:none;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .2s}.view-all-link:hover{color:var(--text-primary)}.projects-page{padding-top:3rem;padding-bottom:4rem;max-width:var(--max-width)}.projects-heading{font-size:2.5rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3rem;text-align:center}.projects-category{margin-bottom:4rem}.projects-category-title{font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.engagement-page{width:100%}.engagement-cover{width:100%;max-height:80vh;overflow:hidden}.engagement-cover img{width:100%;height:80vh;object-fit:cover;display:block}.engagement-header{max-width:760px;margin:3rem auto 0;padding:0 2rem;text-align:center}.engagement-breadcrumb{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem}.engagement-breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.engagement-breadcrumb a:hover{color:var(--text-primary)}.engagement-title{font-size:2.75rem;font-weight:300;letter-spacing:.08em;line-height:1.2;margin:0}.engagement-story{max-width:680px;margin:2.5rem auto;padding:0 2rem;font-size:1.05rem;line-height:1.85;color:var(--text-secondary)}.engagement-story p+p{margin-top:1.25rem}.engagement-gallery{padding:1rem 3rem 3rem;max-width:var(--max-width);margin:0 auto}.engagement-footer{text-align:center;padding:1rem 0 4rem}.footer{background:#fff;padding:2rem;text-align:center;border-top:1px solid #eee;color:var(--text-secondary)}@media(max-width:1024px){.gallery-item{flex:0 0 calc(50% - .25rem)}}@media(max-width:480px){.gallery-grid--home{column-count:1}}@media(min-width:481px)and (max-width:768px){.gallery-grid--home{column-count:2}}@media(max-width:768px){.navbar{padding:1rem 1.5rem}.nav-links{gap:1.5rem}.scroll-indicator{display:none}.hero-content{padding:1rem}.hero-content h1{font-size:1.75rem;letter-spacing:.1em}.hero-tagline{font-size:1rem}.hero-description{font-size:.85rem}.gallery-section{padding:2rem 1.5rem}.gallery-item{flex:0 0 100%}.gallery-item.tall{grid-row:span 1}.bio-container,.contact-container{grid-template-columns:1fr;gap:2rem}.page{padding:6rem 1.5rem 1.5rem}.featured-section{padding:1.5rem 1.5rem 3rem}.featured-grid{grid-template-columns:1fr}.projects-page{padding-left:1.5rem;padding-right:1.5rem}.projects-grid{grid-template-columns:1fr}.engagement-cover img{height:50vh}.engagement-gallery{padding:1rem 1.5rem 2rem}.engagement-title{font-size:1.85rem}}@media(max-width:1024px)and (min-width:769px){.featured-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}}
