.sponsor-page { --page-accent: var(--pjsk-vbs); background: linear-gradient(rgba(238,17,102,.06), rgba(238,17,102,.035)), var(--bg); }

.sponsor-hero { position: relative; overflow: hidden; padding: 94px 0 84px; }
.sponsor-spotlight { position: absolute; inset: 0; background: radial-gradient(circle at 72% 38%, rgba(255,45,140,.12), transparent 32%), linear-gradient(125deg, rgba(57,197,187,.09), transparent 42%); pointer-events: none; }
.sponsor-hero-inner { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.92fr); align-items: center; gap: clamp(52px,7vw,96px); }
.sponsor-hero h1 { margin: 24px 0 0; font-size: clamp(58px,7vw,88px); line-height: 1.01; font-weight: 790; letter-spacing: -.04em; }
.sponsor-lede { max-width: 36em; margin: 28px 0 0; color: var(--ink-soft); font-size: 18px; line-height: 1.85; }
.support-uses { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 10px; }
.support-uses span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid var(--border-b); border-radius: 999px; background: rgba(255,255,255,.78); color: var(--ink-soft); font-size: 13px; font-weight: 700; box-shadow: var(--shadow-sm); }
.support-uses i { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
.support-uses span:nth-child(2) i { background: var(--pink); }
.support-uses span:nth-child(3) i { background: var(--gold); }
.sponsor-jump { margin-top: 36px; }

.support-ticket { position: relative; min-height: 430px; display: grid; grid-template-columns: minmax(0,1fr) 108px; border-radius: 26px; background: #fff; box-shadow: 0 28px 70px rgba(13,10,40,.16); transform: rotate(2deg); isolation: isolate; }
.ticket-rainbow { position: absolute; z-index: 3; top: 0; right: 0; left: 0; height: 7px; border-radius: 26px 26px 0 0; background: var(--rainbow); }
.ticket-main { position: relative; padding: 42px 36px 34px; overflow: hidden; }
.ticket-main::after { content:""; position:absolute; width:250px; height:250px; right:-95px; bottom:-125px; border:32px solid rgba(255,45,140,.08); border-radius:50%; }
.ticket-brand { display: flex; align-items: center; gap: 14px; }
.ticket-brand img { width: 54px; height: 54px; border-radius: 15px; box-shadow: var(--shadow-sm); }
.ticket-brand strong, .ticket-brand span { display: block; }
.ticket-brand strong { font-size: 21px; }
.ticket-brand span { margin-top: 2px; color: var(--ink-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.ticket-message { margin-top: 52px; }
.ticket-message > span { color: var(--pink); font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.ticket-message strong { display: block; margin-top: 10px; font-size: 52px; line-height: .92; letter-spacing: -.04em; }
.ticket-message p { max-width: 290px; margin-top: 16px; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
.ticket-status { position: absolute; bottom: 30px; left: 36px; display: flex; align-items: center; gap: 8px; color: var(--teal-deep); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.ticket-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 7px rgba(57,197,187,.12); }
.ticket-stub { position: relative; padding: 34px 18px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; border-left: 1px dashed var(--border-b); background: linear-gradient(180deg, rgba(240,192,96,.18), rgba(199,125,255,.12)); border-radius: 0 26px 26px 0; }
.ticket-stub::before, .ticket-stub::after { content:""; position:absolute; left:-13px; width:26px; height:26px; border-radius:50%; background:var(--bg); }
.ticket-stub::before { top:-13px; } .ticket-stub::after { bottom:-13px; }
.ticket-stub > span { writing-mode: vertical-rl; font-size: 12px; font-weight: 900; letter-spacing: .22em; }
.ticket-stub > b { font-size: 18px; line-height: 1.05; text-align: center; }
.ticket-code { width: 58px; height: 58px; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.ticket-code i { background: var(--ink); border-radius: 3px; } .ticket-code i:nth-child(2), .ticket-code i:nth-child(4), .ticket-code i:nth-child(9) { background: transparent; } .ticket-code i:nth-child(5) { background: var(--pink); }
.ticket-punches { position:absolute; z-index:4; top:50%; left:-8px; display:grid; gap:42px; transform:translateY(-50%); }
.ticket-punches i { width:16px; height:16px; border-radius:50%; background:var(--bg); box-shadow: inset -2px 0 rgba(13,10,40,.05); }
.rhythm-ring { position:absolute; z-index:-1; border-radius:50%; border:16px solid rgba(77,150,255,.13); }
.ring-one { width:180px; height:180px; right:-62px; top:-60px; }
.ring-two { width:110px; height:110px; left:-48px; bottom:-42px; border-color:rgba(255,45,140,.14); }

.support-marquee { overflow:hidden; background:var(--ink); }
.support-marquee-track { width:max-content; display:flex; align-items:center; padding:14px 0; animation:supportTicker 28s linear infinite; white-space:nowrap; }
.support-marquee-track span { padding:0 18px; color:#fff; font-size:22px; font-weight:850; letter-spacing:.08em; }
.support-marquee-track span.outline { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.5); }
.support-marquee-track i { width:8px; height:8px; margin:0 16px; border-radius:50%; background:var(--pink); }
@keyframes supportTicker { to { transform:translateX(-50%); } }

.methods-section { scroll-margin-top:90px; }
.methods-heading > p { max-width:32em; color:var(--ink-soft); font-size:16px; line-height:1.8; }
.methods-heading h2 { margin-top:16px; }
.payment-shell { overflow:hidden; border:1px solid var(--border); border-radius:var(--r-xl); background:#fff; box-shadow:var(--shadow-md); }
.method-tabs { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--border); background:#fff; }
.method-tab { position:relative; min-height:102px; padding:18px 22px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:14px; border:0; border-right:1px solid var(--border); background:transparent; color:var(--ink); text-align:left; transition:background .2s ease,color .2s ease; }
.method-tab:last-child { border-right:0; }
.method-tab:hover { background:rgba(255,255,255,.72); }
.method-tab.is-active { background:linear-gradient(180deg,rgba(238,17,102,.11),rgba(255,102,153,.035)),#fff; color:var(--ink); box-shadow:inset 0 4px 0 var(--pjsk-vbs); }
.method-index { position:absolute; top:9px; left:11px; color:var(--ink-muted); font-size:9px; font-weight:850; }
.method-tab.is-active .method-index { color:var(--pjsk-vbs-deep); }
.method-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:#fff; font-size:13px; font-weight:850; box-shadow:var(--shadow-sm); }
.method-icon.wechat { background:#12b85a; } .method-icon.alipay { background:#1677ff; } .method-icon.fps { background:var(--teal-deep); }
.method-copy strong, .method-copy small { display:block; }
.method-copy strong { font-size:16px; } .method-copy small { margin-top:2px; color:var(--ink-muted); font-size:12px; }
.method-tab.is-active .method-copy small { color:var(--ink-soft); }
.method-arrow { color:var(--ink-muted); font-size:20px; transition:transform .2s ease; }
.method-tab.is-active .method-arrow { color:var(--ink); transform:translateX(3px); }

.payment-panel { min-height:590px; padding:54px clamp(32px,5vw,70px); display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,390px); align-items:center; gap:clamp(44px,7vw,86px); }
.payment-panel[hidden] { display:none; }
.panel-kicker { color:var(--teal-deep); font-size:11px; font-weight:850; letter-spacing:.13em; }
.panel-copy h3, .fps-copy h3 { margin:14px 0 12px; font-size:clamp(34px,4vw,50px); line-height:1.08; }
.panel-copy > p:not(.panel-kicker), .fps-copy > p:not(.panel-kicker) { color:var(--ink-soft); }
.scan-note { margin-top:28px; display:flex; align-items:center; gap:9px; color:var(--ink-soft); font-size:13px; font-weight:700; }
.scan-note i { width:9px; height:9px; border-radius:50%; background:#12b85a; box-shadow:0 0 0 7px rgba(18,184,90,.1); }
.qr-stage { position:relative; margin:0; padding:16px; border:1px solid var(--qr-border,var(--border)); border-radius:24px; background:#fff; box-shadow:var(--shadow-md); }
.qr-frame { overflow:hidden; padding:12px; border:1px solid var(--qr-border,var(--border)); border-radius:14px; background:#fff; }
.qr-stage img { width:100%; height:auto; background:#fff; }
.qr-wechat { --qr-border:rgba(57,197,187,.38); }
.qr-alipay { --qr-border:rgba(51,170,238,.38); }
#fps-qr-stage[data-fps="hs"] { --qr-border:rgba(255,187,0,.48); }
#fps-qr-stage[data-fps="za"] { --qr-border:rgba(136,221,68,.48); }
.qr-square img { aspect-ratio:1; object-fit:contain; }
.qr-fps img { aspect-ratio:.88; object-fit:contain; }
.qr-stage figcaption { padding:12px 4px 0; color:var(--ink-muted); font-size:12px; font-weight:700; text-align:center; }
.fps-panel { grid-template-columns:minmax(320px,1fr) minmax(280px,360px); }
.fps-tabs { margin:26px 0 24px; padding:4px; display:grid; grid-template-columns:repeat(2,1fr); gap:4px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.fps-bank-tab { min-height:42px; padding:7px; border:0; border-radius:10px; background:transparent; color:var(--ink-soft); font-size:12px; font-weight:700; }
.fps-bank-tab.is-active { background:rgba(238,17,102,.09); color:var(--pjsk-vbs-deep); box-shadow:inset 0 0 0 1px rgba(238,17,102,.18); }
.fps-details { margin:0; border-top:1px solid var(--border); }
.fps-details div { padding:12px 0; display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; border-bottom:1px solid var(--border); }
.fps-details dt { color:var(--ink-muted); font-size:12px; }
.fps-details dd { margin:0; font-size:13px; font-weight:700; word-break:break-word; }
.fps-details dd:has(.copy-button) { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.copy-button { min-width:52px; padding:7px 10px; border:1px solid var(--border-b); border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-size:12px; font-weight:750; }
.copy-button:hover { border-color:var(--pjsk-vbs); background:var(--pink-soft); color:var(--pjsk-vbs-deep); }
.copy-status { min-height:20px; margin-top:8px; color:var(--teal-deep); font-size:12px; }

.support-note-section { padding-top:0; }
.support-note { position:relative; overflow:hidden; padding:clamp(34px,5vw,62px); border:1px solid var(--border); border-radius:var(--r-xl); background:linear-gradient(130deg,rgba(255,45,140,.1),rgba(240,192,96,.14) 46%,rgba(57,197,187,.1)); }
.support-note h2 { max-width:760px; margin-top:22px; font-size:clamp(40px,5vw,64px); line-height:1.08; }
.support-note > p:not(.sec) { max-width:640px; margin-top:20px; color:var(--ink-soft); font-size:17px; line-height:1.8; }
.support-note .btn { margin-top:28px; }
.support-note-orbit { position:absolute; right:-70px; top:-80px; width:270px; height:270px; border:28px solid rgba(255,45,140,.1); border-radius:50%; }
.support-note-orbit i { position:absolute; width:24px; height:24px; border-radius:50%; background:var(--pink); }
.support-note-orbit i:nth-child(1) { left:-25px; top:100px; } .support-note-orbit i:nth-child(2) { right:20px; bottom:-15px; background:var(--teal); } .support-note-orbit i:nth-child(3) { right:-22px; top:62px; background:var(--gold); }

@media (max-width: 900px) {
  .sponsor-hero-inner { grid-template-columns:1fr; }
  .support-ticket { width:min(100%,620px); justify-self:center; }
  .payment-panel, .fps-panel { grid-template-columns:1fr; }
  .qr-stage { width:min(100%,390px); justify-self:center; }
}

@media (max-width: 720px) {
  .sponsor-hero { padding:58px 0 66px; }
  .sponsor-hero h1 { font-size:50px; }
  .sponsor-lede { font-size:16px; }
  .support-ticket { min-height:370px; grid-template-columns:minmax(0,1fr) 76px; transform:rotate(1deg); }
  .ticket-main { padding:32px 24px 28px; }
  .ticket-message { margin-top:36px; }
  .ticket-message strong { font-size:42px; }
  .ticket-message p { max-width:210px; font-size:12px; }
  .ticket-status { left:24px; bottom:24px; }
  .ticket-stub { padding:28px 10px; }
  .method-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .method-tab { min-height:90px; padding:14px 7px; grid-template-columns:1fr; justify-items:center; gap:5px; text-align:center; }
  .method-index, .method-arrow, .method-copy small { display:none; }
  .method-icon { width:36px; height:36px; border-radius:11px; font-size:11px; }
  .method-copy strong { font-size:12px; white-space:nowrap; }
  .payment-panel { min-height:0; padding:38px 20px 44px; gap:30px; }
  .fps-tabs { grid-template-columns:1fr; }
  .support-note-orbit { opacity:.55; }
}

@media (max-width: 380px) {
  .sponsor-hero h1 { font-size:43px; }
  .support-ticket { min-height:340px; grid-template-columns:minmax(0,1fr) 64px; }
  .ticket-brand img { width:46px; height:46px; }
  .ticket-message strong { font-size:36px; }
  .ticket-code { width:44px; height:44px; gap:4px; }
  .ticket-stub > b { font-size:15px; }
  .fps-details div { grid-template-columns:82px minmax(0,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .support-marquee-track { animation:none; }
}
