.hero-background{background-position:center;background-size:cover}.hero-background::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(8,7,6,.94),rgba(13,10,9,.38) 58%,rgba(8,7,6,.7))}.about-portrait img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04)}
.works{padding-left:max(8vw,112px)}.project-list{display:flex;flex-direction:column;gap:0}.project-slide{display:flex;min-height:104dvh;width:100%;flex-direction:column;justify-content:center;margin:0;padding:10dvh 0 16dvh;opacity:.38;transform:scale(.975);transform-origin:center top;transition:opacity .35s ease,transform .55s cubic-bezier(.16,1,.3,1)}.project-slide.active{opacity:1;transform:scale(1)}.project-carousel{position:relative}.project-frame-stack{display:flex;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.project-frame-stack::-webkit-scrollbar{display:none}.project-frame{position:relative;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.frame-media{position:relative;display:grid;min-height:min(78dvh,760px);place-items:center;overflow:hidden;border:1px solid rgba(233,228,216,.15);background:#0d0908;box-shadow:0 30px 80px rgba(0,0,0,.28)}.project-frame img{display:block;width:100%;height:100%;max-height:78dvh;object-fit:contain}.title-redaction{position:absolute;bottom:0;left:0;width:58%;height:18%;background:linear-gradient(90deg,#0d0908 0 82%,rgba(13,9,8,.92) 90%,transparent);box-shadow:0 -14px 32px rgba(13,9,8,.22)}.frame-label{position:absolute;z-index:2;top:12px;right:12px;padding:6px 8px;background:rgba(13,9,8,.72);color:rgba(233,228,216,.75);font:8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:13px;color:var(--muted);font:9px var(--mono)}.carousel-controls button{display:grid;width:36px;height:30px;place-items:center;border:1px solid var(--line);background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.carousel-controls button:hover{background:var(--paper);color:var(--ink)}.carousel-controls button:active{transform:scale(.96)}.carousel-controls strong{color:var(--paper);font-weight:400}.project-slide figcaption{display:grid;grid-template-columns:minmax(72px,.55fr) minmax(0,3fr) minmax(72px,.55fr);align-items:center;margin-top:18px;padding:17px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-slide figcaption>span:last-child{text-align:right}.project-title-cell{min-width:0;padding:0 4vw;text-align:center}.project-title-cell small{display:block;margin-bottom:7px;color:var(--muted);font:8px var(--mono);font-weight:400;letter-spacing:.14em}.project-real-title{max-width:100%;margin:0;color:var(--paper);font:500 clamp(1.15rem,2.2vw,2.45rem)/1.05 var(--display);letter-spacing:-.045em;text-wrap:balance;opacity:0;transform:translateY(8px);clip-path:inset(0 100% 0 0)}.project-slide.active .project-real-title{opacity:1;transform:none;clip-path:inset(0);transition:clip-path .13s steps(3,end) .2s,opacity .01s linear .2s,transform .13s steps(3,end) .2s}
.project-cover>.frame-label{display:none}
.reel-nav{position:fixed;z-index:15;top:0;bottom:0;left:0;display:grid;width:82px;grid-template-rows:auto 1fr auto;padding:108px 0 24px;border-right:1px solid rgba(233,228,216,.1);background:linear-gradient(90deg,rgba(13,12,11,.86),rgba(13,12,11,.28));opacity:0;pointer-events:none;transform:translateX(-100%);transition:opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(8px)}.reel-active .reel-nav{opacity:1;pointer-events:auto;transform:none}.reel-nav-title{padding:0 14px;color:#716c64;font:7px/1.6 var(--mono);letter-spacing:.14em}.reel-track{position:relative;display:flex;min-height:0;flex-direction:column;justify-content:space-between;margin:24px 0}.reel-track::before,.reel-progress{position:absolute;top:0;bottom:0;left:13px;width:1px;content:"";background:rgba(233,228,216,.14)}.reel-progress{z-index:1;background:var(--red);transform:scaleY(0);transform-origin:top;will-change:transform}.reel-track button{position:relative;z-index:2;display:flex;height:18px;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:#5f5b55;cursor:pointer;font:7px var(--mono);transition:color .25s ease,transform .25s ease}.reel-track button i{display:block;width:18px;height:1px;background:#625e58;transform-origin:left;transition:width .25s ease,background .25s ease}.reel-track button.active{color:var(--paper);transform:translateX(0)}.reel-track button.active i{width:30px;background:var(--red)}.reel-current{display:flex;align-items:baseline;justify-content:center;color:var(--muted);font:8px var(--mono)}.reel-current strong{color:var(--paper);font-size:13px;font-weight:400}
.image-upload{position:relative;display:grid;min-height:170px;place-items:center;overflow:hidden;border:1px dashed #aaa9a2;border-radius:12px;background:#e7e3d9}.image-upload img{position:absolute;width:100%;height:100%;object-fit:cover}.image-upload-actions{position:relative;z-index:1;display:flex;gap:8px;padding:8px;border-radius:10px;background:rgba(31,33,30,.82);color:white;backdrop-filter:blur(8px)}.image-upload-actions label,.image-upload-actions button{padding:7px 10px;border:0;background:transparent;color:inherit;cursor:pointer;font:11px var(--body)}.image-upload.empty .image-upload-actions{background:#1f211e}.upload-note{margin-top:7px;color:#73766f;font-size:11px}.repeat-card-header>div{display:flex;gap:4px}.icon-button:disabled{cursor:not-allowed;opacity:.3}
@media(max-width:900px){.works{padding-left:18px}.project-list{gap:32px}.project-slide{min-height:auto;width:calc(100% + 36px);margin-left:-18px;padding:30px 0 64px;opacity:1;transform:none}.frame-media{min-height:0;border-width:0}.project-frame img{height:auto;max-height:none}.title-redaction{height:19%;width:70%}.carousel-controls{margin-right:18px}.project-slide figcaption{margin:18px 18px 0;grid-template-columns:1fr;gap:12px;padding:16px 0}.project-slide figcaption>span{display:none}.project-title-cell{padding:0;text-align:left}.project-real-title{font-size:clamp(1.15rem,6vw,1.8rem);opacity:1;transform:none;clip-path:none}.reel-nav{display:none}}
@media(prefers-reduced-motion:reduce){.project-slide{opacity:1;transform:none}}
.project-title-cell small{display:none}.project-slide:not(.active) .project-real-title{opacity:0!important;transform:translateY(8px)!important;clip-path:inset(0 100% 0 0)!important;transition:none!important}
.project-subject{margin-left:var(--site-project-subject-gap,24px);color:var(--muted);font-size:var(--site-project-subject-size,12px);font-weight:400;letter-spacing:.015em;white-space:nowrap}
.project-grid-mode .works{padding-left:5vw}.project-grid-mode .works .section-header{margin-bottom:64px}.project-grid-mode .project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:76px 18px}.project-grid-mode .project-slide{display:block;min-height:0;padding:0;opacity:1;transform:none}.project-grid-mode .project-frame-stack{overflow:hidden}.project-grid-mode .project-frame{display:none}.project-grid-mode .project-frame:first-child{display:block}.project-grid-mode .frame-media{min-height:0;aspect-ratio:4/3;box-shadow:none}.project-grid-mode .project-frame img{width:100%;height:100%;max-height:none;object-fit:contain}.project-grid-mode .frame-label,.project-grid-mode .carousel-controls{display:none}.project-grid-mode .project-slide figcaption{grid-template-columns:auto 1fr auto;gap:12px;margin-top:10px;padding:11px 0}.project-grid-mode .project-title-cell{padding:0;text-align:left}.project-grid-mode .project-real-title{font:400 clamp(.78rem,1.15vw,1.05rem)/1.2 "Helvetica Neue",Arial,"Noto Sans SC",sans-serif;text-transform:none;letter-spacing:-.025em;opacity:1!important;transform:none!important;clip-path:none!important}.project-grid-mode .reel-nav{display:none}.project-grid-mode .project-slide:not(.active) .project-real-title{opacity:1!important;transform:none!important;clip-path:none!important}
@media(max-width:1000px){.project-grid-mode .project-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.intro-name{flex-direction:column;gap:.04em;align-items:center;font-size:16vw}.project-grid-mode .works{padding-left:18px}.project-grid-mode .project-list{grid-template-columns:1fr;gap:54px}.project-grid-mode .project-slide{width:auto;margin:0}.project-grid-mode .project-slide figcaption{margin:10px 0 0;grid-template-columns:1fr}.project-grid-mode .project-slide figcaption>span{display:none}.project-grid-mode .project-real-title{font-size:1rem}}
.project-grid-mode .project-slide[hidden]{display:none}
body:not(.project-grid-mode) .project-carousel .frame-media{width:fit-content;max-width:100%;min-height:0;margin-inline:auto}body:not(.project-grid-mode) .project-carousel .project-frame img{width:auto;max-width:100%;height:auto;max-height:78dvh;object-fit:contain}body:not(.project-grid-mode) .project-carousel .project-frame{display:grid;place-items:center}
@media(max-width:900px){body:not(.project-grid-mode) .project-carousel .frame-media{max-width:100%}body:not(.project-grid-mode) .project-carousel .project-frame img{max-height:none}}
body:not(.project-grid-mode) .project-carousel .frame-media{max-width:var(--frame-width,100%)}
.project-grid-mode .uniform-cover .project-cover img{object-fit:cover}body:not(.project-grid-mode) .uniform-cover .project-cover .frame-media{width:100%;aspect-ratio:16/9}body:not(.project-grid-mode) .uniform-cover .project-cover img{width:100%;height:100%;max-height:none;object-fit:cover}
.project-grid-mode .letterbox-cover .project-cover img{width:100%;height:78%;object-fit:contain}
@media(min-width:901px){body:not(.project-grid-mode) .project-carousel .frame-media{max-width:min(var(--frame-width,82%),82vw)}body:not(.project-grid-mode) .project-carousel .project-frame img{max-height:66dvh}body:not(.project-grid-mode) .uniform-cover .project-cover .frame-media{width:82vw}body:not(.project-grid-mode) .uniform-cover .project-cover img{max-height:66dvh}.project-slide{min-height:92dvh;padding-top:7dvh;padding-bottom:12dvh}}
@media(min-width:901px){body:not(.project-grid-mode) .uniform-cover .project-cover .frame-media{width:min(82vw,117.33dvh)}}
.project-grid-mode .project-slide{cursor:pointer}.project-grid-mode .project-slide:focus-visible{outline:2px solid #11110f;outline-offset:6px}
.all-timeline-mode .works{padding-top:72px}.all-timeline-mode .project-list{display:flex;flex-direction:column}.all-timeline-mode .project-slide{min-height:100dvh;padding-top:9dvh;padding-bottom:10dvh;scroll-snap-align:start;scroll-snap-stop:normal;cursor:pointer}.all-timeline-mode .project-slide:focus-visible{outline:2px solid #11110f;outline-offset:-2px}.all-timeline-mode .project-slide:not(.active){opacity:.22;transform:scale(.965)}.all-timeline-mode .project-slide.active{opacity:1;transform:scale(1)}.all-timeline-mode .project-real-title{font-family:var(--body)}@media(min-width:901px){html:has(body.all-timeline-mode){scroll-snap-type:y proximity;scroll-padding-top:70px}}@media(max-width:900px){.all-timeline-mode .works{padding-top:70px}.all-timeline-mode .project-slide{min-height:auto;padding:34px 0 72px;scroll-snap-align:none}.all-timeline-mode .project-slide:not(.active){opacity:1;transform:none}}
body.lightbox-open{overflow:hidden}.project-lightbox{width:calc(100vw - 40px);max-width:none;height:calc(100dvh - 40px);max-height:none;margin:auto;padding:0;border:1px solid rgba(17,17,15,.18);background:#f7f7f4;color:#11110f;overflow:hidden}.project-lightbox::backdrop{background:rgba(10,10,9,.76);backdrop-filter:blur(10px)}.project-lightbox[open]{animation:lightbox-in .32s cubic-bezier(.16,1,.3,1)}@keyframes lightbox-in{from{opacity:0;transform:scale(.975) translateY(10px)}to{opacity:1;transform:none}}
.lightbox-shell{display:grid;height:100%;grid-template-rows:auto minmax(0,1fr) auto}.lightbox-shell>header{display:grid;min-height:70px;grid-template-columns:120px 1fr 120px;align-items:center;padding:0 24px;border-bottom:1px solid rgba(17,17,15,.16)}.lightbox-shell>header>span,.lightbox-shell>footer{font:500 10px/1 var(--body);letter-spacing:.06em;text-transform:uppercase}.lightbox-shell h2{margin:0;font:400 clamp(1rem,1.6vw,1.45rem)/1.1 "Helvetica Neue",Arial,"Noto Sans SC",sans-serif;letter-spacing:-.03em;text-align:center}.lightbox-close{justify-self:end;padding:9px 0;border:0;background:transparent;cursor:pointer;font:400 11px "Helvetica Neue",Arial,"Noto Sans SC",sans-serif}.lightbox-close:hover{opacity:.55}.lightbox-stage{display:grid;min-height:0;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;padding:18px 10px}.lightbox-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.lightbox-track::-webkit-scrollbar{display:none}.lightbox-track figure{display:grid;min-width:100%;height:100%;grid-template-rows:minmax(0,1fr) auto;place-items:center;margin:0;scroll-snap-align:start;scroll-snap-stop:always}.lightbox-track img{display:block;width:auto;height:auto;max-width:min(calc(100vw - 160px),1920px);max-height:min(calc(100dvh - 190px),1080px);object-fit:contain;image-rendering:auto;filter:none}.lightbox-track figcaption{justify-self:start;margin-top:10px;color:#666761;font:500 9px var(--body);letter-spacing:.06em}.lightbox-arrow{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(17,17,15,.2);background:#f7f7f4;cursor:pointer;font-size:17px;transition:background .2s ease,color .2s ease,opacity .2s ease}.lightbox-arrow:hover:not(:disabled){background:#11110f;color:#f7f7f4}.lightbox-arrow:disabled{cursor:default;opacity:.22}.lightbox-shell>footer{display:flex;min-height:50px;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid rgba(17,17,15,.16);color:#666761}
@media(max-width:700px){.project-lightbox{width:100vw;height:100dvh;border:0}.lightbox-shell>header{min-height:62px;grid-template-columns:1fr auto;padding:0 16px}.lightbox-shell>header>span{display:none}.lightbox-shell h2{text-align:left}.lightbox-stage{grid-template-columns:1fr;padding:10px 0}.lightbox-arrow{position:absolute;z-index:2;top:50%;background:rgba(247,247,244,.86);transform:translateY(-50%)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-track img{max-width:100vw;max-height:calc(100dvh - 160px)}.lightbox-track figcaption{margin-left:16px}.lightbox-shell>footer{padding:0 16px}.lightbox-shell>footer span:last-child{display:none}}

/* Central stair timeline version */
@media(min-width:901px){
  html:has(body.stair-timeline-version.all-timeline-mode){scroll-snap-type:none;scroll-padding-top:0}
  .stair-timeline-version.all-timeline-mode .film-grain{display:none}
  .stair-timeline-version.all-timeline-mode .site-header.scrolled{backdrop-filter:none}
  .stair-timeline-version.all-timeline-mode .works{padding:78px 8vw 120px}
  .stair-timeline-version.all-timeline-mode .project-list{position:relative;display:flex;flex-direction:column;gap:0;padding:.5dvh 0 3dvh}
  .stair-timeline-version.all-timeline-mode .project-list::before{position:absolute;z-index:0;top:0;bottom:0;left:50%;width:1px;content:"";background:linear-gradient(to bottom,transparent,rgba(17,17,15,.34) 4%,rgba(17,17,15,.34) 96%,transparent)}
  .stair-timeline-version.all-timeline-mode .project-slide{position:relative;z-index:1;width:calc(50% - 38px);min-height:46dvh;margin:0;padding:2dvh 0 3dvh;opacity:1;transform:translateZ(0) scale(1);transform-origin:center;scroll-snap-align:none;transition:opacity .38s ease,transform .48s cubic-bezier(.16,1,.3,1);contain:layout style}
  .stair-timeline-version.all-timeline-mode .project-slide:nth-child(odd){align-self:flex-start}
  .stair-timeline-version.all-timeline-mode .project-slide:nth-child(even){align-self:flex-end}
  .stair-timeline-version.all-timeline-mode .project-slide::before{position:absolute;top:50%;width:38px;height:1px;content:"";background:rgba(17,17,15,.28)}
  .stair-timeline-version.all-timeline-mode .project-slide::after{position:absolute;top:calc(50% - 5px);width:9px;height:9px;border:1px solid #11110f;border-radius:50%;content:"";background:#f7f7f4;transition:background .3s ease,transform .3s ease}
  .stair-timeline-version.all-timeline-mode .project-slide:nth-child(odd)::before{right:-38px}
  .stair-timeline-version.all-timeline-mode .project-slide:nth-child(even)::before{left:-38px}
  .stair-timeline-version.all-timeline-mode .project-slide:nth-child(odd)::after{right:-43px}
  .stair-timeline-version.all-timeline-mode .project-slide:nth-child(even)::after{left:-43px}
  .stair-timeline-version.all-timeline-mode .project-carousel::after{position:absolute;z-index:4;inset:0;content:"";background:rgba(247,247,244,.32);opacity:0;pointer-events:none;transition:opacity .38s ease}
  .stair-timeline-version.all-timeline-mode .project-slide:not(.active){opacity:.7;transform:translateZ(0) scale(.98)}
  .stair-timeline-version.all-timeline-mode .project-slide:not(.active) .project-carousel::after{opacity:1}
  .stair-timeline-version.all-timeline-mode .project-slide.active::after{background:#11110f;transform:scale(1.35)}
  .stair-timeline-version.all-timeline-mode .project-carousel,.stair-timeline-version.all-timeline-mode .project-frame-stack{width:100%}
  .stair-timeline-version.all-timeline-mode .project-carousel .frame-media,.stair-timeline-version.all-timeline-mode .uniform-cover .project-cover .frame-media{width:100%!important;max-width:100%!important}
  .stair-timeline-version.all-timeline-mode .project-carousel .project-frame img{max-width:100%;max-height:40dvh}
  .stair-timeline-version.all-timeline-mode .uniform-cover .project-cover img{width:100%;height:100%;max-height:none;object-fit:cover}
  .stair-timeline-version.all-timeline-mode .project-slide figcaption{grid-template-columns:auto 1fr auto;gap:10px;margin-top:9px;padding:11px 0}
  .stair-timeline-version.all-timeline-mode .project-title-cell{padding:0;text-align:left}
  .stair-timeline-version.all-timeline-mode .project-real-title{font:400 clamp(.9rem,1.35vw,1.45rem)/1.12 var(--body);letter-spacing:-.035em;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .stair-timeline-version.all-timeline-mode .reel-nav{display:none}
}
@media(min-width:901px) and (prefers-reduced-motion:reduce){
  .stair-timeline-version.all-timeline-mode .project-slide{transition:none}
  .stair-timeline-version.all-timeline-mode .project-carousel::after{transition:none}
}
@media(max-width:900px){
  .stair-timeline-version.all-timeline-mode .project-list{position:relative;padding-left:26px}
  .stair-timeline-version.all-timeline-mode .project-list::before{position:absolute;top:0;bottom:0;left:8px;width:1px;content:"";background:rgba(17,17,15,.26)}
  .stair-timeline-version.all-timeline-mode .project-slide{position:relative;width:100%;margin:0;padding:20px 0 34px}
  .stair-timeline-version.all-timeline-mode .project-slide::before{position:absolute;top:34px;left:-18px;width:18px;height:1px;content:"";background:rgba(17,17,15,.28)}
  .stair-timeline-version.all-timeline-mode .project-slide::after{position:absolute;top:30px;left:-23px;width:9px;height:9px;border:1px solid #11110f;border-radius:50%;content:"";background:#11110f}
}
