:root{color-scheme:dark;--bg:#111110;--ink:#d8d5cc;--muted:#8c8b82;--line:#32332e;--accent:#b7ae91}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select{outline-offset:6px}button{cursor:pointer;background:none;border:1px solid var(--line);padding:10px 16px}button:disabled{opacity:.4;cursor:default}button:hover:not(:disabled),a:hover{color:#fff}header{padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:italic 30px Georgia,serif;letter-spacing:-1.4px}.brand span{display:block;font:9px Arial;letter-spacing:1.4px;text-transform:uppercase;margin-top:8px;color:var(--muted)}nav{display:flex;gap:30px;font-size:11px}#studio-link{font-size:11px}main{padding:0 5vw}.edition{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:var(--muted);padding-top:35px}.opening-title{display:flex;align-items:end;justify-content:space-between;padding:58px 0 55px}.opening-title h1{font:italic clamp(70px,10.5vw,166px)/.95 Georgia,serif;font-weight:normal;letter-spacing:-.055em;margin:0}.opening-title h1 span{color:var(--accent)}.opening-title p{margin:0 2px 0 20px;color:var(--muted);font-size:11px}#gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:115px 4vw;padding-bottom:130px}.photo{margin:0;min-width:0}.photo button{padding:0;border:0;display:block;width:100%;text-align:left}.photo img{display:block;width:100%;height:auto}.photo figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font:9px/1.5 Arial;letter-spacing:1px;color:var(--muted)}.photo .serial{color:#b1ac9c}.photo.first{grid-column:1/-1}.photo.first img{max-height:78vh;object-fit:contain;object-position:center}.photo.landscape{grid-column:2/12}.photo.portrait{grid-column:2/7}.photo.portrait.offset{grid-column:8/13;padding-top:170px}.interlude{grid-column:1/-1;padding:10px 0 30px 8%;display:flex;gap:50px;align-items:start}.interlude span{font:10px Arial;letter-spacing:2px;color:var(--muted)}.interlude p{font:italic clamp(30px,4vw,58px)/1.2 Georgia;max-width:650px;margin:0;color:#b5b2a8}#archive{border-top:1px solid var(--line);padding:30px 0 70px}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center}summary>span:first-child{font:italic 36px Georgia}summary>span:last-child{color:var(--muted);font-size:10px}#years{display:flex;gap:12px;margin:30px 0}#years button.active{background:var(--ink);color:var(--bg)}#archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 22px}#archive-grid .photo{grid-column:auto;padding:0}#archive-grid img{height:200px;object-fit:contain;object-position:bottom left}#about{border-top:1px solid var(--line);padding:75px 0 120px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted)}#about h2{font:italic 75px Georgia;margin:15px 0}#about p:not(.eyebrow){color:var(--muted)}#about a{border-bottom:1px solid var(--muted);padding-bottom:6px}footer{margin:0 5vw;padding:25px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#0c0c0c;color:var(--ink);padding:60px 5vw 65px}dialog::backdrop{background:#0c0c0c}#viewer-image{width:100%;height:100%;object-fit:contain}#close-viewer{position:absolute;right:5vw;top:15px;border:0}.viewer-bottom{position:absolute;bottom:15px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;font-size:10px}.viewer-bottom button{border:0;font-size:20px}.viewing{overflow:hidden}[hidden]{display:none!important}#curator{padding:50px 5vw}.curator-head{display:flex;justify-content:space-between;align-items:center}.curator-head h1{font:italic 65px Georgia;margin:15px 0}.curator-head p{color:var(--muted)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 16px}.upload{background:var(--ink);color:var(--bg);padding:11px 22px;cursor:pointer}.editor-filters{display:flex;gap:15px;align-items:center;margin:30px 0}input,select{background:#191a17;border:1px solid var(--line);padding:10px}#status{min-height:24px}#edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 20px}.edit-photo{min-width:0}.edit-photo img{width:100%;height:220px;object-fit:contain;background:#191a17}.edit-image{border:0;padding:0;width:100%}.edit-photo p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.edit-photo .actions{display:flex;gap:7px}.actions button{font-size:10px;padding:7px 10px}.actions .on{border-color:var(--accent);color:var(--accent)}@media(max-width:700px){header{padding-top:25px}nav{gap:15px;font-size:10px}.brand{font-size:25px}.brand span{font-size:7px}.opening-title{display:block;padding:55px 0 30px}.opening-title p{margin:25px 0 0}.edition{font-size:7px;letter-spacing:1px}#gallery{gap:65px 6vw;padding-bottom:70px}.photo.landscape{grid-column:1/-1}.photo.portrait{grid-column:1/7}.photo.portrait.offset{grid-column:7/-1;padding-top:75px}.photo figcaption{font-size:7px;letter-spacing:0}.interlude{padding:15px 0;gap:20px}#archive-grid,#edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#archive-grid img{height:150px}.editor-filters{flex-wrap:wrap}.edit-photo img{height:180px}.curator-head{align-items:start}.curator-head h1{font-size:48px}.viewer-bottom{font-size:8px}.actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#gallery .photo.first{grid-column:1/-1;padding-top:0}

#collections{display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid var(--line);padding:20px 0 0}#collections button{border:0;padding:6px 0;color:var(--muted);font-size:11px}#collections button.active{color:var(--ink);box-shadow:0 1px var(--ink)}#collection-note{font-size:10px;color:var(--muted);margin:22px 0 40px}.collection-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.collection-tags button{font-size:10px;padding:5px 8px}.collection-tags .on{border-color:var(--accent);color:var(--accent);background:#272720}.actions{flex-wrap:wrap}.empty{grid-column:1/-1;color:var(--muted);padding:50px 0}.opening-title h1{font-size:clamp(52px,9vw,145px)}

/* Contact sheet / October 2026 */
:root{--bg:#111210;--ink:#e6e5df;--muted:#989b91;--line:#30332c;--accent:#b8b29e}body{font-family:Arial,Helvetica,sans-serif}header{padding:25px 3.5vw;border-bottom:0;gap:20px}.brand{font:500 23px/1 Arial,sans-serif;letter-spacing:-1px}.brand span{font:8px/1.4 monospace;letter-spacing:1px;margin-top:9px;color:var(--muted)}header nav{gap:25px;font-size:11px}main{padding:0 3.5vw}.opening-title{padding:22px 0 15px;border-top:1px solid var(--line);align-items:center}.opening-title h1{font:11px/1.5 Arial,sans-serif;letter-spacing:0;margin:0}.opening-title h1:before{content:'●';color:#d0ad7e;font-size:7px;margin-right:9px}.opening-title p{font:9px monospace;letter-spacing:.5px;margin:0;color:var(--muted)}#collection-note{margin:0 0 26px;font:9px monospace;color:var(--muted)}#collections{border:0;padding:0 0 15px;gap:20px}#gallery.contact-sheet{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px 3vw;align-items:start;padding:0 0 90px}.contact-sheet .photo,.contact-sheet .photo.first,.contact-sheet .photo.portrait,.contact-sheet .photo.landscape,.contact-sheet .photo.offset{padding:0;grid-column:auto;min-width:0}.contact-sheet .photo img,.contact-sheet .photo.first img{width:100%;height:auto;max-height:290px;object-fit:contain;object-position:bottom left;transition:filter .25s}.photo button:hover img{filter:brightness(1.09)}#gallery.contact-sheet .photo:nth-child(6n+1){grid-column:1/6;margin-top:22px}#gallery.contact-sheet .photo:nth-child(6n+2){grid-column:7/9;margin-top:65px}#gallery.contact-sheet .photo:nth-child(6n+3){grid-column:10/13;margin-top:0}#gallery.contact-sheet .photo:nth-child(6n+4){grid-column:1/4;margin-top:0}#gallery.contact-sheet .photo:nth-child(6n+5){grid-column:5/8;margin-top:42px}#gallery.contact-sheet .photo:nth-child(6n+6){grid-column:9/13;margin-top:10px}.photo figcaption{font:8px/1.4 monospace;letter-spacing:0;margin-top:11px;color:#909589}.photo figcaption .serial{color:#b8b29e}.series-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:55px 4vw!important;padding-bottom:90px!important;align-items:start}.series-gallery .photo,.series-gallery .photo.first,.series-gallery .photo.portrait,.series-gallery .photo.landscape,.series-gallery .photo.offset{grid-column:auto!important;padding:0!important;margin:0!important}.series-gallery .photo img{max-height:65vh;object-fit:contain;object-position:top left}.series-gallery .photo:nth-child(3n+2){padding-top:65px!important}#series{padding:30px 0 90px;border-top:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 35px;gap:25px}.section-label h2{font:400 clamp(24px,3vw,40px)/1.2 Arial;letter-spacing:-1px;margin:0}.section-label>span{font:8px monospace;color:var(--muted)}#collection-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.series-cover{padding:0;border:0;text-align:left;min-width:0}.series-cover img,.empty-cover{width:100%;height:250px;object-fit:cover;display:block;background:#1a1c17}.series-cover img{filter:saturate(.88);transition:filter .25s}.series-cover:hover img{filter:saturate(1)}.series-caption{display:flex;gap:14px;align-items:baseline;margin-top:14px;font:18px Arial;letter-spacing:-.4px}.series-number,.series-count{font:9px monospace;color:var(--muted);letter-spacing:0}.series-count{margin-left:auto}.series-cover p{font:10px/1.7 Arial;color:var(--muted);margin:6px 0 0 30px}#archive{padding:28px 0 60px}summary>span:first-child{font:24px Arial;letter-spacing:-.5px}#about{padding:60px 0 80px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}#about .eyebrow{grid-column:1;margin:0;font-family:monospace}#about h2{grid-column:1;font:52px Arial;letter-spacing:-2px;margin:0}#about p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}#about a{grid-column:2;justify-self:start;font-size:11px}footer{margin:0 3.5vw;font-family:monospace;font-size:9px}.edit-photo button{transition:none}
@media(min-width:1500px){#gallery.contact-sheet{max-width:1500px;margin:auto}.contact-sheet .photo img{max-height:370px}}
@media(max-width:700px){header{padding:22px 5vw;align-items:start}.brand{font-size:20px}.brand span{font-size:6px;letter-spacing:.6px}header nav{gap:14px;font-size:9px;flex-wrap:wrap;justify-content:end}header nav a:first-child{display:none}main{padding:0 5vw}.opening-title{display:flex;padding:16px 0 12px}.opening-title h1{font-size:10px}.opening-title p{font-size:7px}.opening-title h1:before{font-size:6px}#collection-note{font-size:8px;margin-bottom:18px}#gallery.contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 6vw;padding-bottom:60px}#gallery.contact-sheet .photo:nth-child(n){grid-column:auto;margin:0;padding:0}#gallery.contact-sheet .photo:nth-child(6n+1){grid-column:1/-1}#gallery.contact-sheet .photo:nth-child(6n+3){padding-top:34px}#gallery.contact-sheet .photo:nth-child(6n+6){grid-column:1/-1;width:85%;justify-self:end}#gallery.contact-sheet .photo img{max-height:none;object-fit:contain}#gallery.contact-sheet .photo.first img{max-height:55vh}.photo figcaption{font-size:7px;gap:5px}#collections{gap:7px 16px}#collections button{font-size:10px}.series-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 6vw!important}.series-gallery .photo:nth-child(3n+2){padding-top:0!important}.series-gallery .photo:nth-child(2n){padding-top:40px!important}#collection-covers{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.series-cover img,.empty-cover{height:180px}.series-caption{font-size:14px;gap:8px}.series-cover p{font-size:9px;margin-left:0}.series-number{font-size:8px}.series-count{font-size:8px}.section-label{display:block}.section-label>span{display:block;margin-top:12px}#about{grid-template-columns:1fr;gap:16px}#about p:not(.eyebrow),#about a{grid-column:1;grid-row:auto}#about h2{font-size:42px}footer{margin:0 5vw}}
@media(prefers-reduced-motion:reduce){.photo img,.series-cover img{transition:none}}
.auth-dialog{width:90vw;max-width:380px;height:auto;max-height:90vh;margin:auto;padding:32px 28px;background:#181916;border:1px solid var(--line);border-radius:4px;box-shadow:0 24px 60px rgba(0,0,0,.85);position:fixed;inset:0}
.auth-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}
.auth-dialog h2{font:italic 26px Georgia,serif;margin:10px 0 6px}
.auth-dialog .auth-note{font-size:11px;color:var(--muted);margin:0 0 20px}
.auth-input-group{display:flex;gap:10px}
.auth-input-group input{flex:1;background:#0d0d0c;color:var(--ink);border:1px solid var(--line);padding:10px 14px;font-size:14px}
.auth-input-group input:focus{border-color:var(--accent);outline:none}
.auth-input-group button{background:var(--ink);color:var(--bg);border:0;font-weight:bold;cursor:pointer;padding:10px 18px}
.auth-input-group button:hover{background:#fff}
.auth-error{color:#ef5350;font-size:11px;margin:12px 0 0}
.auth-cancel{margin-top:16px;border:0;padding:6px 0;color:var(--muted);font-size:11px;cursor:pointer;background:none}
.auth-cancel:hover{color:var(--ink)}
.auth-logout{font-size:11px;padding:6px 14px;margin-left:14px;color:var(--muted);border:1px solid var(--line);background:none;cursor:pointer}
.auth-logout:hover{color:#fff;border-color:var(--ink)}
img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;user-select:none;-webkit-user-select:none}
.viewer-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.image-shield{position:absolute;inset:0;background:transparent;z-index:2;cursor:default}
.viewer-watermark{position:absolute;bottom:30px;right:40px;z-index:3;pointer-events:none;color:rgba(255,255,255,.45);font:700 13px/1 Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.85);background:rgba(0,0,0,.35);padding:7px 14px;border:1px solid rgba(255,255,255,.18);border-radius:2px}

/* Enhanced Archive & Teaser / 2026 */
.nav-highlight{color:var(--accent)!important;font-weight:bold;letter-spacing:.5px}
.nav-highlight:hover{color:#fff!important}

.archive-teaser{margin:30px 0 80px;padding:32px 36px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.01));display:flex;justify-content:space-between;align-items:center;gap:24px;border-radius:2px}
.archive-teaser-eyebrow{font:8px/1 monospace;letter-spacing:2px;color:var(--accent);margin:0 0 8px}
.archive-teaser h3{font:400 24px/1.2 Arial,sans-serif;letter-spacing:-.5px;margin:0 0 6px;color:var(--ink)}
.archive-teaser p:not(.archive-teaser-eyebrow){margin:0;font-size:12px;color:var(--muted)}
.archive-teaser-btn{display:inline-block;padding:12px 24px;background:var(--ink);color:var(--bg);font:600 11px/1 monospace;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}
.archive-teaser-btn:hover{background:#fff;color:#000}

.archive-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:20px}
.archive-header h2{font:400 clamp(32px,4vw,56px)/1.1 Arial,sans-serif;letter-spacing:-1.5px;margin:10px 0 12px;color:var(--ink)}
.archive-subhead{font-size:12px;color:var(--muted);max-width:620px;margin:0}
.archive-badge{font:9px monospace;letter-spacing:1.5px;color:var(--accent);border:1px solid var(--line);padding:6px 14px;background:rgba(255,255,255,.02);text-transform:uppercase;white-space:nowrap}

.archive-toolbar{margin:25px 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.year-filters{display:flex;flex-wrap:wrap;gap:10px}
.year-filters button{padding:6px 16px;font:11px/1.4 monospace;letter-spacing:.5px;border:1px solid var(--line);color:var(--muted);background:none;transition:all .2s}
.year-filters button:hover{color:#fff;border-color:var(--muted)}
.year-filters button.active{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:bold}

#archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}
#archive-grid .photo{grid-column:auto;padding:0;margin:0}
#archive-grid img{width:100%;height:230px;object-fit:cover;object-position:center;display:block;background:#1a1c17;transition:transform .25s,filter .25s}
#archive-grid .photo button:hover img{transform:scale(1.02);filter:brightness(1.1)}

@media(max-width:850px){
  .archive-teaser{flex-direction:column;align-items:start;padding:24px 20px}
  .archive-header{flex-direction:column;align-items:start}
  #archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  #archive-grid img{height:160px}
}

