/* Complete activity albums: natural photo ratios and compact editorial rows. */
.activity-album .detail-gallery { color: #184d80; }
.album-chapter-nav { display: flex; flex-wrap: wrap; gap: 8px 30px; padding: 12px 0; border-bottom: 1px solid #c9deed; }
.album-chapter-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #184d80; font-size: 14px; }
.album-chapter-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.album-chapter { padding: 36px 0; }
.album-chapter + .album-chapter { border-top: 1px solid #c9deed; }
.album-chapter-heading { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 18px; margin-bottom: 22px; }
.album-chapter-number { padding-top: 7px; font-size: 16px; color: #6b8cab; }
.album-chapter-heading h3 { margin: 0; font-family: inherit; font-weight: 500; font-size: clamp(22px, 2.3vw, 30px); line-height: 1.4; }
.album-chapter-heading p { max-width: 76ch; margin: 8px 0 0; color: #617e98; font-size: 14px; line-height: 1.8; }
.album-mosaic { display: grid; gap: 10px; }
.album-photo-row { display: grid; gap: 10px; align-items: start; }
.album-photo { display: block; width: 100%; min-width: 0; padding: 0; border: 0; border-radius: 7px; background: #deebf2; overflow: hidden; cursor: zoom-in; }
.album-photo picture, .album-photo img { display: block; width: 100%; height: auto; }
.album-photo:focus-visible { outline: 3px solid #2677c5; outline-offset: 3px; }
.album-opening-portrait { display: grid; grid-template-columns: 1.333fr repeat(3, 1.5fr); grid-template-rows: repeat(2, 1fr); gap: 10px; }
.album-opening-portrait .album-photo:first-child { grid-row: span 2; }
.album-opening-portrait .album-photo { height: 100%; }
.album-opening-portrait picture, .album-opening-portrait img { height: 100%; object-fit: cover; }
.album-opening-portrait .album-photo:first-child img { object-position: center 30%; }
.activity-album .album-evening { margin: 26px -28px 0; padding: 36px 28px; border: 0; border-radius: 12px; background: #11283d; color: #e0f0fc; }
.album-evening .album-chapter-number, .album-evening .album-chapter-heading p { color: #b3cddd; }
.album-evening .album-chapter-heading { margin-bottom: 24px; }
.album-night-photos { grid-template-columns: minmax(0, 1.185fr) minmax(0, 1fr); align-items: start; gap: 12px; }
.album-night-photos .album-photo { box-shadow: 0 0 0 1px #9bb7c455; }
.album-night-photos .album-photo:nth-child(1) { grid-column: 1; grid-row: 1; }
.album-night-photos .album-photo:nth-child(2) { grid-column: 1; grid-row: 2; }
.album-night-photos .album-photo:nth-child(3) { grid-column: 2; grid-row: 1; width: calc(50% - 6px); }
.album-night-photos .album-photo:nth-child(4) { grid-column: 2; grid-row: 1; width: calc(50% - 6px); justify-self: end; }
.album-night-photos .album-photo:nth-child(5) { grid-column: 2; grid-row: 2; position: relative; margin: -6px 0 0 -6px; width: calc(100% + 6px); box-shadow: 0 0 0 6px #11283d, 0 10px 28px #050f1c33; }
/* A landscape lead shares a two-row spread with four smaller photographs. */
.album-opening-landscape { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, 1fr); gap: 10px; }
.album-opening-landscape .album-photo:first-child { grid-row: span 2; }
.album-opening-landscape .album-photo { height: 100%; }
.album-opening-landscape picture, .album-opening-landscape img { height: 100%; object-fit: cover; }
.album-chapter .chapter-video, .album-chapter .chapter-video-list { margin-top: 24px; }
.album-mosaic:empty { display: none; }
@media (max-width: 900px) {
  .activity-album .album-evening { margin-inline: 0; padding-inline: 20px; }
}
@media (max-width: 600px) {
  .album-chapter-nav { gap: 4px; justify-content: space-between; }
  .album-chapter-nav a { font-size: 13px; padding-inline: 5px; }
  .album-chapter { padding-block: 26px; }
  .album-chapter-heading { grid-template-columns: 24px minmax(0, 1fr); gap: 10px; margin-bottom: 16px; }
  .album-chapter-number { font-size: 13px; padding-top: 6px; }
  .album-chapter-heading h3 { font-size: 22px; }
  .album-chapter-heading p { font-size: 13px; line-height: 1.75; }
  .album-mosaic, .album-photo-row, .album-opening-portrait { gap: 8px; }
  .album-photo { border-radius: 6px; }
  .album-opening-portrait { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .album-opening-portrait .album-photo:not(:first-child) { aspect-ratio: 3 / 2; }
  .album-triptych { grid-template-columns: 1fr 1fr !important; grid-template-rows: 1fr 1fr; }
  .album-triptych .album-photo:first-child { grid-row: span 2; height: 100%; }
  .album-triptych .album-photo:first-child picture, .album-triptych .album-photo:first-child img { height: 100%; object-fit: cover; object-position: center 30%; }
  .album-triptych-end .album-photo:first-child { grid-row: auto; }
  .album-triptych-end .album-photo:last-child { grid-column: 2; grid-row: 1 / 3; height: 100%; }
  .album-triptych-end .album-photo:last-child picture, .album-triptych-end .album-photo:last-child img { height: 100%; object-fit: cover; object-position: center 30%; }
  .activity-album .album-evening { margin: 12px 0 0; padding: 24px 12px; border-radius: 10px; }
  .album-night-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .album-night-photos .album-photo:nth-child(n) { grid-column: auto; grid-row: auto; width: 100%; margin: 0; box-shadow: none; }
  .album-night-photos .album-photo:nth-child(1), .album-night-photos .album-photo:nth-child(2), .album-night-photos .album-photo:nth-child(5) { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .album-opening-landscape { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 8px; }
  .album-opening-landscape .album-photo:first-child { grid-column: 1 / -1; grid-row: auto; }
  .album-opening-landscape .album-photo { height: auto; }
  .album-opening-landscape picture, .album-opening-landscape img { height: auto; }
}
