*{box-sizing:border-box}html{font-size:12px;--viewport-height:100vh}body{margin:0}figure{margin:0;display:inline-block;vertical-align:top}img,video,iframe{display:block;width:100%;height:auto;border:0}iframe{background:#111}a{color:inherit}button{font:inherit}figure>a{display:block}.page{display:flex;position:relative;min-height:100vh}.page-layout{width:100%;margin:auto}.page-content{width:100%}column-set{display:flex;gap:1rem}column-unit{display:block;flex:1;min-width:0}gallery-freeform{display:block;position:relative;width:100%}.freeform-item{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1cqw);width:calc(var(--w)*1%)}gallery-freeform{container-type:inline-size}.gallery-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:var(--gutter);align-items:start}.gallery-grid figure{width:100%!important}.gallery-columnized{column-count:var(--columns);column-gap:var(--gutter)}.gallery-columnized figure{display:inline-block;width:100%!important;break-inside:avoid;margin:0 0 var(--gutter)}.wallpaper{position:fixed;inset:0;z-index:-1}.wallpaper img{width:100%;height:100%;object-fit:cover;filter:blur(3px)}.zoom{display:block;border:0;padding:0;background:none;width:100%;cursor:zoom-in}dialog{border:0;padding:0;background:#000;max-width:100vw;max-height:100vh}dialog::backdrop{background:#000e}dialog img{max-height:92vh;max-width:94vw;object-fit:contain;width:auto}.close{position:fixed;right:20px;top:15px;color:white;background:#222;border:0;font-size:32px;cursor:pointer;z-index:10}a:focus-visible,button:focus-visible{outline:3px solid #90531d;outline-offset:4px}

@font-face {
  font-family: "H Yh1gj";
  font-weight: 400;
  font-style: normal;
  src: url("assets/R2592944229096350527783278612182-HanYiWeiBeiJian-1.woff") format("woff");
}

html {
	--mobile-scale: 1;
	--mobile-padding-offset: 1.2;
}

body {
	--swatch-1: rgba(255, 255, 255, 0.85);
	--swatch-2: rgba(255, 255, 255, 0.75);
	--swatch-3: rgba(255, 255, 255, 0.6);
	--swatch-4: rgba(255, 255, 255, 0.4);
	--swatch-5: rgba(255, 255, 255, 0.25);
	background-color: #ffffff;
}

body.mobile {
}

a:active,
.linked:active,
.zoomable::part(media):active {
	opacity: 0.7;
}

.page a.active {
	color: #ffc600;
}

sub {
	position: relative;
	vertical-align: baseline;
	top: 0.3em;
}

sup {
	position: relative;
	vertical-align: baseline;
	top: -0.4em;
}

.small-caps {
	font-variant: small-caps;
	text-transform: lowercase;
}

ol {
	margin: 0;
	padding: 0 0 0 2.5em;
	list-style-type: decimal-leading-zero;
}

ul {
	margin: 0;
	padding: 0 0 0 2.0em;
}

ul.lineated {
	margin: 0;
	padding: 0;
	list-style-type: none;
	margin: 0 0 0 3em;
	text-indent: -3em;
}

blockquote {
	margin: 0;
	padding: 0 0 0 2em;
}

hr {
	background: rgba(255, 255, 255, 0.6);
	border: 0;
	height: 1px;
	display: block;
	margin-top: 0.4rem;
	margin-bottom: 0.5rem;
}

.content {
	border-color: rgba(0,0,0,.85);
}

bodycopy {
	font-size: 1.30rem;
	font-weight: 400;
	color: rgba(35, 35, 35, 0.85);
	font-family: H Yh1gj;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0;
	display: block;
}

.mobile bodycopy {
	font-size: 1.3rem;
}

bodycopy a {
	color: rgba(41, 41, 41, 0.85);
	border-bottom: 0px solid rgba(127, 127, 127, 0.2);
	text-decoration: underline;
}

bodycopy a:hover {
}

h1 {
	font-family: "Sorts Mill Goudy";
	font-style: normal;
	font-weight: 400;
	margin: 0;
	font-size: 1.95rem;
	line-height: 1;
	color: rgba(42, 42, 42, 0.85);
	letter-spacing: 0;
}

h1 a {
	color: rgba(42, 42, 42, 0.85);
	text-decoration: none;
}

h1 a:hover {
}

h2 {
	font-family: H Yh1gj;
	font-style: normal;
	font-weight: 400;
	margin: 0;
	color: rgba(48, 48, 48, 0.85);
	font-size: 2.05rem;
	line-height: 1.1;
	letter-spacing: 0;
}

h2 a {
	color: rgba(48, 48, 48, 0.85);
	text-decoration: none;
}

h2 a:hover {
}

.caption {
	font-size: 1.1rem;
	font-weight: 400;
	color: rgba(25, 25, 25, 0.85);
	font-family: Georgia;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0em;
	display: inline-block;
	font-variation-settings: 'opsz' 12;
	filter: drop-shadow(0.1rem 0.1rem 0.00rem rgba(0, 0, 0, 0.25));
	will-change: filter;
	border-width: 0.0rem;
}

.caption a {
	text-decoration: underline;
	color: rgba(25, 25, 25, 0.85);
}

.caption a:hover {
}

media-item .caption {
	margin-top: .5em;
}

gallery-grid .caption,
gallery-columnized .caption,
gallery-justify .caption {
	margin-bottom: 2em;
}

[thumbnail-index] .caption {
	text-align: center;
}

[thumbnail-index] .caption .tags {
	margin-top: 0.25em;
}

.page {
	justify-content: flex-start;
}

.page-content {
	padding: 3rem;
	text-align: left;
}

.mobile [id] .page-layout {
	max-width: 100%;
}

.mobile [id] .page-content {
}

.page-layout {
	align-items: flex-start;
	max-width: 100%;
}

media-item::part(media) {
	border: 0;
	padding: 0;
}

.quick-view {
	height: 100%;
	width: 100%;
	padding: 3rem;
	margin-top: auto;
	margin-right: auto;
	margin-bottom: auto;
	margin-left: auto;
}

.quick-view-background {
	background-color: #000000;
}

.quick-view .caption {
	color: #000000;
	padding: 20px 0;
	text-align: center;
	transition: 100ms opacity ease-in-out;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.quick-view .caption-background {
	padding: 0.5rem 1rem;
	display: inline-block;
	background: rgba(255, 255, 255, 0.85);
	border-radius: .5rem;
	text-align: left;
	max-width: 50rem;
}

.mobile .quick-view {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 10px;
}

.mobile .quick-view .caption {
	padding: 10px 0;
}

.texttext {
	--text-style: "texttext";
	font-size: 1.3rem;
	font-weight: 400;
	color: rgba(34, 34, 34, 0.85);
	font-family: "Sorts Mill Goudy";
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0;
	display: inline-block;
	border-width: 2.0rem;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.85);
	border-radius: 0.0rem;
	padding: 0.0rem;
}

.texttext a {
	color: rgba(34, 34, 34, 0.85);
	border-bottom: 0px solid rgba(127, 127, 127, 0.2);
	text-decoration: underline;
}

.texttext a:hover {
	
}

.bio {
	--text-style: "bio";
	font-size: 1.30rem;
	font-weight: 700;
	color: rgba(35, 35, 35, 0.85);
	font-family: Arial;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0em;
	display: inline-block;
	border-width: 0.0rem;
	border-radius: 0.0rem;
	filter: drop-shadow(0.2rem 0.2rem 0.36rem rgba(0, 0, 0, 0.25));
	will-change: filter;
	font-variation-settings: 'slnt' 0;
}

.mobile .bio {
	font-size: 1.3rem;
}

.bio a {
	color: rgba(41, 41, 41, 0.85);
	border-bottom: 0px solid rgba(127, 127, 127, 0.2);
	text-decoration: underline;
}

.bio a:hover {
	
}

.mobile .quick-view .caption-background {
	max-width: 100vw;
}

::part(slideshow-nav) {
	--button-size: 30px;
	--button-inset: 20px;
	--button-icon-color: rgba(0, 0, 0, 0.9);
	--button-icon-stroke-width: 1.5px;
	--button-icon-stroke-linecap: none;
	--button-background-color: rgba(168, 168, 168, 0.6);
	--button-background-radius: 50%;
	--button-active-opacity: 0.7;
}

gallery-slideshow::part(slideshow-nav) {
	--button-inset: 15px;
}

.quick-view::part(slideshow-nav) {
}

.wallpaper-slideshow::part(slideshow-nav) {
}

.mobile ::part(slideshow-nav) {
	--button-inset: 10px;
}

.mobile .quick-view::part(slideshow-nav) {
	--button-inset: 25px;
}

shop-product {
	font-size: 1.2rem;
	max-width: 22rem;
	font-family: Arial;
	font-style: normal;
	font-weight: 400;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	letter-spacing: 0em;
	margin-bottom: 1em;
}

shop-product::part(price) {
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.1;
	margin-bottom: 0.5em;
}

shop-product::part(dropdown) {
	width: 100%;
	color: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(255, 255, 255, 0.27);
	background-color: rgba(0, 0, 0, 0.0);
	background-image: none;
	background-repeat: no-repeat;
	background-position: top 0em right .1em;
	line-height: 1.2;
	padding: 0.58em 2em 0.55em 0.9em;
	border-radius: 10em;
	margin-bottom: 0.5em;
}

shop-product::part(button) {
	background: rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.85);
	text-align: left;
	line-height: normal;
	padding: 0.5em 1em;
	cursor: pointer;
	border-radius: 10em;
}

