/* ============================================================
   Sponsorship page
   ============================================================ */

.sp-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;
}
.sp-head::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, var(--moss), transparent 55%);
}
.sp-head h1{ font-size:var(--step-4); margin:0 0 .8rem; max-width:18ch; }
.sp-head p{ font-size:var(--step-0); color:var(--on-dark-mute); max-width:54ch; margin:0; line-height:1.75; }

.sp-body{ padding-block:clamp(3rem,6vw,5rem); }
.sp-section{
  max-width:min(860px,100%); margin-inline:auto; padding-inline:var(--gutter);
  padding-bottom:clamp(3rem,6vw,5rem); border-bottom:1px solid var(--line-light);
}
.sp-section:last-child{ border-bottom:none; }
.sp-section .channel{ margin-bottom:1.1rem; }
.sp-section h2{ font-size:var(--step-3); margin:0 0 1.1rem; max-width:24ch; }
.sp-section p{ font-size:var(--step-0); line-height:1.75; color:var(--on-light); margin-bottom:1rem; }

.sp-tiers{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:2rem;
}
@media (max-width:820px){ .sp-tiers{ grid-template-columns:1fr; } }
.sp-tier-card{
  border-radius:20px; padding:1.75rem 1.6rem;
  display:flex; flex-direction:column; gap:.75rem;
  border:1px solid var(--line-light); background:var(--paper-2);
}
.sp-tier-card--founding{
  background:var(--ink); color:var(--on-dark); border-color:var(--moss);
  position:relative;
}
.sp-tier-card--founding::before{
  content:'2 SLOTS ONLY'; position:absolute; top:1.1rem; right:1.1rem;
  font-family:var(--ui); font-size:.58rem; font-weight:700; letter-spacing:0.04em;
  color:var(--moss-lt); border:1px solid rgba(87,167,143,0.4);
  padding:.2rem .5rem; border-radius:999px; white-space:nowrap;
}
.sp-tier-card--founding{ padding-top:2.5rem; }
.sp-tier-card h3{ font-size:var(--step-1); margin:0; }
.sp-tier-card--founding h3{ color:var(--on-dark); }
.sp-tier-card__price{
  font-family:var(--display); font-size:var(--step-2); font-weight:700;
  color:var(--moss);
}
.sp-tier-card--founding .sp-tier-card__price{ color:var(--moss-lt); }
.sp-tier-card ul{ list-style:none; margin:.5rem 0 0; padding:0; display:grid; gap:.5rem; }
.sp-tier-card li{
  display:flex; gap:.55rem; align-items:flex-start;
  font-size:.85rem; line-height:1.5; color:var(--on-light-mute);
}
.sp-tier-card--founding li{ color:var(--on-dark-mute); }
.sp-tier-card li::before{
  content:''; flex:0 0 6px; width:6px; height:6px; border-radius:50%;
  background:var(--moss); margin-top:.5rem;
}
.sp-tier-card--founding li::before{ background:var(--moss-lt); }

.sp-note{
  font-family:var(--ui); font-size:.76rem; color:var(--on-light-mute);
  margin-top:1.5rem; padding:.85rem 1rem; border-radius:0 10px 10px 0;
  border-left:3px solid var(--copper); background:var(--paper-2); line-height:1.6;
}

.sp-cta{
  text-align:center; padding-top:1rem;
}

/* ── Sponsorship request modal ───────────────────────────── */
.sr-modal{
  position:fixed; inset:0; z-index:500;
  display:none; align-items:center; justify-content:center;
  padding:1.2rem; background:rgba(10,26,32,0.82);
  backdrop-filter:blur(6px); overflow-y:auto;
}
.sr-modal.is-open{ display:flex; }
.sr-modal__box{
  width:min(480px,100%); background:var(--paper); color:var(--on-light);
  border-radius:20px; padding:1.75rem; position:relative;
  max-height:90vh; overflow-y:auto;
}
.sr-modal__close{
  position:absolute; top:14px; right:16px;
  width:32px; height:32px; border-radius:50%;
  background:var(--paper-2); border:1px solid var(--line-light);
  cursor:pointer; font-size:.9rem;
}
.sr-modal__box h3{ font-size:var(--step-1); margin:0 0 .3rem; }
.sr-modal__box > p{ font-size:.85rem; color:var(--on-light-mute); margin:0 0 1.5rem; line-height:1.6; }
.sr-field{ margin-bottom:1.1rem; }
.sr-field label{
  display:block; font-family:var(--ui); font-size:.8rem; font-weight:700;
  color:var(--on-light); margin-bottom:.5rem;
}
.sr-field .sr-sub{ font-weight:400; color:var(--on-light-mute); font-size:.75rem; margin-left:.3rem; }
.sr-field input, .sr-field select, .sr-field textarea{
  width:100%; padding:.65rem .85rem; border:1px solid var(--line-light);
  border-radius:10px; background:var(--paper-2); color:var(--on-light);
  font-family:var(--body); font-size:.88rem;
}
.sr-field textarea{ min-height:80px; resize:vertical; }
.sr-submit{
  width:100%; padding:.9rem; border-radius:999px; border:none;
  background:var(--moss); color:#F3FBF7; font-family:var(--ui);
  font-size:.85rem; font-weight:700; cursor:pointer; margin-top:.5rem;
}
.sr-submit:hover{ background:var(--moss-deep); }
