:root{--ink:#111;--line:#dedede;--frame-line:#b5b5b5;--frame-bg:#eee;--ease:cubic-bezier(.22,1,.36,1);--pad:32px}*{box-sizing:border-box}html{background:white;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:11px;-webkit-font-smoothing:antialiased}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;text-align:left;cursor:pointer}a:hover,button:hover{opacity:.58}button,a{transition:opacity .2s}a:focus-visible,button:focus-visible{outline:1px solid;outline-offset:5px}header{display:grid;grid-template-columns: 1fr 1fr auto;align-items:start;padding:28px var(--pad);gap:32px;font-size:11px;line-height:1.4}.name{font-size:11px;letter-spacing:-.45px}.identity{padding-left:4px}.location{font-size:11px}main{display:grid;grid-template-columns: 42% 58%;padding:128px var(--pad) 100px;min-height:calc(100svh - 132px)}.intro{font-size:11px;line-height:1.5}.intro p{margin:0}.intro .edition{margin-top:68px}.index{width:100%;max-width:820px}.index-heading{display:flex;justify-content:space-between;font-size:11px;line-height:1;padding:0 0 20px}.section{border-top:1px solid var(--line)}.section:last-child{border-bottom:1px solid var(--line)}.section-toggle{width:100%;display:grid;grid-template-columns:40px 1fr 20px;gap:8px;align-items:center;padding:19px 0;font-size:11px;letter-spacing:-.35px}.section-no{font-size:11px;letter-spacing:0;align-self:center}.plus{font-size:11px;font-weight:300;line-height:1;text-align:right;transition:transform .5s var(--ease)}.section[data-open] .plus{transform:rotate(45deg)}.reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .55s var(--ease),opacity .35s}.section[data-open] .reveal{grid-template-rows:1fr;opacity:1}.reveal-inner{overflow:hidden;min-height:0}.section-body{padding:8px 0 30px 48px;font-size:11px;line-height:1.55}.section-body p{max-width:490px;margin:0 0 20px}.section-body p:last-child{margin-bottom:0}.record{display:grid;grid-template-columns:44px 1fr;gap:12px;margin:0 0 23px}.record:last-child{margin-bottom:0}.record-year,.minor{font-size:11px}.record-title{display:block}.record-meta{display:block;font-size:11px;margin-top:3px}.work-row{display:grid;grid-template-columns:45px 1fr auto;gap:10px;width:100%;padding:12px 0;align-items:baseline;border-bottom:1px solid #eee}.work-row:first-child{padding-top:0}.work-row .type{font-size:11px}.work-row .title{font-size:11px}.contact{display:flex;gap:28px;margin-top:34px;font-size:11px}.inline-link{display:inline-block;border-bottom:1px solid #aaa;padding-bottom:2px;font-size:11px}footer{padding:20px var(--pad) 24px;display:grid;grid-template-columns:42% 1fr auto;font-size:11px;gap:12px}footer div{display:flex;gap:28px}.footer-note{text-align:right}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(760px,78vw);max-width:100%;height:100dvh;max-height:100dvh;background:#fff;color:var(--ink);border:0;border-left:1px solid #ddd;padding:0;overflow:auto}dialog::backdrop{background:rgba(255,255,255,.48);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}dialog[open]{animation:slide-in .55s var(--ease)}dialog[open]::backdrop{animation:fade-in .35s ease}dialog.closing{animation:slide-out .23s cubic-bezier(.2,.8,.2,1) forwards}dialog.closing::backdrop{animation:fade-out .23s forwards}.sheet{padding:28px 32px 36px}.sheet-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:70px}.sheet-head button{display:flex;gap:24px;align-items:center}.sheet-head button span{font-size:11px;line-height:1}.sheet h1{font-size:11px;letter-spacing:-1px;line-height:1.15;font-weight:400;margin:0 0 12px}.sheet .meta{font-size:11px;margin:0 0 34px;line-height:1.5}.sheet .description{font-size:11px;line-height:1.6;max-width:470px;margin:28px 0}.placeholder{position:relative;width:100%;aspect-ratio:16/9;margin:0;border:1px solid var(--frame-line);background:var(--frame-bg);box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 6px var(--frame-line);color:var(--frame-line);overflow:hidden}.placeholder-diagonal{position:absolute;inset:0;background:linear-gradient(to top right,transparent calc(50% - .5px),var(--frame-line) 50%,transparent calc(50% + .5px));opacity:.45}.placeholder-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px;background:var(--frame-bg);border:1px solid #d5d5d5;border-radius:5px}.placeholder-icon svg{display:block;width:36px;height:30px;fill:none;stroke:currentColor;stroke-width:1}.placeholder figcaption{position:absolute;bottom:12px;left:14px;font:400 11px Arial;letter-spacing:.01em;color:#737373}.book-frame{aspect-ratio:4/5;max-width:370px;margin:0 auto}.work-caption{display:flex;justify-content:space-between;font-size:11px;margin-top:12px}.gallery-tools{display:flex;justify-content:space-between;font-size:11px;margin:28px 0 20px}.gallery-tools div{display:flex;gap:18px}.gallery-tools button[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.gallery button{width:100%;align-self:start}.gallery .placeholder{aspect-ratio:4/5}.gallery button:nth-child(3n+2) .placeholder{aspect-ratio:3/2}.gallery.list{grid-template-columns:1fr}.gallery.list .placeholder{max-width:100%;aspect-ratio:3/2}.gallery .placeholder-icon{padding:7px}.gallery .placeholder-icon svg{width:26px;height:22px}.gallery .placeholder figcaption{font-size:11px}.image-nav{display:flex;justify-content:space-between;margin-top:24px;font-size:11px}.image-nav>div{display:flex;gap:25px}.section-body .placeholder{margin-bottom:15px;max-width:310px}.print-only{display:none}@keyframes slide-in{from{opacity:0;transform:translateX(70px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{to{opacity:0;transform:translateX(45px)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@media(min-width:1600px){main{padding-top:165px}}@media(max-width:700px){:root{--pad:20px}header{grid-template-columns:1fr auto;padding-top:22px;gap:24px 10px}.name{font-size:11px}.identity{grid-row:2;padding:0;font-size:11px}.location{font-size:11px}main{grid-template-columns:1fr;padding-top:68px;min-height:calc(100svh - 185px);padding-bottom:68px}.intro{display:flex;justify-content:space-between;margin-bottom:50px;font-size:11px}.intro .edition{margin:0;text-align:right}.section-toggle{font-size:11px;padding:18px 0;grid-template-columns:28px 1fr 20px}.section-body{padding-left:36px}.contact{gap:20px;flex-wrap:wrap}footer{grid-template-columns:1fr auto;font-size:11px;line-height:1.5}footer div{gap:16px}.footer-note{display:none}dialog{width:100%;border:0}.sheet{padding:23px 20px}.sheet-head{margin-bottom:52px}.sheet h1{font-size:11px}.gallery{gap:15px 10px}.work-row{grid-template-columns:32px 1fr auto;gap:8px}.work-row .type{font-size:11px}.work-row .title{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{header,main,footer{padding:15px 0}header{grid-template-columns:1fr 1fr}.location,.intro,.plus,.contact,footer,dialog,.section-no,.section[data-id=photographs],.section[data-id=initiatives]{display:none}main{display:block}.index{max-width:none}.section-toggle{display:block;padding:12px 0;font-size:11px}.reveal{grid-template-rows:1fr!important;opacity:1!important}.section-body{padding:4px 0 15px}.record{break-inside:avoid;margin-bottom:12px}.index-heading{display:none}.print-only{display:block}.section{break-inside:avoid}}
/* Photographic archive and restored artist record. */
.real-image{margin:0}.real-image img{display:block;width:100%;height:auto}.portrait{max-width:350px;margin-bottom:10px}.photo-credit{font-size:11px!important;margin-bottom:30px!important}.cv-heading{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.06em;margin:35px 0 22px}.archive-preview{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:center;margin:0 0 20px}.archive-preview img{max-height:180px;object-fit:contain}.project-image{margin:0 0 22px}.project-image img{max-height:65vh;object-fit:contain}.archive-header{grid-template-columns:1fr 1fr auto;position:sticky;top:0;z-index:3;background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;margin:65px 32px 45px;font-size:11px}.archive-toolbar div{display:flex;gap:22px}.archive-toolbar [aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}.photo-archive{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:35px;row-gap:60px;padding:0 32px 100px;min-height:0;align-items:center}.archive-tile{display:block;width:100%;align-self:center}.archive-tile:hover{opacity:1}.archive-tile img{display:block;max-width:100%;width:auto;height:auto;max-height:350px;margin:auto;transition:transform .5s var(--ease)}.archive-tile:hover img{transform:translateY(-4px)}.archive-tile span{display:block;font-size:11px;margin-top:15px}.photo-archive.sequence{grid-template-columns:1fr;row-gap:110px;max-width:1000px;margin:auto}.sequence .archive-tile img{max-height:80vh;max-width:100%;width:auto}.sequence .archive-tile span{text-align:center}#viewer{width:100%;height:100dvh;border:0;background:rgba(255,255,255,.96);padding:25px 32px;overflow:hidden;animation-name:fade-in}.viewer-head,.viewer-nav{display:flex;justify-content:space-between;align-items:center;font-size:11px;height:25px}.viewer-image{height:calc(100dvh - 120px);display:flex;align-items:center;justify-content:center;padding:25px 0}.viewer-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}#viewer.closing{animation-name:fade-out}.archive-page footer{grid-template-columns:1fr 1fr auto}@media(min-width:1700px){.photo-archive{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:700px){.archive-header{grid-template-columns:1fr auto}.archive-header>span{grid-row:2;font-size:11px}.archive-header>a:last-child{font-size:11px}.archive-toolbar{margin:35px 20px;font-size:11px}.archive-toolbar>span:last-child{display:none}.photo-archive{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 18px;padding:0 20px 60px}.archive-tile img{max-height:270px}.photo-archive.sequence{gap:60px}.archive-page footer{grid-template-columns:1fr auto}.archive-page footer>a:last-child{display:none}#viewer{padding:20px}.viewer-nav span{display:none}.portrait{max-width:100%}}@media print{.portrait{max-width:160px}.archive-preview,.photo-credit{display:none}.real-image{break-inside:avoid}}
/* Two-view archive: compact photographs and a typographic index. */
.archive-toolbar{margin:24px 20px 22px}.archive-header{padding:22px 20px}.photo-archive{display:block;columns:4;column-gap:8px;padding:0 20px 60px}.photo-archive[hidden],.title-index[hidden]{display:none}.archive-tile{display:inline-block;vertical-align:top;width:100%;margin:0 0 8px;break-inside:avoid;line-height:0}.archive-tile img{width:100%;max-width:100%;height:auto;max-height:none;margin:0;transform:none!important}.archive-tile:hover{opacity:.9}.title-index{display:grid;grid-template-columns:42% 1fr;gap:28px;padding:30px 20px 80px;min-height:70vh}.index-preview{position:sticky;top:125px;align-self:start;height:65vh;display:flex;align-items:flex-start;justify-content:center;padding:0 45px 0 0}.index-preview img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.title-columns,.title-row{display:grid;grid-template-columns:48px 1fr 22px;gap:12px;align-items:baseline;width:100%;font:12px/1.4 'Courier New',monospace;letter-spacing:.025em}.title-columns{font-size:11px;margin:0 0 16px}.title-row{padding:8px 0;text-transform:uppercase}.title-row span:first-child{font-size:11px}.title-row span:nth-child(2){overflow-wrap:anywhere}.title-row span:last-child{text-align:right}.title-row:hover,.title-row.active{opacity:.5}@media(min-width:1700px){.photo-archive{columns:5}}@media(max-width:700px){.archive-header{padding:20px 12px}.archive-toolbar{margin:20px 12px}.photo-archive{columns:2;column-gap:6px;padding:0 12px 40px}.archive-tile{margin-bottom:6px}.title-index{display:block;padding:15px 12px 60px}.index-preview{display:none}.title-row{font-size:11px;padding:11px 0}.title-columns,.title-row{grid-template-columns:35px 1fr 20px;gap:8px}}
/* Reference composition: one horizontal navigation line at mid-screen. */
.home-page{background:#fff;color:#000}.home-stage{min-height:100svh;position:relative}.home-line{position:absolute;top:50svh;left:0;width:100%;transform:translateY(-50%);display:flex;align-items:center;min-height:0;padding:0 7px;margin:0;gap:0}.home-name{width:33.25%;flex-shrink:0;font:400 14px/1.2 'Times New Roman',serif;letter-spacing:0}.home-line nav{display:flex;justify-content:space-between;align-items:center;width:66.75%;font:400 11px/1.2 Arial,Helvetica,sans-serif;text-transform:uppercase}.home-line nav button{text-transform:uppercase}.home-footer{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:end;padding:8px 7px;font:400 12px/1.2 'Times New Roman',serif;gap:25px}.home-footer .footer-left,.home-footer .footer-right{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.home-footer .footer-right{justify-content:flex-end}.source-index{display:none}.entry-content{font-size:11px;line-height:1.6;margin-top:32px}.entry-content p{margin:0 0 24px}.entry-section{margin-bottom:38px}.entry-section h2{font-size:11px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;border-top:1px solid #ddd;padding-top:18px;margin:0 0 24px}.entry-content .portrait{margin-bottom:10px}.entry-content .work-row{line-height:1.5}@media(max-width:700px){.home-name{font-size:11px;width:30%}.home-line nav{width:70%;font-size:11px;gap:10px;flex-wrap:wrap;justify-content:space-between}.home-footer{font-size:11px;gap:18px;padding:10px}.home-footer .footer-left,.home-footer .footer-right{gap:10px 16px}.home-footer .footer-left{max-width:65%}.home-footer .footer-right{max-width:35%}.home-line{padding:0 10px}.entry-content .work-row{grid-template-columns:38px 1fr auto}}@media(max-width:440px){.home-line{align-items:flex-start}.home-name{width:38%;padding-right:12px}.home-line nav{width:62%;display:grid;grid-template-columns:repeat(3,1fr);gap:20px 10px}.home-footer .footer-left span:nth-child(2){display:none}}@media print{.home-line,.home-footer{display:none}.source-index{display:block}.home-stage{min-height:0}.source-index .reveal{grid-template-rows:1fr!important;opacity:1}.source-index .section[data-id=initiatives]{display:block}}
/* Shared Outside Observations background geometry. */
:root{--site-grey:#efefef;--klein:#002fa7;--ref-columns:12;--ref-gap:9px;--ref-width:calc((100vw - 117px)/var(--ref-columns));--ref-line:#bfbfbf}html,body,.home-page{background:var(--site-grey);color:#000}::selection{background:var(--klein);color:#fff}.reference-lines{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:0}.reference-lines i{position:absolute;top:0;bottom:0;width:.5px;background:var(--ref-line);transform:translateX(-50%)}.reference-lines i:nth-child(1){left:calc(13.5px + var(--ref-width))}.reference-lines i:nth-child(2){left:calc(31.5px + var(--ref-width)*3)}.reference-lines i:nth-child(3){left:calc(49.5px + var(--ref-width)*5)}.reference-lines i:nth-child(4){left:calc(76.5px + var(--ref-width)*8)}.reference-lines i:nth-child(5){left:calc(103.5px + var(--ref-width)*11)}body> :not(.reference-lines){position:relative}a:focus-visible,button:focus-visible{outline-color:var(--klein)}.home-line nav button:hover,.home-line nav a:hover,.home-line nav .selected{background:var(--klein);color:white;opacity:1}.home-line nav button,.home-line nav a{padding:2px 3px;margin:-2px -3px}.archive-toolbar [aria-pressed=true]{background:var(--klein);color:white;text-decoration:none}.archive-toolbar button{padding:5px 7px}.title-row.active,.title-row:hover{color:var(--klein);opacity:1}.home-stage{display:flex;flex-direction:column;min-height:100svh}.home-line{position:relative;top:auto;transform:none;padding-top:calc(50svh - 8px);flex:none}.home-footer{position:relative;bottom:auto;margin-top:auto;padding-top:35px}.home-page #panel{position:relative;inset:auto;margin:25px 9px 50px;width:600px;max-width:calc(100% - 24px);height:auto;max-height:none;overflow:visible;padding:0;border:0;background:rgba(239,239,239,.88);backdrop-filter:blur(6px);color:#000}.home-page #panel[hidden]{display:none}.home-page #panel .sheet{padding:0 12px 20px 0}.home-page #panel .sheet-head{margin-bottom:24px;font-size:11px;border-top:.5px solid #bfbfbf;padding-top:12px}.home-page #panel .sheet h1{font-size:11px;letter-spacing:-.6px}.home-page #panel .entry-content{margin-top:24px}.inline-enter{animation:inline-open .45s var(--ease)}@keyframes inline-open{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
/* Circle opens into a horizontal stroke, then releases the menu. */
body>.intro-dot{position:fixed;z-index:10;pointer-events:none;top:50svh;left:50%;width:12px;height:12px;background:#000;border-radius:999px;transform:translate(-50%,-50%);animation:circle-unfold 1.3s var(--ease) both}.home-line{animation:menu-unfold 1.3s var(--ease) both}.home-footer{animation:footer-in 1.5s ease both}@keyframes circle-unfold{0%,15%{width:12px;height:12px;opacity:0}25%{width:12px;height:12px;opacity:1}65%{width:calc(100vw - 14px);height:2px;opacity:1}85%,100%{width:calc(100vw - 14px);height:1px;opacity:0}}@keyframes menu-unfold{0%,45%{clip-path:inset(0 50%);opacity:0}100%{clip-path:inset(0 0);opacity:1}}@keyframes footer-in{0%,60%{opacity:0}100%{opacity:1}}
/* Reference archive: centered, uncropped images across a twelve-column grid. */
.archive-header{background:rgba(239,239,239,.75);font:10px/1.2 Courier,monospace;padding:9px;z-index:3}.archive-header .name{font:10px/1.2 Courier,monospace;letter-spacing:0}.archive-toolbar{font:10px/1.2 Courier,monospace;margin:10px 9px 20px}.archive-toolbar div{gap:1px}.photo-archive{display:grid;columns:auto;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:9px;row-gap:90px;padding:0 9px 80px;align-items:center}.archive-tile{grid-column:span 2;margin:0;padding:0 9px;display:flex;align-items:center;justify-content:center;height:100%;line-height:0}.archive-tile img{width:100%;height:auto;max-height:none;object-fit:contain}.title-index{background:transparent}.archive-page footer{font:10px Courier,monospace}#viewer{background:rgba(239,239,239,.96)}@media(max-width:1280px){.archive-tile{grid-column:span 3}}@media(max-width:1024px){.archive-tile{grid-column:span 4}}@media(max-width:768px){:root{--ref-columns:6;--ref-width:calc((100vw - 63px)/6)}.reference-lines i:nth-child(4),.reference-lines i:nth-child(5){display:none}.photo-archive{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:18px;padding-left:5px;padding-right:5px}.archive-tile{grid-column:span 3;padding:0 4px}.home-page #panel{margin-top:24px}.home-page #panel .sheet{padding-right:0}.home-footer{padding-top:30px}}@media(prefers-reduced-motion:reduce){body>.intro-dot{display:none}.home-line{clip-path:none;opacity:1;animation:none}.home-footer{animation:none}.inline-enter{animation:none}}@media print{.reference-lines,.intro-dot,.home-page #panel{display:none}.home-line{display:none}}
body>.registration-dots{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:0;fill:#000;opacity:.23}.home-stage{z-index:1}@media print{.registration-dots{display:none}}
/* Full-width photographic list and persistent bottom view selector. */
.title-index{display:block;width:100%;padding:25px 9px 100px;min-height:70vh}.title-index[hidden]{display:none}.title-columns,.title-row{display:grid;grid-template-columns:minmax(45px,8.333%) 1fr minmax(70px,16.667%) 24px;gap:9px;width:100%;font:12px/1.4 Courier,monospace}.title-columns{margin-bottom:14px;font-size:11px}.title-row{padding:10px 0;text-transform:none}.title-row span:last-child{text-align:right}.title-row span:nth-child(3){text-align:left}.title-row:hover,.title-row:focus-visible{color:var(--klein);background:rgba(255,255,255,.24)}.archive-toolbar>div{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:8;display:flex;gap:1px;padding:5px;background:rgba(239,239,239,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:12px/1.2 Courier,monospace}.archive-toolbar>div button{padding:9px 12px}.archive-toolbar>div button:focus-visible{outline-offset:1px}.archive-page footer{padding-bottom:85px}@media(max-width:700px){.title-index{padding:18px 12px 100px}.title-columns,.title-row{grid-template-columns:35px minmax(0,1fr) 55px 18px;font-size:11px;gap:8px}.title-columns{font-size:11px}.archive-toolbar>div{bottom:max(12px,env(safe-area-inset-bottom))}}

/* A hairline sweep seeds each vertical axis as it reaches it. */
body>.intro-dot{animation:circle-unfold 1.8s linear both}
.home-line{animation:menu-unfold 1.8s var(--ease) both}
.home-footer{animation:footer-in 2.1s ease both}
@keyframes circle-unfold{
0%{width:10px;height:10px;opacity:0}
15%{width:10px;height:10px;opacity:1}
25%{width:10px;height:var(--grid-stroke,.5px);opacity:1}
69.444%{width:calc(100vw - 14px);height:var(--grid-stroke,.5px);opacity:1}
80.556%,100%{width:calc(100vw - 14px);height:var(--grid-stroke,.5px);opacity:0}}
.home-page .reference-lines i{transform-origin:center center;animation:axis-grow 500ms linear both;animation-delay:2s}
@keyframes axis-grow{from{transform:translateX(-50%) scaleY(0)}to{transform:translateX(-50%) scaleY(1)}}
@keyframes dot-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.home-page .reference-lines i,.registration-dots circle{animation:none!important}}
/* Active entries use a small colour marker rather than a filled label. */
.home-line nav [data-panel]{position:relative}
.home-line nav [data-panel]::before{content:'';position:absolute;right:calc(100% + 3px);top:50%;width:4px;height:4px;border-radius:50%;background:var(--klein);opacity:0;transform:translateY(-50%) scale(.5);transition:opacity .2s,transform .2s}
.home-line nav .selected,.home-line nav .selected:hover{background:transparent;color:#000;opacity:1}
.home-line nav .selected::before{opacity:1;transform:translateY(-50%) scale(1)}

:root{--grid-stroke:.5px}
.reference-lines i{width:var(--grid-stroke)}
#home-gallery{margin-top:32px;width:100%;background:transparent}
#home-gallery[hidden]{display:none}
#home-gallery .archive-toolbar{margin-bottom:55px}
#home-gallery .photo-archive{min-height:0}
#home-gallery .title-index{padding-top:0}

.home-page .inline-panel{position:relative;inset:auto;margin:25px 9px 50px;width:600px;max-width:calc(100% - 24px);height:auto;max-height:none;overflow:visible;padding:0;border:0;background:rgba(239,239,239,.88);backdrop-filter:blur(6px);color:#000}
.home-page .inline-panel[hidden]{display:none}
.home-page .inline-panel .sheet{padding:0 12px 20px 0}
.home-page .inline-panel .sheet-head{margin-bottom:24px;font-size:11px;border-top:.5px solid #bfbfbf;padding-top:12px}
.home-page .inline-panel .sheet h1{font-size:11px;letter-spacing:-.6px}
.home-page .inline-panel .entry-content{margin-top:24px}
.home-page .inline-panel{margin-top:24px}
.home-page .inline-panel .sheet{padding-right:0}
@media print{.home-page .inline-panel{display:none}}
.home-line nav [data-panel="about"]{--menu-dot:#002fa7}
.home-line nav [data-panel="work"]{--menu-dot:#d54b32}
.home-line nav [data-panel="photographs"]{--menu-dot:#c28a15}
.home-line nav [data-panel="artist-cv"]{--menu-dot:#27805a}
.home-line nav [data-panel="initiatives"]{--menu-dot:#8452a5}
.home-line nav [data-panel="contact"]{--menu-dot:#d65388}
.home-line nav [data-panel]::before{background:var(--menu-dot,var(--klein))}
.home-page .inline-panel{width:min(600px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)}
@media(max-width:700px){.home-page .inline-panel{margin-left:12px!important}}

/* Unified active indicators and full-viewport photographic lightbox. */
.home-line nav [data-panel]::before{background:var(--klein)}
.archive-toolbar [aria-pressed=true],.archive-toolbar button:hover{background:transparent;color:#000;text-decoration:none;opacity:1}
.archive-toolbar [data-layout]{position:relative}
.archive-toolbar [data-layout]::before{content:'';position:absolute;left:3px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--klein);transform:translateY(-50%);opacity:0}
.archive-toolbar [aria-pressed=true]::before{opacity:1}
.archive-toolbar #shuffle{margin-left:12px}
.archive-toolbar #shuffle[hidden]{display:none}
#viewer{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:transparent;color:#fff;z-index:100;animation:fade-in .25s ease both}
#viewer::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#viewer.closing{animation:fade-out .23s ease both}
#viewer .viewer-head,#viewer .viewer-nav{text-shadow:0 1px 6px rgba(0,0,0,.35)}
/* Shared menu and section boundary on the second background axis. */
@media(min-width:769px){
 :root{--content-start:calc(31.5px + var(--ref-width)*3)}
 .home-name{width:calc(var(--content-start) - 7px)}
 .home-line nav{width:auto;flex:1}
 .home-page .inline-panel{margin-left:var(--content-start)!important;width:calc(100% - var(--content-start) - 9px)!important;max-width:none}
 .home-page .inline-panel .sheet{padding-right:0}
}
/* Offset the background lattice from the text edge. */
.reference-lines,body>.registration-dots{transform:translateX(-18px)}

@media(min-width:769px){.home-page .reference-lines{transform:none}}

@media(min-width:769px){.home-line nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.home-line nav>*{justify-self:start}}
body>.registration-dots{transform:none}

/* Aligned footer groups and a clear three-column mobile menu. */
.home-footer{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:24px}
.home-footer .footer-socials{display:flex;align-items:baseline;gap:24px}
.home-footer .footer-left,.home-footer .footer-right{max-width:none}
.home-footer a,.home-footer button{white-space:nowrap}
@media(max-width:768px){
 .home-line{display:flex;flex-direction:column;align-items:stretch;padding:calc(50svh - 62px) 24px 0}
 .home-name{width:100%;padding:0;margin-bottom:26px;font-size:11px}
 .home-line nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 0;font-size:11px;line-height:1.3}
 .home-line nav>*{justify-self:start}
 .home-page .reference-lines{transform:none}
 .home-footer{grid-template-columns:1fr auto;gap:14px 16px;padding:20px 24px;font-size:11px;line-height:1.4}
 .home-footer .footer-left{grid-column:1/-1}
 .home-footer .footer-left span:nth-child(2){display:none}
 .home-footer .footer-socials{gap:20px}
 .home-footer .footer-right{justify-content:flex-end}
}
/* Courier for descriptive copy, captions and CV records. */
.entry-content,.section-body,.sheet .description,.sheet .meta,.photo-credit{font-family:Courier,'Courier New',monospace}

.home-footer{grid-template-columns:1fr auto}
@media(max-width:768px){.home-footer .footer-left{grid-column:auto}.home-footer .footer-socials{justify-content:flex-end}}
.footer-socials a{padding:2px 3px;margin:-2px -3px;transition:background-color .18s,color .18s}
.footer-socials a:hover,.footer-socials a:focus-visible{background:var(--klein);color:#fff;opacity:1}

/* One Helvetica family throughout the site. */
html,body,body *{font-family:Helvetica,Arial,sans-serif!important}
.home-page .inline-panel.minimal-heading .sheet-head{justify-content:flex-end;margin-bottom:12px}
.home-page .inline-panel.minimal-heading .entry-content{margin-top:0}
.home-page .inline-panel.minimal-heading .entry-section:first-child>h2{border-top:0;padding-top:0}

#expanded-sections{position:relative;display:flow-root;overflow-anchor:none}

/* View controls live directly under body, outside animated section containers. */
body>#gallery-controls{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:1px;padding:5px;background:rgba(239,239,239,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11px;line-height:1.2}
body>#gallery-controls[hidden]{display:none}
#gallery-controls button{padding:9px 12px;white-space:nowrap}
#gallery-controls [data-layout]{position:relative}
#gallery-controls [data-layout]::before{content:'';position:absolute;left:3px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--klein);transform:translateY(-50%);opacity:0}
#gallery-controls [aria-pressed=true]::before{opacity:1}
#gallery-controls #shuffle{margin-left:12px}
#gallery-controls #shuffle[hidden]{display:none}
.title-columns button{font:inherit;padding:6px 0}
.title-columns [aria-sort=ascending],.title-columns [aria-sort=descending]{color:#000}
.sort-arrow{display:inline-block;min-width:10px;margin-left:5px;font-size:11px}
.title-row .row-preview{grid-column:2/-1;display:grid;grid-template-rows:0fr;opacity:0;text-align:left!important;transition:grid-template-rows .45s var(--ease),opacity .3s var(--ease)}
.row-preview>span{min-height:0;overflow:hidden;display:block}
.row-preview img{display:block;width:auto;height:auto;max-width:min(100%,520px);max-height:55vh;object-fit:contain;margin:12px 0 18px}
.title-row.preview-open .row-preview{grid-template-rows:1fr;opacity:1}
.title-row .row-arrow{text-align:right}

/* Floating list previews never participate in the row layout. */
body>#list-hover-preview{position:fixed;left:58%;top:50%;transform:translate(-50%,-50%);width:min(42vw,560px);height:60vh;z-index:15;pointer-events:none;display:flex;align-items:center;justify-content:center;animation:fade-in .18s ease}
body>#list-hover-preview[hidden]{display:none}
#list-hover-preview img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 32px #0002}
.title-row.preview-open{color:var(--klein)}
@media(max-width:700px){body>#list-hover-preview{left:50%;width:75vw;height:50vh}}

/* Editorial hierarchy uses rules, markers and tone, rather than smaller text. */
:root{--supporting:#686868}
body .photo-credit,body figcaption,body figcaption *{color:var(--supporting)}
.entry-content,.section-body{line-height:1.55}
.entry-content .record-meta,.entry-content .minor,.entry-content .record-year,.sheet .meta,.work-row .type{color:var(--supporting)}
.entry-content .record-title,.entry-section h2,.cv-heading{color:#000;font-weight:400}
.entry-content .record{grid-template-columns:90px minmax(0,1fr);gap:20px;padding:14px 0 20px;margin:0;border-top:.5px solid #bfbfbf}
.entry-content .record-meta{margin-top:8px}
.entry-content .work-row{grid-template-columns:90px minmax(0,1fr) auto;padding:16px 0;border-color:#bfbfbf}
.entry-section{position:relative;margin:34px 0 52px;padding-top:14px;border-top:.5px solid #bfbfbf}
.entry-section::before{content:'';position:absolute;left:0;top:-19px;width:4px;height:4px;background:#000;border-radius:50%}
.entry-section h2,.cv-heading{letter-spacing:0;text-transform:uppercase;border:0;padding:0;margin:0 0 24px}
.cv-heading{position:relative;border-top:.5px solid #bfbfbf;padding-top:14px;margin-top:40px}
.entry-content .artist-links a{color:var(--supporting);text-decoration:underline;text-underline-offset:3px}
.entry-content .inline-link{color:var(--supporting)}
@media(min-width:769px){.home-line nav{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:768px){.entry-content .record,.entry-content .work-row{grid-template-columns:76px minmax(0,1fr);gap:12px}.entry-content .work-row .type{grid-column:2}.home-footer{gap:12px}.home-footer .footer-socials{gap:16px}}

.information-block dl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 28px}.information-block dt{text-transform:uppercase;border-bottom:.5px solid #bfbfbf;padding-bottom:8px}.information-block dd{margin:8px 0 0;color:var(--supporting)}

@media(min-width:769px){.home-line nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:768px){.home-line nav{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .reference-lines i:nth-child(3){display:none}}

/* The section marker shares the close-control row. */
.home-page .inline-panel.marker-heading .sheet-head{align-items:center}
.home-page .inline-panel.marker-heading .sheet-head::before{content:'';display:block;width:4px;height:4px;background:#000;border-radius:50%;margin-right:auto;flex-shrink:0}
.inline-panel.marker-heading .entry-section:first-child::before{display:none}
.inline-panel .sheet-head button{align-items:center;line-height:1}

/* Markers use the menu dot gutter; rules and content share the text edge. */
.inline-panel .entry-section::before,.home-page .inline-panel.marker-heading .sheet-head::before{transform:translateX(-10px)}

/* Shuffle sits below the fixed view switch without shifting Grid or List. */
#gallery-controls #shuffle{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin:0;padding:0 12px;opacity:.6;background:rgba(239,239,239,.94)}
#gallery-controls #shuffle:hover,#gallery-controls #shuffle:focus-visible{opacity:1}

/* Section subtitles match the approved 13px body size. */
.cv-heading{font-size:11px}

/* Approved section type scale; navigation keeps its existing sizes. */
.inline-panel .sheet,.inline-panel .sheet *,#home-gallery,#home-gallery *,.archive-page .photo-archive,.archive-page .title-index,.archive-page .title-index *,#photo-count{font-size:11px!important}
.inline-panel .sheet .photo-credit,.inline-panel .sheet figcaption,.inline-panel .sheet figcaption *,#home-gallery figcaption,#home-gallery figcaption *{font-size:11px!important}
.home-page .inline-panel .sheet-head{min-height:34.5px}
/* The gallery heading remains visible when it is the toolbar's sole item. */
.archive-toolbar>#photo-count{display:block}

/* Expanded sections begin with their marker, without the upper rule. */
.home-page .inline-panel .sheet-head{border-top:0}

/* Image-only lightbox with a translucent screen and soft reveal. */
#viewer{padding:clamp(24px,4vw,56px);outline:none;animation:fade-in .45s var(--ease) both}
#viewer .viewer-image{height:100%;padding:0}
#viewer::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fade-in .45s var(--ease) both}
#viewer .viewer-image img{animation:photo-reveal .45s var(--ease) both}
#viewer.closing,#viewer.closing::backdrop{animation:fade-out .45s var(--ease) both}
#viewer.closing .viewer-image img{animation:photo-retreat .45s var(--ease) both}
@keyframes photo-reveal{from{transform:scale(.985)}to{transform:scale(1)}}
@keyframes photo-retreat{from{transform:scale(1)}to{transform:scale(.985)}}

/* Remove editorial section dots; navigation indicators stay unchanged. */
.entry-section::before,.home-page .inline-panel.marker-heading .sheet-head::before{display:none}

/* Compact stationary switch with a text-only Shuffle extension. */
body>#gallery-controls{padding:3px}
#gallery-controls button{padding:7px 9px}
#gallery-controls [data-layout]::before{left:1px}
#gallery-controls #shuffle{left:100%;top:0;height:100%;padding:7px 10px;margin:0;background:transparent;transform:translateX(0);clip-path:inset(0);opacity:.6;visibility:visible;transition:transform .45s var(--ease),clip-path .45s var(--ease),opacity .45s var(--ease),visibility 0s}
#gallery-controls.list-mode #shuffle{transform:translateX(-10px);clip-path:inset(0 100% 0 0);opacity:0;visibility:hidden;pointer-events:none;transition:transform .45s var(--ease),clip-path .45s var(--ease),opacity .45s var(--ease),visibility 0s .45s}

/* Keep the photograph visible as it returns; only the screen fades away. */
#viewer.grid-return.closing{animation:none;opacity:1}
/* Equal outer padding and equal view slots, including room for the active dot. */
body>#gallery-controls{padding:5px 10px;gap:4px}
#gallery-controls [data-layout]{min-width:54px;padding:7px 10px 7px 14px;text-align:center}
#gallery-controls [data-layout]::before{left:4px}
#gallery-controls #shuffle{padding-left:10px;padding-right:10px}

/* Restore the original name face without changing its size. */
.home-name,.archive-header .name{font-family:'Times New Roman',Times,serif!important}
/* Gallery caption shares the fixed footer's treatment. */
body>#photo-count{position:fixed;left:9px;bottom:max(18px,env(safe-area-inset-bottom));z-index:20;padding:12px 10px;background:rgba(239,239,239,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11px!important;line-height:1.2}
body>#photo-count[hidden]{display:none}
#home-gallery .archive-toolbar{margin:0 0 24px}
:root{--list-image-width:min(70vw,720px);--list-image-height:min(65vh,560px)}
body>#list-hover-preview{left:50%;width:var(--list-image-width);height:var(--list-image-height)}
.title-row .row-preview{grid-column:1/-1;text-align:center!important;grid-template-rows:0fr;opacity:0}
.title-row.preview-open .row-preview{grid-template-rows:0fr;opacity:0}
.title-row.expanded .row-preview{grid-template-rows:1fr;opacity:1}
.title-row .row-preview>span{display:flex;justify-content:center}
.title-row .row-preview img{width:auto;height:auto;max-width:var(--list-image-width);max-height:var(--list-image-height);object-fit:contain;margin:20px auto}
.title-row.expanded{color:var(--klein)}
@media(max-width:768px){
 :root{--list-image-width:calc(100vw - 48px);--list-image-height:55vh}
 body>#photo-count{left:50%;transform:translateX(-50%);bottom:calc(max(18px,env(safe-area-inset-bottom)) + 46px);white-space:nowrap;font-size:11px!important;padding:8px}
 .photo-archive,.title-index{padding-bottom:130px}
}
@media(min-width:769px) and (max-width:960px){body>#photo-count{left:50%;transform:translateX(-50%);bottom:calc(max(18px,env(safe-area-inset-bottom)) + 46px);white-space:nowrap}.photo-archive,.title-index{padding-bottom:130px}}

/* Remove the empty header left by the retired Close controls and markers. */
.home-page .inline-panel .sheet-head:empty{display:none}
.home-page .inline-panel .entry-section:first-child{margin-top:0}

/* Floating site options: denser translucent surfaces over the existing grid. */
:root{--surface:rgba(255,255,255,.92);--surface-solid:#fff;--tool-ink:#111;--tool-muted:#686868;--contact-glow:255,255,255}
body>#site-tools{position:fixed;top:9px;left:9px;right:9px;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;font-size:11px;line-height:1.35;color:var(--tool-ink)}
.tool-slot{position:relative;min-width:0}
#site-tools .tool-trigger{display:block;width:100%;padding:10px 12px;background:var(--surface);border-radius:3px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .45s var(--ease),opacity .45s var(--ease);font-size:11px}
#site-tools button:hover,#site-tools a:hover{opacity:1;background:var(--surface-solid)}
.tool-dropdown{position:absolute;top:calc(100% + 5px);left:0;right:0;display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-8px);visibility:hidden;transition:grid-template-rows .45s var(--ease),opacity .45s var(--ease),transform .45s var(--ease),visibility 0s .45s;background:var(--surface);border-radius:3px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.tool-dropdown>div{min-height:0;overflow:hidden}
.tool-dropdown button,.tool-dropdown a{display:block;width:100%;padding:10px 12px;overflow-wrap:anywhere;font-size:11px}
.tool-slot.open .tool-dropdown{grid-template-rows:1fr;opacity:1;transform:translateY(0);visibility:visible;transition-delay:0s}
#language-options [aria-current=true]::before{content:'•';color:var(--klein);margin-right:8px}
#contact-card{position:fixed;inset:0;margin:auto;width:min(500px,calc(100vw - 40px));height:max-content;max-height:calc(100dvh - 60px);padding:0;border:0;border-radius:3px;background:linear-gradient(135deg,rgba(var(--contact-glow),.96),rgba(var(--contact-glow),.76));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);color:var(--tool-ink);overflow:auto;outline:none;animation:contact-in .45s var(--ease) both}
#contact-card::backdrop{background:radial-gradient(ellipse at center,rgba(var(--contact-glow),.12),rgba(var(--contact-glow),.55));backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);animation:fade-in .45s var(--ease) both}
.contact-card-inner{padding:36px;font-size:11px;line-height:1.55}.contact-card-inner p{margin:0 0 28px}.contact-card-inner a{overflow-wrap:anywhere}.contact-card-inner .contact-location{margin:28px 0 0;color:var(--tool-muted)}
#contact-card.closing{animation:contact-out .45s var(--ease) both}#contact-card.closing::backdrop{animation:fade-out .45s var(--ease) both}
@keyframes contact-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes contact-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}
.home-footer{position:fixed;left:0;bottom:0;width:auto;padding:8px 9px;margin:0;z-index:20;background:transparent}
html[data-theme=dark]{--site-grey:#101010;--ink:#eee;--ref-line:#404040;--supporting:#aaa;--surface:rgba(29,29,29,.94);--surface-solid:#252525;--tool-ink:#eee;--tool-muted:#aaa;--contact-glow:25,25,25;color-scheme:dark}
html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] .home-page{background:var(--site-grey);color:var(--ink)}
html[data-theme=dark] .home-page .inline-panel{background:rgba(16,16,16,.88);color:var(--ink)}
html[data-theme=dark] .entry-content .record-title,html[data-theme=dark] .entry-section h2,html[data-theme=dark] .cv-heading,html[data-theme=dark] .title-columns [aria-sort]{color:var(--ink)}
html[data-theme=dark] .entry-section,html[data-theme=dark] .cv-heading,html[data-theme=dark] .entry-content .record,html[data-theme=dark] .entry-content .work-row,html[data-theme=dark] .information-block dt{border-color:#404040}
html[data-theme=dark] body>.registration-dots{fill:#fff}
html[data-theme=dark] .intro-dot{background:#eee}
html[data-theme=dark] body>#gallery-controls,html[data-theme=dark] body>#photo-count,html[data-theme=dark] .archive-header{background:rgba(16,16,16,.94);color:var(--ink)}
html[data-theme=dark] .title-row:hover,html[data-theme=dark] .title-row:focus-visible{background:rgba(255,255,255,.05)}
@media(max-width:600px){body>#site-tools{top:7px;left:7px;right:7px;gap:5px}#site-tools .tool-trigger{padding:10px 8px}.tool-dropdown button,.tool-dropdown a{padding:10px 8px}.contact-card-inner{padding:28px 22px}.archive-header{padding-top:64px}}
@media print{#site-tools,#contact-card{display:none!important}}
html[data-theme=dark] .home-line nav .selected{color:var(--ink)}
html[data-theme=dark] .home-line nav button:hover,html[data-theme=dark] .home-line nav a:hover{color:#fff}
#theme-toggle{text-transform:uppercase}
.archive-page .archive-header{padding-top:66px}
.tool-dropdown .pending-link{display:block;padding:10px 12px;color:var(--tool-muted);font-size:11px;overflow-wrap:anywhere}
@media(min-width:961px){body>#photo-count{bottom:max(48px,calc(env(safe-area-inset-bottom) + 48px))}}
html,body{transition:background-color .45s var(--ease),color .45s var(--ease)}
body>footer.home-footer{position:fixed;padding:8px 9px;width:auto}

/* Compact, centred options echo the Gallery switch. */
body>#site-tools{left:50%;right:auto;transform:translateX(-50%);display:flex;width:max-content;max-width:calc(100vw - 14px);gap:4px}
#site-tools .tool-trigger{width:auto;white-space:nowrap;padding:12px 14px;border-radius:0;background:rgba(239,239,239,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#site-tools .tool-dropdown{right:auto;min-width:100%;width:max-content;background:rgba(239,239,239,.78);border-radius:0}
#site-tools .tool-dropdown a,#site-tools .pending-link{white-space:nowrap;overflow-wrap:normal}
html[data-theme=dark] #site-tools .tool-trigger{background:rgba(16,16,16,.68)}
html[data-theme=dark] #site-tools .tool-dropdown{background:rgba(16,16,16,.78)}
/* A shared baseline for copyright, view controls and Gallery caption. */
body>footer.home-footer,.home-footer{bottom:max(8px,env(safe-area-inset-bottom));padding:12px 9px;line-height:1.2}
body>#gallery-controls{bottom:max(8px,env(safe-area-inset-bottom))}
body>#photo-count{left:auto;right:9px;bottom:max(8px,env(safe-area-inset-bottom));transform:none;white-space:nowrap;padding:12px 10px;line-height:1.2}
@media(max-width:1000px){
 body>#photo-count{left:50%;right:auto;transform:translateX(-50%);bottom:calc(max(8px,env(safe-area-inset-bottom)) + 46px);padding:8px;max-width:calc(100vw - 18px);white-space:normal;text-align:center}
 body>#gallery-controls{left:auto;right:90px;transform:none}
 .photo-archive,.title-index{padding-bottom:130px}
}
@media(max-width:600px){#site-tools .tool-trigger{padding:12px 10px}}
body>footer.home-footer,.home-footer{line-height:14.4px}
@media(max-width:1000px){body>#photo-count{width:max-content}}
/* Keep the menu axes; remove the unrelated line through the artist name. */
@media(min-width:769px){.home-page .reference-lines i:first-child{display:none}}

/* Shimmer Gradient: a slow, quiet fade travelling across the grid only. */
body>.reference-lines,body>.registration-dots{
 -webkit-mask-image:linear-gradient(105deg,#000 35%,rgba(0,0,0,.5) 50%,#000 65%);
 mask-image:linear-gradient(105deg,#000 35%,rgba(0,0,0,.5) 50%,#000 65%);
 -webkit-mask-size:300% 100%;mask-size:300% 100%;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 animation:grid-shimmer 18s linear infinite;
}
@keyframes grid-shimmer{
 from{-webkit-mask-position:100% 0;mask-position:100% 0}
 to{-webkit-mask-position:0% 0;mask-position:0% 0}
}
@media(prefers-reduced-motion:reduce){body>.reference-lines,body>.registration-dots{animation:none;-webkit-mask-image:none;mask-image:none}}

/* Keep the Gallery footer on one baseline outside phone widths. */
@media(min-width:601px) and (max-width:1000px){body>#photo-count{left:80px;right:auto;bottom:max(8px,env(safe-area-inset-bottom));transform:none;padding:12px 10px;white-space:nowrap;text-align:left}}
/* Quiet text on softly lifted translucent header and Gallery surfaces. */
#site-tools .tool-trigger,#site-tools .tool-dropdown,body>#gallery-controls,body>#photo-count{background:rgba(255,255,255,.48)}
#site-tools .tool-trigger{color:rgba(17,17,17,.62);transition:color .3s var(--ease),background .45s var(--ease)}
#site-tools .tool-trigger:hover,#site-tools .tool-trigger:focus-visible,#site-tools .tool-trigger[aria-expanded=true]{color:var(--tool-ink)}
html[data-theme=dark] #site-tools .tool-trigger,html[data-theme=dark] #site-tools .tool-dropdown,html[data-theme=dark] body>#gallery-controls,html[data-theme=dark] body>#photo-count{background:rgba(38,38,38,.72)}
html[data-theme=dark] #site-tools .tool-trigger{color:rgba(238,238,238,.62)}
html[data-theme=dark] #site-tools .tool-trigger:hover,html[data-theme=dark] #site-tools .tool-trigger:focus-visible,html[data-theme=dark] #site-tools .tool-trigger[aria-expanded=true]{color:var(--tool-ink)}
/* Project details remain in the Books & Films reading flow. */
.inline-work-detail{overflow:hidden}
.inline-work-detail[hidden]{display:none}
.inline-work-inner{padding:24px 0 32px;margin-left:16.6667%;max-width:700px}
.inline-work-inner .project-image{margin:20px 0}
.inline-work-inner .project-image img{max-width:100%;height:auto}
.work-row[data-inline-work][aria-expanded=true]{color:var(--klein)}
@media(max-width:600px){.inline-work-inner{margin-left:0}}
.work-row.work-disclosure{grid-template-columns:16.6667% 1fr;text-align:left;gap:0}
.work-disclosure .record-title,.work-disclosure .record-meta{display:block}
.work-disclosure .record-meta{margin-top:8px;color:var(--supporting,#777)}
.inline-work-inner{max-width:none}
.project-marquee{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:20px 0;overscroll-behavior-x:contain}
.project-marquee::-webkit-scrollbar,.project-slides::-webkit-scrollbar{display:none}
.project-frame{flex:none;padding:0;height:clamp(240px,40vw,480px);line-height:0}
.project-frame img{height:100%;width:auto;max-width:none;object-fit:contain}
body>#project-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;outline:none;overflow:hidden}
#project-viewer::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(10px);animation:fade-in .45s var(--ease) both}
#project-viewer.closing::backdrop{animation:fade-out .45s var(--ease) both}
.project-slides{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain}
.project-slide{flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;padding:clamp(24px,4vw,56px)}
.project-slide img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
/* CV headings are inline disclosures from Education onward. */
.cv-disclosure{border-top:.5px solid var(--ref-line);margin:0}
.cv-disclosure-toggle{display:block;width:100%;padding:18px 0;text-align:left;text-transform:uppercase;font-size:11px;line-height:1.4}
.cv-disclosure-toggle:hover,.cv-disclosure-toggle[aria-expanded=true]{color:inherit}
.cv-disclosure-body{overflow:hidden}
.cv-disclosure-body[hidden]{display:none}
.cv-disclosure-inner{padding:6px 0 24px}
#expanded-artist-cv .entry-section:has(>.cv-disclosure){margin-bottom:0}
#expanded-artist-cv .entry-section>.cv-disclosure{border-top:0}
#expanded-artist-cv .entry-section:has(>.cv-disclosure){border-top:.5px solid var(--ref-line)}
/* Main navigation shares the artist name's approved serif face. */
.home-line nav,.home-line nav button,.home-line nav a{font-family:'Times New Roman',Times,serif!important}
#site-tools .tool-trigger{text-transform:uppercase}
/* Desktop Gallery: three equal image columns; retain the mobile grid. */
@media(min-width:769px){.photo-archive{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-archive .archive-tile{grid-column:span 1}}
/* Compact CV disclosure rows without changing the approved type scale. */
#expanded-artist-cv .entry-section:has(>.cv-disclosure){margin:0;padding-top:0}
#expanded-artist-cv .entry-section:first-child{margin-bottom:0}
#expanded-artist-cv .cv-disclosure-toggle{padding:10px 0}
/* Sagrada-style disclosure markers and consistent editorial project rows. */
#expanded-artist-cv .cv-disclosure-toggle{display:flex;align-items:center;gap:22px}
.cv-disclosure-icon{width:12px;flex:none;opacity:.6}
.cv-disclosure-icon::before{content:'+'}
[aria-expanded=true]>.cv-disclosure-icon::before{content:'−'}
#expanded-artist-cv .entry-section:last-child{border-bottom:.5px solid var(--ref-line)}
.entry-content .work-row.work-record{grid-template-columns:90px minmax(0,1fr);gap:20px;padding:14px 0 20px;text-align:left}
.work-record .record-title,.work-record .record-meta{display:block}
.work-record .record-meta{margin-top:8px;color:var(--supporting,#777)}
@media(max-width:768px){.entry-content .work-row.work-record{grid-template-columns:76px minmax(0,1fr);gap:12px}}
/* Exact inverse of Klein blue for dark-mode dots and highlights. */
html[data-theme=dark]{--klein:#ffd058}
html[data-theme=dark] ::selection{background:var(--klein);color:#000}

.entry-content .work-row[data-inline-work][aria-expanded=true]{border-bottom-color:transparent}

/* User rule: all site text is 11px, with image captions as the sole exception. */
html,body,body *,body *::before,body *::after{font-size:11px!important}
body .photo-credit,body .photo-credit *,body figcaption,body figcaption *,
.inline-panel .sheet .photo-credit,.inline-panel .sheet .photo-credit *,
.inline-panel .sheet figcaption,.inline-panel .sheet figcaption *,
#home-gallery figcaption,#home-gallery figcaption *{font-size:8px!important}
/* One divider between an expanded works section and the next CV section. */
#expanded-artist-cv .cv-disclosure-inner>.work-row:not(:has(~.work-row)){border-bottom:0}
/* Align the first name line with the desktop menu baseline. */
@media(min-width:769px){.home-line{align-items:baseline}}
/* Keep expanded work details aligned and closely spaced beneath their title. */
.entry-content .work-row[data-inline-work][aria-expanded=true]{padding-bottom:12px}
.inline-work-inner{margin-left:110px;padding:0 0 24px}
.entry-content .inline-work-inner>.meta{margin:0 0 12px}
.inline-work-inner>.project-marquee{margin:12px 0 16px}
@media(max-width:768px){.inline-work-inner{margin-left:88px}}
.project-marquee[data-project="future"] .project-frame{height:clamp(320px,52vw,640px)}
#expanded-artist-cv .cv-download{border-top:.5px solid var(--ref-line);padding:10px 0 10px 34px;color:var(--supporting,#777)}
/* Match Gallery footer text to the quiet header labels. */
body>#photo-count,body>#gallery-controls button{color:rgba(17,17,17,.62)}
#gallery-controls:not(.list-mode) #shuffle{opacity:1}
body>#gallery-controls button:hover,body>#gallery-controls button:focus-visible{color:var(--tool-ink);opacity:1}
/* Translucent stone/pearl marble, restricted to selected text. */
::selection{background:rgba(182,177,163,.35);color:inherit}
html.marble-selection ::selection{background:transparent;color:inherit}
body>#selection-marble{position:fixed;inset:0;pointer-events:none;z-index:10000;mix-blend-mode:multiply}
#selection-marble>span{position:absolute;pointer-events:none;background-image:repeating-linear-gradient(117deg,transparent 0 38px,rgba(135,143,138,.14) 43px,rgba(245,242,226,.3) 49px,transparent 59px 96px),radial-gradient(ellipse at 22% 35%,rgba(179,191,187,.48),transparent 62%),linear-gradient(110deg,rgba(206,198,179,.5),rgba(235,228,213,.3) 32%,rgba(177,189,191,.44) 63%,rgba(216,205,190,.48));background-size:600px 180px}
/* Full-width masonry archive with narrow gutters and uncropped photographs. */
.photo-archive{display:block;columns:3;column-gap:6px;padding:0 6px 90px;width:100%}
.photo-archive .archive-tile{display:inline-block;vertical-align:top;width:100%;height:auto;margin:0 0 6px;padding:0;break-inside:avoid;line-height:0}
.photo-archive .archive-tile img{display:block;width:100%;height:auto;max-height:none;margin:0}
@media(max-width:768px){.photo-archive{columns:2;column-gap:4px;padding:0 4px 110px}.photo-archive .archive-tile{margin-bottom:4px}}
#expanded-about .initiative-description{margin:14px 0 0;color:var(--ink);max-width:680px;line-height:1.6}
#expanded-about .record{padding:18px 0 26px}
@media(min-width:769px){#expanded-artist-cv .biography-disclosure .cv-disclosure-inner{max-width:calc(var(--bio-right-edge) - var(--content-start))}}
#expanded-about .entry-section>.record:first-child{border-top:0}
/* Match menu hover highlights to the translucent marble text selection. */
.home-line nav button:hover,.home-line nav a:hover,.home-line nav .selected:hover{background-color:transparent;background-image:repeating-linear-gradient(117deg,transparent 0 38px,rgba(135,143,138,.14) 43px,rgba(245,242,226,.3) 49px,transparent 59px 96px),radial-gradient(ellipse at 22% 35%,rgba(179,191,187,.48),transparent 62%),linear-gradient(110deg,rgba(206,198,179,.5),rgba(235,228,213,.3) 32%,rgba(177,189,191,.44) 63%,rgba(216,205,190,.48));background-size:600px 180px;color:var(--ink);opacity:1}

/* Three working sections; the archive retains the existing image layout. */
@media(min-width:769px){.home-line nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.home-line nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
#expanded-artist-cv .cv-download{display:block;color:var(--ink);cursor:pointer}
/* The active marker matches the earlier translucent marble palette. */
.home-line nav [data-panel]::before{background-color:rgba(177,189,191,.44);background-image:linear-gradient(110deg,rgba(206,198,179,.5),rgba(235,228,213,.3) 32%,rgba(177,189,191,.44) 63%,rgba(216,205,190,.48));box-shadow:inset 0 0 0 .3px rgba(70,76,68,.15)}

/* Archive metadata shares the Current navigation alignment. */
.title-columns,.title-row{column-gap:0;grid-template-columns:6% calc(var(--content-start) - 9px - 6%) 12.5% 12.5% minmax(0,1fr)}
.title-columns>span,.title-row>span:not(.row-preview){padding-right:16px;text-align:left}
.title-row .work-type,.title-row .work-medium{overflow-wrap:normal}
@media(max-width:768px){.title-columns,.title-row{grid-template-columns:28px minmax(0,1fr) 40px 72px 60px;column-gap:4px}.title-columns>span,.title-row>span:not(.row-preview){padding-right:0}.title-row .work-type,.title-row .work-medium{overflow-wrap:anywhere}}
