/* URBAN motion: activated by JS; content stays visible if JS is unavailable. */
.um-ready [data-r].um-reveal{
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms cubic-bezier(.2,.8,.2,1), transform 700ms cubic-bezier(.2,.8,.2,1);
  transition-delay: var(--um-delay, 0ms);
}
.um-ready [data-r].um-reveal.um-in{ opacity: 1; transform: none; }

/* Word masks don't inherit the original h1 span background or padding. */
h1 .um-mask{ display: inline-block; overflow: clip; vertical-align: bottom; padding: 0 .015em .12em; margin: 0 -.015em -.12em; background: none; }
h1 .um-word{ display: inline-block; padding: 0; background: none; animation: um-word 900ms cubic-bezier(.2,.8,.2,1) both; animation-delay: var(--um-word-delay, 0ms); }
h1 .um-highlight{ background-color: transparent; background-image: linear-gradient(var(--lime, #D3F257), var(--lime, #D3F257)); background-repeat: no-repeat; background-size: 0% 100%; animation: um-ink 850ms cubic-bezier(.2,.8,.2,1) 350ms both; }
@keyframes um-word { from { opacity: 0; transform: translateY(110%); } to { opacity: 1; transform: none; } }
@keyframes um-ink { to { background-size: 100% 100%; } }

.um-ready .co{ isolation: isolate; transition: background 200ms, translate 400ms cubic-bezier(.2,.8,.2,1), opacity 700ms cubic-bezier(.2,.8,.2,1), transform 700ms cubic-bezier(.2,.8,.2,1); }
.um-ready .co::before{ content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(211,242,87,.34), transparent 75%); opacity: 0; transition: opacity 350ms; }
.mq:hover div{ animation-play-state: paused; }
.um-magnetic{ translate: var(--um-x, 0px) var(--um-y, 0px); }
@media (hover: hover) and (pointer: fine) {
  .um-ready .co:hover{ translate: 0 -4px; z-index: 1; }
  .um-ready .co:hover::before{ opacity: 1; }
}

.um-progress{ position: fixed; inset: 0 0 auto; height: 3px; background: var(--blue, #253DCE); transform: scaleX(0); transform-origin: left; z-index: 70; pointer-events: none; }
.bar nav a.um-current::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--blue, #253DCE); }
.um-chip{ position: fixed; left: 0; top: 0; z-index: 100; max-width: min(260px, 75vw); padding: 9px 14px; border: 1px solid var(--pine, #19251F); border-radius: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: var(--lime, #D3F257); color: var(--pine, #19251F); font: 500 12px/1.2 var(--b, sans-serif); pointer-events: none; }
#dockName.um-land{ animation: um-land 500ms cubic-bezier(.2,.8,.2,1) both; }
@keyframes um-land { 0%,100% { transform: translateY(0); } 35% { transform: translateY(-5px); color: var(--paper, #F2F0E7); } 65% { transform: translateY(1px); } }
#tt.um-ticket-in,#corp.um-ticket-in{ animation: um-ticket-in 420ms cubic-bezier(.2,.8,.2,1) both; }
@keyframes um-ticket-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.panel.on > .um-panel-item{ animation: um-panel-in 600ms cubic-bezier(.2,.8,.2,1) both; animation-delay: var(--um-panel-delay, 0ms); }
@keyframes um-panel-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  html{ scroll-behavior: auto !important; }
  .um-ready [data-r].um-reveal{ opacity: 1; transform: none; }
  .um-ready *,.um-ready *::before,.um-ready *::after{ animation: none !important; transition: none !important; }
  h1 .um-highlight{ background-size: 100% 100%; }
  .um-magnetic,.um-ready .co:hover{ translate: none; }
  .um-chip{ display: none; }
}
