@import url('https://fonts.googleapis.com/css2?family=Italiana&display=swap');
:root{--paper:#f4f0e8;--ink:#171714;--muted:#6d6a62;--line:rgba(23,23,20,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Courier New",Courier,monospace;font-weight:400}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 3.2vw;position:relative;z-index:10}.brand{font-size:17px;letter-spacing:.25em;font-weight:500}.site-header nav{display:flex;gap:30px;font-size:11px;letter-spacing:.16em}.site-header nav a,.text-link,.contact-link{border-bottom:1px solid transparent}.site-header nav a:hover,.text-link:hover,.contact-link:hover{border-color:currentColor}.menu{display:none;background:none;border:0;font:inherit;font-size:11px;letter-spacing:.16em}.hero{height:calc(100vh - 84px);min-height:620px;position:relative;margin:0 3.2vw;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,35,.32),transparent 58%)}.hero-copy{position:absolute;z-index:2;left:5vw;top:50%;transform:translateY(-50%);color:#fff}.hero-copy p,.hero-copy span,.eyebrow{font-size:10px;letter-spacing:.23em;font-weight:500}.hero-copy h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;font-size:clamp(55px,7.5vw,120px);line-height:.87;margin:24px 0 32px;letter-spacing:-.02em}.intro{padding:15vw 8vw 13vw;display:grid;grid-template-columns:1fr 3fr;gap:5vw}.intro h2,.prints h2,.about h2,.contact h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;font-size:clamp(42px,6vw,92px);line-height:1.02;margin:0;max-width:1000px}.intro-text{grid-column:2;max-width:590px;font-size:18px;line-height:1.7;color:var(--muted)}.gallery{padding:0 3.2vw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2vw;align-items:start}.gallery figure{margin:0}.gallery figure.wide{grid-column:span 2}.gallery figure.land{grid-column:span 1}.gallery figure.portrait{grid-column:span 1}.gallery figure:nth-of-type(2){margin-top:8vw}.gallery figure:nth-of-type(4){margin-top:5vw}.gallery figure:nth-of-type(7){margin-top:7vw}.gallery figure:nth-of-type(8){margin-top:-3vw}.gallery .wide img{aspect-ratio:16/10}.gallery .land img{aspect-ratio:4/3}.gallery .portrait img{aspect-ratio:3/4}.gallery figcaption{display:flex;justify-content:space-between;padding-top:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.gallery figcaption span:last-child{color:var(--muted)}.prints{margin-top:16vw;padding:11vw 8vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.prints .eyebrow{margin-bottom:30px}.print-copy{padding-top:5vw;max-width:530px;font-size:17px;line-height:1.7}.sizes{font-size:10px;letter-spacing:.18em;margin:35px 0}.text-link{font-size:11px;letter-spacing:.14em;padding-bottom:4px}.statement{height:90vh;min-height:650px;margin:3.2vw;position:relative}.statement:after{content:"";position:absolute;inset:0;background:rgba(20,30,35,.16)}.statement blockquote{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;color:white;text-align:center;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(40px,6vw,88px);width:80%;font-weight:400}.about{padding:13vw 8vw;display:grid;grid-template-columns:1fr 3fr;gap:5vw}.about>div{max-width:900px}.about p:not(.eyebrow){max-width:650px;font-size:18px;line-height:1.75;color:var(--muted)}.contact{padding:13vw 8vw 11vw;background:#171714;color:#f4f0e8}.contact h2{font-size:clamp(54px,8vw,120px);margin:3vw 0 5vw}.contact-link{font-family:"Courier New",Courier,monospace;font-size:clamp(25px,3vw,45px);padding-bottom:5px}.small{margin-top:22px;color:#aaa69d;font-size:12px}footer{padding:32px 3.2vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em}footer div{display:flex;gap:24px}
@media(max-width:760px){.site-header{height:68px;padding:0 20px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:25px 20px;flex-direction:column;border-top:1px solid var(--line)}.site-header nav.open{display:flex}.menu{display:block}.hero{margin:0;height:calc(100svh - 68px);min-height:560px}.hero-copy{left:8vw}.hero-copy h1{font-size:16vw}.intro,.about,.prints{grid-template-columns:1fr;padding:24vw 7vw;gap:8vw}.intro h2{font-size:12vw}.intro-text{grid-column:1}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:9vw 4vw;padding:0 5vw}.gallery figure,.gallery figure[class],.gallery figure:nth-child(even),.gallery figure:nth-child(odd){grid-column:span 1;margin:0}.gallery figure.wide{grid-column:1/-1}.gallery figure.portrait{grid-column:span 1}.gallery figcaption{display:block;line-height:1.5}.gallery figcaption span{display:block}.prints{margin-top:10vw}.print-copy{padding-top:0}.statement{margin:5vw;height:75vh}.contact{padding:24vw 7vw}.contact h2{margin:8vw 0 12vw;font-size:15vw}footer{padding:28px 20px;gap:20px;flex-direction:column}.brand{font-size:14px}}
.socials{padding:7rem 5vw;border-top:1px solid rgba(0,0,0,.15);display:grid;grid-template-columns:1fr 2fr;gap:3rem}.socials h2{margin:0 0 1.2rem;font-size:clamp(2.4rem,5vw,5rem);font-weight:400;line-height:.95}.social-links{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:2rem}.social-links a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.25rem;letter-spacing:.08em;font-size:.8rem}.social-note{max-width:42rem;line-height:1.7}@media(max-width:700px){.socials{grid-template-columns:1fr;padding:5rem 6vw}}

