*,::after,::before{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}:root{--black:#080808;--white:#ffffff;--gray:#aaa;--ease:cubic-bezier(0.16, 1, 0.3, 1);--pad:2.5rem}html{scroll-behavior:smooth}body{background:var(--white);color:var(--black);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;overflow-x:hidden}.page-transition{position:fixed;inset:0;z-index:300;background:#fff;transform:scaleY(0);transform-origin:bottom;pointer-events:none}.page-transition.enter{animation:curtainIn .45s var(--ease) forwards}.page-transition.exit{transform-origin:top;animation:curtainOut .45s var(--ease) forwards}@keyframes curtainIn{to{transform:scaleY(1)}}@keyframes curtainOut{from{transform:scaleY(1)}to{transform:scaleY(0)}}.page{display:none}#page-home{position:relative;width:100vw;height:100vh;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,transparent 45%,rgba(8,8,8,.5) 100%)}.hero-text{position:absolute;bottom:var(--pad);left:var(--pad);z-index:3;color:var(--white)}.hero-title{font-size:clamp(3.5rem, 9vw, 8rem);font-weight:300;line-height:1;letter-spacing:-.03em;opacity:0;transform:translateY(20px);animation:fup 1s var(--ease) .3s forwards}.hero-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:6px}.hero-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .4s,transform .4s}.hero-dot.active{background:rgba(255,255,255,.9);transform:scale(1.5)}@keyframes fup{to{opacity:1;transform:translateY(0)}}.site-header{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.8rem var(--pad);mix-blend-mode:difference}.sh-menu-btn{position:relative;width:24px;height:14px;background:0 0;border:none;padding:12px}.sh-menu-btn span{position:absolute;left:12px;width:24px;height:1px;background:#fff;transition:top .35s var(--ease),transform .35s var(--ease),opacity .25s ease}.sh-menu-btn span:first-child{top:12px}.sh-menu-btn span:nth-child(2){top:18px}.sh-menu-btn span:nth-child(3){top:24px}.menu-open .sh-menu-btn span:first-child{top:18px;transform:rotate(45deg)}.menu-open .sh-menu-btn span:nth-child(2){opacity:0;transform:scale(0)}.menu-open .sh-menu-btn span:nth-child(3){top:18px;transform:rotate(-45deg)}.sh-name{position:relative;top:5px;font-size:.85rem;font-weight:400;letter-spacing:.04em;color:#fff;text-decoration:none;transition:opacity .4s}body.on-home .sh-name{opacity:0;pointer-events:none}.menu-overlay{position:fixed;inset:0;z-index:150;background:var(--white);display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);clip-path:inset(0 0 100% 0);transition:clip-path .35s var(--ease)}.menu-open .menu-overlay{clip-path:inset(0 0 0% 0)}body.menu-open{overflow:hidden}.menu-inner{display:flex;flex-direction:column}.menu-link{font-size:clamp(3rem, 8vw, 6.5rem);font-weight:300;line-height:1.15;color:var(--black);text-decoration:none;opacity:0;transform:translateY(20px);transition:opacity .45s ease,transform .45s var(--ease),opacity .25s ease;letter-spacing:-.02em}.menu-link:hover{opacity:.25!important}.menu-open .menu-link{opacity:1;transform:translateY(0)}.menu-open .menu-link:first-child{transition-delay:0.1s}.menu-open .menu-link:nth-child(2){transition-delay:0.17s}.menu-open .menu-link:nth-child(3){transition-delay:0.24s}.menu-footer{position:absolute;bottom:2rem;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(8,8,8,.25)}#page-lately{min-height:100vh;padding-top:5rem}.lately-section-label{padding:2rem var(--pad) 2.5rem;font-size:1.6rem;letter-spacing:-.02em;text-transform:none;color:var(--black);font-weight:300}.lately-row{padding:3rem var(--pad);display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem 1.2rem;align-items:start}.lately-item{grid-column:var(--col-start,1)/span var(--col-span,4);justify-self:var(--justify,start);align-self:var(--valign,start);display:flex;flex-direction:column;gap:.6rem;max-width:100%}.lately-item.cap-side{flex-direction:row;align-items:flex-start;gap:.8rem}.lately-item.cap-side.cap-left{flex-direction:row-reverse}.lately-item img{display:block;width:100%;height:auto;object-fit:cover}.lately-item.cap-side img{width:auto;max-height:28vw;max-width:100%}.lately-caption{display:flex;flex-direction:column;gap:.1rem;white-space:nowrap;flex-shrink:0}.lately-caption-subject{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--black)}.lately-caption-pub{font-size:.68rem;letter-spacing:.01em;color:var(--gray)}#page-subject,#page-works{min-height:100vh;padding-top:5rem}#page-about{min-height:100vh;padding-top:6rem}.about-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 6rem)}.about-left{padding:2rem var(--pad) 5rem var(--pad);display:flex;flex-direction:column;gap:3rem}.about-photo{width:100%;aspect-ratio:3/4;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.about-bio{font-size:clamp(1rem, 1.5vw, 1.2rem);line-height:1.75;color:rgba(8,8,8,.7)}.about-bio p+p{margin-top:1.2rem}.about-right{padding:2rem var(--pad) 5rem var(--pad);display:flex;flex-direction:column;gap:2.5rem}.about-contact-block{display:flex;flex-direction:column;gap:.5rem}.about-contact-key{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gray)}.about-contact-val{font-size:clamp(1.4rem, 2.5vw, 2rem);font-weight:300;letter-spacing:-.01em;color:var(--black);text-decoration:none;transition:opacity .3s}.about-contact-val:hover{opacity:.35}.about-pull{margin-top:auto;font-size:clamp(1rem, 1.5vw, 1.3rem);font-style:italic;line-height:1.5;color:rgba(8,8,8,.35)}.site-footer{padding:2rem var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.1em;color:rgba(8,8,8,.35)}.site-footer a{color:inherit;text-decoration:none;transition:opacity .3s}.site-footer a:hover{opacity:.5}@media (max-width:768px){:root{--pad:1.2rem}#page-home{height:115vh}.hero-dots,.hero-text{position:fixed}.lately-row{gap:1rem .8rem;padding:2rem var(--pad)}.about-layout{grid-template-columns:1fr}.site-footer{flex-direction:column;gap:.5rem;text-align:center}}