/* A single large-format editorial system for every later collection. */
.curated-collection {
  padding: clamp(82px, 8vw, 128px) 4% clamp(96px, 10vw, 154px);
  overflow: hidden;
  background: var(--page);
  border-top: 1px solid var(--line);
}

.curated-collection:nth-of-type(even) { background: var(--panel); }

.collection-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: clamp(36px, 7vw, 110px);
  align-items: end;
  max-width: 1600px;
  margin: 0 auto clamp(42px, 5vw, 72px);
}

.collection-heading > div { min-width: 0; }

.collection-heading .eyebrow {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .19em;
}

.collection-heading h2 {
  max-width: 100%;
  font-size: clamp(50px, 6.1vw, 92px);
  line-height: 1;
  letter-spacing: -.035em;
}

.collection-heading > p {
  max-width: 420px;
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.collection-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 30px);
  max-width: 1600px;
  margin: 0 auto;
}

.collection-grid figure {
  grid-column: span 6;
  min-width: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

.collection-grid:not(.two-up):not(.one-up) figure:first-child { grid-column: 1 / -1; }
.collection-grid.one-up figure { grid-column: 1 / -1; }

/* Warrior Study follows the photographs' native compositions: a centered,
   landscape lead followed by two uncropped full-length portraits. */
.collection-grid.two-up[data-gallery="warrior"] figure:first-child {
  grid-column: 1 / -1;
}

.collection-grid.two-up[data-gallery="warrior"] figure:nth-child(2) {
  grid-column: 1 / span 5;
  margin-top: clamp(48px, 6vw, 96px);
}

.collection-grid.two-up[data-gallery="warrior"] figure:nth-child(3) {
  grid-column: 7 / -1;
  margin-top: clamp(122px, 12vw, 192px);
}

.portfolio-frame .photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1363 / 936;
  overflow: hidden;
  background: var(--panel);
}

.portfolio-frame .photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.035);
  filter: saturate(.94) contrast(1.015);
  transition: transform 800ms cubic-bezier(.2,.7,.2,1), filter 450ms ease;
}

.portfolio-frame .photo:hover img,
.portfolio-frame .photo:focus-visible img {
  transform: scale(1.06);
  filter: saturate(1) contrast(1);
}

.collection-grid[data-gallery="warrior"] .photo {
  aspect-ratio: auto;
  background: transparent;
}

.collection-grid[data-gallery="warrior"] .photo img {
  height: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.collection-grid[data-gallery="warrior"] .photo:hover img,
.collection-grid[data-gallery="warrior"] .photo:focus-visible img {
  transform: none;
}

/* The Galactic sequence pairs a full-character portrait with a tighter
   character study. The standing frame keeps its native vertical composition. */
.collection-grid[data-gallery="galactic"] figure:nth-child(2) {
  grid-column: 1 / span 5;
  margin-top: clamp(48px, 6vw, 96px);
}

.collection-grid[data-gallery="galactic"] figure:nth-child(3) {
  grid-column: 7 / -1;
  margin-top: clamp(122px, 12vw, 192px);
}

.collection-grid[data-gallery="galactic"] figure:nth-child(2) .photo {
  aspect-ratio: auto;
  background: transparent;
}

.collection-grid[data-gallery="galactic"] figure:nth-child(2) .photo img {
  height: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.collection-grid[data-gallery="galactic"] figure:nth-child(2) .photo:hover img,
.collection-grid[data-gallery="galactic"] figure:nth-child(2) .photo:focus-visible img {
  transform: none;
}

/* Miss British Columbia moves from an environmental lead into a complete
   standing portrait and an intentional beauty detail. Every frame stays at
   its source aspect ratio rather than being cut into a uniform tile. */
.collection-grid[data-gallery="missbc"] figure:nth-child(2) {
  grid-column: 1 / span 5;
  margin-top: clamp(48px, 6vw, 96px);
}

.collection-grid[data-gallery="missbc"] figure:nth-child(3) {
  grid-column: 7 / -1;
  margin-top: clamp(122px, 12vw, 192px);
}

.collection-grid[data-gallery="missbc"] .photo {
  aspect-ratio: auto;
  background: transparent;
}

.collection-grid[data-gallery="missbc"] .photo img {
  height: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.collection-grid[data-gallery="missbc"] .photo:hover img,
.collection-grid[data-gallery="missbc"] .photo:focus-visible img {
  transform: none;
}

.collection-open {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 11px 13px 11px 15px;
  background: rgba(18,19,17,.78);
  color: #f5f2e9;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(5px);
  backdrop-filter: blur(8px);
  transition: opacity 250ms ease, transform 250ms ease;
}

.collection-open b { font-size: 15px; font-weight: 400; }

.portfolio-frame .photo:hover .collection-open,
.portfolio-frame .photo:focus-visible .collection-open {
  opacity: 1;
  transform: translateY(0);
}

.portfolio-frame figcaption {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 18px;
  min-height: 0;
  padding: 20px 0 0;
  border: 0;
  color: var(--ink);
}

.collection-index {
  padding-top: 6px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .14em;
}

.collection-title strong,
.collection-title small { display: block; }

.collection-title strong {
  font: 400 clamp(19px, 1.7vw, 28px)/1.1 Georgia, serif;
  letter-spacing: -.02em;
}

.collection-title small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .035em;
}

/* The single anniversary frame follows the same scale and caption language. */
#anniversaries {
  padding: clamp(82px, 8vw, 128px) 4% clamp(96px, 10vw, 154px);
  border-top: 1px solid var(--line);
}

#anniversaries .occasion-heading {
  max-width: 1600px;
  margin: 0 auto clamp(42px, 5vw, 72px);
}