.contact-form{max-width:680px;display:grid;gap:10px;margin:0 0 30px}.contact-form label{font-size:9px;letter-spacing:.18em;margin-top:14px;color:#aaa69d}.contact-form input,.contact-form textarea{width:100%;background:transparent;color:#f4f0e8;border:0;border-bottom:1px solid #5e5c56;padding:12px 0;font:300 16px Arial,Helvetica,sans-serif;border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#f4f0e8}.contact-form button{justify-self:start;margin-top:18px;background:transparent;color:#f4f0e8;border:1px solid #77736b;padding:14px 18px;font:500 10px Arial,Helvetica,sans-serif;letter-spacing:.15em;cursor:pointer}.contact-form button:hover{border-color:#f4f0e8}

/* v3 slideshow + editorial gallery */
.hero-slider{height:calc(100svh - 84px);min-height:620px;position:relative;margin:0 3.2vw;overflow:hidden;background:#1d1d1a}.slides,.slide{position:absolute;inset:0}.slide{margin:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,15,25,.42),rgba(5,15,25,.06) 68%,rgba(5,15,25,.14))}.hero-slider .hero-copy{z-index:2}.slider-controls{position:absolute;z-index:3;right:2.2vw;bottom:2.2vw;color:white;display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.15em}.slider-controls button{background:rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.55);color:#fff;min-width:40px;height:40px;padding:0 12px;cursor:pointer;font:inherit;letter-spacing:.12em;backdrop-filter:blur(5px)}.slider-controls button:hover{background:rgba(255,255,255,.15)}.slider-count{min-width:58px;text-align:center}.slider-progress{position:absolute;z-index:3;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.22)}.slider-progress span{display:block;width:100%;height:100%;background:#fff;transform-origin:left}@keyframes slideProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.work-head{margin:0 3.2vw 3vw;padding-top:3vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;letter-spacing:.16em}.image-button{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;overflow:hidden}.image-button img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.image-button:hover img{transform:scale(1.075)}.feature-work .image-button:hover img{transform:scale(1.095)}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(12,12,11,.97);display:grid;place-items:center;color:#fff;padding:5vh 7vw}.lightbox img{width:auto;height:auto;max-width:82vw;max-height:80vh;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:11px;letter-spacing:.12em}.lightbox-close{right:3vw;top:3vw}.lightbox-prev{left:3vw;top:50%;font-size:26px}.lightbox-next{right:3vw;top:50%;font-size:26px}.lightbox-title{position:absolute;left:50%;bottom:2.5vw;transform:translateX(-50%);font-size:10px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.no-scroll{overflow:hidden}.form-note{min-height:20px;font-size:11px;color:#aaa69d;letter-spacing:.06em}
@media(max-width:760px){.hero-slider{margin:0;height:calc(100svh - 68px);min-height:560px}.slider-controls{right:5vw;bottom:5vw}.slider-pause{display:none}.work-head{margin:0 5vw 7vw;padding-top:7vw}.work-head p:last-child{display:none}.lightbox{padding:10vh 4vw}.lightbox img{max-width:92vw;max-height:72vh}.lightbox-prev,.lightbox-next{top:auto;bottom:4vw}.lightbox-prev{left:5vw}.lightbox-next{right:5vw}.lightbox-close{right:5vw;top:5vw}.lightbox-title{bottom:5vw;max-width:60vw;text-align:center;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.image-button img{transition:none}.slider-progress span{animation:none!important}}

/* Large editorial headings: clean sans-serif; typewriter remains for captions and small metadata */
.hero-copy h1,.intro h2,.prints h2,.about h2,.contact h2,.socials h2,.statement blockquote{font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:-.02em}

.etsy-coming{font-family:"Courier New",Courier,monospace;font-size:11px;letter-spacing:.16em;margin:0 0 28px;text-transform:uppercase}

/* v11 about spacing */
.about h2{margin-bottom:3.5rem;}
@media(max-width:760px){.about h2{margin-bottom:2.25rem;}}

/* V12 — keep statement quote on one line on larger screens; robust phone layout */
.statement blockquote{width:94%;white-space:nowrap;font-size:clamp(30px,4.7vw,76px)}
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .statement{height:58svh;min-height:420px;margin:5vw 0}
  .statement blockquote{width:92%;white-space:normal;font-size:clamp(27px,8.2vw,48px);line-height:1.05}
  .statement img{object-position:center center}
  .intro h2,.prints h2,.about h2,.socials h2{overflow-wrap:anywhere}
  .intro-text,.about p:not(.eyebrow),.print-copy,.social-note{font-size:15px;line-height:1.65}
  .contact-link{font-size:clamp(18px,6vw,28px);overflow-wrap:anywhere}
}
@media (max-width:390px){
  .gallery{grid-template-columns:1fr;gap:12vw}
  .gallery figure,.gallery figure[class],.gallery figure.wide,.gallery figure.portrait{grid-column:1/-1}
  .site-header{padding:0 16px}
  .brand{font-size:12px;letter-spacing:.18em}
  .statement blockquote{font-size:clamp(25px,8vw,36px)}
}

@media (hover:none){.image-button:hover img,.feature-work .image-button:hover img{transform:none}}

/* V14 — immersive desktop hover preview */
@media (hover:hover) and (pointer:fine) and (min-width:761px){
  .hover-preview{position:fixed;inset:0;z-index:900;display:block;background:#0c0c0b;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.05s;padding:0}
  .hover-preview.active{opacity:1;visibility:visible;transition:opacity 1.05s cubic-bezier(.22,.61,.36,1)}
  .hover-preview img{position:absolute;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;object-fit:cover;object-position:center;transform:scale(1.06);opacity:.2;transition:transform 1.55s cubic-bezier(.16,1,.3,1),opacity 1.05s ease}
  .hover-preview.active img{transform:scale(1);opacity:1}
  .hover-preview .hover-caption{position:absolute;left:50%;bottom:2.2vh;transform:translateX(-50%);font-family:"Courier New",Courier,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.78;white-space:nowrap}
  .gallery .image-button:hover img,.gallery .feature-work .image-button:hover img{transform:none}
}

/* Language switch + contact success */
.header-right{display:flex;align-items:center;gap:26px}.language-switch{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.14em}.language-switch a,.language-switch span{padding:4px 0}.language-switch .active{border-bottom:1px solid currentColor}.contact-form-wrap[hidden],.form-success[hidden]{display:none}.form-success{min-height:310px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:680px;border-top:1px solid #5e5c56;border-bottom:1px solid #5e5c56;margin:0 0 30px;padding:52px 0}.success-heart{font-size:22px;line-height:1;margin-bottom:22px}.form-success p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(26px,3vw,44px);font-weight:300;margin:0 0 12px}.form-success>span:last-child{font-size:11px;color:#aaa69d;letter-spacing:.08em}
@media(max-width:760px){.header-right{gap:14px}.header-right nav{position:absolute}.language-switch{font-size:9px;gap:7px}.form-success{min-height:250px;padding:38px 0}}

/* V22 — seamless photo wall, captions on-image, mobile safe-area fix */
.gallery{
  display:block;
  column-count:3;
  column-gap:0;
  padding:0;
  line-height:0;
}
.gallery figure,
.gallery figure[class],
.gallery figure:nth-of-type(n){
  position:relative;
  display:inline-block;
  width:100%;
  margin:0 !important;
  padding:0;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  overflow:hidden;
  vertical-align:top;
  line-height:normal;
}
.gallery .image-button{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
}
.gallery .image-button img,
.gallery .wide img,
.gallery .land img,
.gallery .portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}
.gallery figcaption{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  padding:38px 14px 12px;
  margin:0;
  color:#fff;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  line-height:1.25;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.48),rgba(0,0,0,0));
  text-shadow:0 1px 5px rgba(0,0,0,.55);
}
.gallery figcaption span:last-child{color:#fff;opacity:.82}

/* keep mobile footer inside the visual viewport / device safe area */
footer{padding-bottom:max(32px,env(safe-area-inset-bottom));overflow:hidden}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.hover-preview{display:none}

@media (hover:hover) and (pointer:fine) and (min-width:761px){
  .hover-preview{display:block}
}
@media(max-width:760px){
  .gallery{display:block;column-count:2;column-gap:0;padding:0}
  .gallery figure,.gallery figure[class],.gallery figure.wide,.gallery figure.portrait,.gallery figure.land{display:inline-block;width:100%;margin:0 !important;grid-column:auto}
  .gallery figcaption{display:flex;padding:30px 10px 9px;font-size:8px;line-height:1.2}
  .gallery figcaption span{display:block}
  footer{padding:28px 20px max(28px,calc(env(safe-area-inset-bottom) + 16px));margin:0;width:100%}
}
@media(max-width:390px){
  .gallery{column-count:1;column-gap:0;padding:0}
}

/* V23 — quieter mobile captions + discreet copyright */
footer>span{font-size:8px;letter-spacing:.08em;text-transform:none;opacity:.72}
@media(max-width:760px){
  .gallery figcaption{font-size:6.5px;letter-spacing:.08em;line-height:1.15;padding:24px 7px 6px;gap:6px}
  footer>span{font-size:7px;letter-spacing:.05em;opacity:.65}
}

/* V24 — edge-to-edge mobile photo wall */
@media(max-width:760px){
  .gallery{display:block;column-count:2;column-gap:0;padding:0;margin:0;line-height:0}
  .gallery figure,.gallery figure[class],.gallery figure.wide,.gallery figure.portrait,.gallery figure.land{display:inline-block;width:100%;margin:0!important;padding:0!important;vertical-align:top;line-height:0;break-inside:avoid}
  .gallery .image-button{display:block;width:100%;margin:0!important;padding:0!important;border:0;line-height:0}
  .gallery .image-button img{display:block;width:100%;height:auto;margin:0;padding:0;vertical-align:top}
  .gallery figcaption{line-height:1.15}
}
@media(max-width:390px){
  .gallery{column-count:2;column-gap:0;padding:0;margin:0}
  .gallery figure,.gallery figure[class],.gallery figure.wide,.gallery figure.portrait,.gallery figure.land{width:100%;margin:0!important;padding:0!important}
}


/* V27 — calm, user-friendly gallery interaction */
.image-button,.gallery .image-button{cursor:pointer}
.gallery .image-button img,.gallery .feature-work .image-button img{transition:none!important;transform:none!important}
.gallery .image-button:hover img,.gallery .feature-work .image-button:hover img{transform:none!important}
.hover-preview{display:none!important}

/* The photo wall remains edge-to-edge; remove any browser-created inline gaps. */
.gallery,.gallery figure,.gallery .image-button,.gallery img{font-size:0;line-height:0}
.gallery figcaption{font-size:9px;line-height:1.25}

/* Lightbox: photograph first, controls quiet and obvious. */
.lightbox{background:rgba(8,8,8,.985);padding:4.5vh 6vw;cursor:default}
.lightbox img{display:block;max-width:min(88vw,1600px);max-height:84vh;width:auto;height:auto;object-fit:contain;cursor:pointer;user-select:none;-webkit-user-drag:none}
.lightbox-close{top:22px;right:28px;font-size:0;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.16)}
.lightbox-close::after{content:'×';font-size:25px;line-height:38px;letter-spacing:0}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:30px;opacity:.72;transition:opacity .2s ease}
.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:hover{opacity:1;background:rgba(255,255,255,.08)}
.lightbox-title{bottom:18px;font-size:9px;opacity:.78}

@media(max-width:760px){
  .gallery figcaption{font-size:6.5px;line-height:1.15}
  .lightbox{padding:64px 0 72px;display:flex;align-items:center;justify-content:center}
  .lightbox img{max-width:100vw;max-height:calc(100svh - 145px);width:auto;height:auto;cursor:default}
  .lightbox-close{top:max(12px,env(safe-area-inset-top));right:12px;width:40px;height:40px}
  .lightbox-prev,.lightbox-next{top:auto;bottom:max(14px,env(safe-area-inset-bottom));transform:none;width:52px;height:44px;font-size:25px}
  .lightbox-prev{left:12px}.lightbox-next{right:12px}
  .lightbox-title{bottom:max(26px,calc(env(safe-area-inset-bottom) + 12px));max-width:62vw;font-size:7px;line-height:1.25}
}


/* V30 — reliable full-screen desktop gallery preview */
.gallery-hover-preview{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:761px){
  .gallery .image-button{cursor:pointer}
  .gallery-hover-preview{position:fixed;inset:0;z-index:9900;background:#080808;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s}
  .gallery-hover-preview.active{opacity:1;visibility:visible;transition:opacity .22s ease}
  .gallery-hover-preview img{display:block;width:100vw;height:100vh;max-width:none;max-height:none;object-fit:contain;object-position:center;background:#080808}
  .gallery-hover-preview p{position:absolute;left:0;right:0;bottom:0;margin:0;padding:42px 24px 16px;background:linear-gradient(transparent,rgba(0,0,0,.58));color:#fff;text-align:center;font:9px/1.3 "Courier New",Courier,monospace;letter-spacing:.14em;text-transform:uppercase}
}
