*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--grid-gap:10px;--nav-height:60px;--page-pad:40px;--ease:cubic-bezier(.25, .46, .45, .94);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration:.3s;--duration-slow:.5s;--card-bg:#f2f2f2;--card-bg-hover:#eaeaea;--bg:#fff;--bg-elevated:#f7f7f7;--bg-surface:#f0f0f0;--text-primary:#111;--text-secondary:#666;--text-muted:#999;--border:#e0e0e0;--overlay:#ffffffeb;--overlay-btn-hover:#0000000f;--lightbox-nav-color:#666;--lightbox-nav-hover:#111;--dropdown-shadow:0 16px 48px #00000014;--skeleton-lo:.5;--skeleton-hi:.8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0a0a0a;--bg-elevated:#141414;--bg-surface:#1a1a1a;--text-primary:#f0f0f0;--text-secondary:#888;--text-muted:#555;--border:#222;--overlay:#000000eb;--overlay-btn-hover:#ffffff14;--lightbox-nav-color:#888;--lightbox-nav-hover:#f0f0f0;--dropdown-shadow:0 16px 48px #0006;--skeleton-lo:.3;--skeleton-hi:.6}}html{font-family:var(--font);color:var(--text-primary);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px;line-height:1.5}body{min-height:100vh;overflow-x:hidden}body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}img,video{max-width:100%;display:block}.site-header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);transition:transform var(--duration) var(--ease), background var(--duration) var(--ease);position:fixed;top:0;left:0;right:0}.site-header--hidden{transform:translateY(-100%)}.nav{height:var(--nav-height);padding:0 var(--page-pad);justify-content:space-between;align-items:center;max-width:1800px;margin:0 auto;display:flex}.nav__logo{letter-spacing:-.02em;color:var(--text-primary);transition:opacity var(--duration) var(--ease);white-space:nowrap;font-size:1.125rem;font-weight:500}.nav__logo:hover{opacity:.7}.nav__menu{align-items:center;gap:2rem;list-style:none;display:flex}.nav__item{position:relative}.nav__link{color:var(--text-secondary);letter-spacing:.01em;transition:color var(--duration) var(--ease);align-items:center;gap:.35rem;padding:.5rem 0;font-size:.875rem;font-weight:400;display:flex}.nav__link:hover,.nav__link--active{color:var(--text-primary)}.nav__chevron{width:10px;height:6px;transition:transform var(--duration) var(--ease)}.nav__link--dropdown[aria-expanded=true] .nav__chevron{transform:rotate(180deg)}.nav__dropdown{background:var(--bg-elevated);border:1px solid var(--border);opacity:0;visibility:hidden;min-width:220px;transition:opacity var(--duration) var(--ease), visibility var(--duration) var(--ease), transform var(--duration) var(--ease);box-shadow:var(--dropdown-shadow);border-radius:8px;padding:.5rem 0;list-style:none;position:absolute;top:calc(100% + .5rem);right:0;transform:translateY(-8px)}.nav__dropdown--open{opacity:1;visibility:visible;transform:translateY(0)}.nav__dropdown-item{list-style:none}.nav__dropdown-link{color:var(--text-secondary);transition:color var(--duration) var(--ease), background var(--duration) var(--ease);white-space:nowrap;padding:.55rem 1.25rem;font-size:.8125rem;display:block}.nav__dropdown-link:hover{color:var(--text-primary);background:var(--bg-surface)}.nav__dropdown-link--category{color:var(--text-primary);font-weight:500}.nav__dropdown-link--sub{padding-left:2.25rem;font-size:.75rem}.nav__dropdown-divider{background:var(--border);height:1px;margin:.35rem 0}.nav__burger{flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;display:none}.nav__burger span{background:var(--text-primary);width:100%;height:1.5px;transition:transform var(--duration) var(--ease), opacity var(--duration) var(--ease);transform-origin:50%;border-radius:1px;display:block}.nav__burger--open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.main{min-height:100vh;padding-top:var(--nav-height)}.page-header{padding:3rem var(--page-pad) 1.5rem;max-width:1800px;margin:0 auto}.page-header__title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.5rem;font-weight:400}.page-header__breadcrumb{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;display:flex}.page-header__breadcrumb a{color:var(--text-secondary);transition:color var(--duration) var(--ease)}.page-header__breadcrumb a:hover{color:var(--text-primary)}.page-header__breadcrumb-sep{font-size:.625rem}.subcategory-nav{padding:0 var(--page-pad) 1rem;flex-wrap:wrap;gap:.5rem;max-width:1800px;margin:0 auto;display:flex}.subcategory-pill{color:var(--text-secondary);border:1px solid var(--border);transition:all var(--duration) var(--ease);border-radius:100px;padding:.35rem 1rem;font-size:.75rem;font-weight:400;display:inline-block}.subcategory-pill:hover,.subcategory-pill--active{color:var(--text-primary);border-color:var(--text-muted)}.subcategory-pill--active{background:var(--bg-surface)}.masonry{columns:4;column-gap:var(--grid-gap);padding:1rem var(--page-pad);max-width:1800px;margin:0 auto}.masonry__item{break-inside:avoid;margin-bottom:var(--grid-gap);cursor:pointer;background:var(--card-bg);border-radius:6px;position:relative;overflow:hidden}.masonry__item img,.masonry__item video{width:100%;height:auto;transition:transform var(--duration-slow) var(--ease-out), filter var(--duration-slow) var(--ease-out);will-change:transform;display:block}.masonry__item:hover img,.masonry__item:hover video{filter:brightness(1.02);transform:scale(1.03)}.masonry__item:after{content:"";opacity:0;transition:opacity var(--duration) var(--ease);pointer-events:none;background:linear-gradient(#0000 65%,#00000014 100%);border-radius:6px;position:absolute;inset:0}.masonry__item:hover:after{opacity:1}.masonry__wip-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(8px);z-index:2;pointer-events:none;background:#00000073;border-radius:4px;padding:.2rem .55rem;font-size:.625rem;font-weight:500;position:absolute;top:.5rem;left:.5rem}.masonry__wip-group{grid-template-columns:1fr 1fr;gap:2px;display:grid}.masonry__wip-group img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;transition:transform var(--duration-slow) var(--ease-out)}.masonry__item:hover .masonry__wip-group img{transform:scale(1.03)}.masonry__item--loading{background:var(--card-bg);animation:1.5s ease-in-out infinite skeleton-pulse}.masonry__item--loading:before{content:"";padding-bottom:100%;display:block}@keyframes skeleton-pulse{0%,to{opacity:var(--skeleton-lo)}50%{opacity:var(--skeleton-hi)}}.masonry__item--reveal{animation:masonry-reveal .6s var(--ease-out) both}@keyframes masonry-reveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lightbox{z-index:200;background:var(--overlay);opacity:0;visibility:hidden;transition:opacity var(--duration) var(--ease), visibility var(--duration) var(--ease);-webkit-backdrop-filter:blur(24px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:flex}.lightbox--open{opacity:1;visibility:visible}.lightbox__content{justify-content:center;align-items:center;max-width:90vw;max-height:88vh;display:flex}.lightbox__content img{object-fit:contain;opacity:0;max-width:90vw;max-height:88vh;transition:opacity var(--duration) var(--ease);background:var(--card-bg);border-radius:6px}.lightbox__content img.loaded{opacity:1}.lightbox__content video{object-fit:contain;border-radius:6px;max-width:90vw;max-height:88vh}.lightbox__close{width:44px;height:44px;color:var(--lightbox-nav-color);transition:color var(--duration) var(--ease), background var(--duration) var(--ease);z-index:10;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1.25rem;right:1.25rem}.lightbox__close:hover{color:var(--lightbox-nav-hover);background:var(--overlay-btn-hover)}.lightbox__nav{width:48px;height:48px;color:var(--lightbox-nav-color);transition:color var(--duration) var(--ease), background var(--duration) var(--ease);z-index:10;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{color:var(--lightbox-nav-hover);background:var(--overlay-btn-hover)}.lightbox__nav--prev{left:1.25rem}.lightbox__nav--next{right:1.25rem}.lightbox__counter{color:var(--text-muted);letter-spacing:.05em;font-variant-numeric:tabular-nums;font-size:.75rem;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.contact{padding:5rem var(--page-pad);max-width:900px;min-height:calc(100vh - var(--nav-height));justify-content:center;align-items:flex-start;gap:4rem;margin:0 auto;display:flex}.contact__portrait{object-fit:cover;background:var(--bg-surface);opacity:0;width:240px;height:240px;animation:contact-fade-in .8s var(--ease-out) .1s both;border-radius:50%;flex-shrink:0}.contact__info{opacity:0;max-width:420px;animation:contact-fade-in .8s var(--ease-out) .25s both;flex:1}.contact__name{letter-spacing:-.03em;margin-bottom:.25rem;font-size:1.75rem;font-weight:400}.contact__role{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.875rem}.contact__bio{color:var(--text-secondary);margin-bottom:2rem;font-size:.9375rem;line-height:1.7}.contact__links{gap:1.5rem;display:flex}.contact__link{color:var(--text-muted);transition:color var(--duration) var(--ease);border-bottom:1px solid #0000;padding-bottom:1px;font-size:.8125rem}.contact__link:hover{color:var(--text-primary);border-bottom-color:var(--text-muted)}@keyframes contact-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:page-enter .4s var(--ease-out) both}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1200px){.masonry{columns:3}}@media (width<=900px){:root{--page-pad:24px}.masonry{columns:2}.contact{text-align:center;flex-direction:column;align-items:center;gap:2rem;padding-top:3rem}.contact__links{justify-content:center}}@media (width<=640px){:root{--page-pad:16px;--grid-gap:6px;--nav-height:52px}.nav__menu{inset:0;top:var(--nav-height);background:var(--bg);opacity:0;visibility:hidden;transition:opacity var(--duration) var(--ease), visibility var(--duration) var(--ease), transform var(--duration) var(--ease);border-top:1px solid var(--border);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:1rem 0;position:fixed;transform:translateY(-8px)}.nav__menu--open{opacity:1;visibility:visible;transform:translateY(0)}.nav__burger{display:flex}.nav__item{border-bottom:1px solid var(--border)}.nav__link{padding:1rem var(--page-pad);font-size:1rem}.nav__dropdown{opacity:1;visibility:visible;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;display:none;position:static;transform:none}.nav__dropdown--open{display:block}.nav__dropdown-link{padding:.75rem var(--page-pad) .75rem calc(var(--page-pad) + 1rem);font-size:.875rem}.nav__dropdown-link--sub{padding-left:calc(var(--page-pad) + 2rem)}.nav__dropdown-divider{display:none}.masonry{columns:2}.page-header__title{font-size:1.25rem}.contact__portrait{width:180px;height:180px}.contact__name{font-size:1.5rem}.lightbox__nav--prev{left:.5rem}.lightbox__nav--next{right:.5rem}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}html{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.empty-state{text-align:center;min-height:50vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-state__icon{opacity:.3;width:64px;height:64px;margin-bottom:1.5rem}.empty-state__title{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.125rem;font-weight:400}.empty-state__text{max-width:360px;font-size:.875rem;line-height:1.6}
