/* Homepage motion: visible by default, including when JavaScript is unavailable. */
.talya-motion-ready .talya-reveal:not(.is-visible) {
  opacity: 0;
  transform: translateY(16px);
}
.talya-motion-ready .talya-reveal.talya-reveal--image:not(.is-visible) {
  transform: translateY(10px) scale(.99);
}
.talya-motion-ready .talya-reveal {
  transition: opacity .62s cubic-bezier(.22, 1, .36, 1), transform .62s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--talya-reveal-delay, 0ms);
}
.talya-motion-ready .talya-reveal.talya-reveal--image {
  transition-duration: .74s;
}

/* Keep existing button treatments; give their arrows the same quiet feedback. */
.talya-front-page .talya-button > svg,
.talya-front-page .talya-route__link > svg,
.talya-front-page .talya-footer__invite-arrow > svg {
  transition: transform .25s cubic-bezier(.22, 1, .36, 1);
}
.talya-front-page .talya-button:hover > svg,
.talya-front-page .talya-route__link:hover > svg,
.talya-front-page .talya-footer__invite:hover .talya-footer__invite-arrow > svg {
  transform: translateX(3px);
}
.talya-front-page .talya-route__link,
.talya-front-page .talya-hero__secondary,
.talya-front-page .talya-footer__links a,
.talya-front-page .talya-footer__contact a {
  transition: color .23s ease;
}

/* The overlay is created only after a real mouse event on an eligible device. */
.talya-cursor { --talya-cursor-dot: var(--talya-teal); --talya-cursor-ring: rgb(44 169 163 / 80%); position: fixed; inset: 0 auto auto 0; z-index: 9998; width: 0; height: 0; pointer-events: none; opacity: 0; transition: opacity .15s ease; }
.talya-cursor.is-visible { opacity: 1; }
.talya-cursor.is-editable { opacity: 0; }
.talya-cursor.is-dark { --talya-cursor-dot: var(--talya-navy); --talya-cursor-ring: rgb(23 55 71 / 90%); }
.talya-cursor.is-light { --talya-cursor-dot: #fff; --talya-cursor-ring: rgb(255 255 255 / 90%); }
.talya-cursor__dot, .talya-cursor__ring { position: fixed; top: 0; left: 0; pointer-events: none; border-radius: 50%; }
.talya-cursor__dot { width: 7px; height: 7px; background: var(--talya-cursor-dot); transition: background-color .2s ease; }
.talya-cursor__ring { width: 32px; height: 32px; border: 2px solid var(--talya-cursor-ring); transition: border-color .2s ease, opacity .2s ease; }
.talya-cursor.is-interactive .talya-cursor__ring { opacity: .9; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .talya-hero__sparkle[data-cursor], .talya-contact__sparkles path[data-cursor] { pointer-events: auto; }
  body.talya-cursor-active { cursor: none; }
  body.talya-cursor-active a, body.talya-cursor-active button, body.talya-cursor-active summary { cursor: none; }
  body.talya-cursor-active :is(input, textarea, select, [contenteditable]) { cursor: auto; }
  body.talya-cursor-active :is(a, button, summary) { cursor: none; }
}
@media (prefers-reduced-motion: reduce) {
  .talya-motion-ready .talya-reveal, .talya-motion-ready .talya-reveal:not(.is-visible),
  .talya-motion-ready .talya-reveal.talya-reveal--image:not(.is-visible) { opacity: 1; transform: none; transition: none; }
  .talya-cursor { display: none; }
  .talya-front-page .talya-button:hover > svg,
  .talya-front-page .talya-route__link:hover > svg,
  .talya-front-page .talya-footer__invite:hover .talya-footer__invite-arrow > svg { transform: none; }
  .talya-faq__phone:hover, .talya-footer__social a:hover { transform: none; }
}
