/* Re-Briefing: einheitliches, dreiteiliges Teamprofil */
.hero { min-height: 100vh; min-height: 100svh; height: 100svh; background: var(--ink) url("../media/hero-stadium-poster.jpg") center / cover no-repeat; }
.brand { font-size: 1.08rem; }
.brand em { font-size: .73rem; }
.hero-workflow { justify-content: flex-start; gap: 2.3rem; }
.hero-workflow span { position: relative; }
.hero-workflow span:not(:last-child)::after { content: "·"; position: absolute; right: -1.35rem; color: var(--sage); }
.model-step { grid-template-columns: 90px minmax(0, 1fr); }
.team-grid { grid-template-columns: repeat(3, 1fr); }
.person { display: flex; flex-direction: column; }
.person img { height: clamp(270px, 26vw, 355px); aspect-ratio: auto; object-position: center top; filter: grayscale(100%) contrast(.92) brightness(1.04); }
.site-footer .container { display: flex; justify-content: space-between; gap: 30px; }
.partners .eyebrow { color: #304239; }
.partner-card:nth-child(3) { color: var(--ink); }
.language-switch { display: inline-flex; align-items: center; gap: .4rem; margin-left: .2rem; font-size: .72rem; letter-spacing: .1em; }
.language-switch a, .language-switch span { display: inline-block; padding: .3rem .35rem; }
.language-switch a { border: 1px solid rgba(255,255,255,.5); }
.language-switch span[aria-current="page"] { opacity: .65; }

@media (max-width: 1100px) {
  .site-header { width: calc(100% - 48px); height: 80px; }
  .menu-toggle { display: block; cursor: pointer; }
  .site-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; padding: 1rem; background: var(--ink); border: 1px solid rgba(255,255,255,.2); align-items: stretch; gap: 1rem; }
  .site-nav.is-open { display: flex; flex-direction: column; }
  .nav-cta { text-align: center; }
  .language-switch { align-self: flex-start; }
  .partners-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .partners-statement { max-width: 800px; padding-top: 0; }
  .partner-cards { width: 100%; max-width: 760px; }
  .partner-card:nth-child(n) { margin-left: 0; }
}

@media (max-width: 900px) {
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .person:last-child { grid-column: span 2; width: calc(50% - 12px); }
}

@media (max-width: 760px) {
  .hero { min-height: 100vh; min-height: 100svh; height: 100svh; }
  .site-header { width: calc(100% - 40px); height: 72px; }
  .site-nav { top: 62px; }
  .brand { font-size: 1rem; }
  .brand em { font-size: .68rem; }
  .hero-workflow { gap: 1.55rem; }
  .hero-workflow span:not(:last-child)::after { right: -.95rem; }
  .team-grid { grid-template-columns: minmax(0, 1fr); }
  .person:last-child { grid-column: auto; width: auto; }
  .site-footer .container { display: flex; flex-direction: column; gap: 10px; }
}
