:root{--bg:#fffff8;--ink:#000000d9;--ink-2:#0009;--ink-3:#0000006e;--ink-4:#00000040;--line:#00000024;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"SFMono-Regular",ui-monospace,"JetBrains Mono",Menlo,monospace;--base:13px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--base)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1rem;line-height:1.5}a{color:inherit;text-decoration:none}a:active{opacity:.7}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}.arrow{font-style:normal}.frame{min-height:100vh;padding:1rem;display:block}.main{max-width:75%;padding-right:1rem}@media (max-width:900px){.main{max-width:100%}}.rail{z-index:20;text-align:right;flex-direction:column;align-items:flex-end;width:19%;max-width:300px;max-height:calc(100vh - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.rail-top{flex-direction:column;flex:none;align-items:flex-end;width:100%;display:flex}.rail-scroll{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:auto;align-items:flex-end;width:100%;min-height:0;padding-bottom:1.2rem;display:flex;overflow:hidden auto}.rail-scroll::-webkit-scrollbar{width:0;height:0;display:none}.rail-name{color:var(--ink);font-size:1.25rem;font-weight:500;line-height:1.2}.rail .hr{border-top:1px solid var(--line);width:100%;margin:.7rem 0}.rail-all{color:var(--ink-3);font-size:.8rem}.rail-all.active,.rail-link.active{color:var(--ink);text-decoration:underline}.rail-group{flex-direction:column;align-items:flex-end;width:100%;margin:.5rem 0;display:flex}.rail-cat{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:#000;margin-bottom:.25rem;font-size:.62rem}.rail-items{flex-direction:column;align-items:flex-end;display:flex}.rail-link{color:var(--ink-3);font-size:.8rem;line-height:1.75}.rail-link:hover{color:var(--ink)}.rail-foot{color:var(--ink-3);margin-top:.2rem;font-size:.8rem}.mbar,.msheet{display:none}@media (max-width:900px){html{font-size:14px}.rail{display:none}.main{max-width:100%;padding-top:2.6rem;padding-right:0}.frame{padding:.8rem}.work-top{padding-top:.5rem}.work-head{flex-direction:column;gap:.4rem}.work-title{max-width:none;font-size:1.4rem}.work-meta{text-align:left;min-width:0}.gallery{gap:2.4rem;margin-top:1.6rem}.work-foot{margin-top:2rem}.index-wrap{padding-top:3rem}.mbar{z-index:40;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex;position:fixed;top:0;left:0;right:0}.mbar-name{font-size:1.05rem;font-weight:500}.mbar-toggle{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:.3rem .2rem;font-size:.72rem}.msheet{z-index:39;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffff8f7;padding:1rem 1.1rem 3rem;display:block;position:fixed;inset:2.9rem 0 0;overflow-y:auto}.msheet-inner{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.msheet .rail-group{align-items:flex-start;margin:.7rem 0}.msheet .rail-items{align-items:flex-start}.msheet .rail-link{font-size:1rem;line-height:2}.msheet .rail-cat{font-size:.7rem}}.work-top{justify-content:flex-end;align-items:center;min-height:1.4rem;padding-top:2.2rem;display:flex}.arrows{color:var(--ink-3);gap:1.4rem;font-size:1.05rem;display:flex}.arrows a:hover{color:var(--ink)}.work-head{justify-content:space-between;align-items:flex-start;gap:2.5rem;margin:.3rem 0;display:flex}.work-title{max-width:26ch;font-size:1.5rem;font-weight:400;line-height:1.18}.work-meta{color:var(--ink-4);text-align:right;white-space:pre-line;min-width:14ch;font-size:.8rem;line-height:1.55}.work-desc{max-width:60ch;color:var(--ink);margin-top:1.1rem;font-size:.95rem;line-height:1.55}.gallery{flex-direction:column;gap:3.4rem;margin-top:2.2rem;display:flex}.fig figcaption{color:var(--ink);margin-top:.6rem;font-size:1.05rem;font-weight:500;line-height:1.25}.fig figcaption i{font-style:italic}.work-foot{justify-content:space-between;align-items:center;margin-top:3rem;padding-bottom:2.5rem;display:flex}.counter{font-family:var(--mono);color:var(--ink-4);font-size:.72rem}.index-wrap{padding:1rem}.index-name{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem;font-size:1.25rem;font-weight:500;display:flex}.index-name .back{color:var(--ink-3);font-size:.8rem}.indexgrid{columns:4;column-gap:1.5rem}@media (max-width:1100px){.indexgrid{columns:3}}@media (max-width:760px){.indexgrid{columns:2}}@media (max-width:460px){.indexgrid{columns:1}}.tile{break-inside:avoid;margin:0 0 1.5rem;display:block}.tile img{width:100%}.tile-cap{color:var(--ink-3);margin-top:.35rem;font-size:.78rem;line-height:1.3}.tile:hover .tile-cap{color:var(--ink)}.bio-cols{grid-template-columns:5fr 4fr 3fr;gap:2.4rem;margin-top:.4rem;display:grid}@media (max-width:900px){.bio-cols{grid-template-columns:1fr;gap:1.6rem}}.bio p{max-width:60ch;margin-bottom:1rem;font-size:.95rem;line-height:1.6}.col-label{font-family:var(--mono);text-transform:uppercase;color:#000;margin-bottom:.7rem;font-size:.62rem}.cv-block{color:var(--ink-2);font-size:.82rem;line-height:1.7}.cv-block .yr{color:var(--ink-4);margin-right:.5rem}.contact-links a{font-size:.9rem;line-height:1.9;display:block}.contact-links a:hover{text-decoration:underline}.bio-half{grid-template-columns:1fr 1fr;align-items:start;gap:3.4rem;display:grid}.bio-aside{min-height:1px}.cv-download{margin-top:2rem}.cv-download a{border-bottom:1px solid #00000047;text-decoration:none}.texts-intro{color:#0000008c;max-width:46ch;margin:0 0 2.6rem}.texts-year{border-top:1px solid #00000024;grid-template-columns:6rem 1fr;gap:1.4rem;padding:1.1rem 0;display:grid}.texts-year-label{color:#00000073}.texts-list{margin:0;padding:0;list-style:none}.texts-list li{max-width:62ch;margin-bottom:.9rem}.texts-list a{border-bottom:1px solid #0000003d;text-decoration:none}.texts-meta{color:#00000080;display:block}@media (max-width:800px){.bio-half{grid-template-columns:1fr;gap:2rem}.texts-year{grid-template-columns:1fr;gap:.4rem}}
