/* DGM-Inventum team (team/templates/frontend-inventum.html): section head with the central contact, then groups of
   person cards. Management as wide cards, the project team in four columns, the student team compact. Phones get compact
   horizontal cards. Buttons and chips follow the site radius tokens (rounded-lg / rounded-md). */
.dgm-inventum.inv-team { padding: clamp(56px, 7vw, 104px) 20px clamp(64px, 8vw, 112px); }
.inv-team .inv-team-wrap { max-width: 1200px; margin: 0 auto; }

/* ---------- Head ---------- */
.inv-team .inv-team-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 64px; align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.inv-team .inv-team-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--inv-accent-ink); font: 650 12.5px/1.4 var(--inv-text); letter-spacing: .07em; text-transform: uppercase; }
.inv-team .inv-team-kicker::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: var(--inv-primary); }
.inv-team .inv-team-title { margin: 14px 0 0; max-width: 18ch; color: var(--inv-black); font: 800 clamp(2rem, 1.4rem + 2vw, 2.9rem)/1.05 var(--inv-display); letter-spacing: -.032em; text-wrap: balance; }
.inv-team .inv-team-lead { color: var(--inv-ink); font-size: 1.0625rem; line-height: 1.65; text-align: left; }
.inv-team .inv-team-lead p, .inv-team .inv-team-bio p { margin: 0; }
.inv-team .inv-team-lead p + p, .inv-team .inv-team-bio p + p { margin-top: .6em; }
.inv-team .inv-team-contact { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.inv-team .inv-team-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px;
  border-radius: var(--radius-lg, .625rem); background: #fff; box-shadow: inset 0 0 0 1px var(--inv-line);
  color: var(--inv-black); font: 600 14px/1.2 var(--inv-text); text-decoration: none; white-space: nowrap;
  transition: box-shadow 160ms ease, color 160ms ease;
}
.inv-team .inv-team-chip i { color: var(--inv-accent-ink); font-size: 12px; }
.inv-team .inv-team-chip:hover { color: var(--inv-accent-ink); box-shadow: inset 0 0 0 1px #cfe5ee, 0 8px 20px -14px rgba(8, 115, 156, .45); }
.inv-team .inv-team-chip:focus-visible { outline: 3px solid rgba(0, 171, 227, .4); outline-offset: 2px; }

/* ---------- Groups and cards ---------- */
.inv-team .inv-team-group + .inv-team-group { margin-top: clamp(44px, 5vw, 72px); }
.inv-team .inv-team-group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--inv-line); }
.inv-team .inv-team-group-title { margin: 0; color: var(--inv-black); font: 750 1.3rem/1.2 var(--inv-display); letter-spacing: -.015em; }
.inv-team .inv-team-group-note { color: var(--inv-muted); font-size: 14px; }
/* Rows of fixed-width cards (--cols per breakpoint); a shorter last row is centred instead of leaving an empty slot */
.inv-team .inv-team-grid { --cols: 4; --gap: 20px; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gap); margin: 0; padding: 0; list-style: none; }
.inv-team .inv-team-grid > .inv-team-card { flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); }
.inv-team .inv-team-card {
  display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; overflow: hidden;
  border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--inv-line), 0 1px 2px rgba(22, 21, 19, .04);
  transition: box-shadow 220ms ease;
}
.inv-team .inv-team-card::before { content: none; }
.inv-team .inv-team-card:hover { box-shadow: inset 0 0 0 1px #e3ded5, 0 18px 36px -24px rgba(22, 21, 19, .35); }
.inv-team .inv-team-photo { position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: #dce8ee; }
.inv-team .inv-team-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 22%; transition: transform 600ms cubic-bezier(.2, .8, .2, 1); }
.inv-team .inv-team-card:hover .inv-team-photo img { transform: scale(1.035); }
.inv-team .inv-team-photo-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: #9fb3bc; font-size: 2rem; }
.inv-team .inv-team-body { display: flex; flex: 1; flex-direction: column; gap: 4px; padding: 18px 18px 20px; }
.inv-team .inv-team-name { margin: 0; color: var(--inv-black); font: 750 1.0625rem/1.25 var(--inv-display); letter-spacing: -.012em; }
.inv-team .inv-team-role { color: var(--inv-accent-ink); font: 600 13.5px/1.35 var(--inv-text); }
.inv-team .inv-team-bio { margin-top: 8px; color: var(--inv-ink); font-size: 14px; line-height: 1.6; text-align: left; }
.inv-team .inv-team-card .inv-team-contact { margin-top: auto; padding-top: 14px; }
.inv-team .inv-team-card .inv-team-chip { min-height: 34px; padding: 6px 10px; border-radius: var(--radius-md, .5rem); font-size: 13px; }

/* Management: wide cards with the portrait on the left */
.inv-team .inv-team-grid--lead { --cols: 2; }
.inv-team .inv-team-grid--lead .inv-team-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.inv-team .inv-team-grid--lead .inv-team-photo { aspect-ratio: auto; min-height: 300px; height: 100%; }
.inv-team .inv-team-grid--lead .inv-team-body { justify-content: center; padding: 26px 28px; }
.inv-team .inv-team-grid--lead .inv-team-name { font-size: 1.4rem; }
.inv-team .inv-team-grid--lead .inv-team-role { font-size: 14.5px; }
.inv-team .inv-team-grid--lead .inv-team-bio { font-size: 15px; }

/* Student team: five compact cards */
.inv-team .inv-team-grid--students { --cols: 5; --gap: 14px; }
.inv-team .inv-team-grid--students .inv-team-body { padding: 14px 14px 16px; }
.inv-team .inv-team-grid--students .inv-team-name { font-size: 1rem; }
.inv-team .inv-team-grid--students .inv-team-bio { font-size: 13px; line-height: 1.55; }

@media (max-width: 1099px) {
  .inv-team .inv-team-grid, .inv-team .inv-team-grid--students { --cols: 3; }
  .inv-team .inv-team-grid--lead { --cols: 1; }
}
@media (max-width: 799px) {
  .inv-team .inv-team-head { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .inv-team .inv-team-grid, .inv-team .inv-team-grid--students { --cols: 2; --gap: 12px; }
  .inv-team .inv-team-grid--lead { --cols: 1; }
}
/* Phones: compact horizontal cards, portrait on the left */
@media (max-width: 559px) {
  .dgm-inventum.inv-team { padding-inline: 16px; }
  .inv-team .inv-team-grid, .inv-team .inv-team-grid--students, .inv-team .inv-team-grid--lead { --cols: 1; --gap: 10px; }
  .inv-team .inv-team-card, .inv-team .inv-team-grid--lead .inv-team-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); }
  .inv-team .inv-team-photo, .inv-team .inv-team-grid--lead .inv-team-photo { aspect-ratio: auto; min-height: 150px; height: 100%; }
  .inv-team .inv-team-body, .inv-team .inv-team-grid--lead .inv-team-body, .inv-team .inv-team-grid--students .inv-team-body { padding: 14px 14px 14px; justify-content: flex-start; }
  .inv-team .inv-team-grid--lead .inv-team-name { font-size: 1.125rem; }
  .inv-team .inv-team-bio, .inv-team .inv-team-grid--lead .inv-team-bio { font-size: 13.5px; }
  .inv-team .inv-team-head .inv-team-chip { flex: 1 1 auto; justify-content: center; }
}
@media (hover: none) { .inv-team .inv-team-card:hover .inv-team-photo img { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .inv-team .inv-team-card, .inv-team .inv-team-photo img, .inv-team .inv-team-chip { transition: none; }
  .inv-team .inv-team-card:hover .inv-team-photo img { transform: none; }
}