shop-product::part(button):active {
	opacity: .7;
}

audio-player {
	--text-color: rgba(255, 255, 255, 0.85);
	--text-padding: 0 1.2em 0 1.0em;
	--background-color: rgba(255, 255, 255, 0);
	--buffer-background-color: rgba(255, 255, 255, 0.075);
	--progress-background-color: rgba(255, 255, 255, 0.12);
	--border-lines: 1px solid rgba(255, 255, 255, 0.25);
	font-size: 1.2rem;
	width: 32rem;
	height: 2.75em;
	font-family: Arial;
	font-style: normal;
	font-weight: 400;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	line-height: normal;
	letter-spacing: 0em;
	margin-bottom: 0.5em;
	border-radius: 10em;
}

audio-player::part(button) {
	--icon-color: rgba(255, 255, 255, 0.85);
	--icon-size: 32%;
	--play-text: '';
	--pause-text: '';
	width: 3.15em;
	display: inline-flex;
	justify-content: center;
	cursor: pointer;
}

audio-player::part(play-icon) {
	padding-left: 0.6em;
}

audio-player::part(pause-icon) {
	padding-left: 0.4em;
}

audio-player::part(progress-indicator) {
	border-right: 1px solid rgba(255, 255, 255, 0);
	height: 100%;
	cursor: ew-resize;
}

