@font-face {
  font-family: "Futura PT";
  src: url("/content/images/archive/local-assets/fonts/futura-pt-500.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: "futura-pt";
  src: url("/content/images/archive/local-assets/fonts/futura-pt-500.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-300.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-italic-300.ttf") format("truetype");
  font-style: italic;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-italic-400.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-italic-700.ttf") format("truetype");
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

:root {
  --site-font: "Poppins", Arial, sans-serif;
  --heading-font: "futura-pt", "Futura PT", Futura, "Century Gothic", sans-serif;
  --black-hsl: 0, 0%, 0%;
  --white-hsl: 0, 0%, 100%;
}

html { font-size: 16px; }
body.schlesinger-site {
  margin: 0;
  color: #000;
  background: #fff;
  font-family: var(--site-font);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

body.schlesinger-site :where(h1,h2,h3,h4,h5,h6,p,a,li,figcaption,button) {
  font-family: var(--site-font);
}

body.schlesinger-site :where(h1,h2,h3,h4,h5,h6,.portfolio-title,.header-title-text) {
  font-family: var(--heading-font) !important;
  font-weight: 500;
}

.archive-header__title,
.archive-project .item-pagination-link {
  font-family: var(--heading-font) !important;
}

.archive-header {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  min-height: 108px;
  padding: 28px 2vw;
  background: #fff;
}

.archive-header__title {
  color: #000;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.archive-header__social { display: flex; align-items: center; gap: 20px; }
.archive-header__social a { display: block; width: 18px; height: 18px; color: #000; }
.archive-header__social svg { display: block; width: 100%; height: 100%; fill: currentColor; }

.archive-home,
.archive-project { min-height: calc(100vh - 108px); }

.ghost-archive-content,
.ghost-archive-content > .kg-card,
.ghost-archive-content > .kg-card > .kg-html-card { display: contents; }

.archive-project .kg-width-wide,
.archive-project .kg-width-full { width: auto; }

.archive-project img {
  cursor: zoom-in;
}

.archive-project video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}

/* Squarespace fluid-image blocks depend on a component stylesheet that is not
   present in Ghost. Preserve its sizing locally so cover/hero images cannot
   collapse to 0x0 when the Squarespace runtime is absent. */
.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .sqs-block-content,
.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .image-block-outer-wrapper,
.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .sqs-image {
  width: 100%;
  height: 100%;
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .sqs-image-content {
  position: relative;
  width: var(--image-component-container-width, 100%);
  height: var(--image-component-container-height, 100%);
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid img {
  position: absolute;
  width: 100%;
  height: 100%;
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid .sqs-image {
  display: flex;
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid.image-position-left .sqs-image {
  justify-content: flex-start;
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid.image-position-center .sqs-image {
  justify-content: center;
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid.image-position-right .sqs-image {
  justify-content: flex-end;
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .fluidImageOverlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--image-block-overlay-color);
  mix-blend-mode: var(--image-component-overlay-blend-mode);
  opacity: var(--image-component-overlay-opacity);
}

.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid .fluid-image-container .content-fill,
.archive-project .sqs-block[data-definition-name="website.components.imageFluid"] .design-layout-fluid .fluid-image-container .content-fill img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.archive-project .fe-block .fe-block .sqs-block[data-definition-name="website.components.imageFluid"] .image-component-container-fit .fluid-image-container {
  --image-component-container-width: initial;
  --image-component-container-height: initial;
}

.archive-project .fe-block .fe-block .sqs-block[data-definition-name="website.components.imageFluid"] .image-component-container-fit .content-fit img {
  position: static;
  aspect-ratio: var(--image-component-native-aspect-ratio);
}

/* Squarespace normally sets these values in its gallery controller at runtime. */
.archive-project .gallery-grid-wrapper {
  grid-template-columns: repeat(var(--archive-gallery-columns, 1), minmax(0, 1fr)) !important;
  column-gap: var(--archive-gallery-gutter, 0px) !important;
  row-gap: var(--archive-gallery-gutter, 0px) !important;
}

.archive-project .gallery-grid-item { min-width: 0; }

.archive-project .gallery-grid-item-wrapper,
.archive-project .gallery-grid-lightbox-link {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* The archived markup has Squarespace animation hooks, but not its runtime. */
.archive-project [data-animation-role],
.archive-home [data-animation-role] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.archive-lightbox[hidden] { display: none; }
.archive-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  grid-template-columns: minmax(44px, 8vw) 1fr minmax(44px, 8vw);
  align-items: center;
  background: rgba(255,255,255,.97);
}
.archive-lightbox figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 84vw;
  max-height: 94vh;
  margin: auto;
}
.archive-lightbox__image {
  display: block;
  max-width: 84vw;
  max-height: 84vh;
  object-fit: contain;
}
.archive-lightbox__caption {
  box-sizing: border-box;
  max-width: 780px;
  padding-top: 12px;
  color: #111;
  font-size: 16px;
  line-height: 1.35;
  text-align: center;
}
.archive-lightbox button {
  border: 0;
  color: #000;
  background: transparent;
  cursor: pointer;
  font-size: 54px;
  font-weight: 300;
}
.archive-lightbox__close {
  position: absolute;
  top: 16px;
  right: 22px;
  width: 48px;
  height: 48px;
  font-size: 42px !important;
  line-height: 1;
}
.archive-lightbox__previous { grid-column: 1; grid-row: 1; }
.archive-lightbox figure { grid-column: 2; grid-row: 1; }
.archive-lightbox__next { grid-column: 3; grid-row: 1; }
body.archive-lightbox-open { overflow: hidden; }

.archive-error { max-width: 720px; margin: 12vh auto; padding: 24px; text-align: center; }
.archive-error__code { font-size: 64px; margin: 0; }

@media (max-width: 767px) {
  .archive-header { min-height: 82px; padding: 22px 20px; }
  .archive-header__title { font-size: 22px; }
  .archive-header__social { gap: 14px; }
  .archive-header__social a { width: 17px; height: 17px; }
  .archive-home, .archive-project { min-height: calc(100vh - 82px); }
  .archive-lightbox { grid-template-columns: 40px 1fr 40px; }
  .archive-lightbox figure,
  .archive-lightbox__image { max-width: calc(100vw - 80px); }
  .archive-lightbox button { font-size: 42px; }
  .archive-project .gallery-grid-wrapper {
    grid-template-columns: repeat(var(--archive-gallery-mobile-columns, 2), minmax(0, 1fr)) !important;
  }
}
