/* Added by the static export (build.py) */
.map-fallback {
  position: absolute; inset: 0; z-index: 10;
  display: none;               /* shown only if MapKit reports an error */
  align-items: center; justify-content: center;
  text-align: center; padding: 1em;
  background: #f4f1ea; color: #274754;
  font-family: inherit; text-decoration: underline; font-size: 1rem;
}
/* Revealed by the map-init error handler if the MapKit token fails/expires. */
.map-fallback.show { display: flex; }
/* Squarespace's image loader baked fixed-pixel cover sizing for the capture
   viewport (e.g. width:1440px), so banner/fill images didn't stretch on wider
   screens. Restore responsive object-fit cover. Focal points are all centered. */
.index-section-image img,
.content-fill img {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: 50% 50% !important;
}
/* Static photo grid replacing the JS strip-slider gallery on /pictures */
.static-gallery {
  display: grid; gap: 6px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.static-gallery img {
  width: 100%; height: 100%; aspect-ratio: 1 / 1;
  object-fit: cover; display: block; border-radius: 2px;
}
/* Mobile fit-ups. Squarespace sized the header via JS we've stripped: the
   fixed "show on scroll" sticky nav (invisible) and the nowrap site title both
   stayed desktop-width and pushed the mobile viewport wider than the screen. */
html, body { overflow-x: hidden; }
.show-on-scroll-wrapper { display: none !important; }
@media (max-width: 640px) {
  .site-title, .site-title a { font-size: 7vw !important; line-height: 1.15 !important; }
}
