/* Keep the team photograph clear, with its caption in normal document flow. */
.team-intro {
  width: 100%;
  background: #0f0f0f;
}
.team-intro-photo {
  display: block;
  width: 100%;
  height: auto;
}
.team-intro-copy {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 72px 48px;
}
.team-intro-copy p {
  max-width: 900px;
  margin-top: 20px !important;
  line-height: 1.6;
}

.current-sponsors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  width: min(100%, 960px);
  padding: 0 24px;
}
.current-sponsor {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fafafa;
  text-align: center;
  text-decoration: none;
}
.sponsor-logo-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 210px;
  padding: 24px;
  background: #202020;
  border: 1px solid #363636;
  border-radius: 8px;
}
.sponsor-logo-stage img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 153px;
  object-fit: contain;
}
.sponsor-name {
  margin-top: 20px;
  font: 500 24px/1.3 Orbitron, Arial, sans-serif;
  transition: color 160ms ease-out;
}
.sponsor-description {
  margin-top: 8px;
  color: #ccc;
  font: 16px/1.5 Inter, Arial, sans-serif;
}
.current-sponsor:hover .sponsor-name,
.current-sponsor:focus-visible .sponsor-name { color: #ffcc00; }
.current-sponsor:focus-visible { outline: 2px solid #ffcc00; outline-offset: 8px; }

/* Replace the exported empty spacer with a responsive competition recap. */
.competition-highlight {
  width: 100%;
  padding: 48px 32px 80px;
  background: linear-gradient(180deg, #5922e4 0, #0f0f0f 320px);
  color: #fafafa;
}
.competition-logo {
  display: block;
  width: min(100%, 720px);
  height: auto;
  margin: 0 auto 40px;
}
.competition-result {
  max-width: 960px;
  margin: 0 auto;
}
.competition-team-photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.competition-result figcaption {
  max-width: 800px;
  margin: 32px auto 0;
  text-align: center;
}
.competition-result h2 {
  margin: 12px 0 20px;
  font: 500 clamp(24px, 3vw, 36px)/1.35 Orbitron, Arial, sans-serif;
}
.competition-result p {
  margin: 0;
  color: #ccc;
  font: 18px/1.6 Inter, Arial, sans-serif;
}
.competition-result .competition-date { color: #d2c18c; font-size: 16px; }
@media (max-width: 767px) {
  .team-intro-copy { padding: 28px 20px 36px; }
  .current-sponsors { grid-template-columns: 1fr; max-width: 480px; gap: 32px; }
  .competition-highlight { padding: 32px 20px 48px; }
  .competition-logo { margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-name { transition: none; }
}
