/* Sponsors page, logo tiles and the logo strip. Tokens live in base.css. */

.eyebrow {
  margin: 0 0 var(--space-2);
  color: var(--color-wood);
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: 1.3;
}
.sponsor-opening { margin-bottom: var(--space-7); }
.sponsor-opening h1 { max-width: 20ch; }
.sponsor-opening__actions { margin-top: var(--space-5); }
.edit-links { display: flex; flex-wrap: wrap; gap: var(--space-4); }

.sponsor-section { margin: 0 0 var(--space-7); }
.sponsor-section > p { max-width: var(--measure); }

.benefit-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--space-3);
  max-width: var(--measure);
}
/* What sponsors get: a plain list on a wood rule, not a stack of cards. */
.benefit-list { gap: 0; border-left: 4px solid var(--color-wood); }
.benefit-list li {
  padding: var(--space-2) 0 var(--space-2) var(--space-5);
}
.benefit-list li + li { border-top: var(--border-width) solid var(--color-border); }

.impact-cards {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--space-5);
}
@media (min-width: 768px) { .impact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* .impact-card is the card in site.css; photos at 3:2 like every card. */
.impact-card__text { padding: var(--space-4) var(--space-5) var(--space-5); }
.impact-card__text p { margin: 0; }
.impact-card__title { margin-bottom: var(--space-2); }
.impact-card__title a { color: inherit; }

.logo-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
@media (min-width: 640px) { .logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .logo-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.logo-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  background: #fff;
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
}
.logo-tile img { width: 100%; height: 100%; padding: var(--space-3); object-fit: contain; }
a.logo-tile:hover { border-color: var(--color-link); }
.logo-tile--text { padding: var(--space-3); background: var(--color-surface); }
.logo-tile__name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--text-lg);
  line-height: var(--leading-heading);
  text-align: center;
  color: var(--color-text);
  overflow-wrap: anywhere;
}

.logo-strip { margin-block: var(--space-7); }
.logo-strip__heading { font-size: var(--text-lg); color: var(--color-muted); }
.logo-grid--strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
@media (min-width: 768px) { .logo-grid--strip { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.sponsor-talk {
  padding: var(--space-5) var(--gutter);
  max-width: 44rem;
}
.sponsor-contact { display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--text-lg); }
.sponsor-contact a { display: inline-flex; align-items: center; min-height: var(--tap-target); }
.sponsor-form .button { width: 100%; }
@media (min-width: 768px) { .sponsor-form .button { width: auto; } }

/* The spam trap: off-screen for people, still in the form for robots. */
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.sponsor-closing { color: var(--color-muted); max-width: var(--measure); }

@media print {
  .edit-link, .sponsor-form { display: none; }
  .sponsor-talk { box-shadow: none; }
}

/* Numbers, events to sponsor, and the contact line (inspection 2026-09-24, D14) */
.sponsor-numbers {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-7);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
@media (min-width: 768px) { .sponsor-numbers { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sponsor-numbers li { display: flex; flex-direction: column; gap: var(--space-2); padding-top: var(--space-3); border-top: 3px solid var(--color-wood); }
.sponsor-numbers__value { font-family: var(--font-heading); font-weight: 600; font-size: var(--text-2xl); color: var(--color-pond); line-height: 1.1; }
.sponsor-numbers__label { color: var(--color-muted); font-size: var(--text-sm); }
.sponsor-subheading { font-size: var(--text-lg); margin: var(--space-5) 0 var(--space-3); }
.sponsorable-events { list-style: none; padding: 0; margin: 0 0 var(--space-5); display: grid; gap: var(--space-3); max-width: var(--measure); }
.sponsorable-events a {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-3) var(--space-4);
}
.sponsorable-events__title { font-weight: 700; text-decoration: underline; }
.sponsorable-events__when { color: var(--color-muted); font-size: var(--text-sm); }
.sponsor-address { font-style: normal; white-space: pre-line; }
@media (prefers-color-scheme: dark) { .sponsor-numbers__value { color: var(--color-link); } }
