#portfolio.normal-section { padding: clamp(70px, 9vw, 180px) 0 0; }
.portfolio-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(44px, 4.5vw, 76px) 28px;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 96px) var(--site-gutter) clamp(72px, 8vw, 150px);
}
.portfolio-item { min-width: 0; }
.portfolio-media {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3;
  overflow: hidden;
  background: #151515;
}
.portfolio-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .85s cubic-bezier(.22, 1, .36, 1);
}
.portfolio-media .portfolio-image--ttcare { object-position: center bottom; }
.portfolio-media .portfolio-image--elexa { object-position: center 85%; }
.portfolio-caption { padding: 22px 4px 0; }
.portfolio-caption h3 {
  margin: 0;
  color: #fff;
  font: 700 clamp(17px, 1.5vw, 24px)/1.55 var(--display-font);
  letter-spacing: -.04em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.portfolio-caption p {
  margin: 10px 0 0;
  color: #aaa;
  font-size: clamp(14px, 1.1vw, 17px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -.025em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (hover: hover) and (pointer: fine) {
  a.portfolio-media:hover img { transform: scale(1.035); }
}
.portfolio-media:focus-visible img { transform: scale(1.035); }
@media (max-width: 700px) {
  .portfolio-section { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .portfolio-caption { padding: 17px 0 0; }
  .portfolio-caption p { margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .portfolio-media img { transition: none; }
  a.portfolio-media:hover img, .portfolio-media:focus-visible img { transform: none; }
}
