/* Motion enhances the native Elementor layout; the default is fully visible. */
.tc-motion-word { display: inline-block; vertical-align: baseline; transform-origin: 50% 100%; }
.tc-motion-background {
 position: absolute !important; inset: 0 !important; z-index: 0 !important;
 pointer-events: none; background-size: cover; background-position: center;
}
.tc-motion-active .tc-letter { perspective: 1100px; }
.tc-motion-active .tc-letter > .elementor-widget-image { transform-origin: left center; }
.tc-motion-active .tc-split-media { isolation: isolate; }
.tc-motion-photo-frame { overflow: hidden; border-radius: var(--tc-radius-card, 8px); }
.tc-motion-active .tc-footer-skyline { overflow: hidden; }
.tc-motion-active .tc-footer-skyline img { transform-origin: center bottom; }
@media (prefers-reduced-motion: no-preference) {
 @view-transition { navigation: auto; }
 /* A short crossfade: moving a snapshot of the whole page reads as lag. */
 ::view-transition-old(root) { animation: tc-page-out 140ms ease-in both; }
 ::view-transition-new(root) { animation: tc-page-in 220ms ease-out both; }
 @keyframes tc-page-out { to { opacity: 0; } }
 @keyframes tc-page-in { from { opacity: 0; } }
 .tc-motion-active :is(.tc-link,.elementor-button,.tc-subnav__item) i { transition: transform 240ms cubic-bezier(.16,1,.3,1); }
 .tc-motion-active :is(.tc-link,.elementor-button,.tc-subnav__item):is(:hover,:focus-visible) i { transform: translateX(4px); }
 .tc-motion-active .tc-visual-menu-photo { overflow: hidden; }
 .tc-motion-active .tc-visual-menu-photo img { transition: transform 700ms cubic-bezier(.16,1,.3,1); }
 .tc-motion-active .tc-visual-menu-photo:is(:hover,:focus-within) img { transform: scale(1.06); }
}
html.tc-motion-reduced { scroll-behavior: auto !important; }
html.tc-motion-reduced *, html.tc-motion-reduced *::before, html.tc-motion-reduced *::after {
 animation-duration: .01ms !important; animation-iteration-count: 1 !important;
 transition-duration: .01ms !important; scroll-behavior: auto !important;
}
html.tc-motion-reduced::view-transition-old(root), html.tc-motion-reduced::view-transition-new(root) { animation: none; }
html.tc-motion-reduced :is(.tc-letter,.tc-letter img,.tc-letter__char,.tc-card,.tc-card-media img,.tc-visual-menu-photo img):is(:hover,:focus-visible) { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
 .tc-home-hero .elementor-background-video-container { display: none; }
 ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

.tc-has-motion-background { background-image: none !important; }
