/* Projects overview: muted color, generous images, compact captions. */
#quarto-margin-sidebar { display: none; }
#quarto-document-content > section + section { margin-top: 3.25rem; }
#quarto-document-content > section > h2 { margin-top: 0; }
.project-section-note {
  max-width: 82ch;
  margin: 0.75rem 0 1.5rem;
  color: var(--site-muted);
  font-size: 0.9rem;
  line-height: 1.65;
}
.quarto-listing { margin-bottom: 0; padding-bottom: 0; }
.quarto-listing .list.grid { gap: 1.5rem; }
.quarto-listing .g-col-1 { min-width: 0; }
.quarto-grid-link { display: block; height: 100%; border-radius: 8px; }
.quarto-grid-link:hover { text-decoration: none; }
.quarto-grid-item.card {
  overflow: hidden;
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(31, 36, 34, 0.025);
  transition: transform 240ms cubic-bezier(0.2, 0.7, 0.3, 1),
    border-color 240ms ease, box-shadow 240ms ease;
}
/* Quarto's flex defaults otherwise shrink the image and stretch the date. */
.quarto-grid-item p.card-img-top {
  flex: 0 0 auto;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f4f5f7;
}
.quarto-grid-item img.card-img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0;
  filter: saturate(0.65);
  transition: filter 280ms ease, transform 360ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.quarto-grid-item img[src*="/sidewalk_moments/"],
.quarto-grid-item img[src*="/walkocc/"],
.quarto-grid-item img[src*="/green_view/"],
.quarto-grid-item img[src*="/clarity/"] { object-fit: contain; }
.quarto-grid-item .card-body.post-contents {
  height: auto;
  flex: 1 0 auto;
  padding: 1rem 1.1rem;
  gap: 0.4rem;
}
.quarto-grid-item .card-title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: var(--site-ink);
}
.quarto-grid-item .card-attribution,
.quarto-grid-item .card-attribution.end {
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
  margin-top: auto;
}
.quarto-grid-item .listing-date {
  font-size: 0.76rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: none;
  color: var(--site-muted);
}
.quarto-grid-link:is(:hover, :focus-visible) .card {
  transform: translateY(-8px) scale(1.012);
  border-color: #ee6a24;
  box-shadow: 0 18px 36px rgba(31, 36, 34, 0.18),
    0 5px 12px rgba(31, 36, 34, 0.08);
}
.quarto-grid-link:is(:hover, :focus-visible) .card-title { color: var(--site-accent); }
.quarto-grid-link:is(:hover, :focus-visible) img.card-img {
  filter: saturate(1) brightness(1.025);
  transform: scale(1.045);
}
#quarto-document-content > section:last-of-type > p:last-child:not(.project-section-note) {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: var(--site-muted);
}
@media (max-width: 991px) and (min-width: 601px) {
  .quarto-listing .list.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .quarto-listing .list.grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  #quarto-document-content > section + section { margin-top: 2.5rem; }
  .quarto-grid-item .card-body.post-contents { padding: 0.9rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .quarto-grid-item.card, .quarto-grid-item img.card-img { transition: none; }
  .quarto-grid-link:is(:hover, :focus-visible) .card,
  .quarto-grid-link:is(:hover, :focus-visible) img.card-img { transform: none; }
}
@media (hover: none) {
  .quarto-grid-link:hover:not(:focus-visible) .card,
  .quarto-grid-link:hover:not(:focus-visible) img.card-img { transform: none; }
}
