:root{--paper:#EFE5DF;--ink:#1E1E1E;--display:#FCFAF8;--line:#9b918b;--gutter:56px;--section:112px;--header:88px;--sans:'Source Sans 3',Arial,sans-serif;--serif:'Newsreader',Georgia,serif;color-scheme:light;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-padding-top:112px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:8px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:8px}img,video{display:block;max-width:100%}figure,h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}p{font-size:1.125rem;line-height:1.55;margin-bottom:24px}p:last-child{margin-bottom:0}.wrap{width:calc(100% - var(--gutter)*2);max-width:1488px;margin-inline:auto}::selection{background:var(--ink);color:var(--paper)}.skip{position:absolute;left:24px;top:-120px;background:var(--ink);color:var(--paper);padding:16px;z-index:100}.skip:focus{top:16px}
.header{height:var(--header);position:sticky;top:0;z-index:20;background:var(--paper);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-inline:max(var(--gutter),calc((100% - 1488px)/2))}.wordmark{font-family:var(--serif);font-size:1.5rem;line-height:1.2;white-space:nowrap}.languages{display:flex;align-items:center;gap:8px;justify-self:start;font-size:.9375rem}.languages a{min-height:48px;min-width:32px;display:grid;place-items:center}.languages a[aria-current]{text-decoration:underline;text-underline-offset:8px}.header nav{display:flex;justify-self:end;gap:32px;white-space:nowrap}.header nav a{display:flex;align-items:center;min-height:48px;font-size:1rem}.header nav a:hover,.header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}
.pill{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);padding:8px 24px;font:400 1rem/1.25 var(--sans);text-decoration:none;transition:color .18s,background .18s;max-width:100%;text-align:center}.pill:hover{background:var(--paper);color:var(--ink)}.pill:disabled{cursor:default;opacity:.5}
/* One composed opening, with natural layout until motion is initialized. */
.hero-scene{position:relative;isolation:isolate}.hero-stage{position:relative}.hero-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:24px;row-gap:40px;align-items:start;padding-block:64px 80px;min-height:min(760px,calc(100svh - var(--header)))}
.hero-name{grid-column:1/7;grid-row:1;position:relative;z-index:2;font-size:clamp(5.5rem,11.5vw,11rem);line-height:.91;letter-spacing:-.055em;pointer-events:none}.hero-name span{display:block}.hero-name span+span{padding-left:48px}
.hero-copy{grid-column:2/6;grid-row:2;align-self:end;padding-top:16px;position:relative;z-index:2;max-width:360px}.hero-copy p{font-size:1.125rem;line-height:1.55;margin-bottom:32px}.hero-frame{grid-column:7/13;grid-row:1/3;align-self:center;transform-origin:0 0;position:relative;z-index:1}.hero-frame figcaption{display:none}.hero-frame .art-hint{display:none}.hero-frame .art-open img{width:100%;height:auto}.hero-scene.motion-ready{height:calc(var(--scene-height) + var(--scene-travel));overflow:clip}.motion-ready .hero-stage{position:sticky;top:var(--header);height:var(--scene-height)}.motion-ready .hero-layout{height:var(--scene-height);min-height:0}.motion-ready .hero-frame{will-change:transform,opacity}
.section{padding-block:var(--section)}.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}.split>h1,.split>h2,.split>div:first-child{grid-column:1/6}.split>div:last-child,.split>form{grid-column:7/13}.split h1,.split h2{font-size:clamp(3rem,5vw,5.5rem)}.split>div>p{max-width:64ch}.split .pill{margin-top:16px}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:144px;margin-top:112px;padding-block:64px}.editorial-gallery>figure:nth-child(1){grid-column:1/7}.editorial-gallery>figure:nth-child(2){grid-column:9/12;margin-top:160px}.editorial-gallery>figure:nth-child(3){grid-column:7/13}.editorial-gallery>figure:nth-child(4){grid-column:1/6;grid-row:2;margin-top:176px}.art{min-width:0}.art-open{display:block;width:100%;padding:0;position:relative}.art-open img{width:100%;height:auto}.art-hint{position:absolute;bottom:16px;right:16px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:999px;min-height:48px;padding:8px 16px;align-content:center;font-size:.875rem;line-height:1.4;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none}.art-open:hover .art-hint,.art-open:focus-visible .art-hint{opacity:1;transform:none}figcaption{display:flex;align-items:center;gap:16px;margin-top:16px;font-size:.9375rem;line-height:1.4}figcaption>span:first-child{margin-right:auto}.art-zoom{display:none;flex-shrink:0;width:48px;height:48px;font-size:1.25rem;padding:8px;align-items:center;justify-content:center}
.exhibition{background:var(--ink);color:var(--paper);padding-block:96px}.exhibition .pill{border-color:var(--paper)}.exhibition .pill:hover{background:var(--paper);color:var(--ink)}.exhibition-film{margin-bottom:64px}.film{width:100%;background:var(--ink);overflow:hidden}.film video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--ink)}.biography-film{padding-top:48px}.biography-film+.page-intro{padding-top:80px}
.page-intro{padding-top:120px;padding-bottom:96px}.biography{padding-bottom:128px}.biography p{margin-bottom:32px}.email{display:inline-block;border-bottom:1px solid var(--ink);font-size:1.125rem;margin-top:8px}.contact-layout>div>h1{font-size:clamp(3rem,4.7vw,5.1rem);margin-bottom:16px}.contact-art{margin-top:48px;max-width:392px}.contact-art figcaption{display:none}.contact-layout form{padding-top:8px}form label{display:block;font-size:1rem;margin-bottom:8px}form input,form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;border-radius:0;padding:8px;font-size:1.125rem;margin-bottom:32px;min-height:48px}form textarea{resize:vertical;min-height:160px}.form-note{font-size:1rem;line-height:1.5;margin-bottom:24px;max-width:60ch}#form-status{margin-top:24px}.contact-layout .pill{margin-top:0}
.collection{padding-block:80px 72px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}.collection-heading h1{font-size:3.5rem;flex-shrink:0}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{background:var(--paper);color:var(--ink);font-size:.9375rem;padding:8px 16px;min-height:48px}.filter[aria-pressed=true],.filter[aria-pressed=true]:hover{background:var(--ink);color:var(--paper);text-decoration:underline;text-underline-offset:8px}.filter[aria-pressed=false]:hover{background:var(--display)}.collection-count{font-size:.9375rem;margin:24px 0 32px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;align-items:start}.collection-grid .art-open{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:var(--display);border-radius:0;padding:40px;overflow:hidden}.collection-grid .art-open img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}.collection-grid .art-open:hover img{transform:scale(1.025)}.collection-grid figure[hidden]{display:none}.collection-grid figcaption{font-size:1rem}.collection-grid figcaption span:first-child{font-weight:500}.collection-grid figcaption span:nth-child(2){font-size:.9375rem}.work-description{border-top:1px solid var(--line)}
footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:32px;border-top:1px solid var(--line);font-size:1rem}footer>a{min-height:48px;display:flex;align-items:center}
dialog{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px 40px;border:0;background:var(--paper);color:var(--ink);position:fixed}dialog:not([open]){display:none}dialog[open]{display:flex;flex-direction:column;gap:16px}dialog::backdrop{background:var(--ink)}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.viewer-top>span{font-family:var(--serif);font-size:1.5rem}.viewer-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.viewer-image img{width:100%;height:100%;object-fit:contain}.viewer-bottom{padding-top:16px}.viewer-open,.menu-open{overflow:hidden}
.menu-toggle{display:none}.mobile-menu[open]{gap:0;height:100dvh;padding:24px var(--gutter);overflow-y:auto}.menu-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.menu-close{font-size:2.5rem;font-weight:400;line-height:1;width:48px;height:48px;padding:0}.menu-links{display:flex;flex-direction:column;gap:24px;margin-top:auto;padding-block:64px}.menu-links>a{display:flex;align-items:baseline;gap:32px;font-family:var(--serif);font-size:clamp(2rem,6vw,3.5rem);line-height:1.15}.menu-links>a>span{font:400 .875rem/1 var(--sans)}.menu-links>a[aria-current]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}.menu-bottom{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:16px}.menu-bottom>a{min-height:48px;display:flex;align-items:center}.menu-bottom>a:last-child{margin-left:auto;text-decoration:underline}.menu-bottom [aria-current]{text-decoration:underline}
@media(max-width:1100px){:root{--gutter:32px;--section:80px}.hero-layout{padding-block:48px 64px}.hero-name{font-size:clamp(5rem,11.5vw,8rem)}.hero-name span+span{padding-left:24px}.hero-copy{grid-column:1/6}.collection-heading{align-items:flex-start}.collection-grid{gap:48px 24px}.collection-grid .art-open{padding:32px}}
@media(max-width:900px){:root{--header:80px}.header{height:80px;grid-template-columns:1fr auto 1fr;padding-block:16px;gap:16px}.header .wordmark{grid-column:2;grid-row:1}.header .languages{grid-column:1;grid-row:1}.header>nav{display:none}.menu-toggle{display:flex;grid-column:3;grid-row:1;justify-self:end;flex-direction:column;justify-content:center;gap:8px;width:48px;height:48px;padding:8px}.menu-toggle span{display:block;width:32px;height:1px;background:var(--ink)}.hero-layout{grid-template-columns:repeat(8,minmax(0,1fr));row-gap:32px;min-height:0;padding-block:48px 64px}.hero-name{grid-column:1/9;grid-row:1;font-size:clamp(4rem,10vw,5.5rem)}.hero-name span{display:inline}.hero-name span+span{padding-left:16px}.hero-frame{grid-column:4/9;grid-row:2}.hero-copy{grid-column:1/4;grid-row:2;align-self:center;padding:0}.hero-copy p{font-size:1rem;margin-bottom:24px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-heading{flex-direction:column;gap:24px}.filters{justify-content:flex-start}.art-hint{display:none}.art-zoom{display:flex}.contact-art figcaption{display:flex}.hero-frame figcaption{display:flex}.hero-frame figcaption>span{display:none}.hero-frame .art-zoom{margin-left:auto}.editorial-gallery{row-gap:96px;margin-top:80px}.exhibition-film{margin-bottom:48px}}
@media(max-width:600px){:root{--gutter:24px;--section:64px}.header .wordmark{font-size:1.25rem}.header .languages{font-size:.875rem;gap:0}.languages a{min-width:24px}.hero-layout{display:flex;flex-direction:column;gap:32px;padding-block:40px 48px}.hero-name{font-size:clamp(4rem,18vw,6.5rem);line-height:.95;align-self:stretch}.hero-name span{display:block}.hero-name span+span{padding-left:32px}.hero-frame{width:100%;align-self:stretch;order:2}.hero-copy{order:3;max-width:100%;align-self:stretch}.hero-copy p{max-width:36ch}.hero-frame figcaption{margin-top:0;height:40px}.hero-frame .art-zoom{height:40px;min-height:40px}.hero-name{order:1}p{font-size:1rem}.split{display:block}.split h1,.split h2{font-size:3rem;margin-bottom:32px}.split .pill{margin-top:16px}.editorial-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:80px 16px;margin-top:64px;padding-block:24px}.editorial-gallery>figure:nth-child(1){grid-column:1/5;grid-row:1}.editorial-gallery>figure:nth-child(2){grid-column:2/5;grid-row:2;margin-top:0}.editorial-gallery>figure:nth-child(3){grid-column:1/5;grid-row:3}.editorial-gallery>figure:nth-child(4){grid-column:1/4;grid-row:4;margin-top:0}figcaption{font-size:.875rem;margin-top:8px}.exhibition{padding-block:64px}.page-intro{padding-block:64px}.biography-film{padding-top:24px}.biography-film+.page-intro{padding-top:48px}.collection{padding-block:56px}.collection-heading h1{font-size:3rem}.collection-grid{grid-template-columns:1fr;gap:40px}.collection-grid .art-open{padding:32px}.collection-grid figcaption{font-size:.9375rem}.contact-art{max-width:100%;margin-top:32px}.contact-layout form{margin-top:56px}.contact-layout>div>h1{font-size:3rem;margin-bottom:16px}form input,form textarea{font-size:1rem}footer{align-items:flex-start;gap:16px;font-size:.9375rem}footer .wordmark{width:100%}dialog{padding:16px}.viewer-top>span{font-size:1.125rem}.viewer-bottom{gap:8px}.viewer-bottom .pill,.viewer-top .pill{padding:8px 16px;font-size:.9375rem}.menu-links{gap:32px}.menu-bottom>a:last-child{width:100%;margin-left:0}}
@media(hover:none),(pointer:coarse){.art-hint{display:none}.art-zoom{display:flex}.contact-art figcaption{display:flex}.collection-grid .art-open:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-frame{will-change:auto}}

