.sponsors {
  position: relative;
  padding: clamp(76px, 8vw, 128px) var(--edge) 36px;
  overflow: clip;
  background: var(--cream);
  color: var(--plum);
}
.sponsors__inner { max-width: 1500px; margin-inline: auto; }
.sponsors__header { display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.sponsors h2 { margin: 0; font: 800 clamp(3.5rem, 7.6vw, 8rem)/.94 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.sponsors h2 span { color: var(--raspberry); }
.sponsors__header p { flex: 0 0 auto; margin: 0 0 6px; font-size: clamp(14px, 1.1vw, 18px); line-height: 1.55; }
.sponsors__wall { position: relative; min-height: 410px; padding: 76px 38% 64px 20px; margin-top: 24px; }
.sponsor-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 64px 40px; list-style: none; padding: 0; margin: 0; }
.sponsor-sticker { --sticker-angle: -6deg; --sticker-shift: 0px; --sticker-settle: 0deg; --sticker-scale: 1; position: relative; min-width: 0; transform: translateY(var(--sticker-shift)) rotate(var(--sticker-settle)); }
.sponsor-sticker:nth-child(3n + 2) { --sticker-angle: 5deg; }
.sponsor-sticker:nth-child(3n) { --sticker-angle: -3deg; }
.sponsor-sticker__face { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 278px; height: 100%; padding: 34px 30px 22px; border: 2px solid var(--plum); border-radius: 24px; color: var(--plum); background: #fff; text-decoration: none; transform: rotate(var(--sticker-angle)) scale(var(--sticker-scale)); transform-origin: 50% 58%; }
.sponsor-sticker:nth-child(3n + 2) .sponsor-sticker__face { border-radius: 50%; padding: 42px 34px 30px; }
.sponsor-sticker:nth-child(3n) .sponsor-sticker__face { border-radius: 4px 44px 4px 44px; }
.sponsor-sticker__logo { display: grid; flex: 1; min-height: 162px; place-items: center; }
.sponsor-sticker__logo img { display: block; width: 100%; max-width: 272px; height: 162px; object-fit: contain; }
.sponsor-sticker__logo .sponsor-sticker__brand-image { display: block; width: 100%; max-width: 272px; height: 162px; overflow: hidden; }
.sponsor-sticker__name { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 16px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.sponsor-sticker__name svg { flex: none; width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.5; }
.sponsor-sticker.sponsor-sticker--fly .sponsor-sticker__face { padding-bottom: 42px; }
.sponsor-sticker--fly .sponsor-sticker__brand-image { max-width: 210px; height: 142px; }
.sponsor-sticker--fly .sponsor-sticker__name { justify-content: center; gap: 10px; text-align: center; }
.sponsor-sticker:only-child { grid-column: 1 / -1; max-width: 450px; width: 100%; justify-self: center; }
.sponsor-sticker:only-child .sponsor-sticker__face { min-height: 300px; padding: 34px 44px 24px; }
.sponsor-sticker__face:focus-visible { --sticker-angle: 0deg; --sticker-scale: 1.035; outline: 3px solid var(--raspberry); outline-offset: 7px; }
.sponsor-sticker:focus-within { z-index: 2; }
.sponsors__crew-sticker, .sponsors__thanks-sticker { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; pointer-events: none; }
.sponsors__crew-sticker { top: 62px; right: 8%; width: 226px; height: 226px; padding: 16px; gap: 12px; border: 2px solid var(--plum); border-radius: 50%; background: var(--rose); transform: rotate(10deg); }
.sponsors__crew-sticker > span { font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.sponsors__crew-sticker strong { font: 800 92px/.85 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.sponsors__thanks-sticker { right: 2%; top: 246px; width: 228px; min-height: 162px; padding: 26px 20px; gap: 12px; background: var(--plum); color: var(--cream); transform: rotate(-7deg); }
.sponsors__thanks-sticker strong { font: 800 64px/.9 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.sponsors__thanks-sticker strong span { color: var(--rose); }
.sponsors__thanks-sticker > span { font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
.sponsors__closing { margin: 38px 0 0; padding-top: 24px; border-top: 1px solid color-mix(in srgb, var(--plum) 30%, transparent); font-size: 12px; line-height: 1.6; }
.sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsors__wall { padding: 76px 20px 64px; }
.sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsor-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsors__crew-sticker, .sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsors__thanks-sticker { display: none; }

@media (hover: hover) and (pointer: fine) {
  .sponsor-sticker:hover { z-index: 2; }
  .sponsor-sticker__face:hover { --sticker-angle: 0deg; --sticker-scale: 1.035; }
  .sponsor-sticker__face:hover .sponsor-sticker__name { text-decoration: underline; text-underline-offset: 5px; }
}
@media (prefers-reduced-motion: no-preference) {
  .sponsor-sticker__face { transition: transform 480ms cubic-bezier(.16, 1, .3, 1); }
}
@media (max-width: 1100px) {
  .sponsors__header { align-items: start; flex-direction: column; gap: 24px; }
  .sponsors__wall { padding-right: 36%; }
  .sponsors__crew-sticker { right: 4%; width: 190px; height: 190px; }
  .sponsors__crew-sticker strong { font-size: 78px; }
  .sponsors__thanks-sticker { right: 0; width: 190px; }
  .sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsor-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 651px) and (max-width: 1100px) {
  .sponsors__wall:has(.sponsor-sticker:nth-child(2)):not(:has(.sponsor-sticker:nth-child(3))) { padding-right: 20px; }
  .sponsors__wall:has(.sponsor-sticker:nth-child(2)):not(:has(.sponsor-sticker:nth-child(3))) .sponsors__crew-sticker,
  .sponsors__wall:has(.sponsor-sticker:nth-child(2)):not(:has(.sponsor-sticker:nth-child(3))) .sponsors__thanks-sticker { position: relative; top: auto; right: auto; display: inline-flex; vertical-align: middle; margin-top: 60px; }
  .sponsors__wall:has(.sponsor-sticker:nth-child(2)):not(:has(.sponsor-sticker:nth-child(3))) .sponsors__thanks-sticker { margin-left: 28px; }
}
@media (max-width: 650px) {
  .sponsors { padding-top: 68px; padding-bottom: 28px; }
  .sponsors h2 { font-size: clamp(3rem, 12vw, 5rem); }
  .sponsors__wall, .sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsors__wall { min-height: auto; margin-top: 12px; padding: 54px 12px 16px; }
  .sponsor-list, .sponsors:is(.is-full, :has(.sponsor-sticker:nth-child(3))) .sponsor-list { grid-template-columns: minmax(0, 1fr); gap: 54px; }
  .sponsor-sticker:only-child { max-width: 390px; }
  .sponsor-sticker__face, .sponsor-sticker:only-child .sponsor-sticker__face { min-height: 258px; padding: 28px 26px 22px; }
  .sponsors__crew-sticker, .sponsors__thanks-sticker { position: relative; top: auto; right: auto; display: inline-flex; vertical-align: middle; margin-top: 54px; }
  .sponsors__crew-sticker { width: 46%; aspect-ratio: 1; height: auto; padding: 12px; gap: 8px; }
  .sponsors__crew-sticker > span { font-size: 11px; letter-spacing: .02em; }
  .sponsors__crew-sticker strong { font-size: clamp(48px, 15vw, 78px); }
  .sponsors__thanks-sticker { width: 46%; min-height: 124px; padding: 22px 12px; margin-left: 5%; }
  .sponsors__thanks-sticker strong { font-size: clamp(34px, 10.8vw, 54px); }
  .sponsors__thanks-sticker > span { font-size: 11px; }
  .sponsors__closing { margin-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-sticker { transform: none !important; }
  .sponsor-sticker__face { transition: none; }
}
