@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-italic-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-normal-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/dm-sans-normal-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/dm-sans-normal-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-normal-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/space-grotesk-normal-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/space-grotesk-normal-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/space-grotesk-normal-700.ttf) format('truetype');
}
:root{font-family:"DM Sans",Arial,Helvetica,sans-serif;color:#191919;background:#f7f7f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:2px solid #191919;outline-offset:4px}img{display:block;max-width:100%}.page{max-width:1540px;margin:auto;padding-left:clamp(20px,4.2vw,68px);padding-right:clamp(20px,4.2vw,68px)}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:86px;border-bottom:1px solid #cfcfca}.wordmark{font-family:Arial,Helvetica,sans-serif;font-size:1.46rem;font-weight:800;letter-spacing:-.07em;white-space:nowrap}.dot{color:#62625c}.header nav{display:flex;gap:clamp(14px,3vw,44px)}.header nav a,.all{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#555}.opening{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;padding:78px 0 42px}.opening h1{font-size:clamp(3.8rem,8.7vw,9.2rem);font-weight:500;letter-spacing:-.09em;line-height:.86;margin:26px 0 0}.opening p{font-size:clamp(1.05rem,1.45vw,1.37rem);line-height:1.45;letter-spacing:-.025em;max-width:425px;margin:0 0 4px auto}.hero{display:block}.hero:hover{text-decoration:none}.hero img{width:100%;height:clamp(420px,55vw,730px);object-fit:cover;object-position:center 43%;filter:grayscale(1);background:#ddd}.hero-foot{display:grid;grid-template-columns:1fr 2fr 1fr;gap:15px;align-items:baseline;padding:16px 0;border-bottom:1px solid #bcbcb7}.hero-foot span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.hero-foot span:last-child{text-align:right}.hero-foot strong{font-size:1.35rem;font-weight:500;letter-spacing:-.035em}.section{padding:106px 0;border-bottom:1px solid #c9c9c4}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}.section h2{font-size:clamp(2.7rem,5.3vw,5.4rem);font-weight:500;letter-spacing:-.075em;line-height:.96;margin:20px 0 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px;row-gap:50px}.card:hover{text-decoration:none}.card-image{height:clamp(260px,30vw,440px);overflow:hidden;background:#e2e2df}.card-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .35s}.card:hover img{transform:scale(1.025)}.text-card{display:flex;height:100%;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.06em}.card-meta{display:flex;justify-content:space-between;gap:10px;padding-top:13px;margin-top:12px;border-top:1px solid #bcbcb7;color:#555;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}.card h3{font-size:1.4rem;letter-spacing:-.04em;font-weight:500;margin:13px 0 0}.simple-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.simple-grid p{font-size:1.12rem;line-height:1.57;max-width:480px;margin:38px 0 20px}.small{font-size:.82rem;color:#666}.footer{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:45px;padding-bottom:55px;font-size:.8rem;line-height:1.5;color:#555}.footer .wordmark{color:#191919}.footer p:last-child{text-align:right}.archive{padding-top:85px;padding-bottom:120px}.archive h1{font-size:clamp(4rem,9vw,9rem);font-weight:500;letter-spacing:-.09em;line-height:.9;margin:20px 0 25px}.archive>p{font-size:1.12rem;line-height:1.5;max-width:590px;margin:0 0 80px}.archive-year{display:grid;grid-template-columns:.25fr 1fr;gap:40px;border-top:1px solid #bcbcb7;padding:24px 0 60px}.archive-year h2{font-size:1.9rem;font-weight:500;letter-spacing:-.04em;margin:0}.archive-rows a{display:grid;grid-template-columns:100px 1fr 30px;align-items:baseline;gap:15px;padding:15px 0;border-bottom:1px solid #d9d9d5}.archive-rows a span{font-size:.76rem;color:#60605b;letter-spacing:.04em;text-transform:uppercase}.archive-rows a strong{font-size:1.2rem;font-weight:500;letter-spacing:-.025em}.archive-rows a span:last-child{text-align:right}.article{padding-top:50px;padding-bottom:110px}.back{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.article-head{max-width:950px;margin:75px auto 45px}.article-head h1{font-size:clamp(3.5rem,7vw,7rem);font-weight:500;letter-spacing:-.08em;line-height:.95;margin:20px 0}.article-head p{font-size:.85rem;color:#555}.archive-note{max-width:950px;margin:0 auto 50px;padding:15px 18px;border-top:1px solid #bcbcb7;border-bottom:1px solid #bcbcb7;font-size:.78rem;line-height:1.5;color:#555}.article-body{max-width:950px;margin:auto;font-size:1.05rem;line-height:1.65;overflow-wrap:anywhere}.article-body img{width:auto;height:auto;max-height:850px;margin:36px auto;object-fit:contain}.article-body a:not(:has(img)){text-decoration:underline;text-underline-offset:3px}.article-body p,.article-body div{max-width:100%}.article-body iframe{max-width:100%}.article-end{max-width:950px;margin:65px auto 0;border-top:1px solid #bcbcb7;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:820px){.opening{grid-template-columns:1fr;gap:25px;padding-top:65px}.opening p{margin:0}.hero img{height:60vw;min-height:380px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image{height:40vw}.section{padding:80px 0}.archive-year{grid-template-columns:130px 1fr}.article-head{margin-top:65px}}
@media(max-width:560px){.header{display:block;padding-top:20px;padding-bottom:17px}.header nav{justify-content:space-between;margin-top:19px;gap:9px}.header nav a{font-size:.69rem}.opening h1{font-size:clamp(3.6rem,15vw,5rem)}.hero img{height:105vw;min-height:0}.hero-foot{grid-template-columns:1fr 1fr}.hero-foot strong{grid-column:1/-1;grid-row:2}.hero-foot span:last-child{grid-column:2;grid-row:1}.section{padding:65px 0}.section-head{display:block}.section-head .all{display:inline-block;margin-top:25px}.cards,.simple-grid,.footer{grid-template-columns:1fr}.card-image{height:auto;aspect-ratio:1.2}.simple-grid p{margin-top:25px}.footer p:last-child{text-align:left}.archive{padding-top:60px}.archive-year{grid-template-columns:1fr;gap:18px}.archive-rows a{grid-template-columns:60px 1fr 20px}.archive-rows a strong{font-size:1.05rem}.article-head{margin-top:55px}.article-end{display:block}.article-end a{display:block;margin:14px 0}}
.sheet-note{font-size:.8rem;color:#666}.sheet-instructions{font-size:.95rem;color:#555;line-height:1.6;margin:0 0 26px}.contact-sheet{padding:22px;background:#171816;color:#d4d4cc}.sheet-edge{display:flex;justify-content:space-between;gap:15px;font:500 .67rem/1.4 monospace;letter-spacing:.12em;padding:0 0 20px}.sheet-edge:last-child{padding:24px 0 0}.film-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 12px;list-style:none;margin:0;padding:0}.film-frame{min-width:0;padding:12px 0 0;border-top:6px dashed #474840}.film-frame a{display:block;color:#ccc;cursor:zoom-in}.film-frame a:hover{text-decoration:none}.film-frame a:focus-visible{outline:2px solid #fff;outline-offset:5px}.film-image{height:auto;aspect-ratio:3/2;background:#090a09;border:1px solid #4e5047;transition:border-color .15s}.film-frame a:hover .film-image{border-color:#d9dbcf}.film-image img{width:100%;height:100%;object-fit:contain}.frame-caption{display:flex;align-items:baseline;gap:9px;margin-top:9px;font:500 .75rem/1.4 monospace}.frame-caption span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#94968d;font-size:.75rem}.frame-number{color:#cdd0bc;flex-shrink:0}.photo-loupe{position:fixed;width:214px;height:214px;border:9px solid #242521;border-radius:50%;background-color:#070807;background-repeat:no-repeat;box-shadow:0 0 0 2px #999c8e,0 15px 45px #0009,inset 0 0 14px #0004;pointer-events:none;z-index:80}.photo-loupe[hidden]{display:none}.frame-dialog{color:#f2f2ed;background:#141513;border:1px solid #44473f;padding:22px;width:min(1100px,94vw);max-height:94dvh;overflow:auto}.frame-dialog::backdrop{background:#090b09e8}.frame-dialog-top,.frame-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}.frame-dialog-top{font-size:.75rem;color:#abada5;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}.frame-close{font:inherit;color:#fff;background:transparent;border:1px solid #616459;padding:12px 18px;cursor:pointer;min-height:44px}.frame-close:focus-visible,.frame-story:focus-visible{outline:2px solid #fff;outline-offset:4px}.frame-large{display:flex;justify-content:center;background:#090a09;min-height:150px}.frame-large img{width:100%;height:min(65dvh,760px);object-fit:contain}.frame-dialog-bottom{margin-top:20px}.frame-dialog-bottom h3{font-size:1.3rem;font-weight:500;letter-spacing:-.03em;margin:0}.frame-story{font-size:.82rem;border-bottom:1px solid #9fa395;padding:12px 0;white-space:nowrap}.frame-open{overflow:hidden}@media(max-width:1100px){.film-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.film-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 10px}.contact-sheet{padding:16px}.sheet-edge{font-size:.6rem;letter-spacing:.05em}.frame-caption span:last-child{display:none}.sheet-note{display:block;margin-top:18px}}@media(max-width:420px){.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frame-dialog{padding:15px}.frame-dialog-bottom{display:block}.frame-story{display:inline-block;margin-top:10px}}@media(hover:none),(pointer:coarse){.desktop-hint{display:none}.photo-loupe{display:none}}

/* A compact sequence, with the contact sheet available on demand. */
.view-toggle{font:500 .875rem/1.4 "DM Sans",Arial,sans-serif;color:inherit;background:none;border:1px solid #777;padding:12px 18px;min-height:44px;cursor:pointer;white-space:nowrap}.view-toggle:hover{background:#191919;color:#fff}.view-toggle:focus-visible,.carousel-controls button:focus-visible{outline:2px solid #191919;outline-offset:4px}[hidden]{display:none!important}.carousel-mode .contact-sheet{padding:0;background:transparent;color:inherit}.carousel-mode .sheet-edge{display:none}.carousel-mode .film-grid{position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:4px}.carousel-mode .film-grid::-webkit-scrollbar{display:none}.carousel-mode .film-frame{flex:0 0 76%;padding:0;border:0;scroll-snap-align:start}.carousel-mode .film-frame:last-child{margin-right:24%}.carousel-mode .film-image{height:clamp(280px,42vw,610px);aspect-ratio:auto;background:#ecece8;border:0}.carousel-mode .film-image img{object-fit:contain}.carousel-mode .frame-caption{margin-top:16px;font:400 .875rem/1.4 "DM Sans",Arial,sans-serif;gap:16px}.carousel-mode .frame-number{color:#666}.carousel-mode .frame-caption span:last-child{display:block;color:#191919;font:inherit}.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font:400 .875rem/1.4 monospace;color:#555}.carousel-controls>div{display:flex;gap:8px}.carousel-controls button{background:transparent;border:1px solid #aaa;color:#191919;font-size:1.3rem;width:48px;height:44px;cursor:pointer}.carousel-controls button:hover{background:#191919;color:#fff}@media(max-width:560px){.view-toggle{margin-top:24px;white-space:normal}.carousel-mode .film-frame{flex-basis:90%}.carousel-mode .film-frame:last-child{margin-right:10%}.carousel-mode .film-grid{gap:14px}.carousel-mode .film-image{height:56vh;max-height:520px;min-height:250px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Individually selected prints, shown in their original colour and framing. */
.print-intro{font-size:1rem;line-height:1.6;max-width:660px;margin:0 0 40px;color:#555}.print-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.print-card{min-width:0}.print-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#ecece8;padding:20px}.print-image img{width:100%;height:100%;object-fit:contain}.print-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.875rem;color:#555;margin-top:20px;padding-top:15px;border-top:1px solid #bcbcb7}.print-card h3{font-size:1.4rem;font-weight:500;letter-spacing:-.035em;margin:14px 0}.print-view{display:inline-block;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;padding:8px 0}.print-collection .eyebrow{font-size:.875rem}@media(max-width:820px){.print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.print-grid{grid-template-columns:1fr;gap:40px}.print-image{padding:18px}}

img,.film-image,.print-image,.frame-large{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}.copyright-note{grid-column:1/-1;font-size:.875rem;text-align:left!important}.protected-preview{max-width:1100px}

/* Homepage: colour emerges on interaction; curated prints stay in colour. */
.hero img,#journal .card-image img,#photographs .film-image img{filter:grayscale(1);transition:filter .5s ease,transform .35s ease}
@media(hover:hover){
 .hero:hover img,#journal .card:hover .card-image img,#photographs .film-frame a:hover .film-image img{filter:grayscale(0)}
}
.hero:focus-visible img,#journal .card:focus-visible .card-image img,#photographs .film-frame a:focus-visible .film-image img,
.hero:active img,#journal .card:active .card-image img,#photographs .film-frame a:active .film-image img{filter:grayscale(0)}
#prints .print-image img{filter:none}
@media(prefers-reduced-motion:reduce){
 .hero img,#journal .card-image img,#photographs .film-image img{transition:none}
}

/* Approved identity and biographical section. */
.wordmark{display:inline-flex;align-items:center;gap:12px}.brand-symbol{width:48px;height:48px;flex:none;object-fit:contain}.wordmark-label{white-space:nowrap}.header nav{flex-wrap:wrap;justify-content:flex-end;gap:clamp(12px,2.2vw,32px)}.about-section{scroll-margin-top:28px}.about-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:clamp(40px,7vw,110px)}.about-copy{max-width:760px}.about-copy p{font-size:1.0625rem;line-height:1.75;margin:0 0 24px}.about-copy .about-lead{font-size:clamp(1.5rem,2.3vw,2.2rem);line-height:1.35;letter-spacing:-.035em;margin-bottom:30px}.about-copy .about-chapter{border-left:2px solid #191919;padding-left:24px;margin-top:32px}.about-history{border-left:1px solid #c9c9c4;padding-left:32px}.about-history h3{font-size:1.125rem;font-weight:500;letter-spacing:-.02em;margin:0 0 20px}.about-history p,.about-blog{font-size:1rem;line-height:1.65}.exhibition-list{list-style:none;padding:0;margin:0 0 36px}.exhibition-list li{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #d9d9d5}.exhibition-list strong,.exhibition-list span{display:block}.exhibition-list strong{font-size:1.125rem;font-weight:500;margin:8px 0}.exhibition-list span{font-size:1rem;line-height:1.5}.exhibition-date,.exhibition-list .exhibition-date{font-size:.875rem;color:#666}.about-history p{margin:0 0 32px}.about-blog{text-decoration:underline;text-underline-offset:4px}.about-section .eyebrow{font-size:.875rem}@media(max-width:820px){.header{flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.header nav{gap:18px}.about-layout{grid-template-columns:1fr;gap:36px}.about-history{border-left:0;border-top:1px solid #c9c9c4;padding:30px 0 0}}@media(max-width:560px){.brand-symbol{width:40px;height:40px}.wordmark{gap:10px}.header nav{justify-content:space-between;gap:10px}.header nav a{font-size:.75rem;letter-spacing:.025em}.about-copy .about-chapter{padding-left:18px}}

/* Editorial type: expressive headings, readable text, original wordmark. */
h1,h2,h3,.hero-foot strong,.archive-rows a strong,.exhibition-list strong{font-family:"Space Grotesk",Arial,Helvetica,sans-serif}
.opening h1{letter-spacing:-.065em;line-height:.98}
.section h2,.archive h1,.article-head h1{letter-spacing:-.05em;line-height:1.05}
.card h3,.print-card h3,.hero-foot strong,.archive-rows a strong{letter-spacing:-.025em}
.frame-caption,.carousel-mode .frame-caption,.carousel-controls{font-family:"DM Sans",Arial,sans-serif}
button,input,select,textarea{font-family:inherit}

/* Keep the photographer attribution with the header identity. */
.wordmark-copy{display:flex;flex-direction:column;gap:4px}
.wordmark-tagline{font-family:"DM Sans",Arial,sans-serif;font-size:clamp(.75rem,1.1vw,.8125rem);font-weight:400;letter-spacing:0;line-height:1.35}
.opening h1{margin-top:0}
