/* Stronger editorial cards for real people and approved project work. */
.home-team .grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.home-team .card--team {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce6e7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(14,51,60,.065);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.home-team .card--team:hover { transform: translateY(-4px); border-color: rgba(8,126,139,.32); box-shadow: 0 16px 32px rgba(14,51,60,.12); }
.home-team .card--team .card__media { position: relative; aspect-ratio: 4 / 4.25; overflow: hidden; background: linear-gradient(145deg,#eaf2f1,#f8faf9); }
.home-team .card--team .card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(transparent,rgba(10,45,54,.14)); pointer-events: none; }
.home-team .card--team .card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.home-team .card--team:hover .card__media img { transform: scale(1.035); }
.home-team .card--team .card__placeholder { width: 100%; height: 100%; opacity: .48; }
.home-team .team-card__body { padding: 1.05rem 1.15rem 1.25rem; }
.team-card__eyebrow { margin: 0 0 .25rem; color: #0a7d82; font-size: .78rem; font-weight: 800; }
.home-team .team-card__name { min-height: 1.8em; margin: 0 0 .2rem; color: #143039; font-size: 1.12rem; line-height: 1.75; overflow-wrap: anywhere; }
.home-team .team-card__name a { color: inherit; }
.home-team .team-card__name a::after { border-radius: inherit; }
.home-team .card__meta { min-height: 1.7em; margin: 0; color: #0a7d82; font-size: .88rem; line-height: 1.7; }
.home-team .team-card__expertise { min-height: 3.3em; margin: .5rem 0 0; color: #5b7075; font-size: .88rem; line-height: 1.8; text-align: start; }

.home-projects .card--project { overflow: hidden; border: 1px solid #dce6e7; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(14,51,60,.055); transition: transform .22s ease, box-shadow .22s ease; }
.home-projects .card--project:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(14,51,60,.11); }
.home-projects .card--project .card__media { aspect-ratio: 16/10; background: linear-gradient(145deg,#e8f0ef,#f6f8f7); }
.home-projects .card--project .card__media img { width: 100%; height: 100%; object-fit: cover; }
.home-projects .card--project .card__body { padding: 1.15rem 1.25rem 1.4rem; }
.home-projects .card--project .card__tag { width: fit-content; color: #075764; background: #eaf4f2; font-size: .79rem; }
.home-projects .card--project .card__title { min-height: 1.75em; font-size: 1.12rem; line-height: 1.7; }
.home-projects .card--project .card__meta { color: #087e8b; }
.home-projects .card--project .card__text { display: -webkit-box; min-height: 3.4em; overflow: hidden; color: #52696e; font-size: .92rem; line-height: 1.85; text-align: start; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

@media (max-width: 960px) {
  .home-team .grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .home-team .grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
  .home-team .card--team .card__media { aspect-ratio: 1 / 1.1; }
  .home-team .team-card__body { padding: .85rem; }
  .home-team .team-card__name { font-size: .98rem; }
  .home-team .team-card__expertise { font-size: .82rem; }
  .home-projects .card--project .card__body { padding: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-team .card--team, .home-team .card--team .card__media img, .home-projects .card--project { transition: none; }
}
