/* Scoped Work grid and Dalton project-title refinements. */
.project-title-grid > .project-title-dalton-container {
  min-width: 0;
  container-type: inline-size;
}

.project-title-grid h1.project-title-dalton {
  max-width: none;
  font-size: clamp(1.5rem, 5.8vw, 6.8rem);
  line-height: 1.03;
}

.project-title-dalton > span {
  display: block;
  white-space: nowrap;
}

@supports (font-size: 1cqi) {
  .project-title-grid h1.project-title-dalton {
    font-size: clamp(1rem, 10cqi, 6.8rem);
  }
}

.work-index-page .work-index-hero {
  padding-block: 62px 48px;
}

.work-index-page .work-index-intro {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(32px, 6vw, 90px);
  align-items: end;
}

.work-index-page .work-index-intro h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.65rem, 5.2vw, 4.8rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.work-index-page .work-index-intro > div:last-child p {
  max-width: 46ch;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
}

.work-index-page .work-filter-section {
  background: var(--paper);
  backdrop-filter: none;
}

.work-index-page .work-filters {
  gap: 4px;
  padding-block: 12px;
}

.work-index-page .work-filters button {
  padding-inline: 11px;
  font-size: 0.76rem;
}

.work-index-page .work-waterfall-section {
  padding-block: 32px 80px;
  background: var(--paper);
}

.work-index-page .work-waterfall {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 44px 26px;
  columns: auto;
}

.work-index-page .waterfall-project {
  display: block;
  min-width: 0;
  width: auto;
  margin: 0;
  overflow: visible;
  background: transparent;
}

.work-index-page .waterfall-project[hidden] {
  display: none;
}

.work-index-page .waterfall-project > a {
  display: flex;
  height: 100%;
  flex-direction: column;
}

.work-index-page .waterfall-project > a:focus-visible {
  outline: 3px solid var(--cobalt);
  outline-offset: 6px;
}

.work-index-page .waterfall-image {
  aspect-ratio: 3 / 2;
  flex: 0 0 auto;
  border: 1px solid #e3e4e4;
  background: var(--fog);
}

.work-index-page .waterfall-image picture {
  display: block;
  height: 100%;
}

.work-index-page .waterfall-project .waterfall-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: top center;
  transform: none;
  transition: none;
}

.work-index-page .waterfall-meta {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px 0 0;
}

.work-index-page .waterfall-meta > span:first-child {
  margin-bottom: 9px;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.work-index-page .waterfall-meta h2 {
  min-height: 2.24em;
  margin: 0 0 12px;
  font-size: clamp(1.35rem, 1.85vw, 1.75rem);
  line-height: 1.12;
  letter-spacing: -0.035em;
  overflow-wrap: break-word;
}

.work-index-page .waterfall-meta p {
  display: -webkit-box;
  min-height: 3.2em;
  margin: 0 0 17px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.85rem;
  line-height: 1.6;
}

.work-index-page .waterfall-link {
  align-self: flex-start;
  margin-top: auto;
  font-size: 0.78rem;
}

.work-index-page .waterfall-project a:hover h2,
.work-index-page .waterfall-project a:focus-visible h2,
.work-index-page .waterfall-project a:hover .waterfall-link,
.work-index-page .waterfall-project a:focus-visible .waterfall-link {
  color: var(--cobalt);
}

.work-index-page .portfolio-proof-band {
  padding-block: 80px;
}

.work-index-page .portfolio-proof-band h2 {
  max-width: 20ch;
  font-size: clamp(2.4rem, 4.5vw, 4.25rem);
  line-height: 1.05;
}

@media (max-width: 1180px) {
  .work-index-page .work-waterfall {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .work-index-page .work-index-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
}

@media (max-width: 640px) {
  .work-index-page .work-index-hero {
    padding-block: 36px 32px;
  }

  .work-index-page .work-index-intro h1 {
    max-width: 15ch;
    font-size: clamp(2.3rem, 10.6vw, 2.8rem);
  }

  .work-index-page .work-waterfall-section {
    padding-block: 24px 54px;
  }

  .work-index-page .work-waterfall {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .work-index-page .waterfall-meta h2 {
    min-height: 0;
    font-size: 1.5rem;
  }

  .work-index-page .portfolio-proof-band {
    padding-block: 56px;
  }
}
