/* The two ways to browse the existing Meadowvale collection. */
.collection-invitations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 22px);
}
.home-catalogue-entry.collection-invitations { max-width: 1240px; }
.home-catalogue-entry .catalogue-launch {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(10px, 1.3vw, 20px);
  padding: clamp(16px, 2vw, 28px);
}
.home-catalogue-entry .catalogue-launch-copy > strong { font-size: clamp(1.4rem, 2vw, 2rem); }
.amenities-masthead .collection-invitations { flex: 0 1 550px; min-width: 0; }
.amenities-masthead .catalogue-launch-hero {
  position: relative;
  width: 100%; margin: 0;
  display: grid; grid-template-rows: auto 1fr; gap: 14px; align-content: start; align-items: start;
  padding: clamp(16px, 1.5vw, 24px);
}
.amenities-masthead .catalogue-launch-hero .catalogue-book-icon { width: 38px; height: 41px; }
.amenities-masthead .catalogue-launch-hero .catalogue-launch-copy > strong { font-size: clamp(1.3rem, 1.7vw, 1.65rem); }
.amenities-masthead .catalogue-launch-arrow { position:absolute; right:20px; top:17px; }
@media (max-width:1120px) {
  .amenities-masthead { display:block; }
  .amenities-masthead .collection-invitations { margin-top:28px; max-width:760px; }
}
@media (max-width:590px) {
  .collection-invitations { grid-template-columns: 1fr; gap:10px; }
  .home-catalogue-entry .catalogue-launch, .amenities-masthead .catalogue-launch-hero {
    display:grid; grid-template: auto / 42px minmax(0,1fr) 18px; align-items:center; gap:14px;
    min-height:0; padding:16px;
  }
  .home-catalogue-entry .catalogue-book-icon, .amenities-masthead .catalogue-launch-hero .catalogue-book-icon { width:38px; height:44px; }
  .amenities-masthead .catalogue-launch-arrow { position:static; }
  .home-catalogue-entry .catalogue-launch-copy { text-align:left; align-items:flex-start; }
}
.collection-gallery-open { overflow:hidden; }
.collection-gallery {
  margin:auto; padding:0; width:min(1500px,98vw); max-width:none; height:96vh; height:96dvh; max-height:none;
  border:1px solid #b59a64; border-radius:5px; background:#091c2b; color:#fff; overflow:hidden;
}
.collection-gallery::backdrop { background:#03101be8; backdrop-filter:blur(4px); }
.collection-gallery-shell { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; height:100%; }
.collection-gallery-head, .collection-gallery-navigation, .collection-gallery-figure figcaption {
  display:flex; gap:12px; align-items:center; justify-content:space-between;
}
.collection-gallery-head { padding:12px clamp(14px,2.3vw,34px); border-bottom:1px solid #887555; }
.collection-gallery-head h2 { margin:0; font:400 clamp(1.25rem,2.2vw,2rem)/1.15 var(--serif); letter-spacing:-.02em; }
.collection-gallery button { color:inherit; background:transparent; }
.collection-gallery button:focus-visible, .collection-gallery select:focus-visible { outline:2px solid #edcf8c; outline-offset:2px; }
.collection-gallery-close, .collection-gallery-navigation button {
  min-height:42px; padding:7px 13px; display:inline-flex; gap:10px; align-items:center; justify-content:center;
  border:1px solid #a58c5d; font-size:.87rem; white-space:nowrap;
}
.collection-gallery-close span { font-size:1.2rem; line-height:1; }
.collection-gallery-navigation { padding:8px clamp(14px,2.3vw,34px); }
.collection-gallery-picker { flex:0 1 32rem; min-width:0; }
.collection-gallery-picker select {
  display:block; width:100%; min-height:42px; padding:6px 11px; border-radius:2px;
  border:1px solid #687780; font:inherit; font-size:clamp(.82rem,1.5vw,1.03rem); color:#f7f3e9; background:#142d40;
}
.collection-gallery-figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:0; min-width:0; margin:0; }
.collection-gallery-frame { min-width:0; min-height:0; background:#06141f; display:grid; place-items:center; touch-action:pan-y pinch-zoom; }
.collection-gallery-frame img { display:block; height:100%; width:100%; min-height:0; object-fit:contain; }
.collection-gallery-figure figcaption {
  flex-wrap:wrap; padding:6px clamp(14px,2.3vw,34px); line-height:1.35; font-size:.78rem; gap:4px 14px;
  background:#102638; color:#eee4cf;
}
.collection-gallery-position { color:white; font-variant-numeric:tabular-nums; }
.collection-gallery-figure small { font-size:.7rem; margin-left:auto; }
.collection-gallery-strip {
  position:relative; display:flex; gap:8px; overflow-x:auto; overflow-y:hidden; padding:8px clamp(14px,2.3vw,34px) 10px;
  background:#0b1f30; scrollbar-color:#ac976d #142c3c; scrollbar-width:thin; overscroll-behavior-x:contain;
}
.collection-gallery-strip button { flex:0 0 auto; border:1px solid #50606a; padding:2px; border-radius:2px; }
.collection-gallery-strip button[aria-current] { border-color:#e4c582; box-shadow:inset 0 0 0 1px #e4c582; }
.collection-gallery-strip img { width:72px; height:46px; display:block; object-fit:contain; background:#071520; }
@media (max-width:720px) {
  .collection-gallery { width:100%; height:100vh; height:100dvh; border:0; border-radius:0; }
  .collection-gallery-head { padding:10px 12px; }
  .collection-gallery-navigation { gap:6px; padding:7px 10px; }
  .collection-gallery-navigation button { min-width:40px; padding:7px; }
  .collection-gallery-navigation button span { display:none; }
  .collection-gallery-picker { flex:1 1 0; }
  .collection-gallery-note { order:3; flex-basis:100%; font-size:.69rem; }
  .collection-gallery-strip { gap:6px; padding:7px 10px max(7px,env(safe-area-inset-bottom)); }
  .collection-gallery-strip img { width:56px; height:36px; }
}
@media (max-height:500px) {
  .collection-gallery-head { padding-block:4px; }
  .collection-gallery-head h2 { font-size:1.12rem; }
  .collection-gallery-navigation { padding-block:3px; }
  .collection-gallery-strip { display:none; }
}
