:root{font-family:"Times New Roman",Times,serif;font-size:18px;color:#111;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a:hover,button:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:1px solid #111;outline-offset:5px}header{position:absolute;z-index:30;top:24px;left:24px;right:24px;display:flex;align-items:start;justify-content:space-between;font-size:18px;line-height:1}header nav{display:flex;gap:6px}header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:3px}.brand{text-transform:uppercase}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:#fff;z-index:100}.skip:focus{top:12px}main{min-height:calc(100svh - 62px);outline:none}footer{padding:20px 24px;display:flex;justify-content:space-between;gap:20px;font-size:16px}.draft{color:#666}.home footer{position:fixed;bottom:0;left:0;right:0}.home #copyright{visibility:hidden}.intro{position:fixed;inset:0;display:grid;place-content:center;background:#fff;z-index:80;font-size:18px;animation:intro 1.15s forwards;pointer-events:none}@keyframes intro{0%,35%{opacity:1}100%{opacity:0;visibility:hidden}}main.enter{animation:enter .55s cubic-bezier(.2,.7,.2,1)}main.exit{opacity:0;transform:translateY(-8px);transition:opacity .17s,transform .17s}@keyframes enter{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(12px)}to{opacity:1;clip-path:inset(0);transform:none}}
.carousel{height:100svh;position:relative;overflow:hidden;touch-action:pan-y;--size:min(400px,32vw);--step:min(200px,16vw)}.cards{position:absolute;top:50.4%;left:50%;width:0;height:0}.slide{position:absolute;width:var(--size);height:var(--size);top:0;left:0;transform:translate(calc(-50% + var(--offset)*var(--step)),-50%) scale(var(--scale));transition:transform .75s cubic-bezier(.22,.68,0,1),opacity .65s;z-index:var(--layer);opacity:var(--opacity);overflow:hidden;background:#e8e8e8;cursor:pointer}.slide img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .3s}.slide.active:hover img{filter:brightness(.95)}.slide.active:hover{text-decoration:none}.slide:not(.active){pointer-events:auto}.placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--paper,#e6e6e6);color:#777;flex-direction:column;gap:10px;font-size:16px;text-align:center}.placeholder small{font-size:13px;color:#777}.caption{position:absolute;top:calc(50.4% + var(--size)/2 + 22px);left:24px;right:24px;text-align:center;line-height:1.4}.carousel-controls{position:absolute;top:calc(50.4% + var(--size)/2 + 66px);left:50%;transform:translateX(-50%);display:flex;gap:28px;font-size:14px;color:#666}.carousel-controls button{min-width:44px;min-height:36px}.content{max-width:768px;margin:0 auto;padding-top:108px;padding-bottom:100px}.filters{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.filters button[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.project-list{list-style:none;padding:0;margin:0}.project-list li{border-bottom:1px dotted #222}.project-list a{display:flex;align-items:center;gap:8px;min-height:41px;padding:9px 0;line-height:22px}.project-list a:hover{border-bottom:1px solid #111;margin-bottom:-1px;text-decoration:none}.project-list .year{margin-left:auto}.project-list .category{color:#666}.contact{padding-top:240px}.bio{max-width:370px;line-height:1.4;margin:0 0 36px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.contact-links p{margin:0;color:#666}.project-detail{padding-top:198px}.project-detail .hero{width:100%;aspect-ratio:16/10;object-fit:contain;display:block;background:#f1f1f1}.project-title{font-size:18px;font-weight:400;margin:24px 0 80px;display:flex;justify-content:space-between}.project-description{max-width:650px;line-height:1.5;margin-bottom:80px}.photo-sequence{display:flex;flex-direction:column;gap:64px}.photo-sequence img{display:block;width:100%;height:auto}.photo-sequence figure{margin:0}.photo-sequence figcaption{margin-top:10px;color:#666;font-size:14px}.next-project{display:flex;justify-content:space-between;margin-top:80px;border-top:1px dotted;padding-top:18px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 24px}.portfolio-grid a:nth-child(3n+1){grid-column:1/-1}.portfolio-grid .tile{aspect-ratio:4/3;overflow:hidden}.portfolio-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.portfolio-grid a:hover img{transform:scale(1.025)}.portfolio-grid p{margin:10px 0 0}.error{padding:150px 24px;max-width:768px;margin:auto}.empty{padding:80px 0;color:#777}
@media(min-width:1700px){.content{max-width:900px}}@media(max-width:850px){.content{margin:0 24px}.carousel{--size:72vw;--step:18vw}.slide{transform:translate(calc(-50% + var(--offset)*var(--step)),-50%) scale(var(--scale))}.contact{padding-top:200px}}@media(max-width:500px){:root{font-size:18px}header{font-size:16px;gap:16px}header nav{gap:4px;flex-shrink:0}.brand{max-width:110px;line-height:1.2}.carousel{--size:72vw;--step:18vw}.carousel-controls{top:calc(50.4% + var(--size)/2 + 64px)}.content{padding-top:110px}.filters{gap:18px;margin-bottom:24px}.project-list .category{display:none}.contact{padding-top:180px}.project-detail{padding-top:140px}.project-title{margin-bottom:50px}.photo-sequence{gap:28px}.portfolio-grid{gap:28px 16px}.portfolio-grid a{grid-column:1/-1}.draft{font-size:13px}footer{font-size:14px}.home footer{justify-content:center}.home #copyright{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.intro{display:none}}

header nav button{cursor:default}header nav button:hover{text-decoration:none} .slide:focus-visible{outline-offset:4px}
.slide video{display:block;width:100%;height:100%;object-fit:cover}.cards{user-select:none}.slide{cursor:grab}.slide:active{cursor:grabbing}.carousel-controls{gap:22px;white-space:nowrap}.video-toggle{font-size:14px}.home footer:has(.draft[hidden]){display:none}

.portfolio-page header,.portfolio-page footer,.portfolio-page .intro{display:none}.portfolio-page main{min-height:100svh}.password-page{min-height:100svh;display:grid;place-items:center;padding:24px}.password-form{width:min(320px,100%);position:relative}.password-form label{display:block;text-align:center;margin-bottom:18px;font-size:20px}.password-box{display:flex;border:1px solid #111;height:46px}.password-box input{font:inherit;color:#111;background:#fff;border:0;min-width:0;width:100%;padding:10px 12px;border-radius:0}.password-box input:focus{outline:1px solid #111;outline-offset:3px}.password-box button{padding:0 14px;font-size:16px}.password-box button:disabled{opacity:.5}.password-form [role=alert]{position:absolute;top:100%;left:0;right:0;text-align:center;margin:14px 0 0;font-size:16px}.portfolio-blank{min-height:100svh}

/* AI Portfolio: centered editorial index. */
.portfolio-page:has(.client-index) header{display:flex}
.portfolio-page:has(.client-index) footer{display:flex}
.portfolio-page:has(.client-index) main{min-height:calc(100svh - 62px)}
.client-index{max-width:768px;margin:0 auto;padding:108px 0 100px}
.client-index table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:22px}
.client-index .client-column{width:50%}
.client-index th{font-weight:400;text-align:left}
.client-index thead th{padding:0 0 24px;vertical-align:top}
.client-index thead th:last-child,.client-index tbody td{text-align:right}
.client-index tbody tr{border-bottom:1px dotted #222}
.client-index tbody tr:hover{border-bottom-style:solid}
.client-index tbody th,.client-index tbody td{padding:9px 0;vertical-align:top;overflow-wrap:break-word}
.client-index tbody th{padding-right:24px}
@media(min-width:1700px){.client-index{max-width:900px}}
@media(max-width:850px){.client-index{margin:0 24px}}
@media(max-width:500px){.client-index{padding-top:110px}.client-index .client-column{width:42%}.client-index tbody th{padding-right:18px}}

.contact-links{font-size:16px;line-height:1.4;gap:2px}.contact-links a{overflow-wrap:anywhere}

.portfolio-page:has(.project-carousel) header,.portfolio-page:has(.project-carousel) footer{display:flex}
.portfolio-page:has(.project-carousel) main{min-height:calc(100svh - 62px)}
.project-carousel{--portrait-height:calc(var(--size)*1.25);height:calc(var(--portrait-height) + 300px);min-height:0}.project-carousel .slide{height:var(--portrait-height)}
.project-carousel .cards{top:calc(150px + var(--portrait-height)/2)}
.project-carousel .caption{display:none}
.project-carousel .carousel-controls{top:calc(174px + var(--portrait-height))}
.project-carousel .slide,.project-carousel .slide img{background:white}
.project-carousel .slide img{object-fit:contain}
.project-copy{max-width:768px;margin:0 auto;padding:0 0 100px;font-size:16px;line-height:1.5}
.project-copy h1{font-size:16px;font-weight:400;margin:0 0 64px}
.project-copy a{text-decoration:underline;text-underline-offset:3px}
.project-copy p{max-width:650px;margin:0 0 24px}
.client-index tbody th a{display:block}
@media(max-width:850px){.project-copy{margin:0 24px}}
@media(max-width:500px){.project-carousel{height:calc(var(--portrait-height) + 250px)}.project-carousel .cards{top:calc(120px + var(--portrait-height)/2)}.project-carousel .carousel-controls{top:calc(144px + var(--portrait-height))}.project-copy h1{margin-bottom:40px}}

.project-intro{max-width:768px;margin:0 auto;padding:120px 0 0;font-size:16px;line-height:1.5}
.project-intro p{margin:0;max-width:650px}
.project-intro a{text-decoration:underline;text-underline-offset:3px}
.project-intro + .project-carousel{height:calc(var(--portrait-height) + 190px)}
.project-intro + .project-carousel .cards{top:calc(64px + var(--portrait-height)/2)}
.project-intro + .project-carousel .carousel-controls{top:calc(88px + var(--portrait-height))}
.project-copy h1{margin-bottom:24px}
@media(max-width:850px){.project-intro{margin:0 24px}}
@media(max-width:500px){.project-intro{padding-top:120px}.project-intro + .project-carousel{height:calc(var(--portrait-height) + 160px)}.project-intro + .project-carousel .cards{top:calc(40px + var(--portrait-height)/2)}.project-intro + .project-carousel .carousel-controls{top:calc(64px + var(--portrait-height))}}

.project-one-copy{padding-bottom:0}
.film-project{max-width:768px;margin:0 auto;padding-bottom:100px;font-size:16px;line-height:1.5}
.project-divider{border:0;border-top:1px solid #111;margin:56px 0 64px}
.instagram-film{max-width:540px;margin:0 auto 64px}
.instagram-film iframe{display:block;width:100%;height:660px;border:0;background:#fff}
.instagram-fallback{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.film-project h2{font-size:16px;font-weight:400;margin:0 0 24px}
.film-description{max-width:650px;margin:0 0 56px}
.film-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;align-items:start}
.film-stills figure{margin:0}.film-stills img{display:block;width:100%;height:auto}
@media(max-width:850px){.film-project{margin:0 24px}}
@media(max-width:500px){.project-divider{margin:40px 0}.instagram-film{margin-bottom:40px}.instagram-film iframe{height:560px}.film-stills{gap:20px 16px}.film-description{margin-bottom:32px}}

.film-project:has(+ .project-three){padding-bottom:0}.leopard-film{display:block;width:min(100%,480px);height:auto;aspect-ratio:3/4;object-fit:contain;margin:0 auto 64px;background:#fff}.leopard-still{display:block;width:100%;height:auto}@media(max-width:500px){.leopard-film{margin-bottom:40px}}

.brand-project-title{font-size:16px;font-weight:400;margin:0 0 24px}
.lamaskarade-copy{padding-bottom:40px}.lamaskarade-copy h2{font-size:16px;font-weight:400;margin:0 0 24px}
.bounce-stage{--bounce-width:160px;position:relative;margin:0 24px 72px;height:320px;overflow:hidden}
.bouncing-image{position:absolute;top:0;left:0;width:var(--bounce-width);animation:bounce-across 7s linear infinite alternate;text-align:center}
.bouncing-image img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain}
.bouncing-image span{display:block;margin-top:12px;font-size:22px;letter-spacing:3px}
.bouncing-image:hover{text-decoration:none}.bouncing-image.paused{animation-play-state:paused}
@keyframes bounce-across{from{left:0}to{left:calc(100% - var(--bounce-width))}}
@media(max-width:500px){.bounce-stage{--bounce-width:120px;height:260px}.bouncing-image img{max-height:190px}}
@media(prefers-reduced-motion:reduce){.bouncing-image{animation:none;left:calc(50% - var(--bounce-width)/2)}}

.nensi-copy h2{font-size:16px;font-weight:400;margin:0 0 24px}

.miss-sixty-carousel{--portrait-height:calc(var(--size)*4/3)}.miss-sixty-carousel .slide video{object-fit:contain;background:#fff}

.campaign-video-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px}.campaign-video-links a{text-decoration:underline;text-underline-offset:3px}

.ssense-film{max-width:768px;margin:64px auto}.ssense-film video{display:block;width:100%;height:auto;background:#fff}@media(max-width:850px){.ssense-film{margin:64px 24px}}@media(max-width:500px){.ssense-film{margin:40px 24px}}

.portfolio-page:has(.ssense-film) header,.portfolio-page:has(.ssense-film) footer{display:flex}.portfolio-page:has(.ssense-film) main{min-height:calc(100svh - 62px)}

.lueder-carousel-mount .project-carousel{height:calc(var(--portrait-height) + 190px)}.lueder-carousel-mount .cards{top:calc(64px + var(--portrait-height)/2)}.lueder-carousel-mount .carousel-controls{top:calc(88px + var(--portrait-height))}.lueder-copy{padding-bottom:0}.lueder-copy:last-child{padding-bottom:100px}.lueder-divider{max-width:768px;margin:0 auto}.lueder-divider .project-divider{margin:64px 0 0}@media(max-width:850px){.lueder-divider{margin:0 24px}}

.yeezy-film video{max-width:480px;margin:0 auto}

.newfoundation-content{max-width:768px;margin:64px auto 100px;font-size:16px;line-height:1.5}.youtube-film{display:block;width:100%;aspect-ratio:16/9;border:0;margin:0 0 40px}.newfoundation-content p{max-width:650px;margin:0 0 40px}.creatives-image{display:block;width:100%;height:auto}.portfolio-page:has(.newfoundation-content) header,.portfolio-page:has(.newfoundation-content) footer{display:flex}@media(max-width:850px){.newfoundation-content{margin:40px 24px 100px}}

.newcoin-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;align-items:start}.newcoin-gallery figure{margin:0}.newcoin-gallery img{display:block;width:100%;height:auto}.newcoin-gallery figcaption{font-size:14px;line-height:1.4;margin-top:12px}.newcoin-gallery a{text-decoration:underline;text-underline-offset:3px}@media(max-width:500px){.newcoin-gallery{gap:28px 16px}.newcoin-gallery figcaption{font-size:12px}}
