:root{color-scheme:light;--ink:#171717;--muted:#666;--accent:#8b3b9b;--line:#dedede}
*{box-sizing:border-box}
html{background:#fff;scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,textarea{font:inherit}button{color:inherit}button,a,input,textarea,video{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer}button:disabled{cursor:default;opacity:.3}img{display:block;max-width:100%}[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;padding:8px 14px;background:#fff;z-index:100;transform:translateY(-160%);border:1px solid var(--ink)}.skip-link:focus{transform:translateY(0)}
.site-layout{display:grid;grid-template-columns:236px minmax(0,1fr);grid-template-rows:min-content 1fr;column-gap:64px;max-width:1720px;margin:0 auto;padding:48px 50px 46px;min-height:100vh}
.site-header{grid-column:1;grid-row:1;align-self:start}
.brand{font-size:25px;line-height:1.2;font-weight:400;letter-spacing:.045em;display:inline-block;margin-bottom:30px;white-space:nowrap}
.navigation ul{list-style:none;padding:0;margin:0}.navigation li{margin:0 0 5px;font-size:13px;line-height:1.45}.navigation a{display:inline-block;font-size:13px;line-height:1.45}.navigation a[aria-current=page]{color:var(--accent)}.nav-secondary{margin-top:20px!important}.nav-social{margin-top:18px!important}.nav-social a{font-size:11px;color:var(--muted)}.nav-social a:hover{color:var(--accent)}
.menu-toggle{display:none;background:none;border:0;padding:8px 0;font-size:12px;letter-spacing:.04em}
.main{grid-column:2;grid-row:1 / span 2;min-width:0;align-self:start}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.home-artwork{display:flex;align-items:center;justify-content:center;height:calc(100vh - 96px);min-height:420px;max-width:1120px;margin:auto}.home-artwork img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.home-meta.artwork-meta{display:block}.home-collection-link{display:inline-block;margin-top:24px}
.gallery{position:relative;max-width:1120px;margin:auto}.artwork{margin:0 0 60px}.artwork-image{display:block;border:0;padding:0;background:none;width:100%}.artwork-image img{margin:0 auto;max-height:calc(100vh - 96px);width:auto;height:auto;object-fit:contain}.artwork figcaption{margin:18px 0 0;max-width:620px;font-size:13px;white-space:pre-line}.caption-title{font-style:italic}.caption-description{margin-top:7px;white-space:pre-line}
.artwork-meta{display:none;grid-column:1;grid-row:2;align-self:start;padding-top:28px;max-width:230px;font-size:12px;line-height:1.65}.artwork-meta .artist{font-weight:600;margin:0 0 11px}.artwork-meta .caption-title{margin:0}.gallery-controls{margin-top:24px;display:flex;align-items:center;gap:9px}.text-button{border:0;padding:3px 0;background:none;font-size:11px;text-transform:uppercase;letter-spacing:.025em}.text-button:hover:not(:disabled){color:var(--accent)}.divider{font-size:11px;color:#999}.counter{font-size:11px;color:var(--muted);margin-left:8px}.thumb-toggle{display:block;margin-top:9px}.gallery-help{font-size:10px;color:#777;margin:18px 0 0}
.gallery-ready .artwork{margin:0}.gallery-ready .artwork figcaption{display:none}.gallery-ready .artwork-meta{display:block}.gallery-ready .artwork-image{height:calc(100vh - 96px);min-height:420px;display:flex;align-items:center;justify-content:center}.gallery-ready .artwork-image img{max-height:100%;max-width:100%;object-fit:contain}
.thumbnail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 28px;padding:0 0 30px}.thumbnail{display:flex;flex-direction:column;gap:10px;align-items:stretch;border:0;background:none;padding:0;text-align:left}.thumbnail img{width:100%;height:210px;object-fit:contain;transition:opacity .15s}.thumbnail:hover img{opacity:.8}.thumbnail span{font-size:11px;line-height:1.45;max-width:240px}.thumbnail[aria-current=true] span{color:var(--accent)}.viewing-thumbnails .gallery-help{display:none}
.thumbnail span{display:none}
.viewing-thumbnails .artwork-meta>[aria-live],.viewing-thumbnails .gallery-controls{display:none}.viewing-thumbnails .thumb-toggle{margin-top:0}
.image-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:45px;background:#fff;color:var(--ink)}.image-dialog::backdrop{background:#fff}.dialog-inner{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}.dialog-image{width:100%;height:100%;object-fit:contain}.dialog-caption{text-align:center;font-size:12px;max-width:1000px;margin:auto;white-space:pre-line}.dialog-close{position:fixed;top:17px;right:23px;padding:5px 10px;background:#fff;border:0;font-size:12px;text-transform:uppercase}.dialog-nav{position:fixed;top:50%;border:0;background:rgba(255,255,255,.85);font-size:32px;width:40px;height:50px;transform:translateY(-50%)}.dialog-prev{left:4px}.dialog-next{right:4px}
.page-title{font-size:17px;line-height:1.4;font-weight:400;margin:0 0 29px;letter-spacing:.015em}.text-page{max-width:1050px}.text-page p{margin:0 0 19px}.text-page h2{font-size:14px;font-weight:600;margin:35px 0 16px}.text-page a:not(.document-link){color:var(--accent)}.about-layout{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(190px,1fr);gap:40px}.statement{font-size:14px;line-height:1.8}.about-media{display:flex;flex-direction:column;gap:30px}.about-media figure{margin:0}.about-media img{width:100%;height:auto}.about-media video{display:block;width:100%;max-height:490px;background:#f7f7f7}.resume{max-width:760px;line-height:1.7;font-size:13px}.resume p{margin-bottom:15px}.document-link{display:inline-block;color:var(--accent);border-bottom:1px solid currentColor;margin-bottom:26px;font-size:12px}.resume-intro{margin-bottom:30px}.about-resume{margin-top:48px;border-top:1px solid var(--line);padding-top:8px;max-width:760px}
.contact-page{max-width:580px}.contact-links{list-style:none;padding:0;margin:0}.contact-links li{margin:0 0 12px}.contact-links a{color:var(--accent)}.contact-links a:hover{text-decoration:underline}
.info-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);gap:48px;align-items:start}.info-resume{margin-top:36px}.info-contact{margin-top:28px;border-top:1px solid var(--line);padding-top:8px}.info-contact h2{margin-top:24px}.info-layout .about-media{display:flex;flex-direction:column;gap:30px}.info-layout .about-media figure:last-child{max-width:none}
@media(max-width:1100px) and (min-width:761px){.info-layout{grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr);gap:28px}}
@media(max-width:760px){.info-layout{display:flex;flex-direction:column;gap:32px}.info-copy{width:100%}.info-layout .about-media{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}.info-layout .about-media figure:last-child{max-width:350px}.info-resume{margin-top:30px}}
@media(min-width:1600px){.site-layout{column-gap:90px;padding-top:60px}.gallery-ready .artwork-image{height:calc(100vh - 120px)}}
@media(max-width:1100px){.site-layout{grid-template-columns:210px minmax(0,1fr);column-gap:35px;padding:35px}.brand{font-size:23px}.thumbnail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-layout{grid-template-columns:1fr}.about-media{display:grid;grid-template-columns:1fr 1fr;align-items:start}.about-media figure:last-child{grid-column:1 / -1;max-width:350px}.gallery-ready .artwork-image{height:calc(100vh - 70px)}.artwork-image img{max-height:calc(100vh - 70px)}}
@media(max-width:760px){.site-layout{display:flex;flex-direction:column;padding:25px 22px 40px;min-height:100svh}.site-header{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:30px}.brand{font-size:23px;margin:0}.menu-toggle{display:block}.navigation{width:100%;padding-top:25px}.js .navigation{display:none}.js .navigation.is-open{display:block}.navigation li{margin-bottom:12px}.navigation a{font-size:14px}.nav-social{margin-top:18px!important}.main{width:100%}.gallery-ready .artwork-image{height:auto;min-height:0}.artwork-image img{max-height:68svh;max-height:68vh;width:auto;max-width:100%;margin:auto}.artwork-meta{order:3;padding-top:23px;max-width:540px;width:100%;font-size:13px}.artwork-meta .artist{display:none}.gallery-controls{margin-top:20px}.gallery-help{display:none}.thumbnail-grid{gap:25px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.thumbnail img{height:190px}.thumbnail span{font-size:11px}.viewing-thumbnails .artwork-meta{order:1;padding:0 0 24px}.viewing-thumbnails .main{order:2}.viewing-thumbnails .artwork-meta .caption-title,.viewing-thumbnails .artwork-meta .caption-description{display:none}.viewing-thumbnails .gallery-controls{margin-top:0}.page-title{margin-bottom:22px}.about-layout{display:flex;flex-direction:column;gap:25px}.about-media{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-media video{max-height:350px}.statement{font-size:14px}.resume{font-size:13px}.image-dialog{padding:50px 20px 28px}.dialog-caption{font-size:11px}.dialog-nav{font-size:24px;width:27px}.dialog-close{right:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:1600px){.home-artwork{height:calc(100vh - 120px)}}
@media(max-width:1100px){.home-artwork{height:calc(100vh - 70px)}}
@media(max-width:760px){.home-artwork{height:auto;min-height:0}.home-artwork img{max-height:68svh}}
@media print{.site-layout{display:block;padding:0}.navigation,.menu-toggle,.artwork-meta,.thumbnail-grid,.gallery-help{display:none!important}.site-header{margin-bottom:30px}.brand{margin-bottom:0}.gallery-ready .artwork{display:block!important;break-inside:avoid;margin-bottom:30px}.gallery-ready .artwork-image{height:auto;min-height:0}.gallery-ready .artwork figcaption{display:block}.artwork-image img{max-height:70vh}.about-layout{display:block}.about-media{display:none}.main{display:block}}

/* Portfolio grids preserve full artwork; Collage uses eight scattered sizes. */
.thumbnail-grid--masonry{--thumbnail-gap:7px;--thumbnail-reference-gap:7px;--thumbnail-scale:1}
.thumbnail-grid--collage{--thumbnail-gap:9.1px;--thumbnail-scale:.91}
.thumbnail-grid--masonry[data-layout-ready]{display:block;position:relative;padding:0}
.thumbnail-grid--masonry[data-layout-ready] .thumbnail{position:absolute;display:block;margin:0;min-width:0}
.thumbnail-grid--masonry[data-layout-ready] .thumbnail img{width:100%;height:auto;max-height:none}
@media(max-width:760px){.thumbnail-grid--masonry{--thumbnail-gap:4.5px;--thumbnail-reference-gap:4.5px}.thumbnail-grid--collage{--thumbnail-gap:5.85px}}