#anniversaries .occasion-heading h2 {
  font-size: clamp(50px, 6.1vw, 92px);
  line-height: 1;
  letter-spacing: -.035em;
}

#anniversaries .occasion-heading > div:last-child {
  padding-top: 22px;
  border-top: 1px solid var(--panel-line);
}

#anniversary-gallery {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1600px;
  margin: 0 auto;
}

#anniversary-gallery figure,
#anniversary-gallery figure:nth-child(2) {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

/* Landscapes close the sequence with the same generous two-frame spread. */
#landscapes.work {
  padding: clamp(82px, 8vw, 128px) 4% clamp(96px, 10vw, 154px);
  border-top: 1px solid var(--line);
}

#landscapes .section-top {
  grid-template-columns: minmax(180px, .5fr) minmax(0, 1fr) minmax(220px, .5fr);
  max-width: 1600px;
  margin: 0 auto clamp(42px, 5vw, 72px);
}

#landscapes .section-top h2 {
  font-size: clamp(50px, 6.1vw, 92px);
  line-height: 1;
  letter-spacing: -.035em;
}

#landscape-gallery.gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 30px);
  max-width: 1600px;
  margin: 0 auto;
}

#landscape-gallery figure,
#landscape-gallery figure:nth-child(2) {
  margin: 0;
  padding: 0;
}

@media (max-width: 800px) {
  .curated-collection,
  #anniversaries,
  #landscapes.work { padding: 64px 6% 78px; }
  .collection-heading,
  #anniversaries .occasion-heading,
  #landscapes .section-top {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 34px;
  }
  .collection-heading h2,
  #anniversaries .occasion-heading h2,
  #landscapes .section-top h2 { font-size: clamp(46px, 11vw, 66px); }
  .collection-heading > p { max-width: 560px; }
  .collection-grid,
  .collection-grid.two-up,
  .collection-grid.one-up,
  #landscape-gallery.gallery { grid-template-columns: 1fr; gap: 38px; }
  .collection-grid figure,
  .collection-grid:not(.two-up):not(.one-up) figure:first-child,
  .collection-grid.one-up figure { grid-column: 1; }
  .collection-grid.two-up[data-gallery="warrior"] figure:first-child,
  .collection-grid.two-up[data-gallery="warrior"] figure:nth-child(2),
  .collection-grid.two-up[data-gallery="warrior"] figure:nth-child(3) {
    grid-column: 1;
    margin-top: 0;
  }
  .collection-grid[data-gallery="galactic"] figure:nth-child(2),
  .collection-grid[data-gallery="galactic"] figure:nth-child(3) {
    grid-column: 1;
    margin-top: 0;
  }
  .collection-grid[data-gallery="missbc"] figure:nth-child(2),
  .collection-grid[data-gallery="missbc"] figure:nth-child(3) {
    grid-column: 1;
    margin-top: 0;
  }
  #landscapes .section-top > p:last-child { display: block; max-width: 420px; margin: 0; }
}