/* Shared motion surfaces keep every painting in its own original proportions. */
:root{--page-bg:var(--paper);--page-fg:var(--ink);--page-dark:0}
html{scrollbar-gutter:stable}
html.modal-locked,html.intro-active{overflow:hidden;overscroll-behavior:none}
body[data-page=home]{background:var(--paper);color:var(--page-fg);isolation:isolate}
.page-tone{display:none}
body[data-page=home]>.page-tone{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--ink);opacity:var(--page-dark);will-change:opacity}
body[data-page=home]>.header{background:var(--page-bg);color:var(--page-fg)}
body[data-page=home] .menu-toggle span{background:currentColor}
body[data-page=home]>.header{isolation:isolate}
.mobile-menu::backdrop{background:transparent}
.mobile-menu{overscroll-behavior:contain}
.arrow-icon{display:block;flex-shrink:0}
.art-media{display:block;width:100%;overflow:clip}
.art-media img{transform:scale(1);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.art-hint{display:flex;align-items:center;gap:8px}
.hero-frame .art-hint{display:none}
.collection-grid .art-open{background:#F3EEEA}
.collection-grid .art-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.collection-grid .art-media img{width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
 .art-open:hover .art-media img,.art-open:focus-visible .art-media img{transform:scale(1.045)}
 .hero-frame .art-open:hover .art-media img,.hero-frame .art-open:focus-visible .art-media img{transform:none}
}
/* The screenshot's alignment: shared top edge, copy tucked under the name. */
.hero-layout{grid-template-rows:auto auto;align-content:start;row-gap:48px;min-height:0;padding-block:48px 64px}
.hero-copy{grid-column:1/6;align-self:start;padding:0;margin-left:40px;max-width:400px}
.hero-copy p{margin-bottom:32px;font-size:1.125rem;line-height:1.55}
.hero-frame{align-self:start;transform:none}
.hero-frame .art-open{transform-origin:0 0;overflow:visible}
.motion-ready .hero-stage{top:var(--pin-top);height:var(--scene-height)}
.motion-ready .hero-layout{height:auto}
.motion-ready .hero-frame{will-change:auto}
.motion-ready .hero-frame .art-open{will-change:auto}
.hero-frame .art-media img{transition:none}
.home-selection{background:var(--ink);color:var(--paper)}
.scroll-ready .home-selection{background:transparent;color:inherit}
.home-selection .pill{border-color:currentColor;background:transparent;color:inherit}
.home-selection .pill:hover{background:var(--page-fg,var(--paper));color:var(--page-bg,var(--ink));border-color:var(--page-fg,var(--paper))}
.editorial-gallery>.art{backface-visibility:hidden}
.home-contact{background:var(--paper);color:var(--ink)}
.home-contact .split>h2{max-width:8.5ch}
.home-contact p{max-width:42ch}
body[data-page=home]>footer{background:var(--paper);color:var(--ink)}
.contact-layout>div>h1{margin-bottom:16px}
.form-honey{display:none!important}
form[aria-busy=true]{cursor:progress}
#form-status[data-state=error],#form-status[data-state=pending]{border-left:2px solid var(--ink);padding-left:16px}
.film{position:relative}
.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);color:var(--ink);border:1px solid var(--ink);white-space:nowrap}
.film-play:hover{background:var(--ink);color:var(--paper);border-color:var(--paper)}
.film.is-playing .film-play{display:none}
/* Per-line masks are prepared only after fonts settle and keep the exact line boxes. */
.reveal-line{display:block;overflow:clip;padding-block:.14em;margin-block:-.14em}
.reveal-line>span{display:block}
.reveal-pending .reveal-line>span{transform:translateY(112%)}

