/* Small additions around the original Candidate B design. */
.index-opening{min-height:clamp(380px,48svh,570px);display:flex;align-items:center}.index-heading{padding-left:clamp(5px,3vw,60px)}.index-heading .intro-line{color:var(--gold);font-size:10px;letter-spacing:.25em;font-weight:750}.index-heading h1{font-size:clamp(70px,11vw,170px);line-height:.82;letter-spacing:-.09em;margin:28px 0}.index-heading h1 em{display:block;font-family:var(--serif);font-weight:400;text-transform:none}.index-heading p{color:var(--mute);line-height:1.8}.gallery-index{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,4vw,65px);align-items:start}.gallery-category{grid-column:span 6}.gallery-category:nth-child(3n+1){grid-column:span 8}.gallery-category:nth-child(3n+2){grid-column:span 4;margin-top:clamp(60px,10vw,150px)}.category-photo{aspect-ratio:1.55;overflow:hidden;background:#171b21}.category-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.gallery-category:hover img{transform:scale(1.025)}.category-label{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding:16px 0}.category-label h2{font-family:var(--serif);font-size:clamp(26px,3vw,48px);font-weight:400;margin:0}.category-label span{font-size:10px;letter-spacing:.13em;color:var(--mute);white-space:nowrap}.artwork{margin:0}.retry-image{display:none;border:1px solid var(--gold);background:#15181c;color:var(--ivory);padding:9px 12px;font-size:10px;letter-spacing:.12em;margin-top:8px}.load-failed .retry-image{display:inline-block}.viewer-stage img{touch-action:pan-y}.opening .media img{object-fit:cover}.collection-controls .filter[aria-current=page]{color:#131313;background:#eee7dc;border-color:#eee7dc}@media(max-width:650px){.gallery-index{display:block}.gallery-category{display:block;margin:0 0 55px!important}.index-opening{min-height:360px}.collection-controls .filter{font-size:9px}.collection-controls .filter:after{content:none}.viewer-aside.open{position:absolute;right:0;top:0;bottom:0;width:min(310px,85vw);z-index:5}.category-label h2{font-size:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.viewer-retry{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);border:1px solid var(--gold);background:#15181c;color:var(--ivory);padding:12px;font-size:10px;letter-spacing:.12em}.viewer-retry[hidden]{display:none}
/* R3: equal category weights and a smaller editorial image scale. */
.gallery-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.gallery-category,.gallery-category:nth-child(3n+1),.gallery-category:nth-child(3n+2){grid-column:auto;margin:0;min-width:0}
.category-photo{aspect-ratio:3/2}.category-photo img{width:100%;height:100%;object-fit:cover}
.coming-soon{display:grid;place-items:center;height:100%;color:#b1aaa1;font-size:10px;letter-spacing:.24em}.category-label h2{font-size:clamp(23px,2.4vw,38px)}.temporary-cover{display:block;color:#a6aab0;font-size:9px;letter-spacing:.12em}
#flow{max-width:1600px;margin:0 auto}.flow-row{margin-top:clamp(52px,6vw,100px)}.flow-row .artwork{width:72%;min-width:0}.flow-row .artwork:nth-child(2){justify-self:end}.flow-row.type-solo .artwork,.flow-row.type-offset .artwork{justify-self:center}.art-photo{max-width:var(--max-portrait-width,100%);max-height:66vh}.cap{margin-top:12px}.cap strong{font-size:clamp(14px,1vw,16px);font-weight:700;line-height:1.5}.no-derivative{display:grid;place-items:center;position:absolute;inset:0;text-align:center;color:#d0c1b2;letter-spacing:.13em;font-size:10px}.no-derivative small{letter-spacing:0;color:#a6aab0}
@media(max-width:1000px){.gallery-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.gallery-index{display:grid;grid-template-columns:1fr;gap:38px}.gallery-category{margin:0!important}.flow-row .artwork{width:90%}.flow-row .artwork:nth-child(2){justify-self:end}.art-photo{max-height:66vh}.category-label h2{font-size:32px}}
/* R4: group-based editorial flow; spacing is between related works, not empty columns. */
#flow[aria-label="Continuously arranged landscape photographs"]{max-width:1300px;margin-inline:auto}
#flow[aria-label="Continuously arranged landscape photographs"] .flow-row{display:grid;grid-template-columns:var(--r4-cols,1fr);column-gap:clamp(24px,2.4vw,36px);row-gap:24px;align-items:center;max-width:min(100%,1200px,calc(var(--r4-cap,140vh) + 36px));margin:clamp(64px,6.3vw,100px) auto 0}
#flow[aria-label="Continuously arranged landscape photographs"] .flow-row:first-child{margin-top:70px}
#flow[aria-label="Continuously arranged landscape photographs"] .flow-row .artwork,#flow[aria-label="Continuously arranged landscape photographs"] .flow-row .artwork:nth-child(2){grid-column:auto;width:100%;min-width:0;margin:0;justify-self:stretch}
#flow[aria-label="Continuously arranged landscape photographs"] .flow-row.type-feature,#flow[aria-label="Continuously arranged landscape photographs"] .flow-row.type-single{max-width:min(100%,1000px,calc(var(--r4-cap,100vh) + 36px))}
#flow[aria-label="Continuously arranged landscape photographs"] .art-photo{width:100%;max-width:none;max-height:68vh;aspect-ratio:var(--ratio,1.5)}
#flow[aria-label="Continuously arranged landscape photographs"] .art-photo img,#flow[aria-label="Continuously arranged landscape photographs"] .art-photo.real img{object-fit:contain}
#flow[aria-label="Continuously arranged landscape photographs"] .cap{margin-top:14px}#flow[aria-label="Continuously arranged landscape photographs"] .cap strong{font-size:clamp(14px,1.05vw,16px);line-height:1.5;font-weight:650}
#flow[aria-label="Continuously arranged landscape photographs"] .flow-note{grid-column:1/-1;margin:clamp(20px,3vw,45px) 0 0;padding:0}
@media(max-width:700px){#flow[aria-label="Continuously arranged landscape photographs"]{padding-inline:19px}#flow[aria-label="Continuously arranged landscape photographs"] .flow-row,#flow[aria-label="Continuously arranged landscape photographs"] .flow-row.type-feature,#flow[aria-label="Continuously arranged landscape photographs"] .flow-row.type-single{grid-template-columns:minmax(0,1fr);max-width:100%;gap:32px;margin-top:64px}#flow[aria-label="Continuously arranged landscape photographs"] .flow-row .artwork,#flow[aria-label="Continuously arranged landscape photographs"] .flow-row .artwork:nth-child(2){grid-column:1;width:100%;margin:0}#flow[aria-label="Continuously arranged landscape photographs"] .art-photo{max-height:none;max-width:min(100%,var(--max-portrait-width,100%))}#flow[aria-label="Continuously arranged landscape photographs"] .flow-note{grid-column:1}#flow[aria-label="Continuously arranged landscape photographs"] .cap strong{font-size:15px}}