@media (max-width: 560px) {
  .portfolio-frame figcaption { grid-template-columns: auto 1fr; gap: 14px; }
  .collection-open { opacity: 1; transform: none; right: 11px; bottom: 11px; }
  .collection-title strong { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-frame .photo img,
  .collection-open { transition: none; }
}

/* Preserve the animal photographs' original framing and color. */
.collection-grid[data-gallery="animals"] { align-items: start; }
.collection-grid[data-gallery="animals"] .photo { aspect-ratio: auto; }
.collection-grid[data-gallery="animals"] .photo img,
.collection-grid[data-gallery="animals"] .photo:hover img,
.collection-grid[data-gallery="animals"] .photo:focus-visible img {
  height: auto;
  object-fit: contain;
  transform: none;
  filter: none;
}

/* Sunken City follows each photograph's native composition. */
.collection-grid[data-gallery="sunken"] { align-items: start; }
.collection-grid[data-gallery="sunken"] .photo { aspect-ratio: auto; }
.collection-grid[data-gallery="sunken"] .photo img,
.collection-grid[data-gallery="sunken"] .photo:hover img,
.collection-grid[data-gallery="sunken"] .photo:focus-visible img {
  height: auto;
  object-fit: contain;
  transform: none;
  filter: none;
}

/* Editorial sequencing: natural framing throughout the new opening edit. */
.work-anchor { display: block; scroll-margin-top: 32px; }
.collection-grid[data-gallery="celebration"] { align-items: start; }
.collection-grid[data-gallery="celebration"] .photo,
.collection-grid[data-gallery="studioPortraits"] .photo { aspect-ratio: auto; }
.collection-grid[data-gallery="celebration"] .photo img,
.collection-grid[data-gallery="studioPortraits"] .photo img,
.collection-grid[data-gallery="celebration"] .photo:hover img,
.collection-grid[data-gallery="studioPortraits"] .photo:hover img {
 height: auto; object-fit: contain; transform: none; filter: none;
}
/* A wide beauty lead, then environmental and full-length frames. */
.collection-grid[data-gallery="missbc"] figure:nth-child(2) { grid-column: 1 / span 7; }
.collection-grid[data-gallery="missbc"] figure:nth-child(3) { grid-column: 9 / -1; }
@media(max-width:800px) {
 .collection-grid[data-gallery="missbc"] figure:nth-child(2),
 .collection-grid[data-gallery="missbc"] figure:nth-child(3) { grid-column: 1; }
}

/* Two contrasting portraits lead into a complete landscape studio composition. */
.collection-grid[data-gallery="studioPortraits"] { align-items: start; }
.collection-grid[data-gallery="studioPortraits"] figure:last-child { grid-column: 1 / -1; }
.collection-grid[data-gallery="studioPortraits"] .photo:focus-visible img {
 height: auto; object-fit: contain; transform: none; filter: none;
}
@media(max-width:800px) {
 .collection-grid[data-gallery="studioPortraits"] figure:last-child { grid-column: 1; }
}

.collection-grid[data-gallery="celebration"] .photo:focus-visible img { height: auto; object-fit: contain; transform: none; filter: none; }

/* Preserve the original garden portrait's composition and color. */
#anniversary-gallery .photo { aspect-ratio: auto; }
#anniversary-gallery .photo img,
#anniversary-gallery .photo:hover img,
#anniversary-gallery .photo:focus-visible img {
 height: auto; object-fit: contain; transform: none; filter: none;
}

/* Full-frame night landscape leads the collection. */
#landscape-gallery figure:first-child{grid-column:1/-1}#landscape-gallery figure:first-child .photo{display:block;width:100%;height:auto;aspect-ratio:auto}#landscape-gallery figure:first-child img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

#landscape-gallery figure:nth-child(2){grid-column:1/-1;width:min(100%,1120px);margin:clamp(20px,3vw,48px) auto 0}#landscape-gallery figure:nth-child(2) .photo{width:100%;height:auto;aspect-ratio:auto}#landscape-gallery figure:nth-child(2) img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
