/* Rental projects stay in one horizontal row at every screen size. */
.project-carousel { min-width: 0; }
.project-carousel-toolbar { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin: -18px 0 22px; }
.project-carousel-toolbar[hidden] { display: none; }
.project-carousel-count { margin-right: 10px; color: var(--ink); font-size: 13px; letter-spacing: .04em; }
.project-carousel-button { display: grid; place-items: center; width: 48px; height: 44px; padding: 0; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: inherit; font-size: 24px; cursor: pointer; }
.project-carousel-button:hover:not(:disabled) { background: var(--ink); color: var(--paper); }
.project-carousel-button:disabled { opacity: .25; cursor: default; }
.project-carousel-button:focus-visible, .project-carousel-track:focus-visible { outline: 2px solid var(--clay); outline-offset: 4px; }
.project-grid.project-carousel-track { display: flex; gap: 22px; overflow-x: auto; padding: 4px 0 18px; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #b7a99a transparent; }
.project-carousel-track > .project-card { flex: 0 0 calc((100% - 124px) / 3); min-width: 0; display: flex; flex-direction: column; scroll-snap-align: start; }
.project-carousel-track .project-image { flex-shrink: 0; }
.project-carousel-track .project-copy { display: flex; flex-direction: column; flex: 1; }
.project-carousel-track .text-link { margin-top: auto; align-self: flex-start; }
@media (max-width: 960px) { .project-carousel-track > .project-card { flex-basis: calc((100% - 86px) / 2); } }
@media (max-width: 600px) {
  .project-grid.project-carousel-track { gap: 16px; }
  .project-carousel-track > .project-card { flex-basis: 90%; }
  .project-carousel-toolbar { margin-top: -12px; }
  .project-carousel-track .project-copy { padding: 24px 18px; }
}
