@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}:root{--paper: #faf9f6;--paper-raised: #ffffff;--ink: #1c1a17;--ink-soft: #4c4842;--ink-faint: #8a857c;--line: #e3e0d8;--accent: #9a3324;--shadow-paper: 0 1px 2px rgba(28, 26, 23, .08), 0 6px 18px rgba(28, 26, 23, .09);--shadow-paper-lift: 0 2px 4px rgba(28, 26, 23, .1), 0 18px 44px rgba(28, 26, 23, .16);--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--body: Georgia, "Iowan Old Style", "Palatino Linotype", serif}[data-theme=dark]{--paper: #171410;--paper-raised: #201c17;--ink: #ece7dd;--ink-soft: #b8b0a2;--ink-faint: #7d766a;--line: #322d26;--accent: #c65b48;--shadow-paper: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 22px rgba(0, 0, 0, .55);--shadow-paper-lift: 0 2px 4px rgba(0, 0, 0, .6), 0 20px 50px rgba(0, 0, 0, .7)}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.38 0 0 0 0 0.33 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}body{position:relative}main,header,footer{position:relative;z-index:2}img{max-width:100%;height:auto;display:block}a{color:inherit}::selection{background:var(--accent);color:var(--paper)}h1,h2,h3,.display{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:.01em}.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}.site-header{display:flex;align-items:baseline;gap:2.2rem;padding:1.6rem clamp(1.2rem,4vw,3rem);max-width:1200px;margin:0 auto}.site-title{font-family:var(--serif);font-size:1.8rem;font-weight:500;text-decoration:none;letter-spacing:.02em}.site-nav{display:flex;gap:1.4rem;flex:1}.site-nav a{font-family:var(--serif);font-size:1.08rem;text-decoration:none;color:var(--ink-soft);padding-bottom:2px;border-bottom:1px solid transparent}.site-nav a:hover{color:var(--ink)}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.header-tools{display:flex;align-items:center;gap:.2rem;margin-left:auto}.icon-btn{background:none;border:none;cursor:pointer;color:var(--ink-soft);width:44px;height:44px;margin:-8px 0;display:inline-grid;place-items:center;border-radius:50%}.icon-btn:hover{color:var(--ink)}@media(max-width:940px){.site-header{flex-wrap:wrap;row-gap:.2rem;padding-bottom:1rem}.site-nav{order:3;flex-basis:100%;flex-wrap:wrap;row-gap:.1rem}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(pointer:coarse){.chip{padding:.55rem 1.1rem}.flip-controls button{width:2.75rem;height:2.75rem}}.reg-divider{display:flex;align-items:center;gap:1rem;color:var(--ink-faint);margin:3rem auto;max-width:1200px;padding:0 clamp(1.2rem,4vw,3rem)}.reg-divider:before,.reg-divider:after{content:"";flex:1;border-top:1px solid var(--line)}.hero{min-height:calc(100svh - 5.4rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:1rem 0 3rem}.hero-text{position:relative;z-index:3}.hero h1{font-size:clamp(2.6rem,6.2vw,5.2rem);font-weight:400;text-wrap:balance}.hero h1 em{font-style:italic}.hero .lede{margin-top:1.4rem;color:var(--ink-soft);max-width:30em;font-size:1.02rem}.hero .hero-meta{margin-top:2.2rem;display:flex;align-items:center;gap:.9rem;color:var(--ink-faint);font-size:.84rem;letter-spacing:.14em;text-transform:uppercase}.hero-art{position:relative}.hero-art .sheet-link{display:block;background:var(--paper-raised);padding:clamp(.8rem,1.6vw,1.3rem);box-shadow:var(--shadow-paper-lift);transform:rotate(1.2deg);transition:transform .5s cubic-bezier(.2,.6,.2,1)}.hero-art .sheet-link:hover{transform:rotate(0) translateY(-4px)}.hero-art figcaption{margin-top:.8rem;text-align:right;font-family:var(--serif);font-style:italic;color:var(--ink-faint);font-size:.98rem}.scroll-cue{position:absolute;bottom:1.6rem;left:0;color:var(--ink-faint);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;animation:cue 2.6s ease-in-out infinite}@keyframes cue{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:0;padding-top:1.5rem}.scroll-cue{display:none}}.index{padding:clamp(3rem,8vh,6rem) 0 5rem;position:relative}.index-kicker{color:var(--ink-faint);font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.6rem;display:flex;align-items:center;gap:.8rem}.index-row{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;align-items:baseline;gap:1.2rem;padding:clamp(.9rem,2vh,1.5rem) 0;border-top:1px solid var(--line);text-decoration:none;position:relative}.index-row:last-of-type{border-bottom:1px solid var(--line)}.index-row .num{font-family:var(--body);font-size:.85rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.index-row h2{font-size:clamp(1.9rem,5vw,3.6rem);font-weight:400;line-height:1.05;transition:transform .4s cubic-bezier(.2,.6,.2,1),font-style 0s}.index-row .meta{color:var(--ink-faint);font-size:.85rem;font-family:var(--body);transition:color .3s}@media(pointer:fine){.index-row h2{will-change:transform}.index-row:hover h2{transform:translate(1.2rem);font-style:italic}.index-row:hover .meta{color:var(--accent)}}.index-preview{position:fixed;top:0;left:0;z-index:10;width:min(340px,30vw);pointer-events:none;opacity:0;scale:.94;transition:opacity .35s ease,scale .35s ease;background:var(--paper-raised);padding:.6rem;box-shadow:var(--shadow-paper-lift)}.index-preview.show{opacity:1;scale:1}.index-preview img{aspect-ratio:4 / 3;object-fit:cover;width:100%}@media(pointer:coarse),(max-width:860px){.index-preview{display:none}}.reveal{opacity:0;transform:translateY(26px) rotate(.4deg);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:none}@media print{.reveal{opacity:1!important;transform:none!important}}.collection-head{padding:clamp(1.5rem,5vh,4rem) 0 .5rem}.collection-head .kicker{color:var(--ink-faint);font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}.collection-head h1{font-size:clamp(2.6rem,7vw,5rem)}.collection-head .intro{margin-top:1.2rem;color:var(--ink-soft);font-size:1.05rem;max-width:44em}.artwork.feature{grid-template-columns:1fr!important}.artwork.feature .artwork-media{order:0!important}.artwork.feature .artwork-caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 2.2rem;padding-top:1.1rem}.artwork.feature .artwork-caption .inscription{margin-top:0;margin-left:auto}.artwork.feature .artwork-actions{width:100%;margin-top:.6rem}.work-list{display:flex;flex-direction:column;gap:clamp(3.5rem,9vh,7rem);padding:3rem 0 5rem}.artwork{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:end}.artwork:nth-child(2n){grid-template-columns:minmax(220px,1fr) minmax(0,3fr)}.artwork:nth-child(2n) .artwork-media{order:2}.artwork-media{position:relative}.artwork-media .sheet{background:var(--paper-raised);box-shadow:var(--shadow-paper);transition:box-shadow .4s ease;cursor:zoom-in;border:none;padding:0;display:block;width:100%}.artwork-media .sheet:hover{box-shadow:var(--shadow-paper-lift)}.artwork-caption{padding-bottom:.4rem}.artwork-caption h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-style:italic;font-weight:400}.artwork-caption .medium{margin-top:.7rem;color:var(--ink-soft);font-size:.95rem}.artwork-caption .size{margin-top:.25rem;color:var(--ink-faint);font-size:.9rem}.artwork-caption .inscription{font-family:var(--serif);font-style:italic;color:var(--ink-faint);margin-top:1.1rem;font-size:1rem}.artwork-actions{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.6rem}.chip{font-family:var(--body);font-size:.82rem;border:1px solid var(--line);border-radius:2rem;background:var(--paper-raised);color:var(--ink-soft);padding:.32rem .85rem;cursor:pointer;text-decoration:none;transition:border-color .2s,color .2s}.chip:hover{border-color:var(--ink-soft);color:var(--ink)}.chip.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.chip.accent:hover{border-color:var(--accent)}@media(max-width:760px){.artwork,.artwork:nth-child(2n){grid-template-columns:1fr;align-items:start}.artwork:nth-child(2n) .artwork-media{order:0}}.collage-wall{columns:3 300px;column-gap:1.6rem;padding:2.5rem 0 4rem}.collage-wall .piece{break-inside:avoid;margin-bottom:1.6rem;background:var(--paper-raised);padding:.7rem;box-shadow:var(--shadow-paper);border:none;display:block;width:100%;cursor:zoom-in;transition:transform .3s ease,box-shadow .3s ease}.collage-wall .piece:hover{transform:translateY(-3px) rotate(0)!important;box-shadow:var(--shadow-paper-lift)}.collage-wall .piece:nth-child(3n+1){transform:rotate(-.7deg)}.collage-wall .piece:nth-child(3n+2){transform:rotate(.5deg)}.collage-wall .piece:nth-child(4n+3){transform:rotate(.9deg)}.flipbook{position:relative;perspective:1600px}.flipbook .leaf{display:none}.flipbook .leaf.current{display:block}.flipbook .leaf.turning{animation:leafturn .5s ease;transform-origin:left center}@keyframes leafturn{0%{transform:rotateY(-70deg);opacity:.2}to{transform:rotateY(0);opacity:1}}.flip-controls{display:flex;align-items:center;gap:.8rem;margin-top:.9rem;color:var(--ink-faint);font-size:.85rem}.flip-controls button{background:var(--paper-raised);border:1px solid var(--line);border-radius:50%;width:2.1rem;height:2.1rem;cursor:pointer;color:var(--ink-soft);font-family:var(--body);font-size:1rem;line-height:1}.flip-controls button:hover{border-color:var(--ink-soft);color:var(--ink)}.pager{display:flex;justify-content:space-between;gap:1rem;padding:0 0 4.5rem;font-family:var(--serif)}.pager a{text-decoration:none;color:var(--ink-soft);font-size:clamp(1.2rem,2.6vw,1.8rem)}.pager a:hover{color:var(--ink);font-style:italic}.pager .dir{display:block;font-family:var(--body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.25rem;font-style:normal}.pager a:last-child{text-align:right}[data-theme=dark] body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 90% 70% at 50% 22%,transparent 55%,rgba(0,0,0,.32) 100%)}.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem);padding:clamp(2rem,6vh,4.5rem) 0 4.5rem;align-items:start}.about-grid .display{font-size:clamp(1.7rem,3.4vw,2.6rem)}.about-grid .bio{margin-top:1.6rem;color:var(--ink-soft)}.about-grid .bio p+p{margin-top:1rem}.about-grid .portrait{background:var(--paper-raised);padding:.9rem;box-shadow:var(--shadow-paper)}@media(max-width:760px){.about-grid{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);padding:clamp(2rem,6vh,4.5rem) 0 4.5rem}@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}.contact-grid h1{font-size:clamp(1.9rem,4vw,2.8rem);max-width:14em}.contact-grid .aside{color:var(--ink-soft);margin-top:1.2rem;max-width:34em}form.enquiry{display:flex;flex-direction:column;gap:1.1rem}form.enquiry label{font-size:.85rem;color:var(--ink-soft);display:block;margin-bottom:.3rem}form.enquiry input,form.enquiry textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line);padding:.65rem .8rem;border-radius:3px}form.enquiry input:focus,form.enquiry textarea:focus{outline:2px solid var(--ink-soft);outline-offset:1px}form.enquiry button{align-self:flex-start;font-family:var(--serif);font-size:1.1rem;background:var(--ink);color:var(--paper);border:none;padding:.6rem 2.2rem;border-radius:2rem;cursor:pointer}form.enquiry button:hover{background:var(--ink-soft)}.site-footer{border-top:1px solid var(--line);margin-top:2rem;padding:2.2rem clamp(1.2rem,4vw,3rem) 3rem}.site-footer .inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;color:var(--ink-faint);font-size:.88rem}.site-footer a{color:var(--ink-soft)}.viewer{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);display:none}.viewer.open{display:block}.viewer .osd{position:absolute;inset:0}.viewer .viewer-bar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:1.1rem clamp(1.2rem,4vw,3rem)}.viewer .viewer-title{font-family:var(--serif);font-style:italic;font-size:1.25rem;flex:1 1 100%}@media(min-width:700px){.viewer .viewer-title{flex:1 1 auto}}#viewer-zoom-in,#viewer-zoom-out{min-width:2.2rem;font-size:1rem;line-height:1}.viewer .viewer-hint{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);z-index:2;color:var(--ink-faint);font-size:.82rem;background:var(--paper-raised);border:1px solid var(--line);border-radius:2rem;padding:.3rem 1rem;white-space:nowrap}@media not (prefers-reduced-motion:reduce){::view-transition-old(root){animation:vt-out .3s ease both}::view-transition-new(root){animation:vt-ink .55s cubic-bezier(.3,.2,.2,1) both;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='black' d='M100 6C137 2 172 26 186 62c14 35 6 77-18 104-25 28-66 34-102 24C29 180 6 148 8 112 10 74 33 38 66 20 77 14 88 8 100 6Z'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-position:center}@keyframes vt-ink{0%{mask-size:0% 0%}to{mask-size:320% 320%}}@keyframes vt-out{to{opacity:.35}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--paper-raised);padding:.6rem 1rem}.skip-link:focus{left:0}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
