.sez-projects-section {
  overflow: hidden;
  padding-block: var(--sez-section);
  background: var(--sez-white);
}

.sez-projects-section .sez-section-head { margin-bottom: clamp(22px, 2vw, 34px); }
.sez-projects-section .sez-feed__actions { gap: 10px; }
.sez-projects-section .sez-feed__actions .sez-button { margin-left: 10px; }

.sez-project-showcase__viewport { width: 100%; overflow: hidden; }
.sez-project-showcase__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: clamp(20px, 2vw, 36px);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.sez-project-showcase__track::-webkit-scrollbar { display: none; }

.sez-project-showcase {
  display: grid;
  width: 100%;
  height: clamp(520px, 39vw, 710px);
  min-width: 0;
  overflow: hidden;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  border-block: 1px solid var(--sez-line);
  background: var(--sez-white);
  color: var(--sez-dark);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.sez-project-showcase__cover {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--sez-dark);
}
.sez-project-showcase__cover-link { position: absolute; inset: 0; display: block; color: var(--sez-white); }
.sez-project-showcase__cover-link::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgb(32 37 43 / 22%);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}
.sez-project-showcase__cover-link:hover::after { opacity: 1; }
.sez-project-showcase__cover-media,
.sez-project-showcase__cover-link > img,
.sez-project-showcase__cover-link > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}
.sez-project-showcase__year {
  position: absolute;
  z-index: 2;
  top: clamp(18px, 2vw, 32px);
  right: clamp(18px, 2vw, 32px);
  color: var(--sez-white);
  font-size: 12px;
  font-weight: 800;
}
.sez-project-showcase__cover-label {
  position: absolute;
  z-index: 2;
  right: calc(clamp(18px, 2vw, 32px) + var(--sez-card-arrow-size) + 14px);
  bottom: clamp(18px, 2vw, 32px);
  color: var(--sez-white);
  font: 700 var(--sez-card-detail-size)/1.2 "Montserrat", "Open Sans", sans-serif;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity .24s ease, transform .24s var(--sez-ease);
}
.sez-project-showcase__cover-link:hover .sez-project-showcase__cover-label { opacity: 1; transform: none; }
.sez-project-showcase__cover-arrow {
  position: absolute;
  z-index: 2;
  right: clamp(18px, 2vw, 32px);
  bottom: clamp(18px, 2vw, 32px);
  width: var(--sez-card-arrow-size);
  height: var(--sez-card-arrow-size);
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.sez-project-showcase__content {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  padding: clamp(24px, 3vw, 54px);
}
.sez-project-showcase__title {
  display: -webkit-box;
  min-height: 2.3em;
  overflow: hidden;
  margin: 0;
  color: var(--sez-dark);
  font-size: clamp(22px, 1.9vw, 36px);
  line-height: 1.14;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.sez-project-showcase__title a { color: inherit; transition: color .22s ease; }
.sez-project-showcase__title a:hover { color: var(--sez-accent); }

.sez-project-showcase__gallery {
  --project-showcase-gallery-height: clamp(140px, 13vw, 230px);
  position: relative;
  height: var(--project-showcase-gallery-height);
  min-height: 0;
  margin-block: clamp(20px, 2.2vw, 38px);
  overflow: hidden;
}
.sez-project-showcase__gallery.is-empty { pointer-events: none; }
.sez-project-showcase__gallery-track {
  display: flex;
  height: 100%;
  align-items: stretch;
  gap: clamp(8px, .8vw, 14px);
  transform: translate3d(0, 0, 0);
  will-change: transform;
}
.sez-project-showcase__gallery-item {
  --sez-media-ratio: 1.3333;
  display: grid;
  width: calc(var(--project-showcase-gallery-height) * var(--sez-media-ratio));
  min-width: 0;
  height: var(--project-showcase-gallery-height);
  aspect-ratio: auto;
  flex: 0 0 calc(var(--project-showcase-gallery-height) * var(--sez-media-ratio));
  overflow: hidden;
  place-items: center;
  background: transparent;
}
.sez-project-showcase__gallery-item[data-sez-ratio="9-16"] { --sez-media-ratio: .5625; }
.sez-project-showcase__gallery-item[data-sez-ratio="3-4"] { --sez-media-ratio: .75; }
.sez-project-showcase__gallery-item[data-sez-ratio="1-1"] { --sez-media-ratio: 1; }
.sez-project-showcase__gallery-item[data-sez-ratio="4-3"] { --sez-media-ratio: 1.3333; }
.sez-project-showcase__gallery-item[data-sez-ratio="16-9"] { --sez-media-ratio: 1.7778; }
.sez-project-showcase__gallery-item img,
.sez-project-showcase__gallery-item video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

.sez-project-showcase__footer {
  min-height: 108px;
  margin-top: auto;
  padding-top: clamp(16px, 1.5vw, 24px);
  border-top: 1px solid var(--sez-line);
}
.sez-project-showcase__client {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--sez-dark);
  font-size: 12px;
  font-weight: 800;
}
.sez-project-showcase__logo {
  display: grid;
  width: 124px;
  height: 44px;
  flex: 0 0 124px;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.sez-project-showcase__logo img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  -webkit-user-drag: none;
}
.sez-project-showcase__footer p {
  display: -webkit-box;
  overflow: hidden;
  margin: 10px 0 0;
  color: var(--sez-muted);
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sez-project-archive { padding-block: var(--sez-section); }
.sez-project-archive__stream { display: grid; gap: clamp(28px, 4vw, 72px); }

@media (max-width: 991px) {
  .sez-project-showcase { height: clamp(330px, 58vw, 470px); grid-template-columns: minmax(0, 44%) minmax(0, 56%); grid-template-rows: 1fr; }
  .sez-project-showcase__cover { grid-column: 1; grid-row: 1; }
  .sez-project-showcase__content { grid-column: 2; grid-row: 1; padding: clamp(12px, 2.4vw, 20px); }
  .sez-project-showcase__title { min-height: 2.4em; font-size: clamp(15px, 3.1vw, 22px); line-height: 1.18; }
  .sez-project-showcase__gallery { --project-showcase-gallery-height: clamp(78px, 17vw, 118px); margin-block: 13px; }
  .sez-project-showcase__gallery-track { gap: 6px; }
  .sez-project-showcase__footer { min-height: 100px; padding-top: 11px; }
  .sez-project-showcase__client { min-height: 32px; font-size: 10px; }
  .sez-project-showcase__logo { width: 82px; height: 30px; flex-basis: 82px; }
  .sez-project-showcase__footer p { margin-top: 7px; font-size: 11px; -webkit-line-clamp: 2; }
  .sez-project-showcase__year { top: 14px; right: 14px; font-size: 10px; }
  .sez-project-showcase__cover-arrow { right: 14px; bottom: 14px; }
  .sez-project-showcase__cover-label { right: calc(14px + var(--sez-card-arrow-size) + 10px); bottom: 14px; }
  .sez-projects-section .sez-feed__actions .sez-icon-button { display: none; }
  .sez-projects-section .sez-feed__actions .sez-button { margin-left: 0; }
}

@media (max-width: 480px) {
  .sez-project-showcase { height: 340px; grid-template-columns: minmax(0, 45%) minmax(0, 55%); }
  .sez-project-showcase__content { padding: 10px; }
  .sez-project-showcase__title { font-size: 14px; }
  .sez-project-showcase__gallery { --project-showcase-gallery-height: 78px; margin-block: 9px; }
  .sez-project-showcase__footer { min-height: 82px; padding-top: 8px; }
  .sez-project-showcase__footer p { font-size: 9px; }
}
