/* Partners: two drifting rows that pause on hover, focus and press; still with reduced motion (DESIGN.md 5.8) */
.wfg-partners__label { margin: 0 0 14px; font-family: var(--wfg-font-display); font-weight: var(--wfg-display-weight); letter-spacing: var(--wfg-display-track); font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.1; color: var(--wfg-primary); }
.wfg-marquee + .wfg-partners__label { margin-top: 34px; }
.wfg-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.wfg-marquee__track { display: flex; gap: 18px; width: max-content; list-style: none; margin: 0; padding: 4px 18px 8px 0; animation: wfg-marquee var(--wfg-dur, 60s) linear infinite; }
.wfg-marquee:hover .wfg-marquee__track, .wfg-marquee:focus-within .wfg-marquee__track, .wfg-marquee:active .wfg-marquee__track { animation-play-state: paused; }
.wfg-marquee--still { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
.wfg-marquee--still .wfg-marquee__track { animation: none; width: auto; flex-wrap: wrap; padding-right: 0; }
.wfg-pt { width: clamp(220px, 24vw, 290px); flex: none; }
.wfg-pt--venues { width: clamp(150px, 16vw, 190px); }
.wfg-pt > a, .wfg-pt > div { display: grid; gap: 3px; text-decoration: none; }
.wfg-pt__logo { height: clamp(110px, 10vw, 140px); display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; margin-bottom: 8px; background: var(--wfg-bg); border: 2px solid var(--wfg-line); border-radius: 18px; color: var(--wfg-primary); font-weight: 700; font-size: 1.05rem; letter-spacing: .01em; text-align: center; transition: transform .2s, border-color .2s; }
.wfg-pt--venues .wfg-pt__logo { height: clamp(84px, 8vw, 104px); font-size: .95rem; }
.wfg-pt__logo img { max-height: 100%; width: auto; object-fit: contain; }
.wfg-pt__logo .wfg-ico { width: 30px; height: 30px; color: var(--wfg-leaf); }
.wfg-pt > a:hover .wfg-pt__logo { transform: translateY(-3px); border-color: var(--wfg-primary); }
.wfg-pt__name { font-weight: 600; color: var(--wfg-primary); }
.wfg-pt__role { font-size: .9rem; color: var(--wfg-muted); }
@keyframes wfg-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.wfg-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
	.wfg-marquee__track { animation: none; }
	.wfg-marquee__track .wfg-copy { display: none; }
	.wfg-pt__logo { transition: none; }
}
