/* A quiet index around the existing magazine spreads. */
.gallery-index{padding:0 0 70px;scroll-margin-top:30px}
.gallery-index-label{display:block;margin-bottom:20px;font:400 26px/1.2 "Matchbook",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
.gallery-filter-links{display:flex;flex-wrap:wrap;column-gap:32px;row-gap:14px;align-items:baseline}
.gallery-filter-links a{position:relative;display:inline-flex;align-items:baseline;gap:7px;padding:8px 0;text-decoration:none;border-bottom:1px solid transparent;color:var(--ink);font:700 clamp(25px,2.6vw,34px)/1.2 "Matchbook",sans-serif;letter-spacing:.035em;transition:color .25s ease,border-color .25s ease}
.gallery-filter-links a[aria-current]{color:var(--rose);border-color:transparent}
.gallery-filter-links a:hover,.gallery-filter-links a:focus-visible{color:var(--rose);border-color:transparent}
.gallery-filter-links a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
.gallery-index-bottom{padding:0 0 110px}
.gallery-status{margin:20px 0 0;font:400 13px/1.4 Arial,sans-serif!important;letter-spacing:.04em!important;color:var(--ink);opacity:.72}
.gallery [hidden]{display:none!important}
.gallery figcaption{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;text-transform:none;letter-spacing:0!important;color:var(--ink)}
.gallery .photo-title{font:400 18px/1.4 "Cormorant Garamond",Georgia,serif!important;letter-spacing:0!important}
.gallery .photo-number{font:400 12px/1 Arial,sans-serif!important;letter-spacing:0!important;color:var(--rose);vertical-align:super;margin-left:5px}
.gallery .photo-category{display:block;flex-basis:100%;font:400 12px/1.4 Arial,sans-serif!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--ink);opacity:.65}
.gallery-filtered figure{margin-top:0!important}
.gallery-filtered [data-slot="0"]{grid-column:1/span 5}
.gallery-filtered [data-slot="1"]{grid-column:8/span 5;margin-top:96px!important}
.gallery-filtered [data-slot="2"]{grid-column:2/span 7}
.gallery-filtered [data-slot="3"]{grid-column:9/span 4;margin-top:64px!important}
.gallery-filtered [data-slot="4"]{grid-column:1/span 4}
.gallery-filtered [data-slot="5"]{grid-column:6/span 6;margin-top:48px!important}
.gallery-filtered .gallery-quote{grid-column:3/span 7;margin-top:20px}
@media(max-width:560px){
 .gallery-index{padding-bottom:48px}.gallery-filter-links{column-gap:22px;row-gap:8px}.gallery-filter-links a{font-size:28px}.gallery-index-bottom{padding-bottom:75px}
 .gallery-filtered [data-slot="0"]{grid-column:1/span 5}
 .gallery-filtered [data-slot="1"]{grid-column:3/span 4;margin-top:20px!important}
 .gallery-filtered [data-slot="2"]{grid-column:1/span 6}
 .gallery-filtered [data-slot="3"]{grid-column:3/span 4;margin-top:12px!important}
 .gallery-filtered [data-slot="4"]{grid-column:1/span 4}
 .gallery-filtered [data-slot="5"]{grid-column:2/span 5;margin-top:20px!important}
 .gallery-filtered .gallery-quote{grid-column:1/span 5;margin-top:10px}
}
.gallery .gallery-new button{aspect-ratio:auto}.gallery .gallery-new img{height:auto;object-fit:contain}

