:root{color-scheme:light;--paper:#fff;--ink:#252525;--quiet:#737373;--rule:#ddd;--empty:#f3f3f0}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button{font:inherit;color:inherit;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}h1,h2,h3,p,figure{margin:0;font-weight:400}.portfolio{max-width:1440px;margin:0 auto;padding:48px 48px 30px}.skip-link{position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none;background:var(--paper);z-index:20}.header{display:flex;align-items:start;justify-content:space-between;gap:30px;margin-bottom:70px}.brand{font:400 28px/1.3 Lora,Georgia,serif;letter-spacing:0;text-decoration:none}.main-nav{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:5px}.main-nav a{text-decoration:none;padding-bottom:3px}.main-nav a[aria-current="page"]{border-bottom:1px solid var(--ink)}.main-nav a:hover,.work:hover h2{text-decoration:underline}.sub-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:24px}.sub-nav a{color:var(--quiet);padding:4px 0;text-decoration:none}.sub-nav a[aria-current="page"]{color:var(--ink);text-decoration:underline}h1{font-size:24px;margin-bottom:12px}.section-intro{max-width:640px;color:var(--quiet);margin-bottom:34px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px;align-items:start}.work{display:block;text-decoration:none;align-self:start;min-width:0}.work img{display:block;width:100%;height:auto}.work h2{font-size:15px;margin-top:14px}.meta{font-size:12px;color:var(--quiet);margin-top:5px}.missing-image{background:var(--empty);border:1px solid var(--rule);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--quiet);padding:20px;font-size:12px}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:64px;padding-top:18px;border-top:1px solid var(--rule);font-size:12px;color:var(--quiet)}.footer a{text-decoration:none}.back{display:block;font-size:12px;color:var(--quiet);margin-bottom:24px;text-decoration:none}.detail-title{font-size:29px;margin-bottom:8px;max-width:950px}.hero{margin-top:30px}.hero button{display:block;width:100%;text-align:center}.hero img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain}.hero figcaption{font-size:12px;color:var(--quiet);margin-top:10px}.detail-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px;align-items:start}.photo-item{width:100%;opacity:.72}.photo-item[aria-pressed="true"]{opacity:1}.photo-item img{display:block;width:100%;height:auto}.statement{max-width:700px;margin:34px 0}.statement p{margin-bottom:18px}.statement h2{font-size:20px;margin:28px 0 12px}.film{display:block;width:100%;aspect-ratio:16/9;background:var(--empty);margin:30px 0;max-height:800px}.editorial{max-width:740px;margin:30px 0}.editorial p,.editorial ul,.editorial figure{margin:22px 0}.editorial img{display:block;width:100%;height:auto;max-height:750px;object-fit:contain}.editorial figcaption{color:var(--quiet);font-size:12px;margin:12px 0}.editorial h2{font-size:22px;margin:38px 0 14px}.editorial h3{font-size:17px;margin:28px 0 12px}.writing-list{display:grid;max-width:960px}.writing-entry{padding:22px 0;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;text-decoration:none}.writing-entry:hover>span:first-child{text-decoration:underline}.writing-entry .meta{display:block}.about-intro{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;max-width:750px;align-items:start;margin-top:26px}.portrait{display:block;width:150px;max-width:100%;height:auto}.bio p{margin-bottom:24px}.cv-details{margin:26px 0;max-width:750px}.cv-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px}.cv h2{font-size:20px;margin:30px 0 15px}.cv p{margin-bottom:15px;max-width:650px}.related{display:block;margin:25px 0}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:18px 12px;margin-top:24px}.archive-photo{width:100%;min-width:0}.archive-frame{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;background:var(--empty)}.archive-frame img{display:block;width:100%;height:100%;object-fit:contain}.archive-number{display:block;font-size:11px;letter-spacing:1px;color:var(--quiet);margin-top:5px;font-variant-numeric:tabular-nums}.lightbox{border:0;background:var(--paper);color:var(--ink);width:min(1200px,95vw);max-height:95vh;padding:22px}.lightbox::backdrop{background:rgba(0,0,0,.8)}.lightbox-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:18px}.lightbox-controls button{padding:6px 0}.lightbox>img{display:block;max-width:100%;width:auto;height:auto;max-height:70vh;object-fit:contain;margin:auto}.lightbox>p,.lightbox>a{font-size:12px;margin-top:14px;display:block}
@media(max-width:850px){.portfolio{padding:34px 28px}.header{display:block;margin-bottom:42px}.main-nav{margin-top:22px;gap:12px 22px}.gallery{gap:30px}.detail-title{font-size:27px}}
@media(max-width:520px){.portfolio{padding:28px 20px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.detail-media{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.about-intro{grid-template-columns:1fr;gap:20px}.portrait{width:120px}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.detail-title{font-size:24px}.footer{margin-top:40px}.main-nav{gap:12px 18px}}
@media(pointer:coarse){.main-nav a,.sub-nav a,.back,.related,.cv-details summary,.lightbox-controls button{min-height:44px;display:inline-flex;align-items:center}.cv-details summary{display:list-item}}
/* Small image indexes and quiet movement retain the artist portfolio's spacing. */
.hero-frame,.lightbox-stage{position:relative}
.detail-media{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.photo-item{display:flex;align-items:center;justify-content:center;width:104px;height:78px;padding:4px;border:1px solid transparent;opacity:.62;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.photo-item[aria-pressed="true"]{border-color:var(--ink);opacity:1}
.photo-item img{width:100%;height:100%;object-fit:contain}
.archive-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:16px 10px}
.image-arrow,.hero .hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(28,28,28,.15);border-radius:50%;background:rgba(255,255,255,.88);color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.04);transition:background .2s ease,color .2s ease,border-color .2s ease}
.image-arrow-prev{left:10px}.image-arrow-next{right:10px}
.image-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
button[hidden]{display:none!important}
.lightbox-stage{padding:0 56px}.lightbox-stage>img{display:block;max-width:100%;width:auto;height:auto;max-height:70vh;object-fit:contain;margin:auto}
.lightbox-controls button{min-height:44px}.lightbox .image-arrow-prev{left:0}.lightbox .image-arrow-next{right:0}
.work img,.work h2,.archive-frame img,.writing-entry>span,.main-nav a,.sub-nav a,.back{transition:transform .25s ease,opacity .25s ease}
.main-nav a,.sub-nav a{display:inline-block}
@media(hover:hover) and (pointer:fine){
 .work:hover img{transform:translateY(-3px)}.work:hover h2{transform:translateX(3px);text-decoration:none}
 .main-nav a:hover,.sub-nav a:hover{transform:translateY(-2px)}.back:hover{transform:translateX(-3px)}
 .photo-item:hover{opacity:1;transform:translateY(-2px);border-color:var(--rule)}
 .archive-photo:hover .archive-frame img{transform:translateY(-2px)}
 .writing-entry:hover>span{transform:translateX(3px)}
 .image-arrow:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
}
@media(max-width:520px){
 .photo-item{width:80px;height:60px}.detail-media{gap:8px}.archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}
 .hero .image-arrow-prev{left:4px}.hero .image-arrow-next{right:4px}.lightbox{padding:14px}.lightbox-stage{padding:0 42px}
}
@media(prefers-reduced-motion:reduce){
 .work img,.work h2,.archive-frame img,.writing-entry>span,.main-nav a,.sub-nav a,.back,.photo-item,.image-arrow{transition:none}
 .work:hover img,.work:hover h2,.archive-photo:hover .archive-frame img,.writing-entry:hover>span,.main-nav a:hover,.sub-nav a:hover,.back:hover,.photo-item:hover{transform:none}
}
.link-icon{display:inline-block;width:16px;height:16px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.photo-essay-page{max-width:960px;margin:0 auto}
.photo-essay-page>.detail-title,.photo-essay-page>.meta{text-align:center;max-width:none}
.photo-essay-page>.hero{max-width:820px;margin:30px auto}
.photo-essay-page>.hero img{max-height:620px}
.photo-essay-page .editorial{margin:34px auto;max-width:740px}
.photo-essay-page .editorial>figure{max-width:600px;margin:30px auto}
.photo-essay-page .editorial>figure img{max-height:480px}
.essay-gallery{margin:34px auto;max-width:640px}
.essay-gallery-stage{position:relative;padding:0 52px}
.essay-gallery-view{display:block;width:100%;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.essay-gallery-view img{width:100%;height:390px;object-fit:contain;margin:0}
.essay-gallery .image-arrow-prev{left:0}.essay-gallery .image-arrow-next{right:0}
.essay-gallery .essay-gallery-count{font-size:12px;color:var(--quiet);margin:12px 0;text-align:center}
.essay-thumbnails{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.essay-thumbnails .photo-item{width:72px;height:54px}
.essay-thumbnails .photo-item img{width:100%;height:100%;object-fit:contain;margin:0}
@media(max-width:520px){.essay-gallery-stage{padding:0 46px}.essay-gallery-view img{height:280px}.essay-thumbnails .photo-item{width:56px;height:42px}}
.project-intro{max-width:700px;color:var(--quiet);margin:24px 0 34px}
.project-galleries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:1100px}
.project-cover{display:block;aspect-ratio:1;overflow:hidden;background:var(--empty)}
.project-gallery .project-cover img{width:100%;height:100%;object-fit:cover}
.project-gallery h2{font-size:18px;margin-top:18px}
.project-description{font-size:13px;color:var(--quiet);margin-top:10px}
@media(max-width:850px){.project-galleries{gap:24px}}
@media(max-width:520px){.project-galleries{gap:12px}.project-gallery h2{font-size:13px;margin-top:12px;line-height:1.4}.project-description{font-size:11px;line-height:1.6;margin-top:8px}}
.back .link-icon{margin-right:5px}.related .link-icon,.lightbox a .link-icon{margin-left:5px}.writing-entry .link-icon{width:18px;height:18px}
[data-hero-view],[data-lightbox-image]{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
@media(hover:none) and (pointer:coarse){
 .hero .hero-arrow,.lightbox .image-arrow,.essay-gallery .image-arrow{display:none}
 .lightbox-stage{padding:0}
 .essay-gallery-stage{padding:0}
 .essay-gallery-count::after{content:" · Swipe to view"}
 .hero:has([data-hero-next]) [data-view-counter]::after{content:" · Swipe to view"}
}

/* Art Within Reach: an even, two-column index of projects. */
.reach-index{max-width:1040px;margin:0 auto}
.reach-index>h1{font-size:19px}
.reach-index>.section-intro{font-size:12px;margin-bottom:42px}
.reach-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}
.reach-card{text-align:center}
.reach-cover{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--empty)}
.reach-card .reach-cover img{width:100%;height:100%;object-fit:cover;object-position:var(--cover-position,50% 50%)}
.reach-card-title{margin-top:18px}
@media(hover:hover) and (pointer:fine){.reach-card:hover img{transform:scale(1.025)}.reach-card:hover h2{transform:none;text-decoration:underline;text-decoration-thickness:1px}}
@media(max-width:850px){.reach-gallery{gap:38px 26px}}
@media(max-width:640px){.reach-gallery{grid-template-columns:1fr;gap:38px}.reach-index>.section-intro{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.reach-card:hover img{transform:none}}

/* A small, open index: natural image proportions and a quiet, offset rhythm. */
.selected-index{max-width:1040px;margin:0 auto}
.selected-index>.sub-nav{font-size:12px;gap:10px 23px;margin-bottom:26px}
.selected-index>h1{font-size:19px;margin-bottom:30px}
.selected-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:58px 28px;align-items:start;padding:4px 0 20px}
.selected-card{grid-column:span 2;min-width:0;text-align:center}
.selected-card:nth-child(3n + 2){margin-top:28px}
.selected-card:nth-child(3n){margin-top:10px}
.selected-gallery--single .selected-card{grid-column:3/span 2}
.selected-gallery--pair .selected-card:first-child{grid-column:2/span 2}
.selected-gallery--pair .selected-card:nth-child(2){grid-column:4/span 2}
.selected-gallery--five .selected-card:nth-child(4){grid-column:2/span 2}
.selected-gallery--five .selected-card:nth-child(5){grid-column:4/span 2;margin-top:18px}
.selected-cover{display:flex;width:100%;height:250px;align-items:center;justify-content:center;background:transparent}
.selected-card .selected-cover img{display:block;width:auto;height:auto;max-width:min(100%,300px);max-height:250px;object-fit:contain}
.selected-card-title{margin-top:18px}
.selected-card h2,.reach-card h2{font:italic 16px/1.45 Georgia,'Times New Roman',serif;margin:0}
.selected-card .meta,.reach-card .meta{font-size:11px;margin-top:6px;letter-spacing:.025em}
@media(hover:hover) and (pointer:fine){.selected-card:hover img{transform:translateY(-3px)}.selected-card:hover h2{transform:none;text-decoration:underline;text-decoration-thickness:1px}}
@media(max-width:850px){
 .selected-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}
 .selected-gallery .selected-card:nth-child(n){grid-column:auto;margin-top:0}
 .selected-gallery .selected-card:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - 32px)/2);justify-self:center}
 .selected-cover{height:210px}.selected-card .selected-cover img{max-height:210px;max-width:min(100%,260px)}
}
@media(max-width:520px){
 .selected-index>.sub-nav{gap:8px 18px}.selected-index>h1{font-size:18px;margin-bottom:24px}
 .reach-index>h1{font-size:18px}
 .selected-gallery{grid-template-columns:1fr;gap:40px;max-width:340px;margin:0 auto}
 .selected-gallery .selected-card:last-child:nth-child(n){grid-column:auto;width:100%}
 .selected-cover{height:200px}.selected-card .selected-cover img{max-height:200px;max-width:min(100%,260px)}
 .selected-card-title{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.selected-card:hover img{transform:none}}

.category-index>h1{margin-bottom:6px}
.category-index>.section-intro{font-size:12px;margin-bottom:30px}

/* Single-work categories have room for a closer view of the complete artwork. */
.selected-gallery--single .selected-card{grid-column:2/span 4;max-width:520px;width:100%;justify-self:center}
.selected-gallery--single .selected-cover{height:340px}
.selected-gallery--single .selected-cover img{max-width:min(100%,480px);max-height:340px}

.nav-group{position:relative}
.nav-heading{display:flex;align-items:center;gap:5px}
.nav-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:4px;border:0;background:transparent;color:inherit;cursor:pointer}
.nav-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .18s ease}
.nav-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-dropdown{position:absolute;z-index:30;top:100%;left:0;width:240px;padding-top:12px}
.nav-group:first-child .nav-dropdown{width:290px}
.nav-dropdown[hidden]{display:none!important}
.nav-dropdown ul{margin:0;padding:9px 0;list-style:none;background:#fff;border:1px solid #e7e7e7;box-shadow:0 6px 18px #0000000d}
.main-nav .nav-dropdown a{display:block;padding:10px 17px;font-size:13px;line-height:1.5;border:0;transform:none}
.main-nav .nav-dropdown a:hover,.main-nav .nav-dropdown a[aria-current="page"]{background:#f5f5f3}
.nav-dropdown a:focus-visible{outline-offset:-3px}
@media(max-width:850px){
 .selected-gallery--single .selected-card:last-child:nth-child(n){grid-column:1/-1;width:100%;max-width:520px}
 .selected-gallery--single .selected-cover{height:320px}
 .selected-gallery--single .selected-cover img{max-height:320px}
}
@media(max-width:520px){
 .selected-gallery--single{max-width:420px}
 .selected-gallery--single .selected-cover{height:280px}
 .selected-gallery--single .selected-cover img{max-height:280px}
 .main-nav{position:relative}
 .nav-group{position:static}
 .nav-dropdown,.nav-group:first-child .nav-dropdown{left:0;right:0;width:100%}
}
@media(pointer:coarse){.nav-toggle{width:32px;height:44px}.main-nav .nav-dropdown a{min-height:44px;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.nav-toggle svg{transition:none}}

/* About name typography. */
.about-name{font:400 30px/1.3 Lora,Georgia,serif}
@media(max-width:520px){.about-name{font-size:26px}}
