@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap");

/* Universal typography baseline */
:root {
  --main-font: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --heading-font-font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --body-font-font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --primary-button-font-font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

html {
  font-size: 99%;
}

body,
button,
input,
select,
textarea {
  font-family: var(--main-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* Zero-serif global text rule */

h1, h2, h3, h4, h5, h6,
p, li, span, a,
button, input, select, textarea,
.sqs-block-content, .header-nav-item, .header-title-text,
.sqs-block-button-element, .btn, .theme-btn--primary {
  font-family: var(--main-font) !important;
}


/* Masonry fallback when Squarespace JS chunk is unavailable */
.gallery-masonry {
  column-count: 3;
  column-gap: 14px;
}

.gallery-masonry .gallery-masonry-wrapper {
  display: block;
}

.gallery-masonry .gallery-masonry-item {
  break-inside: avoid;
  margin: 0 0 14px;
  width: 100%;
  opacity: 1 !important;
  transform: none !important;
  position: static !important;
}

.gallery-masonry .gallery-masonry-item-wrapper,
.gallery-masonry .gallery-masonry-item img {
  width: 100%;
  height: auto !important;
  display: block;
}

@media (max-width: 991px) {
  .gallery-masonry { column-count: 2; }
}

@media (max-width: 640px) {
  .gallery-masonry { column-count: 1; }
}


/* Ensure masonry items are visible without Squarespace JS data-show toggles */
.gallery-masonry .gallery-masonry-item .gallery-masonry-item-wrapper {
  opacity: 1 !important;
  animation: none !important;
}

.gallery-masonry .gallery-masonry-item .gallery-masonry-item-caption {
  opacity: 1 !important;
  visibility: visible !important;
}


/* Gallery Grid fallback when Squarespace GalleryGrid controller is disabled */
.gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-wrapper {
  display: grid !important;
  gap: 0;
}

.gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="6"] .gallery-grid-wrapper { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="5"] .gallery-grid-wrapper { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="4"] .gallery-grid-wrapper { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="3"] .gallery-grid-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="2"] .gallery-grid-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="1"] .gallery-grid-wrapper { grid-template-columns: repeat(1, minmax(0, 1fr)); }

.gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-item {
  width: 100%;
  margin: 0 !important;
  position: static !important;
}

.gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-item .gallery-grid-item-wrapper {
  position: relative;
  margin: 0;
  opacity: 1 !important;
  animation: none !important;
  overflow: hidden;
}

.gallery-grid[data-controller-disabled="GalleryGrid"][data-aspect-ratio="square"] .gallery-grid-item .gallery-grid-item-wrapper {
  aspect-ratio: 1 / 1;
  height: auto !important;
}

.gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-item img {
  position: absolute !important;
  inset: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-item .gallery-grid-item-caption {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 991px) {
  .gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="6"] .gallery-grid-wrapper,
  .gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="5"] .gallery-grid-wrapper,
  .gallery-grid[data-controller-disabled="GalleryGrid"][data-columns="4"] .gallery-grid-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 480px) {
  .gallery-grid[data-controller-disabled="GalleryGrid"] .gallery-grid-wrapper { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
}
