/* ============================================================
   Thank You to Our Sponsors page
   ============================================================ */

.spons-head{
  background:var(--ink); color:var(--on-dark);
  padding-top:calc(74px + clamp(3rem,7vw,5.5rem));
  padding-bottom:clamp(2.5rem,5vw,4rem);
  position:relative; text-align:center;
}
.spons-head::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--moss), transparent);
}
.spons-head h1{ font-size:var(--step-4); margin:0 0 .8rem; }
.spons-head p{ font-size:var(--step-0); color:var(--on-dark-mute); max-width:52ch; margin:0 auto; line-height:1.7; }

/* Centered channel variant: no trailing hairline, since a
   flex-stretched line looks off-balance in a centered header. */
.channel--centered{
  display:inline-flex; justify-content:center;
}
.channel--centered::after{ display:none; }

.spons-body{ padding-block:clamp(3rem,6vw,5rem); }

.spons-tier{
  max-width:min(900px,100%); margin:0 auto clamp(3.5rem,7vw,5.5rem);
  padding-inline:var(--gutter); text-align:center;
}
.spons-tier__label{
  font-family:var(--ui); font-size:.72rem; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--moss);
  margin-bottom:.5rem;
}
.spons-tier__blurb{
  font-size:var(--step--1); color:var(--on-light-mute);
  max-width:56ch; margin:0 auto 2rem; line-height:1.7;
}

.spons-founding-grid{
  display:grid; grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:1.5rem; max-width:640px; margin:0 auto;
}
@media (max-width:600px){ .spons-founding-grid{ grid-template-columns:1fr; } }
.spons-founding-card{
  background:var(--ink); border-radius:20px;
  padding:2.5rem 2rem; display:flex; flex-direction:column; align-items:center; gap:1rem;
  transition:transform .35s var(--ease-out);
}
.spons-founding-card:hover{ transform:translateY(-4px); }
.spons-founding-card img{ height:56px; width:auto; filter:brightness(0) invert(1); }
.spons-founding-card__name{ font-family:var(--display); font-size:var(--step-1); font-weight:700; color:var(--on-dark); }
.spons-founding-card a.spons-visit{
  font-family:var(--ui); font-size:.78rem; font-weight:600;
  color:var(--moss-lt); text-decoration:none;
}
.spons-founding-card a.spons-visit:hover{ text-decoration:underline; }

.spons-community-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1.25rem;
}
.spons-community-card{
  background:var(--paper-2); border:1px solid var(--line-light); border-radius:16px;
  padding:1.5rem 1.25rem; display:flex; flex-direction:column; align-items:center; gap:.75rem;
  text-decoration:none; transition:transform .3s var(--ease-out), border-color .3s var(--ease-out);
}
.spons-community-card:hover{ transform:translateY(-3px); border-color:var(--moss); }
.spons-community-card img{ height:36px; width:auto; }
.spons-community-card__name{ font-family:var(--ui); font-size:.85rem; font-weight:700; color:var(--on-light); text-align:center; }

.spons-supporter-list{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem;
}
.spons-supporter-chip{
  padding:.5rem 1.1rem; border-radius:999px;
  background:var(--paper-2); border:1px solid var(--line-light);
  font-family:var(--ui); font-size:.82rem; font-weight:600; color:var(--on-light);
  text-decoration:none;
}
.spons-supporter-chip:hover{ border-color:var(--moss); color:var(--moss-deep); }

.spons-empty{
  text-align:center; padding:clamp(2.5rem,5vw,4rem) var(--gutter);
  max-width:600px; margin:0 auto;
}
.spons-empty h2{ font-size:var(--step-2); margin:0 0 .75rem; }
.spons-empty p{ font-size:var(--step--1); color:var(--on-light-mute); line-height:1.7; margin-bottom:1.5rem; }

.spons-cta{
  background:var(--paper-2); border-top:1px solid var(--line-light);
  padding-block:clamp(2.5rem,5vw,4rem); text-align:center;
}
.spons-cta h2{ font-size:var(--step-2); margin:0 0 .75rem; }
.spons-cta p{ font-size:var(--step--1); color:var(--on-light-mute); max-width:52ch; margin:0 auto 1.5rem; line-height:1.7; }
