/* Foundations: change header tokens, or add .header-light to body, to test light chrome. */
:root{--paper:#fdfdfb;--ink:#181818;--muted:#72716e;--header:#111;--header-ink:#f8f8f4;--page-width:1200px;--gutter:40px;--margin:clamp(24px,5.6vw,88px);--voice:'Cormorant',serif;--system:'Archivo',sans-serif}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--system);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2{margin:0}button{border:0;background:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;left:20px;background:white;color:black;padding:10px;z-index:5}.skip:focus{top:10px}.header-light{--header:var(--paper);--header-ink:var(--ink)}
.site-header{background:var(--header);color:var(--header-ink)}.header-inner{max-width:calc(var(--page-width) + var(--margin)*2);margin:auto;padding:15px var(--margin);display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:84px}.wordmark{font-family:var(--voice);font-weight:500;font-size:36px;line-height:1;letter-spacing:-1.3px;white-space:nowrap}.wordmark span{font-size:.69em;letter-spacing:-.5px;margin-right:2px}.wordmark:hover{text-decoration:none}.site-header nav{display:flex;gap:32px;font-size:14px}.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.page,.site-footer{max-width:calc(var(--page-width) + var(--margin)*2);padding-left:var(--margin);padding-right:var(--margin);margin:auto}.index-intro{display:flex;align-items:baseline;justify-content:flex-end;gap:24px;padding:43px 0 48px}.category-nav{display:flex;gap:24px;font-size:14px}.category-nav a{color:var(--muted)}.category-nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
/* Home: four compositional columns, including deliberate unoccupied space. */
.editorial-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gutter);row-gap:86px;align-items:start}.set-entry a{display:block}.set-entry a:hover{text-decoration:none}.set-entry a:hover h2{text-decoration:underline;text-underline-offset:4px}.set-entry figcaption{padding-top:16px}.set-entry h2{font-size:16px;font-weight:400;line-height:1.4}.set-entry figcaption p{font-size:12px;color:var(--muted);margin-top:5px}.slot-feature-left{grid-column:1/3}.slot-small-right{grid-column:4; padding-top:135px}.slot-feature-center{grid-column:2/4}.slot-secondary-left{grid-column:1/2}.editorial-index .slot-secondary-left{width:118%}.slot-feature-right{grid-column:3/5;padding-top:75px}.site-footer{display:flex;justify-content:space-between;gap:24px;padding-top:130px;padding-bottom:30px;color:var(--muted);font-size:12px}
/* Category: regular set index, with intact images resting within quiet columns. */
.category-heading{padding:50px 0 58px}.eyebrow,.set-kicker{font-size:13px;color:var(--muted)}.category-heading h1{font-family:var(--voice);font-size:48px;font-weight:400;line-height:1.15;margin:22px 0 30px}.category-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 100px;max-width:1030px}.category-index .set-entry{grid-column:auto;padding:0}.category-index figure>img{max-height:430px;object-fit:contain;object-position:left bottom;width:auto}.empty-category{min-height:32vh;font-size:16px;color:var(--muted)}.empty-category a{display:inline-block;margin-top:18px;text-decoration:underline;color:var(--ink);font-size:14px}
/* Set: CSS-column fallback; JavaScript packs each next image into the shortest column. */
.set-kicker{display:flex;justify-content:space-between;padding-top:42px;gap:20px}.set-intro{padding:32px 0 76px;max-width:560px}.set-intro h1{font-family:var(--voice);font-weight:400;font-size:clamp(40px,4.5vw,62px);line-height:1.05;margin-bottom:25px}.set-intro>p{max-width:450px}.set-intro .context{font-size:14px;color:var(--muted);margin-top:20px;max-width:410px}.set-intro .series-count{font-size:12px;color:var(--muted);margin-top:28px}.set-gallery{--columns:3;--gallery-gap:44px;columns:3;column-gap:44px;max-width:1110px;margin:0 auto}.set-gallery figure{break-inside:avoid;margin:0 0 44px}.photo-link{display:block;cursor:zoom-in}.set-end{display:flex;justify-content:space-between;gap:24px;margin-top:60px;font-size:14px}.about{max-width:510px;padding-top:62px;min-height:65vh}.about h1{font-family:var(--voice);font-size:54px;font-weight:400;margin:25px 0}.about-location{font-size:14px;color:var(--muted);margin-top:40px}.contact{display:flex;gap:28px;margin-top:24px;font-size:14px}.contact a{text-decoration:underline;text-underline-offset:5px}
/* Expanded photograph: metadata stays next to the rendered photographic frame. */
body:has(.photo-record[open]){overflow:hidden}.photo-record{border:0;padding:28px 40px;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;background:#101010;color:#eee}.photo-record::backdrop{background:#101010}.photo-record[open]{display:flex;flex-direction:column}.record-toolbar,.record-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}.record-toolbar{min-height:38px;justify-content:flex-end}.close-record{padding:10px 0 10px 16px;min-height:44px;color:#bbb}.close-record span{margin-left:8px;font-size:18px;vertical-align:baseline}.photo-record button:focus-visible{outline:none;text-decoration:underline;text-underline-offset:5px}.record-layout{display:flex;justify-content:center;align-items:center;gap:32px;flex:1;min-height:0;margin:22px 0}.record-image{min-height:0;flex:0 1 auto;max-width:calc(100% - 212px);display:flex;align-items:center;justify-content:center;position:relative}.record-image img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 192px);object-fit:contain}.record-details{flex:0 0 180px;font-family:var(--system);font-size:12px;color:#a8a8a8;line-height:1.8;max-height:100%;overflow:auto}.record-details #record-title{color:#ddd;font-size:13px;margin-bottom:24px}.record-details .caption{color:#ddd;font-size:13px;margin-bottom:22px}.record-details .record-location{margin-top:24px}.record-navigation{padding-top:8px;color:#aaa;flex-shrink:0}.record-navigation button{padding:10px 0;font-size:16px;min-width:44px;min-height:44px}.record-navigation .previous{text-align:left}.record-navigation .next{text-align:right}.record-navigation button:disabled{opacity:.25;cursor:default}.image-error{position:absolute;padding:20px;background:#101010}.image-error a{text-decoration:underline}.image-error[hidden]{display:none}
@media(min-width:1450px){.editorial-index{row-gap:100px}.slot-small-right{padding-top:160px}}
@media(max-width:900px){:root{--gutter:28px}.editorial-index{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:54px}.slot-feature-left{grid-column:1}.slot-small-right{grid-column:2;padding-top:105px}.slot-feature-center{grid-column:1/3;width:75%;justify-self:center}.slot-secondary-left{grid-column:1}.slot-feature-right{grid-column:2;padding-top:75px}.set-gallery{--columns:2;--gallery-gap:30px;columns:2;column-gap:30px}.set-gallery figure{margin-bottom:30px}.category-index{gap:50px}.record-layout{flex-direction:column;justify-content:flex-start;gap:20px;overflow:auto}.record-image{flex:none;max-width:100%;width:100%}.record-image img{max-height:60dvh}.record-details{flex:none;align-self:center;width:min(100%,480px);max-height:none;overflow:visible}.index-intro{align-items:start}.category-nav{gap:17px}}
@media(max-width:600px){.header-inner{min-height:78px;gap:20px}.wordmark{font-size:30px}.site-header nav{font-size:12px;gap:16px}.index-intro{display:block;padding:52.4px 0 34px}.category-nav{margin-top:18px;gap:25px;font-size:13px}.editorial-index{display:block}.editorial-index .set-entry{padding:0;margin-bottom:49px;width:100%}.editorial-index .slot-small-right{width:66%;margin-left:auto}.editorial-index .slot-feature-center{width:87%}.editorial-index .slot-secondary-left{width:82.6%;margin-left:10%}.editorial-index .slot-feature-right{width:90%;margin-left:auto}.set-entry h2{font-size:15px}.set-entry figcaption p{font-size:12px}.site-footer{padding-top:65px;align-items:start;font-size:12px}.category-index{grid-template-columns:1fr;gap:50px}.category-index .set-entry:nth-child(even){width:78%;justify-self:end}.category-index figure>img{max-height:none}.category-heading{padding:36px 0 40px}.set-kicker{padding-top:30px;font-size:12px}.set-intro{padding:28px 0 44px}.set-gallery{--columns:1;--gallery-gap:40px;columns:1}.set-gallery figure{margin-bottom:40px}.set-gallery figure:has(img[height]){width:90%;margin-left:auto;margin-right:auto}.set-end{font-size:12px}.photo-record{padding:14px 20px}.record-layout{display:flex;flex-direction:column;gap:20px;margin:18px 0 10px;overflow:auto}.record-image{flex:none;min-height:0}.record-details{align-self:start;flex-shrink:0;padding:0}.record-toolbar,.record-navigation{font-size:12px}.record-navigation{flex-shrink:0}.about{padding-top:40px}.contact{flex-wrap:wrap;gap:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Absolute positions affect only enhanced multi-column galleries; images keep natural heights. */
.set-gallery.masonry-ready{columns:auto;position:relative}
.set-gallery.masonry-ready>figure{position:absolute;margin:0;break-inside:auto}

@media(min-width:901px){.editorial-index .slot-secondary-left{width:141.6%}}

/* Original Set editorial copy; let paragraphs grow within the existing reading width. */
.set-body{max-width:450px;margin-top:20px}.set-body p+p{margin-top:20px}.set-body a{text-decoration:underline;text-underline-offset:3px}
