/* Static replacement for the retired Squarespace Instagram loader. */
.migration-maintenance-link,
.migration-maintenance-link:visited {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}
.migration-maintenance-link:hover,
.migration-maintenance-link:focus-visible {
  color: #d76f8d;
}

/* The scraped Squarespace social links still point to the correct accounts,
   but their external SVG sprite references lost the required symbol IDs.
   Keep the original link boxes and colours, and replace only the missing
   Email, Facebook, and Instagram glyphs with self-contained masks. */
.Header .SocialLinks-link,
.Footer .sqs-svg-icon--wrapper {
  position: relative;
}
.Header .SocialLinks-link .SocialLinks-link-svg,
.Footer .sqs-svg-icon--wrapper .sqs-svg-icon--social {
  visibility: hidden;
}
.Header .SocialLinks-link::before,
.Footer .sqs-svg-icon--wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  transform: translate(-50%, -50%);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
}
.Header .SocialLinks-link.email::before,
.Footer .sqs-svg-icon--wrapper.email::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M8 14h48v36H8z' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='m9 16 23 19 23-19' fill='none' stroke='black' stroke-width='4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M8 14h48v36H8z' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='m9 16 23 19 23-19' fill='none' stroke='black' stroke-width='4'/%3E%3C/svg%3E");
}
.Header .SocialLinks-link.facebook-unauth::before,
.Footer .sqs-svg-icon--wrapper.facebook-unauth::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M38 20h8V8H36c-11 0-16 7-16 18v6h-8v12h8v20h14V44h10l2-12H34v-5c0-5 1-7 4-7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M38 20h8V8H36c-11 0-16 7-16 18v6h-8v12h8v20h14V44h10l2-12H34v-5c0-5 1-7 4-7z'/%3E%3C/svg%3E");
}
.Header .SocialLinks-link.instagram-unauth::before,
.Footer .sqs-svg-icon--wrapper.instagram-unauth::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect x='9' y='9' width='46' height='46' rx='12' fill='none' stroke='black' stroke-width='4'/%3E%3Ccircle cx='32' cy='32' r='11' fill='none' stroke='black' stroke-width='4'/%3E%3Ccircle cx='47' cy='17' r='3' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect x='9' y='9' width='46' height='46' rx='12' fill='none' stroke='black' stroke-width='4'/%3E%3Ccircle cx='32' cy='32' r='11' fill='none' stroke='black' stroke-width='4'/%3E%3Ccircle cx='47' cy='17' r='3' fill='black'/%3E%3C/svg%3E");
}

.sqs-block-instagram .sqs-gallery {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}
.sqs-block-instagram .sqs-gallery > .slide {
  display: block !important;
  float: none !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 0 100% !important;
  margin: 0 !important;
}
.sqs-block-instagram .slide .margin-wrapper,
.sqs-block-instagram .slide .image-slide-anchor {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.sqs-block-instagram .slide img.thumb-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Remove the two legacy spacer blocks that left an oversized blank area
   below the Stories call-to-action. */
#block-yui_3_17_2_1_1693220296818_4863,
#block-yui_3_17_2_1_1595087332922_13726 {
  display: none !important;
}

/* The scraped Squarespace <use> elements lost their SVG symbol fragments,
   leaving the mobile menu button clickable but visually empty. Draw the
   original two-line "hotdog" icon without depending on that sprite. */
@media screen and (max-width: 960px) {
  .Mobile-bar-menu {
    position: relative !important;
  }
  .Mobile-bar-menu::before,
  .Mobile-bar-menu::after {
    content: "";
    position: absolute;
    left: 8px;
    z-index: 2;
    display: block;
    width: 24px;
    height: 1px;
    background: currentColor;
    pointer-events: none;
  }
  .Mobile-bar-menu::before { top: 8px; }
  .Mobile-bar-menu::after { bottom: 8px; }

  .Mobile-overlay-close {
    position: absolute !important;
  }
  .Mobile-overlay-close .Icon--close {
    opacity: 0;
  }
  .Mobile-overlay-close::before,
  .Mobile-overlay-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: block;
    width: 22px;
    height: 1px;
    background: currentColor;
    pointer-events: none;
  }
  .Mobile-overlay-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .Mobile-overlay-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}

/* Static equivalent of the original Squarespace contact form mount. */
.form-wrapper .react-form-contents {
  width: 100%;
}
.form-wrapper .field-list::after,
.form-wrapper .fields::after {
  content: "";
  display: table;
  clear: both;
}
.form-wrapper .migration-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.form-wrapper button[type="submit"] {
  display: inline-block;
  width: auto;
  padding: 1em 2.5em;
  border: 0;
  border-radius: 0;
  background: #272727;
  color: #fff;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.form-wrapper button[type="submit"]:disabled {
  cursor: wait;
  opacity: .65;
}
@media screen and (max-width: 640px) {
  .form-wrapper .field-list .fields.name .field {
    float: none;
    width: 98%;
  }
}
