/* New interaction motion requested by the user; Figma timeline data unavailable. */
@keyframes neocode-enter { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
@keyframes neocode-slide { from { opacity: 0; translate: 12px 0; } to { opacity: 1; translate: 0 0; } }
@keyframes neocode-pixel { from { opacity: 0; scale: .75; } to { opacity: 1; scale: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .hero h1 { animation: neocode-enter .7s cubic-bezier(.22,1,.36,1) both; }
  .hero-copy > p { animation: neocode-enter .7s .12s cubic-bezier(.22,1,.36,1) both; }
  .primary-button { animation: neocode-enter .7s .24s cubic-bezier(.22,1,.36,1) both; }
  .pixel-top i { animation: neocode-pixel .6s .2s cubic-bezier(.22,1,.36,1) both; }
  .pixel-top i:nth-child(2) { animation-delay: .3s; }
  .pixel-top i:nth-child(3) { animation-delay: .4s; }
  .slide.is-entering > :is(.project-copy, .project-media, .recognition-copy, .portfolio-intro-copy) > :not(br) { animation: neocode-slide .42s cubic-bezier(.22,1,.36,1) both; }
  .motion-reveal.is-pending { opacity: 0; }
  .motion-reveal.is-revealing { animation: neocode-enter .65s cubic-bezier(.22,1,.36,1) both; }
  .primary-button, .arrow-button, .contact-button, a.social-icon { transition: background-color .2s, box-shadow .2s; }
  .primary-button:hover, .contact-button:not(:disabled):hover { background: #805bf5; box-shadow: 0 5px 22px #704be733; }
  .primary-button img, .arrow-button.next img { transition: translate .2s; }
  .primary-button:hover img, .arrow-button.next:not(:disabled):hover img { translate: 3px 0; }
}
.contact-button:disabled { cursor: default; }
.project-image { margin: 0; }
.project-image > img { display: block; width: 100%; height: auto; border: 2px solid var(--purple); }
.neotalk-media .project-image > img { border: 0; }
.orthomove-media .project-image:last-child, .sindpan-media .project-image:last-child { grid-column: 1 / -1; }
.rotation-toggle { position: absolute; z-index: 6; right: 6.45%; bottom: 3%; width: 38px; height: 34px; border: 1px solid var(--purple); border-radius: 7px; color: var(--cream); background: #323232e6; font-size: 15px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.carousel:hover .rotation-toggle, .carousel:focus-within .rotation-toggle { opacity: 1; pointer-events: auto; }
.cnpj { margin-top: 12px; }
@media (max-width: 760px) {
  .about-photo, .portfolio-photo, .award-slide .recognition-photo { opacity: 1; }
  .rotation-toggle { bottom: 33px; right: calc(50% - 19px); opacity: 1; pointer-events: auto; }
  .contact { min-height: 640px; padding: 110px 24px 90px; text-align: center; }
  .contact > p { max-width: 560px; margin: 28px auto; }
  .contact-button { display: flex; align-items: center; justify-content: center; gap: 8px; width: min(100%, 334px); min-height: 56px; margin: 12px auto 0; border: 0; border-radius: 30px; background: var(--purple); color: var(--cream); font-size: 16px; font-weight: 700; }
  .contact-button img { width: 26px; height: 26px; }
}
