/*
 * What Squarespace's runtime used to do with inline styles, measured from the live site
 * (2026-10-16) and restated as CSS. Loaded after the template's site.css.
 */

/* Images: ImageLoader's sizing for the blocks that crop or fit their images. */
.summary-thumbnail.img-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.summary-thumbnail.img-wrapper img,
.sqs-video-overlay img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sqs-gallery-aspect-ratio-square .image-slide-anchor {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.sqs-gallery-aspect-ratio-square .image-slide-anchor img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sqs-gallery-aspect-ratio-square .image-slide-anchor.content-fill img {
  object-fit: cover;
}

/* /work summary grid: one column, two once the list is 750px wide, 10px gutters.
   !important stands in for the inline styles Squarespace set, which beat summary.css. */
.summary-block-setting-design-autogrid {
  container-type: inline-size;
}
.summary-block-setting-design-autogrid .summary-item-list {
  margin-bottom: -10px;
}
.summary-block-setting-design-autogrid .summary-item-list::after {
  content: '';
  display: table;
  clear: both;
}
.summary-block-setting-design-autogrid .summary-item {
  float: left !important;
  clear: left !important;
  width: 100% !important;
  margin: 0 0 10px !important;
}
@container (min-width: 750px) {
  .summary-block-setting-design-autogrid .summary-item {
    width: calc((100% - 10px) / 2) !important;
  }
  .summary-block-setting-design-autogrid .summary-item:nth-child(2n + 1) {
    margin-right: 10px !important;
  }
  .summary-block-setting-design-autogrid .summary-item:nth-child(2n) {
    clear: none !important;
  }
}

/* Video blocks: the play button was a Squarespace-hosted PNG. */
.sqs-video-wrapper .intrinsic-inner {
  position: relative;
}
.sqs-video-wrapper .sqs-video-overlay {
  cursor: pointer;
}
.sqs-video-wrapper .sqs-video-overlay .sqs-video-icon {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 33'%3E%3Cpath d='M9 5.5v22l18-11z' fill='%23fff'/%3E%3C/svg%3E") center / 33px no-repeat;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}
.sqs-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Poster image cards: Squarespace fit the text to the card with a script; on the live
   site that always lands at these fractions of the card width. !important stands in for
   the inline variable the script set, which outranked the block CSS. */
.image-block-outer-wrapper.design-layout-poster {
  container-type: inline-size;
}
.design-layout-poster .image-title.sqs-cdk-dynamic-text {
  font-size: max(0.75rem, 8.25cqw) !important;
}
.design-layout-poster .image-subtitle.sqs-cdk-dynamic-text {
  font-size: max(0.75rem, 2.81cqw) !important;
}

/* Footer social icons, formerly an icon font. */
#page-footer .social-links li::before {
  content: none !important;
}
#page-footer .social-links li {
  line-height: 27px;
}
#page-footer .social-links li svg {
  display: inline-block;
  vertical-align: top;
  width: 26px;
  height: 26px;
  margin-top: 1px;
  fill: currentColor;
}
#page-footer .social-links a:hover li,
#page-footer .social-links a:focus-visible li {
  color: #4a90e2;
}

/* About page portrait. The image block spans the full window, so on wide screens the
   portrait grew past 1,900px. Cap it at the About copy's width: 606px, the text column
   inside its 17px gutters. */
#collection-57641a22e6f2e191d567491d .sqs-block-image .image-block-outer-wrapper {
  max-width: 606px;
  margin-left: auto;
  margin-right: auto;
}