.gallery-filter-menu>summary{display:none}
@media(max-width:800px){
 .gallery-index-label{margin-bottom:14px;font-size:24px;letter-spacing:.07em}
 .gallery-filter-menu{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .gallery-filter-menu>summary{display:grid;grid-template-columns:1fr auto;gap:6px 20px;position:relative;list-style:none;cursor:pointer;padding:18px 0;line-height:1.2;min-height:72px}
 .gallery-filter-menu>summary::-webkit-details-marker{display:none}
 .filter-prompt{font-size:24px;letter-spacing:.055em;grid-column:1}
 .filter-selection{font-size:30px;line-height:1.25;color:var(--rose);grid-column:1;word-spacing:.06em}
 .filter-disclosure{grid-column:2;grid-row:1/3;align-self:center;width:28px;height:28px;position:relative}
 .filter-disclosure::before,.filter-disclosure::after{content:"";position:absolute;background:var(--ink);left:5px;top:13px;width:18px;height:2px}
 .filter-disclosure::after{transform:rotate(90deg);transition:transform .2s}
 .gallery-filter-menu[open] .filter-disclosure::after{transform:rotate(0deg)}
 .gallery-filter-menu>summary:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
 .gallery-filter-menu .gallery-filter-links{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 0 20px}
 .gallery-filter-menu .gallery-filter-links a{padding:10px 12px;font-size:30px;line-height:1.25;letter-spacing:.025em;word-spacing:.06em;border:0;min-height:44px}
 .gallery-filter-menu .gallery-filter-links a[aria-current]{background:color-mix(in srgb,var(--rose) 12%,transparent);color:var(--rose)}
 .gallery-filter-menu:not([open])>.gallery-filter-links{display:none}
 .gallery-index:not(.gallery-index-bottom) .gallery-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* Keep each project in reading order without back-filling earlier grid gaps. */
.gallery{grid-auto-flow:row}
.gallery [data-project] button{aspect-ratio:auto}
.gallery [data-project] img{height:auto;object-fit:contain}

/* A contained photo with controls outside the image on every screen size. */
.lightbox{height:100vh;height:100dvh;box-sizing:border-box;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;place-items:stretch;padding:16px 24px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));background:#100e0d;overscroll-behavior:contain;color:#fff}
.lightbox-toolbar{display:flex;justify-content:flex-end}
.lightbox button{position:static;inset:auto;min-height:44px;padding:8px 12px;font:400 25px/1.2 "Matchbook",Arial,sans-serif;letter-spacing:.045em;border:0;background:transparent;color:#fff;text-transform:none;cursor:pointer}
.lightbox button:hover,.lightbox button:focus-visible{color:#d9a28f}
.lightbox button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.lightbox button:disabled{opacity:.3;cursor:default}
.lightbox-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;touch-action:pinch-zoom}
.lightbox .lightbox-stage img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:none;opacity:1}
.lightbox-bottom{width:min(100%,720px);justify-self:center;text-align:center}
.lightbox-caption{margin:0 0 4px;font:400 20px/1.25 "Cormorant Garamond",Georgia,serif}
.lightbox-description{max-width:620px;margin:5px auto 9px;color:#ddd3ca;font:400 17px/1.35 "Cormorant Garamond",Georgia,serif;text-wrap:pretty}
.lightbox-description[hidden]{display:none}
@media(max-width:560px){.lightbox-description{font-size:16px;line-height:1.3;margin-block:4px 7px}}
.lightbox-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.lightbox-navigation button:first-child{justify-self:start}
.lightbox-navigation button:last-child{justify-self:end}
.lightbox-navigation span{font:400 13px/1.3 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.05em}
#lightbox-hint{margin:0;font:400 12px/1.3 Arial,sans-serif;letter-spacing:.03em;color:#bcb3ad}
@media(max-width:560px){.lightbox{padding-left:12px;padding-right:12px;gap:8px}.lightbox button{font-size:24px}.lightbox-caption{font-size:18px}}

/* Collection names travel with each photograph, with direct collection links. */
.gallery .photo-title .photo-collection{color:var(--rose);font:inherit!important;letter-spacing:inherit!important;text-decoration:none}
.gallery .photo-title .photo-collection:hover,.gallery .photo-title .photo-collection:focus-visible{text-decoration:underline;text-underline-offset:3px}
.collection-nav-label{display:block;margin:24px 0 8px;font-size:24px;line-height:1.2;color:var(--rose);letter-spacing:.06em}
.collection-links a[aria-current]{color:var(--rose);background:color-mix(in srgb,var(--rose) 12%,transparent);border-color:transparent;padding-inline:10px}
.collection-back{color:var(--rose);text-decoration:none}
.collection-back:hover,.collection-back:focus-visible{text-decoration:underline}
@media(max-width:800px){.gallery-filter-menu:not([open])>.collection-links,.gallery-filter-menu:not([open])>.collection-nav-label{display:none}.gallery-filter-menu .collection-links{padding-top:0}.collection-nav-label{margin-top:12px}}

.lightbox-collection{display:inline-block;margin:2px 0 8px;padding:6px 4px;color:#d9a28f;font:400 24px/1.25 "Matchbook",Arial,sans-serif;letter-spacing:.03em;text-decoration:none;transition:color .2s ease}
.lightbox-collection[hidden]{display:none}
.lightbox-collection:hover,.lightbox-collection:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.lightbox-collection:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.intro h1 .collection-dedication{display:block;max-width:760px;margin:22px auto 0;font:400 clamp(25px,3vw,40px)/1.3 "Cormorant Garamond",Georgia,serif!important;letter-spacing:.01em;color:var(--rose)}

/* Give isolated photographs enough scale while retaining the magazine offsets. */
@media(min-width:561px){
 .gallery:not(.gallery-filtered) .g4{grid-column:9/span 4;margin-top:100px}
 .gallery:not(.gallery-filtered) .g5{grid-column:1/span 4;margin-top:80px}
 .gallery:not(.gallery-filtered) .g15{grid-column:2/span 4}
 .gallery[data-collection-page] [data-slot="0"][data-editorial-weight="hero"]{grid-column:1/span 7}
 .gallery[data-collection-page] [data-slot="3"][data-editorial-weight="hero"]{grid-column:7/span 6}
}
@media(max-width:560px){
 .gallery:not(.gallery-filtered) .g4,.gallery:not(.gallery-filtered) .g11,.gallery:not(.gallery-filtered) .g19{grid-column:3/span 4}
 .gallery:not(.gallery-filtered) .g5,.gallery:not(.gallery-filtered) .g15{grid-column:1/span 4}
}

/* Each subject forms its own spread, with the same gutters and no dividers. */
.gallery.gallery-grouped{grid-auto-flow:row}
.gallery-grouped>.gallery-story-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:inherit;row-gap:inherit;align-items:start;min-width:0}
.gallery-grouped>.gallery-quote{grid-column:2/span 9;margin-top:0}
.gallery-grouped .gallery-story-group>figure{min-width:0;margin-top:0!important}
.gallery-grouped .gallery-story-group>[data-slot="0"]{grid-column:1/span 5}
.gallery-grouped .gallery-story-group>[data-slot="1"]{grid-column:8/span 5;margin-top:clamp(24px,5vw,72px)!important}
.gallery-grouped .gallery-story-group>[data-slot="2"]{grid-column:2/span 7}
.gallery-grouped .gallery-story-group>[data-slot="3"]{grid-column:9/span 4;margin-top:48px!important}
.gallery-grouped .gallery-story-group>[data-slot="4"]{grid-column:1/span 4}
.gallery-grouped .gallery-story-group>[data-slot="5"]{grid-column:6/span 6;margin-top:32px!important}
.gallery-grouped .gallery-story-group>figure:only-child{grid-column:2/span 7}
@media(max-width:800px){
 /* Large photographs with restrained offsets, rather than miniature spreads. */
 .gallery.gallery-grouped{width:calc(100% - 24px);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:6px;row-gap:52px}
 .gallery-grouped>.gallery-story-group{grid-template-columns:repeat(12,minmax(0,1fr));row-gap:36px}
 .gallery-grouped>.gallery-quote{grid-column:1/-1}
 .gallery-grouped .gallery-story-group>[data-slot="0"]{grid-column:1/-1}
 .gallery-grouped .gallery-story-group>[data-slot="1"]{grid-column:2/-1;margin-top:8px!important}
 .gallery-grouped .gallery-story-group>[data-slot="2"]{grid-column:1/-1}
 .gallery-grouped .gallery-story-group>[data-slot="3"]{grid-column:1/span 11;margin-top:8px!important}
 .gallery-grouped .gallery-story-group>[data-slot="4"]{grid-column:2/-1}
 .gallery-grouped .gallery-story-group>[data-slot="5"]{grid-column:1/-1;margin-top:8px!important}
 .gallery-grouped .gallery-story-group>figure:only-child{grid-column:1/-1}
 .gallery.gallery-grouped[data-collection-page] .gallery-story-group>[data-editorial-weight="hero"]{grid-column:1/-1}
}

/* A full-frame photograph, with a quiet floating exit and navigation. */
.lightbox-toolbar{gap:12px;align-items:center}
.lightbox-location{margin:4px 0 8px;color:#c7b7aa;font:400 14px/1.3 Arial,sans-serif;letter-spacing:.03em}
.lightbox-location[hidden]{display:none}
.lightbox.is-fullscreen{padding:0;gap:0;grid-template-rows:minmax(0,1fr);background:#080808}
.lightbox.is-fullscreen .lightbox-stage{grid-area:1/1;min-height:0;height:100%;width:100%}
.lightbox.is-fullscreen .lightbox-toolbar{position:absolute;z-index:2;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
.lightbox.is-fullscreen .lightbox-toolbar button{background:rgba(8,8,8,.7);border-radius:3px;font-size:22px}
.lightbox.is-fullscreen .lightbox-bottom{position:absolute;z-index:2;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(90%,480px);background:rgba(8,8,8,.65);border-radius:3px}
.lightbox.is-fullscreen .lightbox-caption,.lightbox.is-fullscreen .lightbox-description,.lightbox.is-fullscreen .lightbox-location,.lightbox.is-fullscreen .lightbox-collection,.lightbox.is-fullscreen #lightbox-hint{display:none}
.lightbox:fullscreen{width:100%;height:100%;max-width:none;max-height:none}
.lightbox::backdrop{background:#080808}

/* A compact, themed disclosure; its list scrolls independently of the gallery. */
.collection-filter{display:block;position:relative;width:fit-content;max-width:100%;margin-top:12px;z-index:12}
.collection-filter>summary{display:flex;align-items:center;gap:14px;max-width:250px;min-height:44px;padding:6px 2px;border-bottom:1px solid var(--line);list-style:none;cursor:pointer;color:var(--ink);font:400 22px/1.2 "Matchbook",Arial,sans-serif!important;letter-spacing:.035em}
.collection-filter>summary::-webkit-details-marker{display:none}
.collection-filter>summary [data-collection-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.collection-chevron{flex:none;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:-4px 4px 0 0}
.collection-filter[open] .collection-chevron{transform:rotate(225deg);margin-top:4px}
.collection-filter-options{position:absolute;top:calc(100% + 6px);left:0;box-sizing:border-box;width:min(300px,calc(100vw - 64px));max-height:320px;max-height:min(320px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.collection-filter:not([open])>.collection-filter-options{display:none}
.collection-filter-options a{display:flex;align-items:center;box-sizing:border-box;min-height:40px;padding:8px 10px;border:0;border-radius:2px;text-align:left;text-decoration:none;text-transform:none;color:var(--ink);font:400 18px/1.3 "Cormorant Garamond",Georgia,serif!important;letter-spacing:0!important;overflow-wrap:anywhere}
.collection-filter-options a:hover,.collection-filter-options a[aria-current]{color:var(--rose);background:color-mix(in srgb,var(--rose) 12%,var(--paper))}
.collection-filter-options a[aria-current]{font-weight:600!important}
.collection-filter>summary:focus-visible,.collection-filter-options a:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.gallery-index-bottom .collection-filter-options{top:auto;bottom:calc(100% + 6px)}
@media(max-width:560px){.collection-filter-options a{min-height:44px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
