.projects {
  padding: clamp(72px, 9vw, 128px) clamp(20px, 7vw, 110px);
  background: #0d0d0d;
}

.projects-intro {
  align-items: end;
}

.projects-intro p {
  color: #9b9b9b;
}

.projects-intro h2 {
  font-size: clamp(3rem, 5.2vw, 5.2rem);
}

.trade-galleries { display: grid; gap: 58px; }
.trade-gallery { border-top: 1px solid #333; padding-top: 20px; }
.trade-gallery header { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 18px; }
.trade-gallery header > span { color: var(--orange); font: 800 1rem "Barlow Condensed"; padding-top: 6px; }
.trade-gallery h3 { margin: 0; font: 800 clamp(1.9rem,3vw,3rem)/1 "Barlow Condensed"; text-transform: uppercase; }
.trade-gallery p { margin: 7px 0 0; color: #9b9b9b; font-size: .9rem; }
.photo-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.photo-strip img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #171717; filter: saturate(.84) contrast(1.06); transition: transform .35s ease, filter .35s ease; }
.photo-strip img:first-child { grid-column: span 2; grid-row: span 2; height: 100%; }
.photo-strip img:hover { transform: scale(1.018); filter: saturate(1) contrast(1.08); }
.project-video { display: grid; grid-template-columns: minmax(220px, 320px) 1fr; align-items: center; gap: 24px; margin-top: 14px; padding: 16px; background: #151515; border: 1px solid #2b2b2b; }
.project-video video { display: block; width: 100%; max-height: 520px; object-fit: contain; background: #050505; }
.project-video strong { display: block; color: #fff; font: 800 clamp(1.4rem, 2vw, 2rem)/1.05 "Barlow Condensed"; text-transform: uppercase; }
.project-video span { display: block; max-width: 520px; margin-top: 9px; color: #9b9b9b; line-height: 1.55; }

@media (max-width: 820px) {
  .photo-strip { grid-template-columns: repeat(2,1fr); }
  .photo-strip img:first-child { grid-column: span 2; grid-row: auto; }
  .trade-galleries { gap: 44px; }
  .project-video { grid-template-columns: 1fr; }
  .project-video video { max-height: 68vh; }
}

@media (prefers-reduced-motion: reduce) {
  .photo-strip img {
    transition: none;
  }
}
