/* Portfolio typography and progressive scroll motion. */
.light-table .lt-intro h1 {
  font: 400 clamp(58px, 7.3vw, 104px)/.96 var(--serif) !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
}
.light-table .lt-intro h1 > span {
  display: block !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}
.light-table .lt-intro h1 > span::after {
  content: none !important;
  display: none !important;
}

.light-table .lt-photo-frame img {
  --photo-presence: 1;
  filter: grayscale(calc(1 - var(--photo-presence)))
          brightness(calc(0.46 + 0.72 * var(--photo-presence)))
          contrast(calc(0.92 + 0.14 * var(--photo-presence)))
          saturate(calc(0.40 + 0.72 * var(--photo-presence)));
  mix-blend-mode: normal;
  transition: filter 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.light-table #portfolio-main:focus { outline: none; }

@media (max-width: 1150px) {
  .light-table .lt-intro h1 {
    font-size: clamp(52px, 8.5vw, 88px) !important;
  }
  .light-table .lt-intro h1 > span {
    font-size: inherit !important;
    letter-spacing: inherit !important;
    padding: 0 !important;
  }
}

@media (max-width: 767px) {
  .light-table .lt-intro h1 {
    font-size: clamp(48px, 13.5vw, 76px) !important;
    line-height: 1.0 !important;
  }
  .light-table .lt-intro h1 > span {
    font-size: inherit !important;
    letter-spacing: inherit !important;
    padding: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .light-table .lt-photo-frame img { filter: brightness(1.18) saturate(1.12); transition: none; }
}
