@@ -22,13 +22,27 @@ import { DemoRequestModal } from '@/app/(home)/components/demo-request/demo-requ
2222import { AccessControlPanel } from '@/app/(home)/components/enterprise/components/access-control-panel'
2323import { AuditLogPreview } from '@/app/(home)/components/enterprise/components/audit-log-preview'
2424
25- const MARQUEE_KEYFRAMES = `
26- @keyframes marquee {
25+ const ENTERPRISE_FEATURE_MARQUEE_STYLES = `
26+ @keyframes enterprise-feature- marquee {
2727 0% { transform: translateX(0); }
2828 100% { transform: translateX(-25%); }
2929 }
30+ .enterprise-feature-marquee-track {
31+ animation: enterprise-feature-marquee 30s linear infinite;
32+ }
33+ .enterprise-feature-marquee:hover .enterprise-feature-marquee-track {
34+ animation-play-state: paused;
35+ }
36+ .enterprise-feature-marquee-tag {
37+ transition: background-color 0.3s ease, color 0.3s ease;
38+ }
3039 @media (prefers-reduced-motion: reduce) {
31- @keyframes marquee { 0%, 100% { transform: none; } }
40+ .enterprise-feature-marquee-track {
41+ animation: none;
42+ }
43+ .enterprise-feature-marquee-tag {
44+ transition: none;
45+ }
3246 }
3347`
3448
@@ -172,9 +186,9 @@ export default function Enterprise() {
172186
173187 < TrustStrip />
174188
175- { /* Scrolling feature ticker */ }
176- < div className = 'relative mt-6 overflow-hidden border-[#2A2A2A] border-t' >
177- < style dangerouslySetInnerHTML = { { __html : MARQUEE_KEYFRAMES } } />
189+ { /* Scrolling feature ticker — keyframe loop; pause on hover. Tags use transitions for hover. */ }
190+ < div className = 'enterprise-feature-marquee relative mt-6 overflow-hidden border-[#2A2A2A] border-t' >
191+ < style dangerouslySetInnerHTML = { { __html : ENTERPRISE_FEATURE_MARQUEE_STYLES } } />
178192 { /* Fade edges */ }
179193 < div
180194 aria-hidden = 'true'
@@ -187,12 +201,12 @@ export default function Enterprise() {
187201 style = { { background : 'linear-gradient(to left, #1C1C1C, transparent)' } }
188202 />
189203 { /* Duplicate tags for seamless loop */ }
190- < div className = 'flex w-max' style = { { animation : 'marquee 30s linear infinite' } } >
204+ < div className = 'enterprise-feature-marquee-track flex w-max' >
191205 { [ ...FEATURE_TAGS , ...FEATURE_TAGS , ...FEATURE_TAGS , ...FEATURE_TAGS ] . map (
192206 ( tag , i ) => (
193207 < span
194208 key = { i }
195- className = 'whitespace-nowrap border-[#2A2A2A] border-r px-5 py-4 font-[430] font-season text-[#F6F6F6]/40 text-[13px] leading-none tracking-[0.02em]'
209+ className = 'enterprise-feature-marquee-tag whitespace-nowrap border-[#2A2A2A] border-r px-5 py-4 font-[430] font-season text-[#F6F6F6]/40 text-[13px] leading-none tracking-[0.02em] hover:bg-white/[0.04] hover:text-[#F6F6F6]/55 '
196210 >
197211 { tag }
198212 </ span >
0 commit comments