*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{--font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--font-family);font-weight:400;line-height:1.6;color:#222;background-color:#fff;min-height:100vh;display:flex;flex-direction:column}a{color:#222;text-decoration:none;transition:color .2s ease}a:hover{color:#666}img{display:block;max-width:100%;height:auto}ul,ol{list-style:none}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1;width:100%;margin:0 auto;padding:0}.site-main--constrained{max-width:1e3px;padding:2rem 2rem 4rem}.site-header{width:100%;padding:2.5rem 2rem 1.5rem;display:flex;justify-content:space-between;align-items:baseline}.site-title{font-size:1.5rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.site-title a{color:#222}.site-title a:hover{color:#666}.site-nav ul{display:flex;gap:2rem}.site-nav a{font-size:.85rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#555;position:relative}.site-nav a::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:#222;transition:width .25s ease}.site-nav a:hover{color:#222}.site-nav a:hover::after{width:100%}.site-nav a.active{color:#222}.site-nav a.active::after{width:100%}.masonry-grid{position:relative;width:100%;opacity:0;transition:opacity .4s ease}.masonry-grid.masonry-ready{opacity:1}.masonry-item{position:absolute;top:0;left:0;overflow:hidden}.masonry-item a{display:block;position:relative;cursor:pointer}.masonry-item img{width:100%;display:block;transition:transform .4s ease,filter .4s ease}.masonry-item a:hover img{transform:scale(1.02);filter:brightness(.95)}.masonry-item .overlay{position:absolute;bottom:0;left:0;right:0;padding:1.2rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.45));opacity:0;transition:opacity .35s ease;pointer-events:none}.masonry-item a:hover .overlay{opacity:1}.masonry-item .overlay-title{color:#fff;font-size:.85rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.horizontal-gallery{display:flex;flex-direction:column;gap:var(--spacing,24px);width:100%}.horizontal-item{width:100%;overflow:hidden}.horizontal-item a{display:block;position:relative;cursor:pointer}.horizontal-item img{width:100%;display:block;transition:transform .4s ease,filter .4s ease}.horizontal-gallery--capped .horizontal-item img{max-height:var(--max-image-height);object-fit:contain}.horizontal-item a:hover img{transform:scale(1.02);filter:brightness(.95)}.horizontal-item .overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 2rem;background:linear-gradient(transparent,rgba(0,0,0,.45));opacity:0;transition:opacity .35s ease;pointer-events:none}.horizontal-item a:hover .overlay{opacity:1}.horizontal-item .overlay-title{color:#fff;font-size:.85rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase}@media(max-width:600px){.site-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem 1.25rem 1rem}.site-main--constrained{padding:1.5rem 1.25rem 3rem}}.contact-page{max-width:600px}.contact-page h1{font-size:1.5rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2rem}.contact-page p{margin-bottom:1rem;color:#444;font-size:.95rem}.contact-links{margin-top:2rem;display:flex;flex-direction:column;gap:.75rem}.contact-link{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#444}.contact-link-label{font-weight:400;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:#999;min-width:80px}.contact-link a{color:#222;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}.contact-link a:hover{border-color:#222}.site-footer{width:100%;padding:1.5rem 2rem;font-size:.75rem;color:#bbb;letter-spacing:.04em}@media(max-width:600px){.site-footer{padding:1.5rem 1.25rem}}.work-single{max-width:900px}.work-single-header{margin-bottom:2.5rem}.work-single-header h1{font-size:1.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}.work-meta{color:#999;font-size:.8rem;letter-spacing:.04em;display:flex;gap:1.5rem;flex-wrap:wrap}.work-meta span{display:inline-block}.work-cover{margin-bottom:2.5rem}.work-cover img{width:100%;display:block}.work-content{color:#333;font-size:.95rem;line-height:1.8;max-width:700px}.work-content h2{font-size:1.2rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-top:2.5rem;margin-bottom:1rem;color:#222}.work-content h3{font-size:1rem;font-weight:500;letter-spacing:.04em;margin-top:2rem;margin-bottom:.75rem;color:#222}.work-content p{margin-bottom:1.25rem;color:#444}.work-content a{color:#222;border-bottom:1px solid #ccc;transition:border-color .2s ease,color .2s ease}.work-content a:hover{border-color:#222}.work-content ul,.work-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.work-content ul{list-style:disc}.work-content ol{list-style:decimal}.work-content li{margin-bottom:.4rem;color:#444}.work-content blockquote{border-left:2px solid #ddd;padding-left:1.25rem;margin:1.5rem 0;color:#666;font-style:italic}.work-content hr{border:none;border-top:1px solid #eee;margin:2.5rem 0}.work-content img{width:100%;display:block;margin:2rem 0}.work-content figure{margin:2rem 0}.work-content figure img{margin:0}.work-content figcaption{font-size:.8rem;color:#999;margin-top:.5rem;letter-spacing:.02em}.work-content code{font-size:.85em;background:#f5f5f5;padding:.15em .4em;border-radius:3px}.work-content pre{background:#f5f5f5;padding:1.25rem;overflow-x:auto;margin:1.5rem 0;border-radius:3px}.work-content pre code{background:0 0;padding:0}.work-back{display:inline-block;margin-bottom:2rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#999;transition:color .2s ease}.work-back:hover{color:#222}.page-single h1{font-size:1.5rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2rem}.page-content{color:#444;font-size:.95rem;line-height:1.8;max-width:700px}.page-content p{margin-bottom:1.25rem}.page-content img{width:100%;margin:2rem 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}