/* v2: slow motion, same photographs and official client logos. */
@keyframes hero-photo-drift{from{transform:scale(1.015)}to{transform:scale(1.045)}}
@keyframes hero-glass-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-24px) rotate(1deg)}}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes clients-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero .city-photo{transform-origin:65% 50%;animation:hero-photo-drift 20s ease-in-out infinite alternate}
.hero .crystals{transform-origin:75% 55%;animation:hero-glass-float 7s ease-in-out infinite}
.hero-copy h1,.hero-description,.hero-assurance,.hero-actions{animation:hero-copy-enter .8s ease-out both}
.hero-description{animation-delay:.1s}.hero-assurance{animation-delay:.18s}.hero-actions{animation-delay:.25s}
.clients-carousel{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.clients-track{display:flex;width:max-content;animation:clients-loop 42s linear infinite}
.clients-track .client-logos{display:flex;flex:none;width:1400px;gap:0;align-items:center;margin:0;padding:0;list-style:none}
.clients-track .client-logo{width:200px;flex:0 0 200px;min-height:92px;padding:0 20px}
.clients-track .client-logo--legislatura{grid-column:auto}
.clients-carousel:hover .clients-track,.clients-carousel:focus-within .clients-track{animation-play-state:paused}
.motion-toggle{display:block;margin:18px auto 0;border:0;background:transparent;color:var(--body);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:8px 12px;cursor:pointer}
html[data-motion-paused="true"] .clients-track,html[data-motion-paused="true"] .hero .city-photo,html[data-motion-paused="true"] .hero .crystals{animation-play-state:paused}
@media(max-width:767px){.hero .city-photo{animation:none;transform:none}.hero .crystals{animation-name:hero-glass-float-mobile;animation-duration:7s}.clients-track{animation-duration:38s}.clients-track .client-logos{width:1120px}.clients-track .client-logo{width:160px;flex-basis:160px;min-height:76px;padding:0 16px}}
@media(prefers-reduced-motion:reduce){.hero .city-photo,.hero .crystals,.hero-copy h1,.hero-description,.hero-assurance,.hero-actions,.clients-track{animation:none!important;transform:none!important;opacity:1!important}.clients-carousel{overflow-x:auto;mask-image:none}.clients-track .client-logos--copy{display:none}.motion-toggle{display:none}}

@keyframes hero-glass-float-mobile{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-12px) rotate(.5deg)}}
@keyframes section-arrive{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.motion-enter{animation:section-arrive .65s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--entry-delay,0ms)}
html[data-motion-paused="true"] .motion-enter{animation:none}
@media(prefers-reduced-motion:reduce){.motion-enter{animation:none!important;transform:none!important;opacity:1!important}}

.hero.motion-offscreen .city-photo,.hero.motion-offscreen .crystals,.clients-carousel.motion-offscreen .clients-track,html[data-page-hidden="true"] .city-photo,html[data-page-hidden="true"] .crystals,html[data-page-hidden="true"] .clients-track{animation-play-state:paused}
