@font-face{font-family:DM;src:url('assets/fonts/sans.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Caslon;src:url('assets/fonts/serif.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#fff;--ink:#242421;--muted:#797972;--line:#e3e3de;--font-site:Caslon,'Times New Roman',serif;--serif:var(--font-site);--sans:DM,Arial,sans-serif;--margin:clamp(24px,5.4vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:7px}a:hover{color:#77776e}img{display:block;width:100%;height:auto}figure,p{margin:0}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08}button{border:0;border-radius:0;background:transparent;padding:0}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);background:white;border:1px solid;padding:10px 20px;z-index:20}.skip-link:focus{transform:none}.site-header,main,.site-footer{max-width:1600px;margin-inline:auto;padding-inline:var(--margin)}.site-header{display:flex;justify-content:space-between;align-items:center;padding-top:37px;padding-bottom:32px;gap:35px}.wordmark{font:40px/1 var(--serif);letter-spacing:-1.25px;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:33px;font-size:12px;line-height:1.4}.site-header nav a{position:relative;padding-block:5px}.site-header nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform:scaleX(1)}.home-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding:66px 0 43px}.home-intro h1{font-size:43px;letter-spacing:-.7px}.home-intro p{font-size:12px;line-height:1.75;color:#686862;max-width:290px}.section-label{font:10px/1.5 var(--sans);letter-spacing:1.2px;text-transform:uppercase}.selected>.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.selected>.section-label span:last-child{color:var(--muted);letter-spacing:.6px}.project-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:7.2%;margin-top:38px}.project-card{display:block;min-width:0}.project-stage{display:flex;align-items:center;justify-content:center;overflow:hidden}.textile-stage{height:570px;background:#fafaf8;padding:28px 40px}.textile-stage img{height:100%;width:100%;object-fit:contain}.hoki-card{padding-top:96px}.hoki-stage{height:535px}.hoki-stage img{height:100%;object-fit:cover;object-position:50% 42%}.project-stage img{transition:transform .8s cubic-bezier(.2,.5,.3,1)}.project-card:hover .project-stage img{transform:scale(1.025)}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding-top:20px}.project-caption h2{font-size:29px;letter-spacing:-.2px}.project-caption p{font-size:10px;color:var(--muted);margin-top:7px;letter-spacing:.35px}.project-caption>span{font-size:17px}.home-statement{display:grid;grid-template-columns:1fr 1.08fr;gap:7.2%;padding:115px 0 100px;border-bottom:1px solid var(--line)}.home-statement>.section-label{padding-top:8px}.home-statement h2{font-size:45px;letter-spacing:-.5px}.home-statement p{max-width:430px;color:#63635b;font-size:13px;line-height:1.9;margin:25px 0 24px}.underlined{display:inline-block;font-size:11px;border-bottom:1px solid #99998f;padding-bottom:4px;line-height:1.5}.underlined:hover{border-color:currentColor}.home-exhibition{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding:85px 0 100px;align-items:center}.exhibition-image{display:block}.exhibition-image img{aspect-ratio:4/3;object-fit:cover}.exhibition-note h2{font-size:47px;margin:25px 0 20px;letter-spacing:-.6px}.exhibition-note p{font-size:12px;line-height:1.9;color:#686862}.exhibition-note .underlined{margin-top:27px}.site-footer{padding-top:38px;padding-bottom:30px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:36px}.site-footer:before{content:'';position:absolute;left:var(--margin);right:var(--margin);top:0;border-top:1px solid var(--line)}.site-footer>div:first-child{display:flex;flex-direction:column;gap:10px}.footer-name{font:28px/1 var(--serif);letter-spacing:-.4px}.site-footer>div:first-child span{font-size:10px;color:var(--muted)}.site-footer>div:nth-child(2){display:flex;justify-content:flex-end;gap:28px;font-size:11px;align-items:start}.copyright{grid-column:1/-1;font-size:9px;color:#8b8b83;display:flex;gap:4px;align-items:center;padding-top:22px}.copyright>a{margin-left:auto}.page-heading{border-top:1px solid var(--line);padding:54px 0 63px;margin-top:12px}.page-heading h1{font-size:65px;letter-spacing:-1.5px;margin-top:20px}.about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;padding-bottom:95px;align-items:start}.portrait{max-width:360px}.portrait img{filter:url(#portrait-white-balance);height:auto}.portrait figcaption{font-size:10px;color:var(--muted);padding-top:13px}.biography h2{font-size:39px;letter-spacing:-.4px;margin:0 0 31px}.biography p{font-size:13px;line-height:1.95;color:#5c5c55;margin-bottom:20px;max-width:540px}.cv-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;padding:40px 0;border-top:1px solid var(--line)}.cv-row{display:grid;grid-template-columns:90px 1fr;gap:20px;margin-bottom:27px}.cv-row:last-child{margin-bottom:0}.cv-row>span{font-size:10px;color:var(--muted);padding-top:3px}.cv-row h3{font-size:13px;font-weight:400;line-height:1.7}.cv-row p{font-size:11px;color:var(--muted);margin-top:4px}.contact-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;padding:60px 0 100px;border-top:1px solid var(--line);margin-top:20px}.contact-section h2{font-size:34px}.contact-section .email{display:block;font:30px/1.5 var(--serif);margin:23px 0 18px;overflow-wrap:anywhere}.contact-section .underlined{font-size:11px}.exhibition-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:11%;align-items:center;padding-bottom:75px}.exhibition-feature h2{font-size:48px;margin-bottom:25px}.exhibition-feature p{font-size:13px;max-width:260px;line-height:1.8;color:#65655e;margin-bottom:25px}.exhibition-list{padding:0 0 100px}.exhibition-row{display:grid;grid-template-columns:70px 1.4fr 1.4fr 80px;gap:30px;padding:26px 0;border-top:1px solid var(--line);align-items:baseline}.exhibition-row:last-child{border-bottom:1px solid var(--line)}.exhibition-row h2{font:15px/1.6 var(--sans)}.exhibition-row p{font-size:11px;color:var(--muted)}.exhibition-row>span{font-size:10px;color:var(--muted)}.exhibition-row>span:last-child{text-align:right}.project-heading{border-top:1px solid var(--line);padding-top:26px;margin-top:12px}.back-link{font-size:10px;color:var(--muted)}.project-heading h1{font-size:66px;letter-spacing:-1.2px;margin-top:48px}.project-heading>p{font-size:10px;color:var(--muted);margin-top:14px;letter-spacing:.4px}.project-opening{margin:45px 0 75px}.textile-opening{background:#fafaf8;padding:45px}.textile-opening img{height:620px;object-fit:contain}.hoki-opening{max-width:650px;margin:60px auto 80px}.hoki-opening img{max-height:760px;object-fit:cover}.project-essay{display:grid;grid-template-columns:1fr 1.2fr;gap:13%;padding-bottom:80px}.project-essay h2{font-size:42px;letter-spacing:-.5px}.project-essay p{font-size:13px;color:#5c5c55;line-height:1.95;margin-bottom:19px}.artwork-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px 8%;align-items:start}.artwork{min-width:0}.image-button{display:block;width:100%;position:relative;cursor:zoom-in}.image-button>img{width:100%;object-fit:contain}.image-button .zoom-mark{position:absolute;bottom:15px;right:15px;width:29px;height:29px;background:#ffffffed;display:grid;place-items:center;opacity:0;transition:opacity .2s}.image-button:hover .zoom-mark,.image-button:focus-visible .zoom-mark{opacity:1}.artwork figcaption{font-size:10px;line-height:1.7;color:var(--muted);padding-top:13px}.wide-image{grid-column:1/-1;width:85%;margin:auto}.wide-image img{max-height:630px}.artwork-grid>.artwork:not(.wide-image) img{max-height:630px}.material-caption{align-self:center;padding:0 10% 0 5%}.material-caption h2{font-size:39px;margin:26px 0}.material-caption p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:17px}.sample-section{margin-top:90px;padding-top:25px;border-top:1px solid var(--line)}.sample-section>.section-label{display:flex;justify-content:space-between}.sample-section h2{font:inherit}.sample-section>.section-label>span{color:var(--muted)}.sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;padding-top:30px}.sample-grid img{height:300px;object-fit:contain}.project-installation{max-width:800px;margin:95px auto 0}.next-project{display:block;margin-top:100px;padding:35px 0 65px;border-top:1px solid var(--line)}.next-project>.section-label{display:block;color:var(--muted);margin-bottom:17px}.next-project>span:last-child{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font:48px/1.2 var(--serif);letter-spacing:-.7px}.next-project i{font:28px/1 var(--sans);font-style:normal}.hoki-details{max-width:1000px;margin:auto}.hoki-details img{max-height:650px;object-fit:contain}.project-enquiry{text-align:center;margin:85px auto 0;padding:40px 0;border-top:1px solid var(--line);max-width:500px}.project-enquiry p{font-size:12px;color:var(--muted);margin:15px 0}.image-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;background:#fffffff9;color:var(--ink);padding:65px 7vw 30px;margin:0;overflow:auto}.image-viewer::backdrop{background:#fff}.viewer-close{position:fixed;right:35px;top:25px;z-index:3;padding:8px 15px;font-size:12px;background:white}.viewer-image{height:calc(100dvh - 145px);width:100%;object-fit:contain}.viewer-caption{text-align:center;font-size:11px;color:var(--muted);padding:20px 0 0}.image-viewer[open]{animation:viewer-in .2s ease-out}@keyframes viewer-in{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.textile-stage{height:650px}.hoki-stage{height:600px}.home-intro{padding-top:85px}.home-intro h1{font-size:48px}}
@media(max-width:1000px){:root{--margin:36px}.wordmark{font-size:34px}.site-header nav{gap:23px}.home-intro{padding-top:50px}.home-intro h1{font-size:37px}.home-intro p{font-size:11px}.textile-stage{height:470px;padding:25px}.hoki-stage{height:430px}.hoki-card{padding-top:65px}.project-grid{gap:6%}.project-caption h2{font-size:26px}.home-statement{padding-block:80px}.about-layout,.cv-section,.contact-section{gap:9%;grid-template-columns:.8fr 1.2fr}.biography h2{font-size:34px}.project-heading h1{font-size:58px}.project-essay{gap:9%}.project-essay h2{font-size:36px}.exhibition-row{gap:20px;grid-template-columns:45px 1.3fr 1.1fr 65px}.exhibition-row h2{font-size:13px}.textile-opening img{height:520px}}
@media(max-width:650px){:root{--margin:23px}.site-header{padding-top:28px;padding-bottom:22px;display:block}.wordmark{font-size:36px;letter-spacing:-1px}.site-header nav{gap:26px;font-size:11px;margin-top:23px;justify-content:flex-start}.site-header nav a{padding-bottom:4px}.home-intro{padding:36px 0 30px;display:block}.home-intro h1{font-size:35px;letter-spacing:-.5px;max-width:330px}.home-intro p{font-size:11px;margin-top:17px;max-width:290px}.desktop-break{display:none}.section-label{font-size:9px;letter-spacing:1px}.selected>.section-label{padding-top:14px}.project-grid{grid-template-columns:1fr;gap:43px;margin-top:28px}.textile-stage{height:450px;padding:25px 35px}.hoki-card{padding-top:0;width:88%;margin-left:auto}.hoki-stage{height:auto;aspect-ratio:3/4}.project-caption{padding-top:17px}.project-caption h2{font-size:28px}.project-caption p{font-size:10px;margin-top:6px}.home-statement{grid-template-columns:1fr;gap:27px;padding:60px 0}.home-statement h2{font-size:39px}.home-statement p{font-size:12px;max-width:100%;margin:22px 0}.home-exhibition{grid-template-columns:1fr;gap:27px;padding:50px 0 65px}.exhibition-note h2{font-size:39px;margin:18px 0 15px}.exhibition-note .underlined{margin-top:20px}.site-footer{grid-template-columns:1fr;gap:28px;padding-top:30px;padding-bottom:24px}.footer-name{font-size:27px}.site-footer>div:nth-child(2){justify-content:flex-start;font-size:11px;gap:25px;flex-wrap:wrap}.copyright{padding-top:10px;font-size:8px}.page-heading{margin-top:0;padding:30px 0 40px}.page-heading h1{font-size:49px;margin-top:17px;letter-spacing:-1px}.about-layout{grid-template-columns:1fr;gap:38px;padding-bottom:50px}.portrait{max-width:77%}.biography h2{font-size:36px;margin-bottom:25px}.biography p{font-size:12px;line-height:1.95}.cv-section{grid-template-columns:1fr;gap:25px;padding:30px 0}.cv-row{grid-template-columns:72px 1fr;gap:15px;margin-bottom:24px}.cv-row h3{font-size:12px}.cv-row p{font-size:10px}.contact-section{grid-template-columns:1fr;gap:25px;padding:35px 0 60px}.contact-section h2{font-size:32px}.contact-section .email{font-size:30px;margin:20px 0 15px}.exhibition-feature{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.exhibition-feature h2{font-size:39px;margin-bottom:15px}.exhibition-feature p{font-size:12px;max-width:100%;margin-bottom:18px}.exhibition-row{grid-template-columns:40px 1fr;gap:7px 16px;padding:23px 0}.exhibition-row p{grid-column:2;font-size:10px}.exhibition-row>span:last-child{display:none}.exhibition-row h2{font-size:13px}.exhibition-list{padding-bottom:60px}.project-heading{margin-top:0;padding-top:20px}.project-heading h1{font-size:47px;margin-top:32px;letter-spacing:-1px;overflow-wrap:break-word}.project-heading>p{font-size:9px;line-height:1.7;margin-top:13px}.project-opening{margin:30px 0 45px}.textile-opening{padding:25px 12px}.textile-opening img{height:420px}.hoki-opening{max-width:100%;margin-block:35px 45px}.hoki-opening img{max-height:600px;object-fit:contain}.project-essay{grid-template-columns:1fr;gap:26px;padding-bottom:35px}.project-essay h2{font-size:37px}.project-essay p{font-size:12px;margin-bottom:17px}.artwork-grid{grid-template-columns:1fr;gap:35px}.wide-image{grid-column:auto;width:100%}.artwork-grid>.artwork:not(.wide-image) img{max-height:550px}.artwork figcaption{font-size:9px;padding-top:11px}.material-caption{padding:5px 0 0}.material-caption h2{font-size:36px;margin:20px 0}.material-caption p{font-size:12px}.sample-section{margin-top:40px;padding-top:20px}.sample-grid{gap:14px;padding-top:20px}.sample-grid img{height:170px}.sample-section>.section-label>span{display:none}.project-installation{margin-top:50px}.next-project{margin-top:55px;padding:28px 0 45px}.next-project>span:last-child{font-size:35px}.next-project i{font-size:24px}.project-enquiry{margin-top:45px;padding:30px 0}.hoki-details{gap:35px}.viewer-close{right:12px;top:12px}.image-viewer{padding:65px 20px 25px}.viewer-caption{font-size:10px}.image-button .zoom-mark{opacity:1;width:25px;height:25px;bottom:10px;right:10px}.blue-detail{max-width:90%}}
@media(max-width:370px){.wordmark{font-size:32px}.site-header nav{gap:20px}.home-intro h1{font-size:31px}.textile-stage{height:380px;padding:20px}.project-heading h1{font-size:41px}.sample-grid{grid-template-columns:1fr}.sample-grid img{height:280px}.contact-section .email{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Refined catalogue details: original images are framed without changing the work. */
.home-intro p{font-size:12px;line-height:1.8}.project-grid{row-gap:75px}.cyanotype-card{grid-column:1/-1;width:78%;margin:0 auto}.cyanotype-stage{height:auto;display:block}.cyanotype-stage .source-crop{width:100%}.project-caption p{line-height:1.7}.source-crop{display:block;position:relative;overflow:hidden;aspect-ratio:var(--crop-ratio);width:100%;background:#fafaf8}.source-crop>img{position:absolute!important;max-width:none!important;width:var(--source-width)!important;height:auto!important;max-height:none!important;left:var(--source-left);top:var(--source-top);object-fit:initial!important}.project-card:hover .source-crop>img{transform:none}.portrait-paper{padding:25px;background:#faf4e7}.portrait-paper .source-crop{background:transparent}.portrait-paper img{filter:url(#portrait-white-balance)}.education-school{font:24px/1.2 var(--serif)!important;letter-spacing:-.2px}.education-country{display:block;font-size:13px;color:#454540;margin:7px 0 10px}.cv-row .education-country+p{font-size:11px;margin-top:0}.cv-section:not(.publication) .cv-row{margin-bottom:34px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:30px}.social-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;line-height:1.5}.social-link svg{width:17px;height:17px;flex:0 0 17px}.site-footer>div.footer-social{gap:22px;flex-wrap:wrap}.footer-social .social-link{font-size:10px;gap:8px}.footer-social .social-link svg{width:13px;height:13px;flex-basis:13px}.venue-address{display:block;margin-top:16px;font-size:11px;line-height:1.8;font-style:normal}.exhibition-instagram{display:block;font-size:10px;color:var(--muted);margin-top:20px}.exhibition-documentation{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 0 75px}.exhibition-documentation img{height:520px;object-fit:cover}.exhibition-feature>div>p{max-width:360px}.exhibition-feature>div>p em{font-style:normal}.process-frame{display:block;width:100%;aspect-ratio:1;overflow:hidden}.process-frame img{width:100%;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:50% 45%;filter:saturate(.58) brightness(1.025) contrast(.98)}.blue-detail{max-width:100%}.rotation-frame{position:relative;display:block;aspect-ratio:1.5;overflow:hidden}.rotation-frame img{position:absolute!important;width:66.666667%!important;height:auto!important;max-height:none!important;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);object-fit:contain}.sample-grid .artwork{align-self:center}.sample-grid .rotation-frame{margin-block:auto}.hoki-editorial{max-width:490px;margin:85px auto 0}.hoki-archive{margin-top:80px;border-top:1px solid var(--line);padding-top:22px}.hoki-archive>.section-label{display:flex;justify-content:space-between;gap:20px}.hoki-archive h2{font:inherit}.hoki-archive .section-label>span{color:var(--muted)}.variation-strip{display:flex;justify-content:center;gap:12px;margin:27px auto 0;max-width:650px}.variation-strip>.artwork{width:calc((100% - 60px)/6);max-width:92px}.variation-strip img{aspect-ratio:3/4;height:auto;object-fit:cover}.variation-strip figcaption{font-size:8px;padding-top:8px;text-align:center}.variation-strip .zoom-mark{display:none}.project-enquiry{max-width:560px}.project-enquiry p{line-height:1.9}.cyanotype-opening{max-width:1000px;margin:48px auto 80px}.cyanotype-details{row-gap:65px}.cyanotype-details .wide-image{grid-column:auto;width:100%}.cyanotype-process-note{padding:25px 8%;align-self:center}.cyanotype-process-note h2{font-size:40px;margin:25px 0}.cyanotype-process-note p{font-size:12px;line-height:1.9;color:var(--muted)}.viewer-stage{height:calc(100dvh - 145px);display:flex;align-items:center;justify-content:center}.viewer-stage>img{height:100%;width:100%;object-fit:contain}.viewer-stage>.source-crop{width:min(100%,calc((100dvh - 145px)*var(--crop-ratio)))}.viewer-stage>.process-frame{width:min(100%,calc(100dvh - 145px));height:auto}.viewer-stage>.rotation-frame{width:min(100%,calc((100dvh - 145px)*1.5));height:auto}.image-viewer .viewer-caption{max-width:850px;margin:auto}.viewer-stage .source-crop img{filter:none}
@media(max-width:1000px){.exhibition-documentation img{height:420px}.education-school{font-size:22px!important}.portrait-paper{padding:20px}.site-footer>div.footer-social{gap:15px}.hoki-editorial{max-width:450px}}
@media(max-width:650px){.home-intro p{font-size:11px}.project-grid{gap:43px}.cyanotype-card{grid-column:auto;width:100%;margin:0}.project-caption p{font-size:9px}.portrait-paper{padding:20px}.education-school{font-size:23px!important}.education-country{font-size:12px;margin-top:7px}.cv-section:not(.publication) .cv-row{margin-bottom:30px}.contact-links{gap:21px;margin-top:28px}.social-link{font-size:12px}.site-footer>div.footer-social{gap:15px 22px}.footer-social .social-link{font-size:10px}.exhibition-documentation{grid-template-columns:1fr 1fr;gap:16px;padding-bottom:45px}.exhibition-documentation img{height:auto;aspect-ratio:3/4;object-fit:cover}.exhibition-documentation figcaption{font-size:8px}.exhibition-row p{line-height:1.8}.venue-address{font-size:10px}.process-frame{aspect-ratio:1}.hoki-editorial{width:85%;margin-top:45px}.hoki-archive{margin-top:45px;padding-top:18px}.hoki-archive .section-label{font-size:8px}.variation-strip{gap:7px;margin-top:22px}.variation-strip>.artwork{width:calc((100% - 35px)/6)}.variation-strip figcaption{font-size:7px;letter-spacing:-.1px}.cyanotype-opening{margin:32px auto 45px}.cyanotype-details{gap:35px}.cyanotype-process-note{padding:5px 0}.cyanotype-process-note h2{font-size:36px;margin:20px 0}.viewer-stage{height:calc(100dvh - 155px)}.viewer-stage>.source-crop{width:min(100%,calc((100dvh - 155px)*var(--crop-ratio)))}.viewer-stage>.process-frame{width:min(100%,calc(100dvh - 155px))}}
/* November refinements: complete portraits, restrained source-image sizing. */
.home-intro{align-items:flex-end;gap:45px}.home-intro h1{max-width:720px;font-size:42px;line-height:1.12}.home-intro p{min-width:230px}.cyanotype-card{grid-column:auto;width:100%;margin:0;padding-top:96px}.cyanotype-stage{max-width:100%;margin:auto}.hoki-card{grid-column:1/-1;width:43%;margin-left:auto;padding-top:0}.hoki-stage{height:535px}.cyanotype-opening{max-width:650px;margin-inline:auto}.cyanotype-details{max-width:900px;margin-inline:auto;gap:65px}.cyanotype-details>.artwork{width:100%;max-width:420px;margin-inline:auto}.cyanotype-details .wide-image{max-width:440px}.source-crop img{image-rendering:auto}.portrait .full-portrait{width:100%;height:auto;max-height:none;object-fit:contain;filter:url(#portrait-white-balance)}.home-about{display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;align-items:center;padding:100px 0 85px;border-bottom:1px solid var(--line)}.home-about .portrait{width:100%;max-width:300px}.home-about-copy h2{font-size:43px;margin:24px 0}.home-about-copy p{font-size:13px;line-height:1.95;color:#606059;max-width:490px;margin:0 0 18px}.home-about-copy .underlined{margin-top:7px}.education-school,.education-country{font:14px/1.7 var(--sans)!important;letter-spacing:0;color:var(--ink);margin:0}.education-country{margin:2px 0 8px}.cv-row .education-country+p{font-size:12px}.publication .cv-row h3{font-size:12px}.publication .cv-row p{font-size:11px;line-height:1.85;margin-top:9px}.exhibition-documentation{max-width:650px;margin-inline:auto;gap:35px}.exhibition-documentation .artwork{max-width:300px}.exhibition-documentation img{height:auto;aspect-ratio:auto;object-fit:contain}.blue-detail{max-width:380px!important;width:100%;margin:auto}.process-frame{aspect-ratio:1}.process-frame img{filter:none;object-position:50% 45%}.viewer-stage>.source-crop{max-width:var(--source-limit,700px)}.viewer-stage>.process-frame{max-width:600px}
@media(max-width:1000px){.home-intro h1{font-size:37px}.home-intro p{min-width:185px;font-size:10px}.cyanotype-card{padding-top:65px}.hoki-card{width:46%}.hoki-stage{height:440px}.home-about{gap:9%;padding-block:75px}.home-about-copy h2{font-size:37px}}
@media(max-width:650px){.home-intro{display:block}.home-intro h1{font-size:34px;max-width:340px}.home-intro p{margin-top:18px;font-size:11px}.cyanotype-card{padding-top:0;grid-column:auto;width:100%}.hoki-card{grid-column:auto;width:88%;margin-left:auto;padding:0}.hoki-stage{height:auto}.home-about{grid-template-columns:1fr;gap:30px;padding:55px 0}.home-about .portrait{max-width:230px}.home-about-copy h2{font-size:37px;margin:20px 0}.home-about-copy p{font-size:12px}.education-school,.education-country{font-size:13px!important}.cv-row .education-country+p{font-size:11px}.exhibition-documentation{gap:20px;max-width:460px}.exhibition-documentation img{height:auto;aspect-ratio:auto}.cyanotype-opening{max-width:540px}.cyanotype-details{gap:35px}.cyanotype-details>.artwork{max-width:380px}.cyanotype-process-note{max-width:380px;margin:auto}.blue-detail{max-width:320px!important}}

/* Shared typography and cover system. These rules apply identically to all works. */
body{font-synthesis:none}
body{font-size:16px}
.site-header nav{font-size:15px}
.home-intro p,.home-about-copy p,.biography p,.project-essay p,.exhibition-feature p{font-size:16px;line-height:1.75}
.section-label,.project-heading>p,.back-link,.project-caption p,.artwork figcaption,.portrait figcaption,.cv-row>span,.cv-row p,.publication .cv-row p,.venue-address,.exhibition-instagram,.exhibition-row p,.exhibition-row>span,.underlined,.viewer-caption{font-size:13px}
.education-school,.education-country{font-size:16px!important;line-height:1.5!important}
.cv-row .education-country+p,.publication .cv-row h3{font-size:14px}
.social-link{font-size:15px}.footer-social .social-link{font-size:13px}
.site-footer>div:first-child span,.copyright{font-size:12px}
.project-enquiry p,.material-caption p,.cyanotype-process-note p,.exhibition-note p{font-size:15px;line-height:1.75}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 32px;align-items:start}
.project-card,.textile-card,.cyanotype-card,.hoki-card{grid-column:auto;width:100%;max-width:none;margin:0;padding:0}
.project-stage,.textile-stage,.cyanotype-stage,.hoki-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;height:auto;aspect-ratio:4/3;margin:0;padding:18px;background:#fafaf8;overflow:hidden}
.project-stage>img{width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.project-stage>.source-crop{width:100%;max-width:100%;flex-shrink:1}
.project-caption{padding-top:18px;gap:12px;min-height:92px}
.project-caption h2{font-size:27px;line-height:1.15}
.project-caption p{font-size:12px;line-height:1.6;letter-spacing:0;margin-top:8px}
.project-card:hover .project-stage>img{transform:none}
.project-opening,.textile-opening,.cyanotype-opening,.hoki-opening{width:100%;max-width:650px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;margin:48px auto 75px;padding:22px;background:#fafaf8;overflow:hidden}
.project-opening>.artwork,.cyanotype-opening>.artwork{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}
.project-opening .image-button,.cyanotype-opening .image-button{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;flex:1}
.project-opening .image-button>img,.cyanotype-opening .image-button>img{width:100%;height:100%;max-height:100%;object-fit:contain}
.project-opening .source-crop,.cyanotype-opening .source-crop{width:100%;max-width:100%}
.project-opening figcaption,.cyanotype-opening figcaption{flex:0 0 auto;font-size:12px;padding-top:10px}
.variation-strip figcaption{font-size:10px}
@media(max-width:1000px){
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}
 .project-card,.cyanotype-card,.hoki-card{width:100%;grid-column:auto;margin:0;padding:0}
 .project-stage,.textile-stage,.cyanotype-stage,.hoki-stage{height:auto;aspect-ratio:4/3;padding:18px}
 .education-school,.education-country{font-size:16px!important}
}
@media(max-width:650px){
 .site-header nav{font-size:14px}
 .home-intro p,.home-about-copy p,.biography p,.project-essay p,.exhibition-feature p{font-size:15px}
 .section-label,.project-heading>p,.back-link,.artwork figcaption,.portrait figcaption,.cv-row>span,.cv-row p,.publication .cv-row p,.venue-address,.exhibition-instagram,.exhibition-row p,.exhibition-row>span,.underlined{font-size:12px}
 .education-school,.education-country{font-size:15px!important}
 .cv-row .education-country+p,.publication .cv-row h3{font-size:13px}
 .project-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .project-card,.cyanotype-card,.hoki-card{width:100%;grid-column:auto;margin:0;padding:0}
 .project-stage,.textile-stage,.cyanotype-stage,.hoki-stage{height:auto;aspect-ratio:4/3;padding:16px}
 .project-caption{min-height:0;padding-top:16px}.project-caption h2{font-size:27px}.project-caption p{font-size:12px}
 .project-opening,.textile-opening,.cyanotype-opening,.hoki-opening{width:100%;max-width:650px;height:auto;aspect-ratio:4/3;margin:32px auto 45px;padding:14px}
 .project-opening .image-button>img,.cyanotype-opening .image-button>img{height:100%;max-height:100%;object-fit:contain}
 .project-opening figcaption,.cyanotype-opening figcaption{font-size:11px;padding-top:8px}
 .site-footer>div:first-child span,.copyright{font-size:11px}.footer-social .social-link{font-size:12px}
 .variation-strip figcaption{font-size:9px}
}

/* Keep the existing photographic crop inside the shared opening, without enlarging it. */
.project-stage>.source-crop{width:92%}.project-opening .source-crop,.cyanotype-opening .source-crop{width:94%}
.opening-caption{max-width:650px;margin:-60px auto 70px;font-size:12px;color:var(--muted)}
@media(max-width:650px){.opening-caption{margin:-32px auto 40px;font-size:11px}}
/* Edge-to-edge artwork covers, at every viewport size. */
.project-stage,.textile-stage,.cyanotype-stage,.hoki-stage,
.project-opening,.textile-opening,.cyanotype-opening,.hoki-opening{
 padding:0!important;border:0!important;border-radius:0;outline:0;box-shadow:none;background:transparent;
}
.project-stage{aspect-ratio:4/3;overflow:hidden}
.project-stage>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.project-stage>.source-crop,
.project-opening .source-crop,.cyanotype-opening .source-crop{width:100%;max-width:none;background:transparent}
.project-stage>.source-crop{flex:0 0 100%}
.project-stage>.source-crop>img{transform:scale(1.01);transform-origin:center}
.project-card:hover .project-stage>img{transform:none}
.project-card:hover .project-stage>.source-crop>img{transform:scale(1.01)}
/* Restore Valued Imperfection's quiet gallery surround only. */
.textile-stage{padding:18px!important;background:#fafaf8}
.textile-stage>img{object-fit:contain;object-position:center}
.textile-opening{padding:22px!important;background:#fafaf8}
@media(max-width:650px){.textile-stage{padding:16px!important}.textile-opening{padding:14px!important}}

/* Restore the original editorial pairing and the first work's portrait presentation. */
body{font-family:var(--sans);font-size:14px}
h1,h2,.wordmark,.footer-name{font-family:var(--serif)}
.site-header nav{font-size:13px}
.home-intro p,.home-about-copy p,.biography p,.project-essay p,.exhibition-feature p{font-size:14px;line-height:1.85}
.section-label,.project-heading>p,.back-link,.project-caption p,.artwork figcaption,.portrait figcaption,.cv-row>span,.cv-row p,.publication .cv-row p,.venue-address,.exhibition-instagram,.exhibition-row p,.exhibition-row>span,.underlined,.viewer-caption{font-size:11px}
.education-school,.education-country{font-size:14px!important}.cv-row .education-country+p,.publication .cv-row h3{font-size:12px}
.social-link{font-size:13px}.footer-social .social-link{font-size:11px}
.site-footer>div:first-child span,.copyright{font-size:10px}
.project-enquiry p,.material-caption p,.cyanotype-process-note p,.exhibition-note p{font-size:13px}
.textile-stage{aspect-ratio:4/5;padding:12px!important;background:#fafaf8}
.textile-stage>img{object-fit:contain;object-position:center;transform:scale(1.16)}
.project-card:hover .textile-stage>img{transform:scale(1.16)}
@media(max-width:650px){
 .site-header nav{font-size:12px}
 .home-intro p,.home-about-copy p,.biography p,.project-essay p,.exhibition-feature p{font-size:13px}
 .section-label,.project-heading>p,.back-link,.artwork figcaption,.portrait figcaption,.cv-row>span,.cv-row p,.publication .cv-row p,.venue-address,.exhibition-instagram,.exhibition-row p,.exhibition-row>span,.underlined{font-size:10px}
 .education-school,.education-country{font-size:13px!important}.cv-row .education-country+p,.publication .cv-row h3{font-size:11px}
 .textile-stage{aspect-ratio:4/5;padding:10px!important}
 .footer-social .social-link{font-size:10px}
}

/* First cover: identical outer dimensions, complete textile with breathing room. */
.textile-stage{aspect-ratio:4/3;height:auto;padding:12px!important}
.textile-stage>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(1.12)}
.project-card:hover .textile-stage>img{transform:scale(1.12)}
@media(max-width:650px){.textile-stage{aspect-ratio:4/3;height:auto;padding:10px!important}}
/* Quiet catalogue: concise first reading, optional deeper notes. */
.home-intro{padding-top:45px;padding-bottom:32px}.home-intro p{font-size:11px;min-width:0;white-space:nowrap;color:var(--muted)}
.home-intro h1{font-size:clamp(30px,3.2vw,42px);max-width:850px}.project-caption p{letter-spacing:.2px}
.home-about-copy p{max-width:420px}.home-about-copy h2{margin:22px 0}.home-about-copy .underlined{margin-top:12px}
.concise-essay{grid-template-columns:.65fr 1.35fr;gap:10%;padding-bottom:65px;align-items:baseline}
.concise-essay>h2{font:10px/1.6 var(--sans);letter-spacing:1px;text-transform:uppercase}
.concise-essay>p{max-width:600px;font:14px/1.95 var(--sans);color:#5c5c55;margin:0}
.catalogue-note{max-width:650px;margin:65px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalogue-note>summary{font:11px/1.5 var(--sans);padding:19px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none}
.catalogue-note>summary::-webkit-details-marker{display:none}.catalogue-note>summary:after{content:'+';font-size:17px;font-weight:400}
.catalogue-note[open]>summary:after{content:'−'}.catalogue-note>summary:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
.catalogue-note-body{padding:6px 0 22px;max-width:600px}.catalogue-note-body p{font:13px/1.9 var(--sans);color:#65655e;margin:0 0 16px}.catalogue-note-body p:last-child{margin:0}
.material-caption>.section-label,.cyanotype-process-note>.section-label{display:block;margin-bottom:20px}
.sample-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;max-width:900px;margin-inline:auto}
.sample-grid>.artwork{display:flex;flex-direction:column;align-self:stretch;min-width:0;margin:0}
.sample-grid .image-button{display:block;width:100%;height:auto;aspect-ratio:1;overflow:hidden}
.sample-grid .sample-crop{width:100%;height:auto;aspect-ratio:1;background:transparent}
.sample-grid .sample-crop img{max-height:none!important}
.sample-rotated{transform:rotate(90deg)}
.sample-grid figcaption{padding-top:15px;text-align:center;font-size:10px;line-height:1.6}
.sample-grid .zoom-mark{display:none}
.viewer-stage>.sample-crop{width:min(560px,100%,calc(100dvh - 155px));max-width:560px;background:transparent}
@media(max-width:650px){
 .home-intro{padding:28px 0 25px}.home-intro h1{font-size:31px;max-width:340px}.home-intro p{font-size:10px;margin-top:14px}
 .concise-essay{grid-template-columns:1fr;gap:16px;padding-bottom:40px}.concise-essay>h2{font-size:9px}.concise-essay>p{font-size:13px;line-height:1.9}
 .catalogue-note{margin-top:40px}.catalogue-note>summary{padding:17px 0;font-size:11px}.catalogue-note-body p{font-size:12px}
 .sample-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding-top:24px}
 .sample-grid figcaption{font-size:9px;padding-top:12px}
 .home-about-copy p{font-size:13px}
}

/* Give each material study its own breathing space without changing alignment. */
.sample-grid{max-width:1000px;column-gap:clamp(28px,6vw,78px)}
@media(max-width:650px){.sample-grid{column-gap:clamp(20px,6vw,32px)}}

/* More separation between the three studies, with equal columns retained. */
.sample-grid{max-width:1120px;column-gap:clamp(48px,10vw,160px)}
@media(max-width:650px){.sample-grid{column-gap:clamp(28px,8vw,40px)}}
/* Four selected projects, in an even two-column catalogue. */
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 7%}
.product-stage{padding:0!important;background:transparent}
.product-stage>.source-crop{width:55%;flex:0 0 55%;background:transparent}
.product-opening{background:transparent;padding:0!important}
.product-opening .source-crop{width:92%;background:transparent}
.product-gallery{max-width:1050px;margin-inline:auto;align-items:center;gap:8%}
.product-gallery .source-crop{background:transparent}
.product-interface{max-width:850px;margin:85px auto 0;padding-top:24px;border-top:1px solid var(--line)}
.product-interface>.section-label{display:flex;justify-content:space-between;gap:20px}.product-interface h2{font:inherit}.product-interface .section-label>span{color:var(--muted)}
.interface-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding-top:35px;align-items:start}
.interface-grid .artwork{max-width:180px;margin-inline:auto;width:100%}.interface-grid img{width:100%;height:auto;object-fit:contain}.interface-grid figcaption{font-size:10px;text-align:center;padding-top:17px}
.product-development{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:center;margin:90px auto 0;max-width:1000px}
.product-development h2{font-size:37px;margin:23px 0}.product-development p{font-size:13px;line-height:1.9;color:#65655e;max-width:360px}.product-development-image{max-width:420px}
@media(max-width:650px){
 .project-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .product-gallery{grid-template-columns:1fr;gap:35px}.product-gallery .artwork{width:100%;max-width:420px;margin-inline:auto}
 .product-interface{margin-top:45px;padding-top:20px}.product-interface .section-label{font-size:9px}
 .interface-grid{gap:18px;padding-top:26px}.interface-grid figcaption{font-size:8px;padding-top:13px}
 .product-development{grid-template-columns:1fr;gap:30px;margin-top:50px}.product-development-image{max-width:330px}.product-development h2{font-size:34px;margin:18px 0}.product-development p{font-size:12px}
}

/* Return the selected-work index to the three-project catalogue. */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 32px}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}}
@media(max-width:650px){.project-grid{grid-template-columns:minmax(0,1fr);gap:36px}}

/* The original photograph appears as a small, quiet point of reference. */
.photographic-study{width:100%;max-width:480px;margin:80px auto 0;padding:0}
.photographic-study .image-button>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.photographic-study figcaption{font-size:10px;line-height:1.6;color:var(--muted);padding-top:13px}
@media(max-width:650px){.photographic-study{width:85%;max-width:480px;margin-top:45px}.photographic-study figcaption{font-size:9px}}

.photographic-study{max-width:340px}
@media(max-width:650px){.photographic-study{width:70%;max-width:340px}}

/* Mobile-safe Only Fresh Today images: native dimensions, no positioned crop wrappers. */
.cyanotype-stage>img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;transform:none}
.cyanotype-opening .image-button>img{position:static;display:block;width:100%;height:100%;object-fit:contain}
.cyanotype-details .image-button>img{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain}