/* Keep the hero copy masked before the overlay clears: no visible-then-hidden flash. */
@media(prefers-reduced-motion:no-preference){
 .intro-active .hero-name,.intro-active .hero-copy p,
 .hero-entering .hero-name,.hero-entering .hero-copy p{clip-path:inset(100% 0 0 0)}
 .intro-active .hero-copy .pill,.hero-entering .hero-copy .pill{opacity:0}
}
#site-intro{display:none}
.intro-active #site-intro{display:grid;position:fixed;inset:0;z-index:80;place-items:center;background:var(--paper);color:var(--ink)}
.intro-art{position:relative;width:clamp(160px,20vw,320px);aspect-ratio:4/5;overflow:hidden}
.intro-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--paper);visibility:hidden}
.intro-art img{clip-path:inset(0 0 100% 0)}
.intro-art img:first-child{visibility:visible}
.intro-running .intro-art img{clip-path:inset(0 0 100% 0)}
.intro-track{position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;height:1px;background:color-mix(in srgb,var(--ink) 16%,transparent)}
.intro-track span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}
.intro-skip{position:absolute;bottom:48px;right:var(--gutter);font-size:.875rem;min-height:48px;padding:8px 0 8px 16px}
.intro-skip:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.hero-copy{margin-left:24px}.hero-layout{row-gap:40px}}
@media(max-width:900px){
 .hero-layout{row-gap:32px;padding-block:48px 64px}
 .hero-copy{grid-column:1/4;grid-row:2;margin-left:0;align-self:center}
 .hero-copy p{font-size:1rem;margin-bottom:24px}
 .hero-frame{grid-column:4/9;grid-row:2}
 .art-hint{display:none}
 .hero-frame .art-open{isolation:auto}
 .hero-frame .art-media img{transform-origin:50% 50%}
}
@media(max-width:600px){
 .hero-layout{gap:32px;padding-block:40px 48px}
 .hero-copy{margin-left:0;max-width:100%;align-self:stretch}
 .hero-copy p{margin-bottom:24px}
 .hero-frame{width:100%;align-self:stretch}
 .hero-name span+span{padding-left:32px}
 .intro-art{width:192px}
 .film-play{font-size:.9375rem;padding-inline:16px}
 .home-contact .split>h2{max-width:10ch}
}
@media(hover:none),(pointer:coarse){.art-hint{display:none}.collection-grid .art-open:hover .art-media img{transform:none}}
@media(prefers-reduced-motion:reduce){
 .page-tone{display:none!important}
 .hero-frame .art-open,.art-media img,.editorial-gallery>.art{transform:none!important}
 .hero-frame .art-open{opacity:1!important;will-change:auto!important}
 .reveal-pending .reveal-line>span{transform:none}
 .image-pending{clip-path:none}
 .home-selection,.scroll-ready .home-selection{background:var(--ink);color:var(--paper)}
 .home-selection .pill:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
}

.reveal-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.intro-art img:first-child{clip-path:none}}

/* Promote only the mask currently animating, then release the layer. */


/* Composited reveal cover: preserve the bottom-to-top wipe without repainting images. */
.art-media{position:relative}
.art-reveal-cover{position:absolute;inset:-1px;background:var(--paper);transform-origin:50% 0;pointer-events:none;z-index:1}
.home-selection .art-reveal-cover{background:var(--page-bg,var(--ink))}
.collection-grid .art-reveal-cover{background:#F3EEEA}
.image-revealing>.art-reveal-cover{will-change:transform}
@media(prefers-reduced-motion:reduce){.art-reveal-cover{display:none}}
