@font-face{font-family:Nohemi;src:url('fonts/Nohemi-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Nohemi;src:url('fonts/Nohemi-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Nohemi;src:url('fonts/Nohemi-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url('fonts/Raleway-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}
:root{--background:#ffffff;--foreground:#111111;font-family:Nohemi,Arial,Helvetica,sans-serif;background:var(--background);color:var(--foreground)}
body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}a:hover,nav button:hover{opacity:.5}a,button{transition:opacity .2s}a:focus-visible,button:focus-visible{outline:1px solid currentColor;outline-offset:6px}[hidden]{display:none!important}
header{height:84px;padding:24px 28px;display:flex;align-items:flex-start;justify-content:space-between;position:sticky;top:0;z-index:20;background:var(--background)}
.name{font-size:21px;font-weight:500;letter-spacing:-.5px;line-height:1}
nav{display:flex;gap:32px;align-items:center;padding-top:4px;font-size:14px;font-weight:400;line-height:1.4}nav button{font:inherit}nav [aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
main,#gallery-view{position:relative}
.viewer{height:calc(100svh - 147px);min-height:280px;display:grid;grid-template-columns:minmax(60px,1fr) minmax(0,920px) minmax(60px,1fr);align-items:center;padding:32px 20px 16px}
.viewer figure{margin:0;display:flex;align-items:center;justify-content:center;height:100%;min-height:0;overflow:hidden}.viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transition:opacity .18s}.viewer img.loading{opacity:0}
.arrow{width:58px;height:60px;display:grid;place-items:center;justify-self:center;opacity:.28}.arrow:hover{opacity:1}.arrow svg{width:32px;fill:none;stroke:currentColor;stroke-width:.9}
.viewer-foot{height:63px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 30px;color:#666;font-size:11px;letter-spacing:.4px}#counter{font-variant-numeric:tabular-nums;letter-spacing:1.8px}#overview{justify-self:end;padding:12px;margin-right:-12px;color:#777}#overview svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:.8}
#contact-sheet:not([hidden]){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:45px;padding:50px 8vw 90px}#contact-sheet button{height:170px;display:flex;justify-content:center;align-items:center}#contact-sheet img{max-width:100%;max-height:100%;display:block}#contact-sheet button[aria-current=true]{outline:1px solid #ccc;outline-offset:12px}
#image-error{position:absolute;top:45%;left:0;width:100%;text-align:center;font-size:12px}#retry{text-decoration:underline;text-underline-offset:3px;margin-left:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.content-page{width:min(960px,calc(100% - 96px));margin:0 auto;padding:54px 0 90px;min-height:calc(100svh - 84px)}.content-page:focus{outline:none}
h1{font-size:36px;font-weight:400;letter-spacing:-1px;margin:0 0 30px}.content-page p{font-size:16px;line-height:1.8;margin:0}.content-page .secondary{font-size:14px;color:#777;margin-top:20px}.inquiry{display:inline-block;font-size:14px;margin-top:35px;text-decoration:underline;text-underline-offset:5px}
.about-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:80px;align-items:center}.portrait{display:block;width:auto;height:auto;max-width:260px;max-height:330px;object-fit:contain;justify-self:center}.biography h1{margin:0 0 25px}.biography>p{max-width:380px;font-size:17px;line-height:1.8;white-space:pre-line}.about-socials{display:flex;gap:25px;margin-top:30px;font-size:14px}
.contact{margin-top:64px;padding-top:40px;border-top:1px solid #dedede}.contact-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:36px}.contact h2{font-size:29px;letter-spacing:-.7px;font-weight:400;margin:0}.contact-heading>a{font-size:13px}.contact-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.contact label{display:block;font-size:12px;line-height:1.5}.contact input,.contact textarea{display:block;width:100%;border:1px solid #aaa;border-radius:0;background:var(--background);color:var(--foreground);font:inherit;font-size:16px;padding:12px;margin-top:9px;line-height:1.5}.contact input:focus,.contact textarea:focus{outline:1px solid currentColor;outline-offset:1px;border-color:currentColor}.contact textarea{resize:vertical;min-height:125px}.message-label{margin-top:30px}.contact-send{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.contact-send p{font-size:10px;color:#777}.contact-send button{background:var(--foreground);color:var(--background);font-size:13px;min-width:200px;padding:15px 24px;line-height:1.4}.contact-send button:hover{opacity:.75}.honeypot{display:none}
#prints>p{white-space:pre-line}#live-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px;margin-top:50px}#live-products img{width:100%;height:250px;object-fit:contain}#live-products h2{font-size:17px;font-weight:400;margin:20px 0 12px}#live-products p{font-size:13px;line-height:1.7;white-space:pre-line}#live-products a{display:inline-block;margin-top:14px;font-size:12px;text-decoration:underline;text-underline-offset:5px}
.thanks{max-width:600px;margin:16vh auto;padding:30px}.thanks h1{margin:0 0 25px}.thanks p{font-size:16px;line-height:1.8}.thanks>a{display:inline-block;margin-top:25px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.preview-banner{position:fixed;bottom:0;left:0;right:0;background:#263423;color:white;text-align:center;padding:10px;font-size:10px;letter-spacing:1px;z-index:30}
@media(min-width:1600px){.viewer{grid-template-columns:1fr minmax(0,1100px) 1fr}}
@media(max-width:700px){header{padding:23px 20px}.name{font-size:19px}nav{gap:18px;font-size:12px;padding-top:2px}.viewer{grid-template-columns:26px minmax(0,1fr) 26px;padding:14px 10px 8px}.arrow{width:26px;height:60px}.arrow svg{width:21px}.viewer-foot{padding:0 20px}#contact-sheet:not([hidden]){grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:30px 25px 60px}#contact-sheet button{height:110px}.content-page{width:calc(100% - 40px);padding:30px 0 60px}.about-layout{grid-template-columns:1fr;gap:30px}.portrait{max-width:190px;max-height:250px;justify-self:start}.biography>p{font-size:16px}.biography h1{margin-bottom:20px}.contact{margin-top:40px;padding-top:32px}.contact-heading{display:block;margin-bottom:28px}.contact-heading>a{display:inline-block;margin-top:18px}.contact-fields{grid-template-columns:1fr 1fr;gap:20px}.contact-fields label:last-child{grid-column:1/-1}.contact-send{align-items:flex-start;flex-direction:column-reverse;gap:12px}.contact-send button{width:100%}.contact-send p{margin:0}#live-products{grid-template-columns:1fr}#live-products img{height:300px}}
@media(max-width:480px){header{height:104px;flex-wrap:wrap;gap:20px;padding:20px}nav{width:100%;justify-content:space-between;gap:12px;padding-top:0;font-size:13px}.viewer{height:calc(100svh - 167px)}.content-page{min-height:calc(100svh - 104px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.icon-link,.cart-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}
.icon-glyph{display:block;width:21px;height:21px;background:currentColor;-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
[data-icon=instagram]{--icon:url('/icons/instagram.svg')}[data-icon=youtube]{--icon:url('/icons/youtube.svg')}[data-icon=email]{--icon:url('/icons/email.svg')}[data-icon=cart]{--icon:url('/icons/cart.svg')}
.cart-button{cursor:default;margin-left:-12px}.cart-button:hover{opacity:1}.about-socials{align-items:center;gap:20px}.about-socials .icon-link{width:30px;height:30px}
@media(max-width:700px){nav{gap:17px}.cart-button{margin-left:-7px}.icon-glyph{width:19px;height:19px}.icon-link,.cart-button{width:24px;height:24px}}
@media(max-width:480px){nav{gap:10px}.cart-button{margin-left:0}}
/* About starts on the same left edge as the contact form. */
.about-layout{grid-template-columns:260px minmax(0,1fr);gap:64px}.portrait{justify-self:start}
:root{font-family:var(--site-font,Nohemi,Arial,sans-serif)}
.name{font-size:var(--size-name,21px)}nav{font-size:var(--size-nav,14px)}h1{font-size:var(--size-heading,36px)}.content-page p,.thanks p{font-size:var(--size-body,16px)}.biography>p{font-size:var(--size-bio,17px)}.contact h2{font-size:var(--size-section,29px)}.contact label{font-size:var(--size-label,12px)}.contact input,.contact textarea{font-size:var(--size-input,16px)}.inquiry,.contact-send button{font-size:var(--size-button,14px)}.contact-send p{font-size:var(--size-small,10px)}.viewer-foot{font-size:var(--size-caption,11px)}#live-products h2{font-size:var(--size-product,17px)}#live-products p,.content-page .secondary{font-size:var(--size-details,13px)}#live-products a{font-size:var(--size-button,14px)}
header{height:auto;min-height:84px;align-items:center}nav{padding-top:0;flex-wrap:wrap;justify-content:flex-end;max-width:80%}
@media(max-width:700px){.about-layout{grid-template-columns:1fr;gap:30px}.name{font-size:clamp(12px,4.6vw,var(--size-name,21px))}nav{font-size:clamp(10px,3.2vw,var(--size-nav,14px))}h1{font-size:clamp(20px,8vw,var(--size-heading,36px))}.biography>p{font-size:clamp(12px,4vw,var(--size-bio,17px))}}
@media(max-width:480px){header{min-height:104px;gap:20px}nav{max-width:none;justify-content:space-between}}
.viewer{height:calc(100svh - var(--header-height,84px) - 63px)}.content-page{min-height:calc(100svh - var(--header-height,84px))}
/* About: a bounded, top-aligned portrait independent of content length. */
#about{width:min(1320px,calc(100% - 112px));padding-top:48px}
#about .about-layout{grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:clamp(36px,4.4vw,72px);align-items:start}
.about-photo{position:relative;min-width:0;align-self:start;width:100%;max-width:400px}
.about-photo::before{display:none}
#about .portrait{position:static;display:block;width:100%;height:auto;max-width:100%;max-height:560px;object-fit:contain;object-position:top left}
.about-content{display:flex;flex-direction:column;justify-content:space-between;gap:44px;min-width:0;width:100%;max-width:560px}
#about .biography>p{max-width:none;overflow-wrap:anywhere}
#about .biography h1{margin-bottom:22px}
#about .about-socials{margin-top:24px}
#about .contact{margin-top:auto;padding-top:28px}
#about .contact-heading{margin-bottom:24px}
#about .contact-fields{grid-template-columns:1fr 1fr;gap:18px 22px}
#about .contact-fields label:last-child{grid-column:1/-1}
#about .message-label{margin-top:22px}
#about .contact textarea{min-height:120px}
#about .contact-send{align-items:center;flex-wrap:wrap;gap:14px}
#about .contact-send button{margin-left:auto}
@media(max-width:900px){#about{width:calc(100% - 48px);padding-top:28px}#about .about-layout{grid-template-columns:1fr;gap:36px}.about-photo{max-width:360px}.about-photo::before{display:none}#about .portrait{position:static;width:100%;height:auto;object-fit:contain}.about-content{gap:36px}#about .contact{margin-top:0}}
@media(max-width:480px){#about{width:calc(100% - 40px)}#about .contact-send{align-items:stretch}#about .contact-send button{margin-left:0}}
header{position:sticky}.header-caption{position:absolute;left:50%;transform:translateX(-50%);color:#888888;font-size:14px;font-weight:400;line-height:1.4;pointer-events:none;white-space:nowrap}
@media(max-width:1000px){header{flex-wrap:wrap;gap:18px}.header-caption{position:static;transform:none;order:3;flex-basis:100%;text-align:center}header nav{max-width:none}}
/* The mobile header keeps the work quiet and the navigation one tap away. */
.mobile-menu-toggle{display:none}
@media(max-width:700px){
 body>header{height:80px;min-height:80px;padding:0 22px;flex-wrap:nowrap;gap:0}
 body>header .name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:68%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:32}
 body>header .header-caption{display:none}
 .mobile-menu-toggle{display:block;position:absolute;left:20px;top:50%;transform:translateY(-50%);width:44px;height:44px;z-index:32}
 .mobile-menu-toggle span{position:absolute;left:7px;top:17px;width:30px;height:1px;background:currentColor;transition:transform .2s,top .2s}
 .mobile-menu-toggle span+span{top:26px}
 body>header #primary-nav{display:none;position:fixed;inset:var(--header-height,80px) 0 0;max-width:none;width:100%;height:calc(100dvh - var(--header-height,80px));padding:30px 24px max(40px,env(safe-area-inset-bottom));margin:0;background:var(--background);flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;gap:26px;overflow-y:auto;overscroll-behavior:contain;z-index:30}
 html[data-mobile-menu=open]{overflow:hidden}
 html[data-mobile-menu=open] body{overflow:hidden}
 html[data-mobile-menu=open] body>header #primary-nav{display:flex}
 html[data-mobile-menu=open] .mobile-menu-toggle span{top:21px;transform:rotate(45deg)}
 html[data-mobile-menu=open] .mobile-menu-toggle span+span{transform:rotate(-45deg)}
 #primary-nav>a,#primary-nav>button[data-open]{font-size:clamp(24px,9vw,48px);line-height:1.25;max-width:100%;overflow-wrap:anywhere;text-align:center;flex-shrink:0}
 #primary-nav [data-social=instagram]{order:1}#primary-nav [data-social=youtube]{order:2}#primary-nav [data-open=prints]{order:3}#primary-nav [data-open=about]{order:4}
 #primary-nav .cart-button{order:5;margin:6px 0 0;width:44px;height:44px;flex-shrink:0}
 #primary-nav .cart-button .icon-glyph{width:24px;height:24px}
}
/* Keep the mobile brand stable across content pages and touch states. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body>header a.name,body>header a.name:hover,body>header a.name:active,body>header a.name:focus,body>header a.name:visited{opacity:1;transition:none}
/* The secondary face is independent of heading and navigation fonts. */
.content-page p,.biography>p,.thanks p,.contact label,.contact input,.contact textarea,#image-error{font-family:var(--body-font,Raleway,Arial,sans-serif)}
#site-load-error.load-recovery{inset:auto 16px 16px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;background:var(--background);border:1px solid #ddd;z-index:40;font-size:12px}

/* An uncropped wall of photographs; no fixed rows or per-image edits. */
html[data-gallery-layout=collage] #gallery-view>.viewer,html[data-gallery-layout=collage] #gallery-view>.viewer-foot,html[data-gallery-layout=collage] #contact-sheet,html[data-gallery-layout=collage] #image-error{display:none!important}
#collage-gallery{width:90%;margin:48px auto 80px;columns:4;column-gap:12px}
.collage-photo{display:block;width:100%;break-inside:avoid;margin:0 0 12px;overflow:hidden;line-height:0;text-align:left}
.collage-photo img{display:block;width:100%;height:auto}
.collage-photo:focus-visible{outline-offset:3px}
#collage-gallery.is-laid-out{position:relative;columns:auto}
.is-laid-out>.collage-photo{position:absolute;top:0;left:0;margin:0}
.is-laid-out>.collage-photo img{height:100%;object-fit:contain}
.collage-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:70px 70px 36px;border:0;background:var(--background);color:var(--foreground)}
.collage-lightbox[open]{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:20px}
.collage-lightbox::backdrop{background:transparent}
.collage-lightbox figure{height:100%;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.collage-lightbox img{display:block;max-width:100%;max-height:calc(100% - 40px);width:auto;height:auto;object-fit:contain}
.collage-lightbox figcaption{font-size:var(--size-caption,11px);letter-spacing:1.8px;color:#777;font-variant-numeric:tabular-nums}
.lightbox-close{position:absolute;right:32px;top:28px;font-size:13px;padding:10px}
.lightbox-close:hover{text-decoration:underline;text-underline-offset:4px}
html[data-collage-lightbox=open]{overflow:hidden}
html[data-portfolio-categories=true][data-view=work] .header-caption{display:none}
#portfolio-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:26px;max-width:42vw;overflow:auto;scrollbar-width:none;white-space:nowrap}
#portfolio-nav button{flex-shrink:0;font-size:14px;font-weight:400;color:#888888;line-height:1.5;padding:6px 0}
#portfolio-nav button[aria-current=page],#portfolio-nav button:hover{color:var(--foreground)}
html[data-gallery-empty=true] #gallery-view>.viewer,html[data-gallery-empty=true] #gallery-view>.viewer-foot{display:none}
#work-empty{width:min(600px,calc(100% - 48px));margin:0 auto;min-height:calc(75svh - var(--header-height,84px));display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px}
#work-empty h1{font-size:24px;letter-spacing:0;font-weight:400;margin:0}
#work-empty p{font:14px/1.8 var(--body-font,Raleway,Arial,sans-serif);color:#888;white-space:pre-line}
#film-gallery{width:min(1120px,calc(100% - 96px));margin:56px auto 90px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px;align-items:start}
#film-gallery[data-single=true]{grid-template-columns:minmax(0,760px);justify-content:center}
.film-card{min-width:0}
.film-screen{position:relative;width:100%;min-width:0;aspect-ratio:16/9;min-height:200px;background:#efefed;overflow:hidden}
.film-poster{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;background:#efefed}
.film-poster img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.film-poster:hover{opacity:1}
.film-play{position:relative;width:60px;height:60px;display:grid;place-items:center;border:1px solid #ffffff90;border-radius:50%;background:#11111190;color:white;transition:background .2s,transform .2s}
.film-play svg{width:25px;height:25px;fill:currentColor;margin-left:-3px}
.film-poster:hover .film-play{background:#111111cc;transform:scale(1.04)}
.film-screen iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.film-card h2{font-size:17px;font-weight:400;line-height:1.55;letter-spacing:-.15px;margin:22px 0 0;overflow-wrap:anywhere}
.film-description{font:14px/1.8 var(--body-font,Raleway,Arial,sans-serif);color:#777;white-space:pre-line;margin:12px 0 0}
.film-source-link{display:inline-block;font-size:11px;line-height:1.6;color:#777;margin-top:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){#film-gallery{width:calc(100% - 40px);grid-template-columns:1fr;gap:42px;margin-top:30px}.film-card h2{font-size:16px;margin-top:18px}}
@media(max-width:1000px){#portfolio-nav{position:static;transform:none;order:3;max-width:100%;flex-basis:100%;justify-content:center}}
@media(max-width:700px){html[data-portfolio-categories=true][data-view=work] body>header{height:124px;min-height:124px}html[data-portfolio-categories=true][data-view=work] body>header .name,html[data-portfolio-categories=true][data-view=work] .mobile-menu-toggle{top:40px}body>header #portfolio-nav{position:absolute;top:80px;left:0;transform:none;width:100%;max-width:none;justify-content:safe center;padding:0 20px;gap:26px;min-height:44px}body>header #portfolio-nav button{font-size:12px;padding:12px 0}}
@media(min-width:1850px){#collage-gallery{columns:5}}
@media(min-width:2350px){#collage-gallery{columns:6}}
@media(max-width:1100px){#collage-gallery{columns:3}}
@media(max-width:700px){#collage-gallery{columns:2;column-gap:8px;width:calc(100% - 32px);margin-top:22px}.collage-photo{margin-bottom:8px}.collage-lightbox{padding:70px 8px 30px}.collage-lightbox[open]{grid-template-columns:26px minmax(0,1fr) 26px;gap:3px}.lightbox-close{top:18px;right:15px}}


#contact-email{margin-left:auto;white-space:nowrap;text-align:right}@media(max-width:700px){#about .contact-heading{display:flex;flex-wrap:wrap}#contact-email{margin-top:0}}

@media(max-width:700px){
 body>header #primary-nav{display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .32s cubic-bezier(.2,.7,.3,1),transform .32s cubic-bezier(.2,.7,.3,1),visibility 0s .32s}
 html[data-mobile-menu=open] body>header #primary-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
 body>header #portfolio-nav{transition:none}
 html[data-mobile-menu=open] body>header #portfolio-nav{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s}
 .mobile-menu-toggle span{transition:transform .32s ease,top .32s ease}
}
@media(prefers-reduced-motion:reduce){body>header #primary-nav,body>header .name,body>header #portfolio-nav,.mobile-menu-toggle span{transition:none!important}}
