@charset "UTF-8";
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.2s}
::view-transition-new(root){animation-duration:.3s}
:root{--ground:#fafaf8;--ink:#20211f;--muted:#666862;--line:#dedfd8;--gutter:32px;--ease:cubic-bezier(.22,1,.36,1);font-family:Arial,sans-serif;color:var(--ink);background:var(--ground);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0}
body.intro-active{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;width:100%;height:auto}
::selection{background:#d5d9d1}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:7px}
button:active{scale:.98}
.skip-link{position:fixed;top:12px;left:20px;z-index:200;background:var(--ink);color:var(--ground);padding:14px;translate:0 -160%}
.skip-link:focus{translate:0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{height:80px;display:flex;align-items:center;justify-content:center;position:relative;z-index:3}
.nav{display:flex;align-items:center;gap:52px;font-size:14px}
.nav a{transition:translate .35s var(--ease)}
.text-link{position:relative;display:inline-block;padding:12px 0}
.text-link::after{content:"";position:absolute;bottom:7px;left:0;width:100%;height:1px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .35s var(--ease)}
.text-link[aria-current=page]::after,.text-link:focus-visible::after{scale:1 1}
.hero{padding:6px var(--gutter) 0}
.hero-figure{margin:0;--painting-ratio:1.5}
.hero-art{display:block;width:min(100%,calc((100svh - 186px)*var(--painting-ratio)));aspect-ratio:var(--painting-ratio);margin:0 auto}
.hero-art img{width:100%;height:100%;object-fit:contain}
.hero-art img,.work-media img,.work-main-media img,.zoom-stage img{filter:drop-shadow(0 3px 7px rgb(28 31 26 / .14))}
.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(100%,calc((100svh - 186px)*var(--painting-ratio)));margin:19px auto 0}
.hero-caption h1{margin:0;font-size:clamp(42px,4.5vw,68px);line-height:1}
.hero-label{display:flex;align-items:baseline;gap:30px}
.collection-jump{font-size:12px;white-space:nowrap;padding:10px 0}
.collection-jump span{display:inline-block;margin-left:14px;transition:translate .45s var(--ease)}
.painting-info{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:14px;font-size:13px;line-height:1.5;min-height:38px;transition:opacity .3s var(--ease),translate .45s var(--ease)}
.painting-info span:first-child{max-width:88%}
.painting-info span:last-child{color:var(--muted);flex-shrink:0;font-size:12px}
.hero-caption .painting-info{margin:0;padding:0;min-height:0;max-width:58%;gap:28px}
.section-gallery{max-width:1920px;margin:0 auto;padding:100px var(--gutter) 120px;scroll-margin-top:-68px}
.gallery-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:44px}
.gallery-heading h2{font-size:clamp(44px,4.7vw,76px);margin:0}
.gallery-heading>span{font-size:12px;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:28px;row-gap:80px;align-items:start}
.work-card{display:block;min-width:0}
.work-card:nth-child(4n+1){grid-column:1 / 7}
.work-card:nth-child(4n+2){grid-column:9 / 13;margin-top:150px}
.work-card:nth-child(4n+3){grid-column:2 / 6;margin-top:-60px}
.work-card:nth-child(4n+4){grid-column:8 / 13;margin-top:90px}
.work-media{overflow:visible}
.work-media img{height:auto}
.work-card:active .work-media{scale:.995}
.collection-controls,.collection-hint{display:none}
.section-gallery.carousel-ready{padding-left:0;padding-right:0;overflow:hidden}
.carousel-ready .gallery-heading{margin-left:var(--gutter);margin-right:var(--gutter);margin-bottom:22px}
.carousel-ready .collection-stage{--stage-height:clamp(400px,60svh,660px);--media-space:68px;position:relative;height:var(--stage-height);perspective:1500px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;outline-offset:-8px}
.collection-stage:focus-visible,.carousel-ready .work-card:focus-visible{outline:none}
.collection-stage:focus-visible .is-active .painting-info span:first-child,.carousel-ready .work-card:focus-visible .painting-info span:first-child{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.carousel-ready .gallery-grid{display:block;position:relative;height:100%}
.carousel-ready .work-card:nth-child(n){--card-width:min(50vw,800px);--canvas-height:min(calc(var(--stage-height) - var(--media-space)),calc(var(--card-width)/var(--canvas-ratio)));position:absolute;left:50%;top:50%;width:var(--card-width);height:100%;margin:0;transform-origin:50% 50%;will-change:transform;backface-visibility:hidden}
.carousel-ready .work-media{height:calc(100% - var(--media-space));display:flex;align-items:center;justify-content:center}
.carousel-ready .work-media img{height:100%;width:100%;object-fit:contain;pointer-events:auto;-webkit-user-drag:none}
.carousel-ready .painting-info{position:absolute;left:50%;right:auto;top:calc((var(--stage-height) - var(--media-space) + var(--canvas-height))/2 + 16px);width:min(100%,calc((var(--stage-height) - var(--media-space))*var(--canvas-ratio)));transform:translateX(-50%);min-height:40px;padding-top:0;opacity:0;translate:0 6px;pointer-events:none}
.carousel-ready .is-active .painting-info{opacity:1;translate:0 0}
.carousel-ready .collection-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:18px;margin:20px var(--gutter) 0}
.collection-count{margin:0;font-size:13px;font-variant-numeric:tabular-nums}
.collection-count>span:last-child{color:var(--muted);margin-left:6px}
.collection-thumbs{display:flex;align-items:center;gap:12px}
.collection-thumb{width:clamp(44px,3.8vw,56px);height:60px;padding:5px 6px 13px;background:none;border:0;position:relative}
.collection-thumb img{width:100%;height:100%;object-fit:contain;transition:translate .4s var(--ease),opacity .4s var(--ease);opacity:.65}
.collection-thumb::after{content:"";position:absolute;left:5px;right:5px;bottom:0;height:1px;background:var(--ink);scale:0 1;transition:scale .4s var(--ease)}
.collection-thumb[aria-current] img{opacity:1;translate:0 -3px}
.collection-thumb[aria-current]::after{scale:1 1;height:2px}
.collection-arrows{display:flex;justify-content:flex-end;gap:10px}
.collection-arrows button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;transition:background .3s,color .3s,border-color .3s}
.collection-arrows span{font-size:23px;line-height:1;transition:translate .35s var(--ease)}
.collection-arrows button,.zoom-close,.zoom-nav button,.work-inquiry .outline-link{border-color:#bdc0b5}
.carousel-ready .collection-hint{display:block;text-align:center;font-size:12px;color:#575a53;margin:23px var(--gutter) 0;line-height:1.5}
.touch-hint{display:none}
.carousel-ready .is-dragging .work-card{pointer-events:none}
.site-footer{margin:0}
.footer-scene{height:88svh;min-height:580px;position:relative;overflow:hidden;background:#152630}
.footer-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%}
.footer-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 22%,rgb(5 14 19 / .1) 42%,rgb(5 14 19 / .72) 100%)}
.footer-content{position:absolute;z-index:1;bottom:28px;left:var(--gutter);right:var(--gutter);color:#fafaf8}
.footer-wordmark{font-size:clamp(70px,20.5vw,440px);line-height:.86!important;letter-spacing:-.055em!important;margin:0 0 38px -7px;white-space:nowrap}
.footer-links{display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:14px}
.footer-email{font-size:18px;letter-spacing:-.02em}
.footer-links>div{display:flex;gap:34px}
.footer-content a:focus-visible{outline-color:#fafaf8}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px var(--gutter);font-size:12px;color:var(--muted)}
.replay{border:0;background:none;font-size:12px}
.intro{position:fixed;inset:0;z-index:100;overflow:hidden;background:var(--ground);display:none}
.intro.is-visible{display:block}
.intro:focus{outline:none}
.intro-brand{position:absolute;left:50%;top:50%;translate:-50% -50%;text-align:center;z-index:2;white-space:nowrap}
.intro-brand strong{font-size:clamp(28px,3.3vw,48px);font-weight:400;letter-spacing:-.04em}
.intro-tile{position:absolute;left:50%;top:50%;width:clamp(55px,7vw,108px);aspect-ratio:1;overflow:hidden;will-change:transform;backface-visibility:hidden}
.intro-tile img{width:100%;height:100%;object-fit:cover}
.intro-tile,.intro-cover{box-shadow:0 3px 7px rgb(28 31 26 / .14)}
.intro-cover{position:fixed;z-index:105;overflow:hidden;pointer-events:none;will-change:transform;backface-visibility:hidden}
.intro-cover img{width:100%;height:100%;will-change:transform}
.entrance-pending .intro{display:block}
.entrance-pending .intro-tile,.entrance-pending .intro-brand{opacity:0}
.entrance-pending .site-header,.entrance-pending main,.entrance-pending .site-footer{visibility:hidden}
.entrance-pending body{overflow:hidden}
.cursor-dot{position:fixed;left:0;top:0;width:8px;height:8px;border-radius:50%;background:white;mix-blend-mode:difference;z-index:1000;pointer-events:none;opacity:0;will-change:transform}
.zoom-dialog{margin:0;padding:0;border:0;max-width:none;max-height:none;width:100%;height:100dvh;background:var(--ground);color:var(--ink)}
.zoom-dialog::backdrop{background:var(--ground)}
.zoom-shell{height:100%;padding:24px var(--gutter);display:grid;grid-template-rows:minmax(44px,auto) minmax(0,1fr) 48px;gap:12px}
.zoom-top,.zoom-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.zoom-top p{font-size:14px;margin:0;line-height:1.5;max-width:calc(100% - 80px)}
.zoom-close,.zoom-nav button{width:44px;height:44px;background:none;border:1px solid #bdc0b5;border-radius:50%;font-size:24px;transition:background .25s,color .25s}
.zoom-stage{min-height:0;height:100%;padding:12px 28px}
.zoom-stage img{width:100%;height:100%;object-fit:contain}
.zoom-bottom{font-size:12px;color:var(--muted)}
.zoom-nav{display:flex;gap:12px}
.zoom-nav button{font-size:20px;color:var(--ink)}
.work-page{max-width:1680px;margin:0 auto;padding:38px var(--gutter) 100px}
.back-link{font-size:13px}
.work-title{font-size:clamp(48px,7.2vw,112px);max-width:1140px;margin:38px 0 34px}
.work-facts{display:flex;justify-content:space-between;padding:14px 0 32px;font-size:13px;border-top:1px solid var(--line)}
.work-main-media{display:block;width:100%;background:none;border:0;padding:0}
.work-main-media img{max-height:1000px;width:100%;object-fit:contain}
.work-inquiry{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:44px 0 100px;padding-top:24px;border-top:1px solid var(--line)}
.work-inquiry p{font-family:var(--font-display);font-size:clamp(28px,3vw,42px);font-weight:300;letter-spacing:-.03em}
.outline-link{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:15px 24px;border:1px solid var(--line);border-radius:999px;font-size:13px;white-space:nowrap;transition:background .35s,color .35s,border-color .35s}
.outline-link::after{content:"↗";font-size:18px;transition:translate .35s var(--ease)}
.outline-link:focus-visible{background:var(--ink);color:var(--ground)}
.next-work{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:28px}
.next-work>div>span{font-size:13px;color:var(--muted)}
.next-work h2{font-size:clamp(28px,3.3vw,50px);max-width:800px;margin:16px 0}
.next-work>span{transition:translate .35s var(--ease)}
.not-found{min-height:70svh;padding:90px var(--gutter)}
.not-found h1{font-size:clamp(60px,11vw,160px);margin:0 0 26px}
.not-found p{font-size:18px;color:var(--muted);margin-bottom:34px}

@media(hover:hover) and (pointer:fine){
  .painting-info{opacity:0;translate:0 7px}
  .painting-item:hover .painting-info,.painting-item.is-hovered .painting-info,.painting-item:focus-visible .painting-info,.painting-item:focus-within .painting-info{opacity:1;translate:0 0}
  html.has-dot-cursor,html.has-dot-cursor *{cursor:none!important}
  .text-link:hover::after{scale:1 1}
  .nav a:hover{translate:0 -2px}
  .collection-jump:hover span{translate:4px 4px}
  .collection-thumb:hover img{opacity:1;translate:0 -3px}
  .collection-arrows button:hover{border-color:var(--ink);background:var(--ink);color:var(--ground)}
  .collection-prev:hover span{translate:-2px 0}
  .collection-next:hover span{translate:2px 0}
  .outline-link:hover::after{translate:2px -2px}
  .outline-link:hover,.zoom-close:hover,.zoom-nav button:hover{background:var(--ink);color:var(--ground)}
  .next-work:hover>span{translate:4px -4px}
}

@media(max-width:760px){
  :root{--gutter:20px}
  .site-header{height:76px}
  .nav{gap:46px;font-size:13px}
  .hero{padding-top:4px}
  .hero-caption{gap:18px;margin-top:15px;align-items:flex-start}
  .hero-caption h1{font-size:36px}
  .hero-label{display:block}
  .collection-jump{display:inline-block;font-size:11px;padding-top:8px}
  .collection-jump span{margin-left:4px}
  .hero-caption .painting-info{max-width:57%;gap:12px;font-size:11px;padding-top:3px}
  .painting-info{font-size:12px;padding-top:12px;gap:12px;min-height:36px}
  .painting-info span:last-child{font-size:11px}
  .section-gallery{padding-top:72px;padding-bottom:90px}
  .section-gallery{scroll-margin-top:-62px}
  .gallery-heading{gap:12px;margin-bottom:34px}
  .gallery-heading h2{font-size:44px}
  .gallery-heading>span{font-size:11px}
  .gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:44px 16px}
  .work-card:nth-child(n){grid-column:1 / 7;margin-top:0}
  .work-card:nth-child(4n+2),.work-card:nth-child(4n+4){grid-column:2 / 7}
  .work-card:nth-child(4n+3){grid-column:1 / 6}
  .carousel-ready .gallery-heading{margin-bottom:28px}
  .carousel-ready .collection-stage{--stage-height:clamp(330px,53svh,480px);--media-space:82px;perspective:1000px}
  .carousel-ready .work-card:nth-child(n){--card-width:78vw}
  .carousel-ready .painting-info{font-size:12px;gap:16px;min-height:64px;align-items:flex-start}
  .carousel-ready .collection-controls{grid-template-columns:1fr auto;margin-top:10px;padding-top:16px}
  .collection-thumbs{display:none}
  .carousel-ready .collection-hint{font-size:11px;margin-top:22px}
  .collection-arrows button{width:46px;height:46px}
  .footer-scene{height:78svh;min-height:520px}
  .footer-photo{object-position:48% 50%}
  .footer-content{bottom:22px}
  .footer-wordmark{font-size:20.5vw;margin-left:-2px;margin-bottom:26px}
  .footer-links{display:block;font-size:12px}
  .footer-email{font-size:15px}
  .footer-links>div{gap:26px;margin-top:4px}
  .footer-bottom{font-size:10px;gap:16px}
  .replay{font-size:11px}
  .intro-brand strong{font-size:28px}
  .intro-tile{width:16vw}
  .zoom-shell{padding:18px 20px}
  .zoom-stage{padding:12px 0}
  .zoom-top p{max-width:75%;line-height:1.5}
  .zoom-bottom{font-size:11px}
  .zoom-nav{gap:7px}
  .work-page{padding-top:24px;padding-bottom:68px}
  .work-title{font-size:clamp(45px,12vw,80px);margin:30px 0}
  .work-facts{font-size:12px;padding-bottom:26px}
  .work-inquiry{display:block;margin-bottom:65px}
  .work-inquiry p{font-size:21px;margin-bottom:24px}
  .work-inquiry .outline-link{max-width:100%;font-size:12px;padding:14px 20px;gap:18px}
  .next-work h2{font-size:30px}
}

@media(hover:none){
  .pointer-hint{display:none}
  .touch-hint{display:inline}
}

@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .intro,.intro-cover,.cursor-dot{display:none!important}
  .entrance-pending .site-header,.entrance-pending main,.entrance-pending .site-footer{visibility:visible}
  .entrance-pending body{overflow:auto}
  .work-card:active .work-media{scale:1}
  .carousel-ready .work-card{will-change:auto}
  .intro-tile,.intro-cover,.intro-cover img{will-change:auto}
}