audio-player::part(separator) {
	border-right: var(--border-lines);
}

body.mobile audio-player {
	max-width: 100%;
}

.mobile .content {
}
bodycopy{font-family:"H Yh1gj",Georgia,serif}h1,.texttext{font-family:"Sorts Mill Goudy",Georgia,serif}.texttext{border:0!important}.caption{font-family:Georgia,serif}figure .caption{display:block;text-align:left}figure .caption:empty{display:none}span[style*="--font-scale"]{font-size:calc(1em*var(--font-scale))}.icon-link{font-family:Georgia,serif;font-size:16px}.bio{font-family:Arial,sans-serif}.page-layout{margin-top:0;margin-bottom:0}.page-content{min-height:100vh}body:has(.wallpaper) .page-content{backdrop-filter:blur(2px)}@media(max-width:600px){html{font-size:10px}.page .page-layout{max-width:100%!important}.page-content{padding:2rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-columnized{column-count:2}gallery-freeform .freeform-item{position:relative;left:auto;top:auto;width:100%;margin:0 auto 4rem;display:block}gallery-freeform{height:auto!important}.texttext{border-width:0!important}.bio{font-size:1.5rem}column-set[mobile-stack="true"]{display:block}}
@font-face{font-family:"Sorts Mill Goudy";font-style:normal;font-weight:400;font-display:swap;src:url("assets/sorts-mill-goudy.ttf") format("truetype")}html{font-size:clamp(8px,.81vw,18px)}@media(max-width:600px){html{font-size:10px}}
.text-icon{font-family:Arial,sans-serif;font-size:1.8rem!important;padding:0 .15rem}figure .caption{margin-top:.5em}
.home-icon{display:inline-block;font-size:24px;line-height:1.4}a:has(.home-icon){text-decoration:none}

/* Keep the upper part of the homepage GIF in view on wide screens. */
body:has(.page[data-page="main"]) .wallpaper img{object-position:center 18%}

/* Highlight each artwork and its caption together without shifting the layout. */
.page figure img,.page figure video,.page figure iframe{transition:box-shadow .2s ease}
.page figure .caption,.page a{transition:text-shadow .2s ease}
@media(hover:hover){
  .page figure:hover img,.page figure:hover video,.page figure:hover iframe{box-shadow:0 0 8px 3px #d5b2ec,0 0 28px 8px #d5b2ecc9}
  .page figure:hover .caption,.page a:hover{text-shadow:0 0 3px #d5b2ec,0 0 8px #d5b2ec,0 0 16px #d5b2ec}
}
.page figure:focus-within img,.page figure:focus-within video,.page figure:focus-within iframe{box-shadow:0 0 8px 3px #d5b2ec,0 0 28px 8px #d5b2ecc9}
.page figure:focus-within .caption,.page a:focus-visible{text-shadow:0 0 3px #d5b2ec,0 0 8px #d5b2ec,0 0 16px #d5b2ec}
@media(prefers-reduced-motion:reduce){.page figure img,.page figure video,.page figure iframe,.page figure .caption,.page a{transition:none}}

.contact-row{display:inline-flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:1em 2em}.contact-row .icon-link{font:inherit;font-weight:700;white-space:nowrap}.contact-row b{white-space:nowrap}

.project-overlay{position:fixed;inset:24px;width:calc(100vw - 48px);height:calc(100dvh - 48px);max-width:none;max-height:none;margin:0;border:0;padding:0;overflow:hidden;background:transparent}
.project-overlay::backdrop{background:rgba(255,255,255,.9)}
.project-overlay>iframe{display:block;width:100%;height:100%;background:transparent;border:0}
.project-close{position:absolute;top:4px;right:12px;z-index:5;width:44px;height:44px;border:0;border-radius:50%;background:#ffffffdc;color:#222;font:32px/1 Arial,sans-serif;cursor:pointer}
.project-overlay.image-open .project-close{display:none}
.embedded-project,.embedded-project body,.embedded-project .page,.embedded-project .page-content,.embedded-project bodycopy,.embedded-project .texttext{background:transparent!important}.embedded-project .wallpaper{display:none}.embedded-project .page-content{backdrop-filter:none!important}
.embedded-project body:has(.page[data-page="bio"]) .wallpaper{display:block!important}.embedded-project body:has(.page[data-page="bio"]) .wallpaper img{opacity:1!important}
.embedded-project body:has(.page[data-page="bio"])::before{content:"";position:fixed;inset:0;z-index:0;background:rgba(255,255,255,.45);pointer-events:none}.embedded-project body:has(.page[data-page="bio"]) .page[data-page="bio"]{z-index:1}
@media(max-width:600px){.project-overlay{inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.project-close{right:0;top:0}.embedded-project .page-content{padding-top:52px}}
.project-content{height:100%;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;background:transparent}.project-content .page-layout,.project-content .page-content{max-width:100%!important}.project-content .page-content{backdrop-filter:none!important;background:transparent!important}.project-loading{text-align:center;padding:64px;font:18px Georgia,serif}.video-direct-link{display:block;margin:8px 0;font:14px Georgia,serif;text-align:right}@media(max-width:600px){.project-content .page-content{padding-top:52px}}
