:root{
  --brand-600:#2f6f6c;
  --brand-500:#8bbfbd;
  --brand-400:#a8c3c1;
  --ink:#536060;
}
html{color-scheme:light}
body{color:var(--ink); background:linear-gradient(#ffffff,#f7f7f9)}
*{box-sizing:border-box}
.header-shadow{box-shadow:0 1px 0 rgba(0,0,0,.04)}
.section-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid var(--brand-500);border-radius:1rem;box-shadow:0 1px 10px rgba(0,0,0,.03);overflow:hidden}
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border:1px solid var(--brand-500);border-radius:9999px;font-size:.75rem;line-height:1;}
.link{color:var(--brand-600)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 10px rgba(0,0,0,.03)}

/* Sponsors grid – robust & no cropping */
.logo-band{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
  grid-auto-rows:120px;     /* Höhe einer normalen Logo-Kachel */
  grid-auto-flow:dense;
}
@media(min-width:768px){
  .logo-band{ grid-template-columns:repeat(4, minmax(0,1fr)); }
}
.logo-card{height:100%; padding:10px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #e5e7eb; border-radius:1rem; box-shadow:0 1px 10px rgba(0,0,0,.03)}
.logo-card img{
  max-width:92%;           /* NIE breiter als Kachel */
  max-height:92%;          /* NIE höher als Kachel */
  height:auto; width:auto; display:block; margin:0 auto;
}
.logo-card.logo-tall{grid-row:span 2}

/* Utility */
hr.sep{border:0;border-top:1px dashed var(--brand-400);margin:1rem 0}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:1rem;border:1px solid #e5e7eb;background:#fff;min-height:44px}
.btn:hover{border-color:var(--brand-400)}
.btn-primary{background:var(--brand-600); color:#fff; border-color:transparent}
