/* Content starts visible. All motion is a non-blocking visual enhancement. */
@keyframes dd-arrive { from { transform: translateY(5px); opacity: .65; } to { transform: none; opacity: 1; } }
@keyframes dd-metric-enter { from { opacity: 0; transform: translate3d(0,10px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes dd-metric-float { 0%,100% { opacity: .9; transform: translate3d(0,0,0); } 50% { opacity: 1; transform: translate3d(0,-3px,0); } }
@keyframes dd-metric-pulse { 0%,70%,100% { opacity: .65; transform: scale(.9); } 82% { opacity: 1; transform: scale(1.08); } }
@keyframes dd-metric-wave { 0%,65%,100% { opacity: .45; transform: scale(.94); } 78% { opacity: 1; transform: scale(1.04); } }
@keyframes dd-metric-dot-hop { 0%,55%,100% { opacity: .45; transform: translate3d(0,0,0); } 68% { opacity: 1; transform: translate3d(0,-3px,0); } 80% { transform: translate3d(0,1px,0); } }
@keyframes dd-metric-ring-draw { 0%,18% { stroke-dashoffset: 82; opacity: .55; } 48%,82% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: -82; opacity: .55; } }
@keyframes dd-metric-check { 0%,55%,100% { transform: scale(1); } 70% { transform: scale(1.08); } }
@keyframes dd-metric-people { 0%,100% { transform: translate3d(0,0,0); opacity: .82; } 48% { transform: translate3d(1px,-2px,0); opacity: 1; } }
.auth-story .brand-mark { animation: dd-arrive 320ms ease-out 1; }
@keyframes dd-route-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
/* Points sampled from the inline SVG curve; transform avoids per-frame motion-path layout. */
/* Points sampled from the inline SVG curve; transform avoids per-frame motion-path layout. */
@keyframes dd-message-travel {
 0.000% { transform: translate(11.458%,41.176%); opacity: 0.00; }
 4.167% { transform: translate(12.577%,50.345%); opacity: 0.40; }
 8.333% { transform: translate(15.527%,56.893%); opacity: 0.80; }
 12.500% { transform: translate(19.698%,60.823%); opacity: 0.80; }
 16.667% { transform: translate(24.479%,62.132%); opacity: 0.80; }
 20.833% { transform: translate(29.260%,60.823%); opacity: 0.80; }
 25.000% { transform: translate(33.431%,56.893%); opacity: 0.80; }
 29.167% { transform: translate(36.381%,50.345%); opacity: 0.80; }
 33.333% { transform: translate(37.500%,41.176%); opacity: 0.80; }
 37.500% { transform: translate(38.619%,32.008%); opacity: 0.80; }
 41.667% { transform: translate(41.569%,25.460%); opacity: 0.80; }
 45.833% { transform: translate(45.740%,21.530%); opacity: 0.80; }
 50.000% { transform: translate(50.521%,20.221%); opacity: 0.80; }
 54.167% { transform: translate(55.302%,21.530%); opacity: 0.80; }
 58.333% { transform: translate(59.473%,25.460%); opacity: 0.80; }
 62.500% { transform: translate(62.423%,32.008%); opacity: 0.80; }
 66.667% { transform: translate(63.542%,41.176%); opacity: 0.80; }
 70.833% { transform: translate(64.616%,50.345%); opacity: 0.80; }
 75.000% { transform: translate(67.448%,56.893%); opacity: 0.80; }
 79.167% { transform: translate(71.452%,60.823%); opacity: 0.80; }
 83.333% { transform: translate(76.042%,62.132%); opacity: 0.80; }
 87.500% { transform: translate(80.632%,60.823%); opacity: 0.80; }
 91.667% { transform: translate(84.635%,56.893%); opacity: 0.80; }
 95.833% { transform: translate(87.467%,50.345%); opacity: 0.40; }
 100.000% { transform: translate(88.542%,41.176%); opacity: 0.00; }
}
@keyframes dd-strip { to { transform: translateX(-50%); } }
@keyframes dd-current { 0%,100% { opacity: 1; } 50% { opacity: .55; } }
.home-public .stats-grid.motion-seen .stat-item { animation: dd-metric-enter 580ms cubic-bezier(.22,.61,.36,1) both; }
.home-public .stats-grid.motion-seen .stat-item:nth-child(2) { animation-delay: 70ms; }
.home-public .stats-grid.motion-seen .stat-item:nth-child(3) { animation-delay: 140ms; }
.home-public .stats-grid.motion-seen .stat-item:nth-child(4) { animation-delay: 210ms; }
.home-public .stats-grid.motion-seen .stat-item:nth-child(5) { animation-delay: 280ms; }
.home-public .stats-grid.motion-running .metric-visual { animation: dd-metric-float 5.5s ease-in-out infinite; transition: transform 220ms ease; }
.home-public .stats-grid.motion-running .stat-item:nth-child(2) .metric-visual { animation-delay: -1.1s; }
.home-public .stats-grid.motion-running .stat-item:nth-child(3) .metric-visual { animation-delay: -2.2s; }
.home-public .stats-grid.motion-running .stat-item:nth-child(4) .metric-visual { animation-delay: -3.3s; }
.home-public .stats-grid.motion-running .stat-item:nth-child(5) .metric-visual { animation: dd-metric-people 4.8s ease-in-out -1.7s infinite; }
.home-public .stats-grid.motion-running .metric-pulse { transform-box: fill-box; transform-origin: center; animation: dd-metric-pulse 4.6s ease-in-out -2.1s infinite; }
.home-public .stats-grid.motion-running .metric-dot { transform-box: fill-box; transform-origin: center; animation: dd-metric-dot-hop 3.8s ease-in-out infinite; }
.home-public .stats-grid.motion-running .metric-dot--two { animation-delay: .32s; }
.home-public .stats-grid.motion-running .metric-wave { animation: dd-metric-wave 5.2s ease-in-out infinite; }
.home-public .stats-grid.motion-running .metric-wave--outer { animation-delay: -1.1s; }
.home-public .stats-grid.motion-running .metric-ring { stroke-dasharray: 82; animation: dd-metric-ring-draw 5s ease-in-out infinite; }
.home-public .stats-grid.motion-running .metric-check { transform-box: fill-box; transform-origin: center; animation: dd-metric-check 4.4s ease-in-out -1.2s infinite; }
.motion-seen .solution-path-line,.motion-seen .auth-route-ink { stroke-dasharray: 1; animation: dd-route-draw 1000ms ease-out both paused; }
.motion-running .solution-path-line,.motion-running .auth-route-ink { animation-play-state: running; }
.motion-seen .is-current:not(.is-complete):not(.is-rejected) .lifecycle-node { animation: dd-current 1200ms ease-in-out 1 paused; }
.motion-running .is-current .lifecycle-node { animation-play-state: running; }
@media(min-width:768px) and (prefers-reduced-motion:no-preference) {
 .hero-brand.motion-seen .hero-brand-line { animation: dd-brand-message 900ms ease-out both paused; }
 .hero-brand.motion-seen .hero-brand-line:nth-child(2) { animation-delay: 180ms; }
 .hero-brand.motion-seen .hero-brand-line:nth-child(3) { animation-delay: 360ms; }
 .hero-brand.motion-seen .hero-brand-line:nth-child(4) { animation-delay: 540ms; }
 .hero-brand.motion-running .hero-brand-line { animation-play-state: running; }
 .auth-traveller { animation: dd-message-travel 14s linear infinite paused; }
 .auth-traveller-late { animation-delay: -7s; }

 .brand-strip-track { animation: dd-strip 48s linear infinite paused; }
 .motion-running .auth-traveller,.motion-running .brand-strip-track { animation-play-state: running; }
 .motion-running .auth-traveller { will-change: transform; }
}
@keyframes dd-brand-message { from { transform: translateX(-18px); opacity: .25; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .public-complaint-card:hover,.company-card:hover { transform: none; }
 .brand-strip-track { display: block; width: auto; }
 .brand-strip-track > span { display: block; line-height: 1.9; padding: 0; }
 .brand-strip-track > span + span,.motion-toggle { display: none; }
 .auth-story-bottom { padding-bottom: 0; }
}
