@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

/* Official DPS Labs identity, scoped to sponsor placements. */
.sponsor-brand,
.sponsor-credit {
  --sponsor-ink: #0f172a;
  --sponsor-blue: #2563eb;
  --sponsor-muted: #475569;
  font-family: 'DM Sans', var(--sans);
}
.v2-founder.sponsor-brand,
.spon.sponsor-brand {
  grid-template-columns: 210px minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  background: linear-gradient(120deg, #fff 15%, #eff6ff);
  border: 1px solid #dbe4f4;
  border-top: 3px solid var(--sponsor-blue);
  border-radius: 10px;
  box-shadow: 0 12px 30px #0f172a08;
}
.spon.sponsor-brand { grid-template-columns: 240px minmax(0, 1fr); }
.sponsor-brand .v2-founder-mark,
.sponsor-brand .logo-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  padding: 18px 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: none;
}
.sponsor-brand .v2-founder-mark img,
.sponsor-brand .logo-tile img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: transparent;
}
.sponsor-brand h3,
.sponsor-brand .spon-name {
  font-family: 'Manrope', var(--sans);
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -.7px;
  color: var(--sponsor-ink);
}
.sponsor-brand .v2-tag,
.sponsor-brand .badge { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.sponsor-brand .sponsor-brand-tagline,
.sponsor-brand .spon-tag { color: #1d4ed8; font-weight: 600; margin: 0 0 10px; }
.sponsor-brand p,
.sponsor-brand small { color: var(--sponsor-muted); }
.sponsor-brand .btn {
  background: var(--sponsor-blue);
  border-color: var(--sponsor-blue);
  color: #fff;
  border-radius: 5px;
  font-family: inherit;
  box-shadow: none;
}
.sponsor-brand .btn:hover { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.sponsor-credit {
  display: flex;
  align-items: center;
  gap: 28px;
  width: fit-content;
  max-width: 100%;
  margin: 20px 0;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid #dbe4f4;
  border-radius: 7px;
  color: var(--sponsor-ink);
  text-decoration: none;
}
.sponsor-credit img { display: block; width: 160px; height: auto; flex: none; }
.sponsor-credit-label { display: block; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #1d4ed8; }
.sponsor-credit-line { display: block; font-size: 12px; margin-top: 5px; line-height: 1.6; }
.sponsor-credit--dark { background: #0f172a; color: #fff; border-color: #334155; }
.sponsor-credit--dark .sponsor-credit-label { color: #93c5fd; }
.sponsor-credit:hover { border-color: #2563eb; text-decoration: none; }
.sponsor-credit:hover .sponsor-credit-line { text-decoration: underline; text-underline-offset: 3px; }
.sponsor-credit:focus-visible,
.sponsor-brand .btn:focus-visible { outline: 3px solid #7c3aed; outline-offset: 4px; }
@media (max-width: 1100px) {
  .v2-founder.sponsor-brand { grid-template-columns: 190px minmax(0, 1fr); }
  .v2-founder.sponsor-brand > .btn { grid-column: 2; justify-self: start; }
}
@media (max-width: 700px) {
  .v2-founder.sponsor-brand,
  .spon.sponsor-brand { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 25px 22px; }
  .sponsor-brand .v2-founder-mark,
  .sponsor-brand .logo-tile { width: 220px; max-width: 100%; }
  .v2-founder.sponsor-brand > .btn { grid-column: 1; justify-self: start; }
  .sponsor-brand h3 { font-size: 24px; }
  .sponsor-credit { flex-direction: column; align-items: flex-start; gap: 15px; padding: 20px; }
  .sponsor-credit img { width: 160px; max-width: 100%; }
}
