/* intro: editorial opener with drop cap + sticky "Auf einen Blick" card. */

.intro { padding-top: clamp(4.5rem, 10vw, 8rem); }
/* Inter turns "20x10" into "20×10" via contextual alternates; `font` shorthands reset the
   feature, so pin it with an ID selector for the whole section. */
#intro, #intro * { font-feature-settings: "calt" 0; }

.in-grid { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
.in-main { max-width: var(--measure); }
@media (min-width: 1000px) {
  .in-grid { grid-template-columns: minmax(0, var(--measure)) minmax(18rem, 23rem); justify-content: space-between; align-items: start; }
  .in-card { position: sticky; top: 5.5rem; margin-top: 3.2rem; }
}

.in-title { max-width: 14ch; }
.in-prose { font-size: clamp(1.06rem, 1.6vw, 1.16rem); line-height: 1.75; }
.in-lede { font-size: clamp(1.18rem, 2.1vw, 1.36rem); line-height: 1.6; color: var(--ink); }
.in-lede::first-letter {
  float: left; margin: .08em .07em 0 -.03em;
  font: 900 4.3em/.76 var(--font-display);
  color: var(--primary);
}

.in-team {
  color: var(--ink); font-weight: 700; text-decoration: none;
  background: linear-gradient(var(--primary), var(--primary)) 0 100% / 100% 1px no-repeat;
  padding-bottom: 1px; transition: color .2s;
}
.in-team:hover { color: var(--primary); }
.in-thanks { padding-left: 1.1rem; border-left: 2px solid var(--primary); color: var(--text); }

/* ---- Fact card ---- */
.in-card {
  padding: clamp(1.3rem, 3vw, 1.7rem);
  background:
    linear-gradient(160deg, rgb(var(--primary-rgb) / .05), transparent 40%),
    var(--panel);
  box-shadow: var(--shadow);
}
.in-card-kicker {
  margin: 0 0 1rem; font: 700 .7rem/1 var(--font-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--primary);
}
.in-facts { margin: 0; display: grid; }
.in-facts > div { display: grid; grid-template-columns: 6.6rem 1fr; gap: .8rem; padding: .6rem 0; border-top: 1px solid var(--line); }
.in-facts > div:first-child { border-top: 0; padding-top: 0; }
.in-facts dt { font: 700 .66rem/1.5 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding-top: .15rem; }
.in-facts dd { margin: 0; font-size: .93rem; line-height: 1.45; color: var(--ink); }
.in-prizes { display: grid; gap: .25rem; }
.in-prizes b { display: inline-block; min-width: 2.6rem; font: 700 .72rem/1 var(--font-mono); color: var(--gold); }
.in-winner dd { display: flex; align-items: center; gap: .45rem; color: var(--gold); }
.in-winner .in-team { font-size: 1.02rem; }

.in-card-sponsors { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line2); }
.in-card-sponsors .in-card-kicker { color: var(--muted); margin-bottom: .8rem; }
.in-card-sponsors ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.in-card-sponsors li { display: grid; gap: .3rem; }
.in-card-sponsors .sponsor-mark { justify-content: flex-start; font-size: 1.15rem; white-space: nowrap; }
.in-card-sponsors .sponsor-mark[data-sponsor="nextserves"] { font-size: .74rem; }
.in-card-sponsors img { height: 1.3rem; width: auto; }
.in-card-sponsors li > span:last-child { font-size: .86rem; line-height: 1.4; color: var(--text); }

@media (max-width: 380px) {
  .in-facts > div { grid-template-columns: 5.6rem 1fr; gap: .6rem; }
}

/* Cross-section highlight from selectTeam() */
.in-team.is-selected { color: var(--primary); }
