:root{--paper:#f9f9f6;--ink:#191919;--muted:#646460;--line:#d6d6d0;--accent:#d83a17;--gutter:clamp(20px,4.2vw,72px);--page-left:max(var(--gutter),env(safe-area-inset-left));--page-right:max(var(--gutter),env(safe-area-inset-right));--header-offset:100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset)}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.5 Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;touch-action:manipulation}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,.table-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip{position:fixed;top:-100px;left:var(--page-left);z-index:20;padding:12px;background:var(--ink);color:white}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{position:sticky;top:0;z-index:3;background:var(--paper);padding:calc(22px + env(safe-area-inset-top)) var(--page-right) 22px var(--page-left);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}
.signature{display:inline-flex;flex-direction:column;justify-content:center;min-height:44px;font-size:1.375rem;font-weight:900;letter-spacing:-1px;line-height:1.1}
.signature span{display:block;font:.75rem/1.5 Arial,sans-serif;letter-spacing:.6px;margin-top:4px}
.topbar nav{display:flex;flex-wrap:wrap;gap:8px 32px;font-size:.875rem}
.topbar nav a{overflow-wrap:anywhere;display:flex;align-items:center;min-height:44px;padding:8px 0}
sup{font-size:.75rem;color:var(--accent);margin-left:3px}
.location{font-size:.75rem;letter-spacing:1.3px}
.intro{padding:26px var(--page-right) 40px var(--page-left)}
.intro-line,.section-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;font-size:.75rem;letter-spacing:1px}
.intro h1{font-size:clamp(90px,17.2vw,265px);line-height:.9;letter-spacing:-.067em;font-weight:900;margin:16px 0 26px}
.period{color:var(--accent)}
.intro-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.intro-bottom p{margin:0;font-size:1.25rem;letter-spacing:-.5px}
.intro-bottom p:last-child{font-size:.875rem;letter-spacing:0;min-width:235px}
.intro-bottom p span{color:var(--muted)}
.collection{padding:0 var(--page-right) 80px var(--page-left)}
.section-line{padding:16px 0;border-top:1px solid var(--ink);margin-bottom:18px;justify-content:flex-start}
.section-line h2{font-size:1rem;letter-spacing:0;font-weight:500;margin:0}
.section-line>span{color:var(--muted)}
.section-end{margin-left:auto}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px}
.art-card,.artist>*,.manifesto>*,.catalogue-intro>*,.dialog-body>*{min-width:0}
.art-card a{display:block}
.art-image{height:clamp(300px,32vw,460px);display:flex;align-items:center;justify-content:center;background:#efefeb;overflow:hidden;padding:18px}
.art-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.art-caption{display:grid;grid-template-columns:30px minmax(0,1fr) 15px;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}
.art-number{font-size:.75rem;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}
.art-caption h3{font-size:.875rem;font-weight:600;margin:0;line-height:1.4;overflow-wrap:anywhere}
.art-caption p{font-size:.8125rem;color:var(--muted);margin:4px 0 0}
.art-caption>span:last-child{color:var(--muted)}
.inline-story{font-size:.875rem;margin-top:4px}
.inline-story summary{cursor:pointer;color:var(--muted);width:fit-content;min-height:44px;padding:11px 0;list-style:none}
.inline-story summary::-webkit-details-marker{display:none}
.inline-story summary::after{content:' +';margin-left:8px;color:var(--accent)}
.inline-story[open] summary::after{content:' −'}
.inline-story p{font:1.125rem/1.65 Georgia,serif;margin:8px 0 0;overflow-wrap:break-word}
.collection-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;border-top:1px solid var(--line);padding:24px 0;margin-top:44px;font-size:.875rem;color:var(--muted)}
.collection-end a{display:inline-flex;align-items:center;min-height:44px}
.artist{background:#ecece7;padding:80px var(--page-right) 80px var(--page-left);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr) minmax(0,1.25fr);gap:50px}
.eyebrow{font-size:.75rem;letter-spacing:1.5px}
.artist-heading h2{overflow-wrap:anywhere;font-size:clamp(2.5rem,5vw,4.75rem);letter-spacing:-3px;line-height:1.02;margin:30px 0}
.artist-heading h2 span{color:var(--accent)}
.artist-heading p{font-size:1rem;color:var(--muted)}
.portrait{margin:0}
.portrait img{display:block;width:100%;height:auto}
.portrait figcaption{font-size:.75rem;margin-top:14px;color:var(--muted)}
.biography p{font-size:1.125rem;line-height:1.7;margin:0 0 22px}
.biography .artist-statement{font-size:.875rem;color:var(--muted);margin-top:36px}
.manifesto{background:var(--ink);color:var(--paper);padding:80px var(--page-right) 80px var(--page-left);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8vw;align-items:center}
.manifesto h2{overflow-wrap:anywhere;font-size:clamp(2.875rem,6.8vw,6.5rem);line-height:1.05;font-weight:500;letter-spacing:-3px;margin:0}
.manifesto p{font:clamp(1.25rem,2vw,1.75rem)/1.6 Georgia,serif;margin:0 0 30px}
.manifesto .manifesto-signoff{font:.875rem/1.6 Arial,sans-serif;color:#ff7856;text-transform:uppercase;letter-spacing:.8px}
.catalogue{padding:80px var(--page-right) 80px var(--page-left)}
.catalogue-intro{display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px;align-items:center;margin:38px 0 55px}
.catalogue-intro img{width:230px;max-width:100%;height:290px;object-fit:contain;background:#ecece7;padding:12px}
.catalogue-intro h3{overflow-wrap:anywhere;font-size:2.75rem;letter-spacing:-1.7px;line-height:1.08;font-weight:500;margin:20px 0}
.catalogue-intro p{color:var(--muted)}
.download{border-bottom:1px solid var(--ink);display:inline-flex;gap:24px;align-items:center;min-height:44px;padding:10px 0;font-size:1rem;max-width:100%}
.file-info{font-size:.75rem}
.nomenclature{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nomenclature>summary{cursor:pointer;padding:24px 0;font-size:1.125rem}
.nomenclature>summary span{display:inline-block;font-size:.875rem;color:var(--muted);margin-left:16px}
.table-wrap{overflow-x:auto;padding-bottom:24px;overscroll-behavior-x:contain}
table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}
th,td{border-bottom:1px solid var(--line);padding:14px 15px 14px 0}
thead th{font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
tbody th{font-weight:500}
td:first-child{font-size:.75rem;color:var(--muted)}
td:last-child{white-space:nowrap}
tbody a{display:inline-flex;align-items:center;min-height:44px}
.closing{padding:20px var(--page-right) 100px var(--page-left);text-align:center}
.closing p{font:clamp(1.75rem,4.4vw,4.125rem)/1.2 Georgia,serif;letter-spacing:-1.6px;margin:20px 0}
.closing span{font-size:.75rem;letter-spacing:3px;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:30px var(--page-right) max(30px,env(safe-area-inset-bottom)) var(--page-left);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 30px}
footer p,footer>span{font-size:.75rem;color:var(--muted);margin:0}
dialog{padding:0;border:0;background:#171717;color:var(--paper);width:calc(100% - 40px);max-width:1600px;height:calc(100vh - 40px);height:calc(100dvh - 40px);max-height:none;overflow:hidden;overscroll-behavior:contain}
dialog::backdrop{background:#080808da;backdrop-filter:blur(5px)}
dialog[open]{display:flex;flex-direction:column}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 25px;border-bottom:1px solid #393939;font-size:.75rem;letter-spacing:1px;flex-shrink:0}
.dialog-top button{display:flex;align-items:center;gap:20px;font-size:.875rem}
.dialog-top button span{font-size:1.75rem;line-height:1}
.dialog-top button,.dialog-nav button{border:0;background:none;color:inherit;min-width:44px;min-height:44px;padding:10px;cursor:pointer}
.dialog-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:50px;padding:36px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.dialog-image-wrap{display:flex;align-items:center;justify-content:center;min-height:0;height:100%;max-height:calc(100vh - 280px);max-height:calc(100dvh - 280px)}
.dialog-image-wrap img{display:block;width:100%;height:100%;object-fit:contain}
.dialog-copy{align-self:center;max-width:460px;overflow-wrap:break-word}
.dialog-copy h2{font-size:clamp(1.625rem,3vw,3rem);line-height:1.13;letter-spacing:-1.5px;margin:20px 0}
.dialog-copy .eyebrow{color:#aaa}
.dialog-copy #dialog-meta{font-size:.875rem;color:#b8b8b5;margin:0 0 35px}
.dialog-copy #dialog-description{font:clamp(1.1875rem,1.65vw,1.5625rem)/1.6 Georgia,serif}
.dialog-signature{font-size:.75rem;letter-spacing:2px;color:#999;display:block;margin-top:30px}
.dialog-nav{padding:10px 25px;border-top:1px solid #393939;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;font-size:.875rem}
.dialog-nav button{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.dialog-nav button span{min-width:0;overflow-wrap:anywhere}
.dialog-nav button:disabled{opacity:.3;cursor:default}
.key-help{font-size:.75rem;color:#999}
body.modal-open{position:fixed;left:0;right:0;overflow:hidden}
@media (hover:hover) and (pointer:fine){
  .topbar nav a:hover,.download:hover,tbody a:hover{color:var(--accent)}
  .download:hover{border-color:var(--accent)}
  tbody a:hover{text-decoration:underline}
  .art-card a:hover img{transform:scale(1.025)}
  .dialog-top button:hover,.dialog-nav button:not(:disabled):hover{color:#ff7856}
}
@media (min-width:1800px){main{max-width:1800px;margin:auto}}
@media (max-width:1000px){
  .location{display:none}
  .topbar nav{gap:8px 22px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
  .art-image{height:auto;aspect-ratio:4/5;padding:14px}
  .artist{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
  .artist .biography{grid-column:1/-1;max-width:720px}
  .portrait{width:100%;max-width:260px;justify-self:end}
  .dialog-body{gap:30px;padding:26px}
  .key-help{display:none}
}
@media (max-width:760px){
  .intro h1{font-size:20vw}
  .intro-bottom p{font-size:1.1875rem}
  .catalogue-intro{grid-template-columns:180px minmax(0,1fr);gap:30px}
  .catalogue-intro img{width:180px;height:240px}
  .catalogue-intro h3{font-size:2.125rem}
}
@media (max-width:900px){
  dialog{width:100%;max-width:none;height:100vh;height:100dvh;margin:0}
  .dialog-top{padding:calc(8px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left))}
  .dialog-body{display:block;padding:20px var(--page-right) 28px var(--page-left)}
  .dialog-image-wrap{height:48vh;height:48dvh;max-height:560px;min-height:0}
  .dialog-copy{margin:28px auto 0;max-width:520px}
  .dialog-copy h2{font-size:1.875rem;margin:15px 0}
  .dialog-copy #dialog-meta{margin-bottom:22px}
  .dialog-copy #dialog-description{font-size:1.25rem}
  .dialog-nav{padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:8px}
  .dialog-nav button{flex:1;max-width:48%;padding:10px 6px}
  .dialog-signature{margin-top:20px}
}
@media (max-width:650px){
  .topbar{flex-direction:column;align-items:flex-start;gap:4px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:6px}
  .signature{font-size:1.375rem}
  .signature span{font-size:.6875rem;letter-spacing:.8px}
  .topbar nav{width:100%;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.875rem}
  .topbar nav a{flex:1 1 auto;min-width:max-content;justify-content:center;text-align:center;line-height:1.3;padding:10px 2px}
  .topbar nav a:first-child{justify-content:flex-start;text-align:left}
  .topbar nav a:last-child{justify-content:flex-end;text-align:right}
  .topbar sup{display:none}
  .intro{padding-top:24px;padding-bottom:32px}
  .intro h1{font-size:21vw;margin:22px 0 28px}
  .intro-bottom{display:block}
  .intro-bottom p{font-size:1.25rem}
  .intro-bottom p:last-child{margin-top:20px;font-size:.9375rem;min-width:0}
  .section-line{gap:12px}
  .section-end{display:none}
  .collection{padding-bottom:48px}
  .artist{padding-top:48px;padding-bottom:48px;gap:28px}
  .artist-heading h2{font-size:2.5rem;letter-spacing:-2px}
  .artist-heading p{font-size:.9375rem}
  .biography p{font-size:1.0625rem}
  .manifesto{padding-top:48px;padding-bottom:48px;grid-template-columns:minmax(0,1fr);gap:36px}
  .manifesto h2{font-size:3.375rem}
  .manifesto p{font-size:1.3125rem}
  .catalogue{padding-top:48px;padding-bottom:48px}
  .nomenclature>summary{font-size:1rem}
  .nomenclature>summary span{font-size:.75rem}
  .table-wrap table{min-width:560px}
  .closing{padding-bottom:60px}
  .closing p{letter-spacing:-1px}
  footer p{flex-basis:100%}
}
@media (max-width:600px){
  .gallery{grid-template-columns:minmax(0,1fr);gap:30px}
  .art-image{padding:14px;aspect-ratio:4/5;max-height:620px}
  .art-caption{grid-template-columns:28px minmax(0,1fr) 14px;gap:10px;padding:16px 0 14px}
  .art-caption h3{font-size:1rem}
  .art-caption p{font-size:.875rem}
  .inline-story{font-size:.9375rem}
  .catalogue-intro{grid-template-columns:minmax(0,1fr);gap:24px;margin:30px 0 40px}
  .catalogue-intro img{width:180px;height:240px}
  .catalogue-intro h3{font-size:2.25rem;letter-spacing:-1px;margin:16px 0}
  .download{gap:16px}
}
@media (max-width:440px){
  .artist{grid-template-columns:minmax(0,1fr)}
  .portrait{max-width:240px;justify-self:start}
  .artist-heading h2{margin:24px 0}
  .nomenclature>summary span{display:block;margin:8px 0 0}
  .dialog-nav{font-size:.8125rem}
}
@media (orientation:landscape) and (max-height:600px){
  .topbar{position:relative}
  dialog{width:100%;max-width:none;height:100vh;height:100dvh;margin:0}
  .dialog-top{padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}
  .dialog-nav{padding:0 max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left))}
  .dialog-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:16px var(--page-right) 24px var(--page-left)}
  .dialog-image-wrap{height:100%;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);min-height:0}
  .dialog-copy{align-self:start;margin:0;max-width:none}
  .dialog-copy h2{font-size:1.5rem;margin:10px 0}
  .dialog-copy #dialog-meta{margin-bottom:14px}
  .dialog-copy #dialog-description{font-size:1.125rem}
  .key-help{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-image img{transition:none}}
