:root {
  --paper: #fff;
  --ink: #111;
  --muted: #5a5a5a;
  --line: #d7d7d7;
  --blue: #22306b;
  --yellow: #ffee6f;
  --pad: clamp(20px, 2.8vw, 48px);
  --ease: cubic-bezier(.22, 1, .36, 1);
  font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-size: 16px; line-height: 1.45; -webkit-font-smoothing: antialiased; }
body[data-lang="en"] [data-zh], body[data-lang="zh"] [data-en], [hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { border: 0; background: transparent; cursor: pointer; }
button:disabled { cursor: default; opacity: .45; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
img, video { display: block; width: 100%; max-width: 100%; height: auto; }
figure, p, h1, h2, h3, dl, dd { margin: 0; }
h1, h2, h3 { font-weight: 600; letter-spacing: -.028em; line-height: 1.05; text-wrap: balance; }
h1 { font-size: clamp(46px, 6vw, 96px); }
h2 { font-size: clamp(32px, 4vw, 68px); }
h3 { font-size: 28px; }
p { text-wrap: pretty; }
p + p { margin-top: 1.35em; }
main { min-height: 70vh; }
section, article { position: relative; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 100; padding: 14px 16px; background: #fff; color: #111; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 20px; font-size: 13px; font-weight: 700; line-height: 1.25; text-transform: uppercase; letter-spacing: -.01em; }
.link-arrow { display: inline-block; font-size: 1.35em; transition: transform .3s var(--ease); }
.text-link:hover .link-arrow, .header-contact:hover .link-arrow, .footer-privacy:hover .link-arrow { transform: translate(4px, -4px); }
/* Shared first-release usability rules. */
body .site-header { align-items: center; min-height: 76px; padding-top: 16px; padding-bottom: 16px; }
body .site-header .header-note { display: none; }
body .site-header .language { min-width: 44px; min-height: 44px; }
body .site-header #site-nav a { display: inline-flex; align-items: center; min-height: 44px; }
body .site-header #site-nav a:after { bottom: 4px; }
body .site-header .header-actions { gap: 16px; }
.hero-word { padding-bottom: .08em; margin-bottom: -.08em; }
.opening-scroll-hint { font-size: 14px; text-decoration: underline; text-underline-offset: 6px; }
.editorial-work-number { display: none; }
[id] { scroll-margin-top: 100px; }
.draft-copy { margin: 20px 0 0; display: block; cursor: pointer; }
[data-copy-status]:empty { display: none; }
#draft-status { scroll-margin-top: 110px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 2px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px #111; }
.film-error { margin-top: 16px; font-size: 16px; line-height: 1.6; }
@media(max-width:700px) {
 body .site-header { min-height: 72px; padding: 14px 20px; }
 body .site-header .menu-toggle { width: 44px; height: 44px; align-items: center; }
 body .site-header .header-actions { padding: 0; }
 body .site-header #site-nav { height: 100dvh; overflow-y: auto; }
 body.menu-is-open { overflow: hidden; }
 .hero-title { bottom: 64px; }
 .opening-credit { bottom: 22px; max-width: none; font-size: 12px; }
 .page-index .layer-title { line-height: 1.16; }
 body[data-lang=zh].page-index .layer-title { letter-spacing: 0; }
 .page-index .layer-description { line-height: 1.8; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

body[data-lang=zh] .library-title { line-height: 1.22; letter-spacing: 0; }
.error-links { display: flex; gap: 32px; padding: 32px var(--editorial-pad) 96px; flex-wrap: wrap; }
@media(max-width:700px) { .page-index .opening-scroll-hint { display: inline-block; top: 22%; } }

/* A stable navigation surface remains readable over every artwork and essay. */
body[class] .site-header, body[class] .site-header[data-nav-context] { background: #f7f7f4; color: #20211f; mix-blend-mode: normal; text-shadow: none; border-bottom: 1px solid #deded8; }
body[class] .site-header .wordmark, body[class] .site-header .language, body[class] .site-header #site-nav, body[class] .site-header .header-contact { color: #20211f; text-shadow: none; }

/* Reveal masks reserve descenders in English and full Chinese glyph height. */
.layer-title .copy-line { padding-top: .06em; padding-bottom: .16em; margin-top: -.06em; margin-bottom: -.16em; }

/* One complete East Change lockup everywhere: enlarged handwriting first,
   optically balanced seal second. The original artwork remains untouched. */
.brand-lockup {
  --lockup-word-width: 150px;
  --lockup-word-height: 52px;
  --lockup-signature-size: 150px;
  --lockup-signature-top: -81px;
  --lockup-seal-size: 42px;
  --lockup-gap: 8px;
  display: inline-flex;
  align-items: center;
  gap: var(--lockup-gap);
  height: var(--lockup-word-height);
  flex: none;
  mix-blend-mode: multiply;
}
.brand-lockup-word {
  position: relative;
  display: block;
  width: var(--lockup-word-width);
  height: var(--lockup-word-height);
  flex: none;
  overflow: hidden;
}
.brand-lockup-word img {
  position: absolute;
  display: block;
  width: var(--lockup-signature-size);
  height: var(--lockup-signature-size);
  max-width: none;
  left: 0;
  top: var(--lockup-signature-top);
}
.brand-lockup-seal {
  display: block;
  width: var(--lockup-seal-size);
  height: var(--lockup-seal-size);
  max-width: none;
  flex: none;
  object-fit: contain;
}
body[class] .site-header .wordmark { display: flex; align-items: center; line-height: 1; }
body[class] .site-header { height: 72px; min-height: 72px; padding-top: 14px; padding-bottom: 14px; }
body[class] .site-footer.ec-footer { display: block; min-height: 0; margin-top: 80px; padding: 64px var(--editorial-pad) 24px; background: #f7f7f4; color: #20211f; border-top: 1px solid #d7d8d2; font-family: var(--editorial-sans); }
body.page-index .site-footer.ec-footer { margin-top: 0; }
.ec-footer-main { display: grid; grid-template-columns: minmax(120px,1fr) minmax(0,2fr) minmax(140px,1fr); gap: 48px; align-items: start; padding-bottom: 64px; }
.ec-footer-logo { display: inline-flex; width: fit-content; }
.ec-footer-logo .brand-lockup {
  --lockup-word-width: 190px;
  --lockup-word-height: 64px;
  --lockup-signature-size: 190px;
  --lockup-signature-top: -103px;
  --lockup-seal-size: 52px;
  --lockup-gap: 12px;
}
.ec-footer-eyebrow { margin: 0 0 16px; font-family: var(--editorial-sans); font-size: 13px; line-height: 1.5; color: #666862; }
.ec-footer-contact h2 { margin: 0 0 24px; font-family: var(--editorial-sans); font-size: clamp(28px,3vw,42px); font-weight: 400; line-height: 1.25; letter-spacing: -.02em; }
.ec-footer-email { font-size: clamp(17px,1.7vw,23px); line-height: 1.5; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.ec-footer-nav { display: flex; flex-direction: column; gap: 12px; }
.ec-footer-nav .text-link { display: flex; width: 100%; min-height: 44px; justify-content: space-between; gap: 24px; font-size: 14px; font-weight: 400; text-transform: none; }
.ec-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #d7d8d2; padding-top: 24px; font-size: 12px; line-height: 1.5; color: #666862; }
.ec-footer-privacy { display: inline-flex; align-items: center; gap: 10px; }
@media (max-width: 700px) {
 body[class] .site-header { height: 64px; min-height: 64px; padding: 10px 20px; }
 body[class] .site-header .brand-lockup {
   --lockup-word-width: 134px;
   --lockup-word-height: 46px;
   --lockup-signature-size: 134px;
   --lockup-signature-top: -73px;
   --lockup-seal-size: 38px;
   --lockup-gap: 4px;
 }
 body[class] .site-footer.ec-footer { margin-top: 64px; padding: 40px 20px 24px; }
 body.page-index .site-footer.ec-footer { margin-top: 0; }
 .ec-footer-main { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
 .ec-footer-logo .brand-lockup {
   --lockup-word-width: 164px;
   --lockup-word-height: 56px;
   --lockup-signature-size: 164px;
   --lockup-signature-top: -89px;
   --lockup-seal-size: 46px;
   --lockup-gap: 10px;
 }
 .ec-footer-contact h2 { font-size: 28px; margin-bottom: 16px; }
 .ec-footer-eyebrow { margin-bottom: 12px; font-size: 12px; }
 .ec-footer-email { font-size: 19px; }
 .ec-footer-nav { flex-direction: row; flex-wrap: wrap; gap: 12px 28px; }
 .ec-footer-nav .text-link { width: auto; gap: 8px; font-size: 13px; }
 .ec-footer-bottom { font-size: 12px; gap: 16px; padding-top: 20px; }
}

body:not(.page-index) main { margin-top: 0; }
[id] { scroll-margin-top: 90px; }
@media(max-width:700px) { [id] { scroll-margin-top: 80px; } }

.page-artist .profile-brand-lockup {
  --lockup-word-width: 230px;
  --lockup-word-height: 78px;
  --lockup-signature-size: 230px;
  --lockup-signature-top: -125px;
  --lockup-seal-size: 64px;
  --lockup-gap: 16px;
  margin-top: 36px;
}
@media(max-width:700px) {
  .page-artist .profile-brand-lockup {
    --lockup-word-width: 190px;
    --lockup-word-height: 64px;
    --lockup-signature-size: 190px;
    --lockup-signature-top: -103px;
    --lockup-seal-size: 52px;
    --lockup-gap: 12px;
    margin-top: 24px;
  }
}

/* YI-11 whole-site usability pass: readable metadata and generous targets. */
.opening-scroll-hint,
.ec-footer-email,
.ec-footer-bottom a,
.page-artist .artist-contact a,
.reading-page .reader-heading > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.project-kind,
.who-project-label,
.gallery-label p {
  font-size: 12px;
}
@media (max-width: 700px) {
  .opening-scroll-hint,
  .opening-credit,
  .project-kind,
  .who-project-label {
    font-size: 12px;
  }

  /* The catalogue reader is a dense tool, but every mobile control still
     needs a complete 44px touch target. */
  .book-reader button,
  .book-reader .turn-control {
    min-width: 44px !important;
    width: auto;
    min-height: 44px;
  }
  .book-reader .turn-control {
    width: 44px;
  }
  .reader-progress,
  .reader-jump input,
  .reader-text summary {
    min-height: 44px;
  }
  .reader-text summary {
    display: flex;
    align-items: center;
  }
}
/* YI-151: exhibition surfaces around the original artwork. */
:root { --editorial-sans:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif; --editorial-serif:"Iowan Old Style","Baskerville",Georgia,"Songti SC",serif;  --portfolio-ground:#f4f6f6; --portfolio-ink:#182225; --portfolio-muted:#4c595e; --portfolio-rule:#d4dcdc; --portfolio-space:clamp(24px,5vw,80px); }
body, body:not(.page-index) { --paper:#f4f6f6; --ink:#182225; --body-ink:#4c595e; --muted:#4c595e; --line:#d4dcdc; --editorial-pad:var(--portfolio-space); background:var(--paper); color:var(--ink); font-family:var(--editorial-sans); }
body main, body:not(.page-index) main { background:var(--paper); }
body h1,body h2,body h3,body:not(.page-index) h1,body:not(.page-index) h2,body:not(.page-index) h3 {font-family:var(--editorial-sans);font-weight:400;letter-spacing:-.025em;line-height:1.12;text-wrap:balance;}
body[data-lang="zh"] h1,body[data-lang="zh"] h2,body[data-lang="zh"] h3 {line-height:1.3;letter-spacing:0;}
body .text-link {font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;min-height:44px;}
body[class] .site-header {position:sticky;top:0;z-index:50;mix-blend-mode:normal;background:var(--paper);color:var(--ink);height:80px;padding:0 var(--portfolio-space);display:flex;align-items:center;border-bottom:1px solid var(--line);gap:32px;}
body[class] .site-header .wordmark,body[class] .site-header #site-nav,body[class] .site-header .header-actions {padding:0;}
body[class] .site-header .wordmark {flex:none;}
body[class] .site-header .header-note {display:none;}
body[class] .site-header #site-nav {margin-left:auto;display:flex;align-items:center;gap:32px;}
body[class] .site-header #site-nav a,body[class] .site-header .language {display:inline-flex;align-items:center;min-height:44px;}
body[class] .site-header .header-actions {margin-left:32px;gap:24px;}
body[class] .site-header .brand-lockup {filter:none;}
body[class] .site-header .mobile-contact {display:none;}
body[class] .site-header .menu-toggle {display:none;}
.portfolio-hero {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:center;gap:clamp(30px,5vw,80px);padding:clamp(48px,7vw,104px) var(--portfolio-space);min-height:min(720px,calc(100svh - 80px));}
.portfolio-identity {font-size:15px;margin-bottom:22px;color:var(--muted);}
body .portfolio-hero h1 {font-size:clamp(42px,5.6vw,80px);letter-spacing:-.035em;line-height:1.12;}
.portfolio-intro {font-size:clamp(18px,1.5vw,22px);line-height:1.65;max-width:30ch;margin-top:28px;}
.portfolio-hero .text-link {margin-top:28px;}
.portfolio-hero-art img {width:100%;height:auto;object-fit:contain;}
.portfolio-hero-art figcaption {font-size:12px;color:var(--muted);margin-top:16px;line-height:1.5;}
.portfolio-artist {padding:clamp(64px,9vw,140px) var(--portfolio-space);background:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:clamp(40px,10vw,160px);align-items:center;}
.portfolio-portrait {width:100%;max-width:330px;justify-self:center;}
.portfolio-portrait img {width:100%;height:auto;}
.portfolio-artist-copy h2 {font-size:clamp(30px,4.2vw,60px);}
.portfolio-artist-copy p {font-size:clamp(18px,1.5vw,22px);line-height:1.7;max-width:42ch;margin-top:28px;color:var(--body-ink);}
.portfolio-artist-copy .text-link {margin-top:26px;}
.portfolio-selected {padding:clamp(64px,8vw,120px) var(--portfolio-space);}
.portfolio-selected>h2 {font-size:clamp(30px,3.7vw,52px);margin-bottom:60px;}
.portfolio-paintings {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px clamp(28px,7vw,112px);}
.portfolio-piece {min-width:0;}
.piece-bamboo {grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center;}
.portfolio-image {display:flex;justify-content:center;align-items:center;min-height:360px;padding:32px;background:#fff;}
.portfolio-image img {width:auto;max-width:100%;height:auto;max-height:500px;object-fit:contain;}
.piece-bamboo .portfolio-image {min-height:0;}
.piece-bamboo .portfolio-image img {width:100%;}
.portfolio-piece-caption {margin-top:28px;}
.piece-bamboo .portfolio-piece-caption {margin-top:0;}
.portfolio-piece-caption h3 {font-size:clamp(26px,2.5vw,36px);}
.portfolio-piece-caption p {line-height:1.75;max-width:48ch;color:var(--body-ink);margin-top:18px;}
.portfolio-piece-caption .text-link {margin-top:18px;}
.portfolio-more {margin-top:50px;text-align:right;}
.portfolio-installation {background:#182225;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,96px);padding:clamp(48px,7vw,104px) var(--portfolio-space);color:#f4f6f6;}
.portfolio-installation-image img {width:100%;height:auto;}
body .portfolio-installation h2 {color:#f4f6f6;font-size:clamp(32px,4vw,56px);margin:20px 0 24px;}
.portfolio-installation-copy p {font-size:17px;line-height:1.75;max-width:36ch;color:#d4dcdc;}
.portfolio-installation-copy>p:first-child {font-size:14px;}
.portfolio-installation-copy .text-link {margin-top:28px;}
.portfolio-library {padding:clamp(64px,9vw,140px) var(--portfolio-space);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:60px;align-items:center;background:#fff;}
.portfolio-library h2 {font-size:clamp(30px,3.5vw,50px);max-width:15ch;}
.portfolio-library p {margin-top:24px;max-width:38ch;line-height:1.75;color:var(--body-ink);}
.portfolio-library .text-link {margin-top:20px;}
.portfolio-covers {display:flex;align-items:center;gap:clamp(12px,2vw,32px);min-width:0;}
.portfolio-covers img {width:calc((100% - clamp(12px,2vw,32px)*2)/3);height:auto;}
.portfolio-research {padding:clamp(64px,8vw,120px) var(--portfolio-space);}
.portfolio-research>h2 {font-size:clamp(30px,3.5vw,50px);margin-bottom:48px;}
.portfolio-projects {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,8vw,128px);}
.portfolio-projects h3 {font-size:clamp(26px,2.5vw,36px);max-width:25ch;}
.portfolio-projects p {line-height:1.7;max-width:48ch;color:var(--body-ink);margin-top:22px;}
.portfolio-projects .project-stage-note {font-size:13px;}
.portfolio-projects .text-link {margin-top:22px;}
.portfolio-works-opening {padding:clamp(48px,7vw,104px) var(--portfolio-space) 0;}
.portfolio-works-opening h1 {font-size:clamp(44px,6vw,80px);}
.portfolio-works-opening .lead {margin-top:24px;max-width:42ch;font-size:20px;line-height:1.6;color:var(--body-ink);}
.portfolio-spaces {padding:48px var(--portfolio-space);border-top:1px solid var(--line);}
.portfolio-spaces h2 {font-size:28px;}
.portfolio-spaces p {color:var(--body-ink);margin-top:16px;max-width:62ch;line-height:1.7;}
.portfolio-spaces .text-link {margin-top:18px;}
body[class] .site-footer.ec-footer {background:#fff;}
body .ec-footer-main {padding-top:0;padding-bottom:48px;}
body .ec-footer-contact h2 {font-size:clamp(26px,3vw,42px);}
body .ec-footer-nav {gap:8px;}
body:not(.page-index) .work-opening .page-intro h1 {font-size:clamp(36px,5vw,72px);}
body:not(.page-index) .essay-section h2 {font-size:clamp(28px,3vw,42px);}
body .page-intro .lead,body .prose {line-height:1.8;}
.page-works .room-legacy-links {display:flex;gap:16px;flex-wrap:wrap;padding:0 var(--portfolio-space) 32px;}
.page-works .room-legacy-links a {font-size:13px;color:var(--muted);min-height:44px;display:inline-flex;align-items:center;scroll-margin-top:96px;}
.page-spaces .spaces-opening {padding:clamp(40px,6vw,80px) var(--portfolio-space);}
.page-spaces .spaces-opening h1 {font-size:clamp(38px,5vw,72px);margin-top:18px;}
.page-spaces .spaces-opening p {font-size:18px;line-height:1.75;max-width:65ch;margin-top:24px;color:var(--body-ink);}
.page-spaces .painting-path {display:none;}
.page-spaces .room-gallery {background:var(--paper);}
.page-spaces .room-gallery>h2 {font-family:var(--editorial-sans);font-size:clamp(30px,3.4vw,48px);}
.page-spaces .painting-path-kicker {display:none;}
.page-spaces .room-jump-link {border-radius:0;border-color:var(--line);}
.page-spaces .room-story-label {font-size:14px;letter-spacing:0;text-transform:none;color:var(--muted);}
.page-spaces .room-story h3 {font-family:var(--editorial-sans);}
.page-spaces .room-jump-link:hover {background:#e3e9e9;}
@media (prefers-reduced-motion:reduce) {html{scroll-behavior:auto;}body *,body *::before,body *::after {animation:none!important;transition:none!important;}}
@media(max-width:1000px) {
 body[class] .site-header {gap:24px;}
 body[class] .site-header #site-nav {gap:20px;}
 body[class] .site-header .header-actions {margin-left:0;gap:16px;}
 .portfolio-hero {grid-template-columns:1fr 1.1fr;gap:28px;}
 body .portfolio-hero h1 {font-size:clamp(38px,5.6vw,70px);}
 .portfolio-intro {font-size:18px;}
 .portfolio-library {gap:32px;}
}
@media(max-width:767px) {
 body[class] .site-header {height:64px;gap:12px;padding:0 20px;}
 body[class] .site-header .wordmark {margin-right:auto;}
 body[class] .site-header .header-actions {margin-left:0;}
 body[class] .site-header .header-contact {display:none;}
 body[class] .site-header .menu-toggle {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;height:44px;position:relative;right:auto;top:auto;transform:none;color:var(--ink);}
 body[class] .site-header .menu-toggle span {background:currentColor;width:20px;height:1px;}
 body[class] .site-header #site-nav {display:none;}
 body[class] .site-header.menu-open #site-nav {display:flex;position:fixed;top:64px;left:0;right:0;bottom:0;margin:0;padding:40px 24px;background:var(--paper);color:var(--ink);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:24px;visibility:visible;opacity:1;transform:none;}
 body[class] .site-header.menu-open #site-nav a {font-size:28px;}
 body[class] .site-header.menu-open #site-nav .mobile-contact {display:inline-flex;}
 .portfolio-hero {grid-template-columns:1fr;min-height:0;padding:48px 24px 40px;gap:40px;}
 body .portfolio-hero h1 {font-size:clamp(40px,11vw,72px);}
 .portfolio-identity {margin-bottom:16px;}
 .portfolio-intro {margin-top:22px;max-width:32ch;}
 .portfolio-hero .text-link {margin-top:20px;}
 .portfolio-hero-art figcaption {font-size:12px;margin-top:12px;}
 .portfolio-artist {grid-template-columns:1fr;padding:64px 24px;gap:36px;}
 .portfolio-portrait {max-width:220px;justify-self:start;}
 .portfolio-artist-copy p {font-size:18px;margin-top:22px;}
 .portfolio-selected {padding:64px 24px;}
 .portfolio-selected>h2 {margin-bottom:36px;}
 .portfolio-paintings {grid-template-columns:1fr;gap:48px;}
 .piece-bamboo {grid-column:auto;display:block;}
 .portfolio-image {min-height:0;padding:24px;}
 .portfolio-image img {max-height:420px;}
 .piece-bamboo .portfolio-piece-caption {margin-top:24px;}
 .portfolio-more {margin-top:32px;text-align:left;}
 .portfolio-installation {grid-template-columns:1fr;gap:32px;padding:48px 24px;}
 .portfolio-installation-copy p {max-width:42ch;}
 .portfolio-library {grid-template-columns:1fr;gap:36px;padding:64px 24px;}
 .portfolio-library h2 {max-width:none;}
 .portfolio-research {padding:64px 24px;}
 .portfolio-projects {grid-template-columns:1fr;gap:48px;}
 .portfolio-works-opening {padding:48px 24px 0;}
 .portfolio-spaces {padding:40px 24px;}
 body .ec-footer-main {padding-top:0;padding-bottom:32px;}
 body .ec-footer-nav {display:flex;flex-direction:column;align-items:flex-start;}
 .page-spaces .spaces-opening {padding:40px 24px;}
}
@media(prefers-color-scheme:dark) {
 body,body:not(.page-index) {--paper:#182225;--ink:#f4f6f6;--body-ink:#d4dcdc;--muted:#b9c6c9;--line:#425256;--portfolio-rule:#425256;}
 .portfolio-artist,.portfolio-library,body[class] .site-footer.ec-footer {background:#202d31;}
 .portfolio-image {background:#fff;}
 body[class] .site-header .brand-lockup-word,body .ec-footer .brand-lockup-word {filter:invert(1);mix-blend-mode:screen;}
 .page-spaces .room-jump-link:hover {background:#304247;}
 body .brand-lockup {mix-blend-mode:normal;}
 .page-spaces .room-story-source,.page-spaces .room-story-link,.page-spaces .scene-work-identity .work-id,.page-spaces .work-title-note,.page-spaces .work-editorial-note {color:var(--body-ink);}
 body .ec-footer-eyebrow,body .ec-footer-bottom {color:var(--body-ink);}
}

body[class] .site-footer.ec-footer,body[class] .site-footer.ec-footer h2,body[class] .site-footer.ec-footer a {color:var(--ink);}
body[class] .site-footer.ec-footer .ec-footer-eyebrow,body[class] .site-footer.ec-footer .ec-footer-bottom {color:var(--body-ink);}
body[class].page-who-am-i .who-poster h1,body[class].page-who-am-i .who-poster p {color:#ffee6f;}
body.menu-is-open {overflow:hidden;}
#site-nav a {position:relative;} #site-nav a[aria-current="page"] {text-decoration:underline;text-underline-offset:6px;}