/* StadBeat Funding Progress – front */
.sfp-bar{
	--sfp-bg:#0b0b12;--sfp-track:#23232f;--sfp-start:#7c3aed;--sfp-end:#22d3ee;--sfp-text:#fff;
	--sfp-h:12px;--sfp-r:999px;--sfp-z:99;--sfp-p:0%;
	position:fixed;top:0;left:0;right:0;z-index:var(--sfp-z);
	box-sizing:border-box;margin:0;
	background:var(--sfp-bg);color:var(--sfp-text);
	font-family:inherit;line-height:1.3;
	border-bottom:1px solid rgba(255,255,255,.07);
	box-shadow:0 8px 24px rgba(0,0,0,.28);
	transition:opacity .25s ease,visibility .25s ease;
}
.sfp-bar *{box-sizing:border-box}
.sfp-bar.sfp-static{position:relative;top:auto;left:auto;right:auto}
.sfp-bar.sfp-hidden{opacity:0;visibility:hidden;pointer-events:none}
.sfp-spacer{width:100%;pointer-events:none}

.sfp-wrap{max-width:1200px;margin:0 auto;padding:10px 20px 12px}
.sfp-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.sfp-text{display:flex;flex-direction:column;min-width:0}
.sfp-title{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sfp-text)}
.sfp-sub{font-size:12px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.sfp-figures{display:flex;align-items:center;gap:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sfp-amounts{display:inline-flex;align-items:baseline;gap:6px}
.sfp-current{font-size:22px;font-weight:800;
	background:linear-gradient(90deg,var(--sfp-start),var(--sfp-end));
	-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.sfp-goal,.sfp-cur{font-size:13px;opacity:.75}
.sfp-pct{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.1)}

.sfp-bar[data-show-amounts="0"] .sfp-amounts,
.sfp-bar[data-show-percent="0"] .sfp-pct,
.sfp-bar[data-show-milestones="0"] .sfp-ms{display:none}

.sfp-track{position:relative;height:var(--sfp-h);background:var(--sfp-track);border-radius:var(--sfp-r);overflow:hidden}
.sfp-fill{position:absolute;top:0;bottom:0;left:0;width:var(--sfp-p);
	background:linear-gradient(90deg,var(--sfp-start),var(--sfp-end));
	border-radius:inherit;transition:width 1.4s cubic-bezier(.22,1,.36,1);overflow:hidden}
.sfp-fill::after{content:"";position:absolute;inset:0;
	background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
	transform:translateX(-100%);animation:sfp-shine 3.2s ease-in-out infinite}
.sfp-ms{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(255,255,255,.2);z-index:2}
.sfp-reached .sfp-fill{box-shadow:0 0 18px var(--sfp-end)}

@keyframes sfp-shine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.sfp-fill,.sfp-bar{transition:none}.sfp-fill::after{animation:none}}

/* Mobile */
@media (max-width:600px){
	.sfp-wrap{padding:8px 12px 10px}
	.sfp-inner{gap:8px;margin-bottom:6px}
	.sfp-title{font-size:11px;letter-spacing:.05em}
	.sfp-sub{display:none}
	.sfp-current{font-size:17px}
	.sfp-goal,.sfp-cur{font-size:11px}
	.sfp-pct{font-size:11px;padding:2px 8px}
	.sfp-figures{gap:6px}
}
@media (max-width:360px){.sfp-goal{display:none}}
