.island-shelf {
  position: relative;
  scroll-margin-top: 20px;
}
.island-anchor { position: absolute; top: 0; }
.island-shelf .section-heading { margin-bottom: 15px; }
.island-shelf .card-track {
  grid-auto-columns: calc((100% - 64px) / 5);
  gap: 16px;
}
.island-card { position: relative; }
.island-link { display: block; color: inherit; text-decoration: none; }
.island-link:focus-visible { outline: 2px solid var(--brand-teal); outline-offset: -2px; border-radius: 12px; }
.island-link:hover h3, .island-link:focus-visible h3 { text-decoration: underline; text-underline-offset: 3px; }
.island-card .photo { aspect-ratio: 1.85; border-radius: 12px; }
.island-card .location { margin: 8px 0 3px; font-size: 12px; font-weight: 600; color: var(--brand-teal); }
.island-card h3 { font-size: 16px; line-height: 1.28; margin: 0; }
.island-card .save { top: 5px; right: 5px; }
@media (min-width: 1000px) {
  .island-shelf .row-controls { display: none; }
}
@media (max-width: 999px) {
  .island-shelf .card-track { grid-auto-columns: 195px; gap: 12px; }
}
@media (max-width: 560px) {
  .island-shelf .card-track { grid-auto-columns: min(55vw, 195px); }
  .island-shelf .section-heading { gap: 8px; }
  .island-shelf h2 { font-size: 21px; }
  .island-card h3 { font-size: 15px; }
}
