/* Welcome journey: three plain, readable actions rather than numbered cards. */
.lup-arrival-journey .lup-arrival-flow {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:44px 0 0;
  padding:0;
  border:0;
  list-style:none;
}
.lup-arrival-journey .lup-arrival-flow::before { display:none; }
.lup-arrival-journey .lup-arrival-flow li,
.lup-arrival-journey .lup-arrival-flow li + li {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:76px;
  margin:0;
  padding:13px 12px 13px 0;
  border:0;
  border-bottom:1px solid rgba(184,211,246,.13);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.lup-arrival-journey .lup-arrival-flow li:last-child { border-bottom:0; }
.lup-arrival-journey .lup-arrival-flow li > span { display:none; }
.lup-arrival-journey .lup-arrival-flow li > i {
  position:static;
  display:grid;
  flex:0 0 36px;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid rgba(152,207,255,.26);
  border-radius:11px 11px 11px 5px;
  background:rgba(103,143,215,.11);
  box-shadow:none;
  color:#bfe7ff;
  font-size:14px;
}
.lup-arrival-journey .lup-arrival-flow li:nth-child(2) > i { border-color:rgba(197,167,255,.28); background:rgba(147,108,244,.13); color:#dac9ff; }
.lup-arrival-journey .lup-arrival-flow li:nth-child(3) > i { border-color:rgba(131,219,175,.25); background:rgba(75,192,135,.11); color:#b9efd1; }
.lup-arrival-journey .lup-arrival-flow h3 { margin:0 0 3px; color:#f5f7ff; font-size:15px; font-weight:720; letter-spacing:-.015em; }
.lup-arrival-journey .lup-arrival-flow p { margin:0; color:#aeb9cc; font-size:11px; line-height:1.35; }
@media (max-width:760px) {
  .lup-arrival-journey .lup-arrival-flow { grid-template-columns:1fr; gap:8px; margin-top:30px; }
  .lup-arrival-journey .lup-arrival-flow li,
  .lup-arrival-journey .lup-arrival-flow li + li { min-height:66px; padding:11px 0; border-bottom:1px solid rgba(184,211,246,.13); }
}

/* The legacy welcome sheet contains older card experiments with.
 * These final rules intentionally win so each icon stays directly left of its
 * own sentence on every viewport. */
.lup-arrival-journey ol.lup-arrival-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:44px 0 0; padding:0; border:0; }
.lup-arrival-journey ol.lup-arrival-flow::before { display:none; }
.lup-arrival-journey ol.lup-arrival-flow li,
.lup-arrival-journey ol.lup-arrival-flow li + li { position:relative; display:flex; align-items:center; gap:13px; min-height:76px; margin:0; padding:13px 12px 13px 0; overflow:visible; border:0; border-bottom:1px solid rgba(184,211,246,.13); border-right:0; border-radius:0; background:transparent; box-shadow:none; transform:none; }
.lup-arrival-journey ol.lup-arrival-flow li:last-child { border-bottom:0; }
.lup-arrival-journey ol.lup-arrival-flow li > i { position:static; display:grid; flex:0 0 36px; place-items:center; width:36px; height:36px; margin:0; border:1px solid rgba(152,207,255,.26); border-radius:11px 11px 11px 5px; background:rgba(103,143,215,.11); box-shadow:none; color:#bfe7ff; font-size:14px; }
.lup-arrival-journey ol.lup-arrival-flow li > div { min-width:0; }
.lup-arrival-journey ol.lup-arrival-flow h3 { margin:0 0 3px; font-size:15px; }
.lup-arrival-journey ol.lup-arrival-flow li p { margin:0; font-size:11px; }
@media (max-width:760px) { .lup-arrival-journey ol.lup-arrival-flow { grid-template-columns:1fr; gap:8px; margin-top:30px; }.lup-arrival-journey ol.lup-arrival-flow li,.lup-arrival-journey ol.lup-arrival-flow li + li { min-height:66px; padding:11px 0; border-bottom:1px solid rgba(184,211,246,.13); }.lup-arrival-journey ol.lup-arrival-flow li > i { position:static; width:36px; height:36px; } }

/* The privacy promise uses the same restrained, left-aligned language. */
.lup-arrival-principles .lup-arrival-principle-flow { display:grid; gap:0; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.lup-arrival-principles .lup-arrival-principle-flow > div { display:flex; align-items:center; gap:13px; min-height:72px; padding:12px 0; border:0; border-bottom:1px solid rgba(184,211,246,.13); background:transparent; transform:none; }
.lup-arrival-principles .lup-arrival-principle-flow > div:last-child { border-bottom:0; }
.lup-arrival-principles .lup-arrival-principle-flow i { display:grid; flex:0 0 36px; place-items:center; width:36px; height:36px; border:1px solid rgba(152,207,255,.26); border-radius:11px 11px 11px 5px; background:rgba(103,143,215,.11); box-shadow:none; color:#bfe7ff; font-size:14px; }
.lup-arrival-principles .lup-arrival-principle-flow > div:nth-child(2) i { border-color:rgba(197,167,255,.28); background:rgba(147,108,244,.13); color:#dac9ff; }
.lup-arrival-principles .lup-arrival-principle-flow > div:nth-child(3) i { border-color:rgba(131,219,175,.25); background:rgba(75,192,135,.11); color:#b9efd1; }
.lup-arrival-principles .lup-arrival-principle-flow span { display:block; min-width:0; }
.lup-arrival-principles .lup-arrival-principle-flow b { display:block; margin:0 0 3px; color:#f5f7ff; font-size:15px; font-weight:720; }
.lup-arrival-principles .lup-arrival-principle-flow small { display:block; color:#aeb9cc; font-size:11px; line-height:1.35; }

/* Category chooser: compact place cues, not eight competing posters. */
.lup-arrival-categories .lup-arrival-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:35px; }
.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category { display:flex; align-items:center; gap:10px; min-height:68px; padding:11px 10px; border:1px solid rgba(184,211,246,.12); border-radius:14px; background:rgba(255,255,255,.025); box-shadow:inset 0 1px 0 rgba(255,255,255,.045); transform:none; }
.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category > i { display:grid; flex:0 0 31px; place-items:center; width:31px; height:31px; margin:0; border:1px solid rgba(152,207,255,.24); border-radius:10px 10px 10px 4px; background:rgba(103,143,215,.10); box-shadow:none; color:#bfe7ff; font-size:13px; }
.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category > span { display:block; min-width:0; }
.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category b { display:block; overflow:hidden; color:#f5f7ff; font-size:12px; font-weight:720; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category small { display:block; overflow:hidden; margin-top:3px; color:#aeb9cc; font-size:9px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-bar > i { border-color:rgba(242,170,114,.30); background:rgba(242,170,114,.10); color:#ffd0aa; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-cafe > i { border-color:rgba(226,184,127,.30); background:rgba(226,184,127,.10); color:#f4d5a7; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-club > i { border-color:rgba(236,141,227,.30); background:rgba(236,141,227,.10); color:#f7beef; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-culture > i,.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-education > i { border-color:rgba(140,199,238,.30); background:rgba(140,199,238,.10); color:#c6eaff; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-sport > i { border-color:rgba(131,210,162,.30); background:rgba(131,210,162,.10); color:#c5f0d4; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category-health > i { border-color:rgba(244,154,178,.30); background:rgba(244,154,178,.10); color:#ffc8d7; }
@media (max-width:760px) { .lup-arrival-categories .lup-arrival-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:28px; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category { min-height:62px; padding:10px 8px; gap:8px; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category > i { flex-basis:28px; width:28px; height:28px; font-size:12px; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category b { font-size:11px; }.lup-arrival-categories .lup-arrival-category-grid .lup-arrival-category small { font-size:8px; } }

/* One real map pin.  The pin and its two water-like landing waves are separate
 * layers so old welcome styles cannot freeze one another's transforms. */
.lup-arrival-world-pin { position:absolute; display:block; z-index:3; width:48px; height:62px; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; opacity:.72; transform:translate3d(0,0,0); will-change:transform; animation:lup-arrival-pin-drift 15s cubic-bezier(.45,.05,.25,1) infinite; }
.lup-arrival-world-pin::before,.lup-arrival-world-pin::after { display:none; content:none; }
.lup-arrival-world-pin > i { position:absolute; z-index:2; top:0; left:50%; display:block; color:#a9e4ff; font-size:46px; line-height:1; text-shadow:0 0 7px rgba(218,246,255,.70),0 0 21px rgba(104,180,255,.46),0 0 34px rgba(102,108,255,.18); transform:translate3d(-50%,-12px,0) rotate(-2deg); transform-origin:50% 100%; will-change:transform,opacity; animation:lup-arrival-pin-touch 6.8s cubic-bezier(.42,.02,.18,1) infinite; }
.lup-arrival-world-ripple { position:absolute; z-index:1; bottom:5px; left:50%; display:block; width:19px; height:6px; margin:0; border:1.5px solid rgba(172,232,255,.88); border-radius:50%; background:transparent; box-shadow:0 0 9px rgba(101,193,255,.48),inset 0 0 5px rgba(189,234,255,.22); opacity:0; transform:translate3d(-50%,0,0) scale(.16); will-change:transform,opacity; animation:lup-arrival-pin-ripple 6.8s cubic-bezier(.12,.63,.30,1) infinite; }
.lup-arrival-world-ripple.ripple-two { animation-delay:.18s; border-color:rgba(173,184,255,.70); box-shadow:0 0 11px rgba(125,122,255,.36),inset 0 0 5px rgba(203,208,255,.18); }
@keyframes lup-arrival-pin-drift { 0%,100% { transform:translate3d(0,0,0); } 32% { transform:translate3d(-3px,2px,0); } 66% { transform:translate3d(2px,-2px,0); } }
@keyframes lup-arrival-pin-touch { 0%,100% { opacity:.60; transform:translate3d(-50%,-11px,0) rotate(-2deg); } 19% { opacity:.70; transform:translate3d(calc(-50% - 2px),-15px,0) rotate(-3deg); } 37% { opacity:.82; transform:translate3d(calc(-50% + 1px),-7px,0) rotate(1deg); } 48% { opacity:1; transform:translate3d(-50%,0,0) rotate(0deg); } 56% { opacity:.94; transform:translate3d(calc(-50% + 1px),-3px,0) rotate(1deg); } 71% { opacity:.76; transform:translate3d(calc(-50% - 1px),-9px,0) rotate(-1deg); } 87% { opacity:.62; transform:translate3d(-50%,-12px,0) rotate(-2deg); } }
@keyframes lup-arrival-pin-ripple { 0%,44%,100% { opacity:0; transform:translate3d(-50%,0,0) scale(.16); } 48% { opacity:.92; transform:translate3d(-50%,0,0) scale(.30); } 67% { opacity:.30; transform:translate3d(-50%,0,0) scale(4.7); } 82% { opacity:0; transform:translate3d(-50%,0,0) scale(7.6); } }
@media (max-width:760px) { .lup-arrival-world-pin { width:38px; height:51px; }.lup-arrival-world-pin > i { font-size:38px; }.lup-arrival-world-ripple { bottom:6px; } }

/* The former horizontal beam competed with the landing waves. */
.lup-arrival-world-signal { display:none; }

/* Welcome and backend shell share one material: deep midnight, fine map-lines,
 * and one cyan orientation accent.  The location pin remains the only animated
 * hero object; navigation deliberately stays quiet. */
body.lup-arrival-active {
  --lup-shell:#09111d;
  --lup-shell-deep:#070c14;
  --lup-surface:rgba(17,29,47,.72);
  --lup-line:rgba(161,214,255,.15);
  --lup-text:#e6f1ff;
  --lup-muted:rgba(194,213,235,.62);
  --lup-accent:#9bdfff;
  background:var(--lup-shell-deep);
}
body.lup-arrival-active #wrapper,
body.lup-arrival-active #page-content-wrapper,
body.lup-arrival-active #content-wrap { background:var(--lup-shell-deep); }
body.lup-arrival-active #page-content-wrapper > nav.navbar {
  min-height:64px;
  border-bottom:1px solid var(--lup-line);
  background:linear-gradient(90deg,#0b1422,#09111d 54%,#0c1423);
  box-shadow:0 8px 26px rgba(0,0,0,.18);
}
body.lup-arrival-active #page-content-wrapper > nav.navbar::before {
  right:22px;
  left:22px;
  background:linear-gradient(90deg,transparent,rgba(155,223,255,.36),rgba(155,223,255,.12),transparent);
  box-shadow:0 0 10px rgba(117,195,255,.16);
}
body.lup-arrival-active #page-content-wrapper > nav.navbar #sidebarToggle,
body.lup-arrival-active #page-content-wrapper > nav.navbar .navbar-toggler {
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  border:1px solid var(--lup-line);
  border-radius:11px;
  background:rgba(142,202,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.13);
}
body.lup-arrival-active #page-content-wrapper > nav.navbar #sidebarToggle:hover,
body.lup-arrival-active #page-content-wrapper > nav.navbar .navbar-toggler:hover {
  border-color:rgba(166,225,255,.35);
  background:rgba(142,202,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 18px rgba(103,190,255,.12);
}
body.lup-arrival-active #page-content-wrapper > nav.navbar #sidebarToggle .lup-sidebar-glyph i { background:var(--lup-accent); box-shadow:0 0 7px rgba(155,223,255,.42); }

body.lup-arrival-active #sidebar-wrapper {
  border-right:1px solid var(--lup-line);
  background:radial-gradient(ellipse at 105% 12%,rgba(86,155,218,.12),transparent 31%),linear-gradient(180deg,#0b1422 0%,#09111d 58%,#070c14 100%);
  box-shadow:14px 0 38px rgba(0,0,0,.20);
}
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-brand {
  min-height:72px;
  border-bottom:1px solid var(--lup-line);
  background:linear-gradient(90deg,rgba(155,223,255,.045),transparent 60%);
}
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-brand-mark {
  border-color:var(--lup-line);
  border-radius:10px;
  background:rgba(155,223,255,.065);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-brand strong { color:var(--lup-text); }
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-brand small,
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-section-label,
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-foot { color:var(--lup-muted); }
body.lup-arrival-active #sidebar-wrapper .lup-sidebar-section-label span { background:linear-gradient(90deg,var(--lup-accent),transparent); }
body.lup-arrival-active #sidebar-wrapper #leftnav > .list-group-item .gdt-link > a { color:rgba(220,235,255,.76); }
body.lup-arrival-active #sidebar-wrapper #leftnav > .list-group-item .gdt-link > a i {
  background:rgba(155,223,255,.055);
  color:var(--lup-accent);
}
body.lup-arrival-active #sidebar-wrapper #leftnav > .list-group-item:has(.gdt-link:hover) .gdt-link > a,
body.lup-arrival-active #sidebar-wrapper #leftnav > .list-group-item:focus-within .gdt-link > a {
  border-color:rgba(155,223,255,.15);
  background:linear-gradient(90deg,rgba(155,223,255,.09),transparent 88%);
  color:#f5f9ff;
}

body.lup-arrival-active .lup-arrival-hero h1 { color:#edf5ff; text-shadow:0 12px 30px rgba(0,0,0,.20); }
body.lup-arrival-active .lup-arrival-copy .lup-arrival-kicker,
body.lup-arrival-active .lup-arrival-brand small { color:var(--lup-muted); }
body.lup-arrival-active .lup-arrival-actions a:first-child {
  border:1px solid rgba(155,223,255,.24);
  background:rgba(155,223,255,.10);
  box-shadow:0 10px 24px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.08);
}

/* Necessary consent stays explicit, but no longer erases the first impression. */
body.lup-arrival-active #gdo_dsgvo_panel .gdo_dsgvo_overlay { background:rgba(3,7,14,.46); backdrop-filter:blur(2px); }
body.lup-arrival-active #gdo_dsgvo_panel .gdo_dsgvo_info {
  width:min(680px,calc(100vw - 32px));
  border:1px solid rgba(166,215,255,.28);
  border-radius:18px;
  background:rgba(14,23,39,.94);
  box-shadow:0 24px 55px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06);
}
body.lup-arrival-active #gdo_dsgvo_panel .gdo_dsgvo_info p { color:#d6e5f7; font-size:13px; line-height:1.45; }
body.lup-arrival-active #gdo_dsgvo_panel #gdo-dsgvo-accept-button { border-radius:10px; background:linear-gradient(135deg,#7aaef0,#7668d7); }
@media (max-width:760px) {
  body.lup-arrival-active #gdo_dsgvo_panel .gdo_dsgvo_info { right:14px; bottom:14px; left:14px; width:auto; padding:15px; border-radius:16px; transform:none; }
  body.lup-arrival-active #gdo_dsgvo_panel .gdo_dsgvo_info p { margin:0 0 10px; font-size:12px; }
  body.lup-arrival-active #gdo_dsgvo_panel #gdo-dsgvo-accept-button { min-height:38px; padding:9px 13px; }
}

/* Phone hero: the next action belongs close to the first view, even after the
 * optional explanation opens.  Let content grow naturally instead of reserving
 * an almost empty second screen. */
@media (max-width:430px) {
  .lup-arrival-hero { min-height:580px; padding-bottom:20px; }
  .lup-arrival-copy { margin-top:28px; }
  .lup-arrival-copy .lup-arrival-more { margin:12px 0 15px; }
  .lup-arrival-actions { margin-top:0; }
}

/* A continuous buoyant movement: transform-only, GPU friendly, with a wider
 * but calm arc so the location marker reads as alive instead of merely blinking. */
.lup-arrival-world-pin > i { animation-duration:5.6s; animation-timing-function:linear; }
.lup-arrival-world-ripple { animation-duration:5.6s; animation-timing-function:linear; }
@keyframes lup-arrival-pin-touch {
  0%,100% { opacity:.62; transform:translate3d(-50%,-11px,0) rotate(-2deg); }
  12% { opacity:.69; transform:translate3d(calc(-50% - 2px),-16px,0) rotate(-3deg); }
  25% { opacity:.78; transform:translate3d(calc(-50% - 3px),-14px,0) rotate(-3deg); }
  38% { opacity:.90; transform:translate3d(calc(-50% - 1px),-7px,0) rotate(-1deg); }
  48% { opacity:1; transform:translate3d(-50%,0,0) rotate(0deg); }
  57% { opacity:.93; transform:translate3d(calc(-50% + 2px),-4px,0) rotate(2deg); }
  70% { opacity:.80; transform:translate3d(calc(-50% + 2px),-10px,0) rotate(2deg); }
  84% { opacity:.67; transform:translate3d(-50%,-14px,0) rotate(-1deg); }
}
@keyframes lup-arrival-pin-ripple {
  0%,43%,100% { opacity:0; transform:translate3d(-50%,0,0) scale(.16); }
  48% { opacity:.96; transform:translate3d(-50%,0,0) scale(.35); }
  61% { opacity:.52; transform:translate3d(-50%,0,0) scale(3.2); }
  76% { opacity:.08; transform:translate3d(-50%,0,0) scale(6.8); }
  83% { opacity:0; transform:translate3d(-50%,0,0) scale(8); }
}

/* The open drawer does not add a physical backdrop: the page itself handles
 * the outside tap, leaving the navigation bar and page geometry untouched. */
#lup-sidebar-backdrop { display:none; }
@media (max-width:767.98px) {
  body.lup-sidebar-drawer-open #sidebar-wrapper {
    z-index:1040;
    box-shadow:20px 0 44px rgba(0,0,0,.34);
    transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease;
  }
}

/* LinkUUp's living place marker: a restrained hover, one brief orientation
 * shake, then a precise landing pulse.  It stays an abstract map marker — no
 * character animation — and uses transforms only for a fluid phone render. */
.lup-arrival-world-pin > i {
  font-size:50px;
  opacity:.82;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
  animation:lup-arrival-pin-presence 8.6s cubic-bezier(.45,0,.55,1) infinite;
}
.lup-arrival-world-ripple {
  animation:lup-arrival-pin-presence-ripple 8.6s cubic-bezier(.12,.63,.30,1) infinite;
}
.lup-arrival-world-ripple.ripple-two { animation-delay:.22s; }
@keyframes lup-arrival-pin-presence {
  0%,100% { transform:translate3d(-50%,-12px,0) rotate(-1deg); }
  22% { transform:translate3d(calc(-50% - 1px),-16px,0) rotate(-1.5deg); }
  40% { transform:translate3d(calc(-50% + 1px),-8px,0) rotate(.7deg); }
  48% { transform:translate3d(calc(-50% - 1px),-2px,0) rotate(-2.2deg); }
  51% { transform:translate3d(calc(-50% + 1px),-1px,0) rotate(2.2deg); }
  54% { transform:translate3d(-50%,0,0) rotate(0deg); }
  70% { transform:translate3d(calc(-50% + 1px),-4px,0) rotate(.7deg); }
  87% { transform:translate3d(calc(-50% - 1px),-10px,0) rotate(-.8deg); }
}
@keyframes lup-arrival-pin-presence-ripple {
  0%,49%,100% { opacity:0; transform:translate3d(-50%,0,0) scale(.16); }
  54% { opacity:.90; transform:translate3d(-50%,0,0) scale(.32); }
  68% { opacity:.42; transform:translate3d(-50%,0,0) scale(3.7); }
  83% { opacity:0; transform:translate3d(-50%,0,0) scale(6.8); }
}
@media (max-width:760px) {
  .lup-arrival-world-pin { width:43px; height:55px; }
  .lup-arrival-world-pin > i { font-size:43px; }
}
@media (prefers-reduced-motion:reduce) {
  .lup-arrival-world-pin,.lup-arrival-world-pin > i,.lup-arrival-world-ripple { animation:none; }
}

/* One compositor animation only. The former parent drift and child bounce
 * fought over separate layers on some GPUs and looked like a small stutter. */
.lup-arrival-world-pin { animation:none; transform:translate3d(0,0,0); }
.lup-arrival-world-pin > i {
  /* Do not declare transform as here: that would win over the
   * keyframes and freeze the visible marker in one place. */
  animation:lup-arrival-pin-fluid 3.6s cubic-bezier(.36,.02,.28,1) infinite;
}
.lup-arrival-world-ripple { animation:lup-arrival-pin-fluid-ripple 3.6s cubic-bezier(.18,.58,.32,1) infinite; }
.lup-arrival-world-ripple.ripple-two { animation-delay:.26s; }
@keyframes lup-arrival-pin-fluid {
  0%,100% { transform:translate3d(-50%,-10px,0) rotate(-2deg); }
  12% { transform:translate3d(calc(-50% - 3px),-29px,0) rotate(-5deg); }
  25% { transform:translate3d(calc(-50% + 4px),-22px,0) rotate(4deg); }
  38% { transform:translate3d(calc(-50% - 3px),-11px,0) rotate(-2deg); }
  47% { transform:translate3d(calc(-50% + 3px),-3px,0) rotate(3deg); }
  53% { transform:translate3d(-50%,0,0) rotate(0deg); }
  64% { transform:translate3d(calc(-50% + 4px),-9px,0) rotate(3deg); }
  78% { transform:translate3d(calc(-50% - 4px),-23px,0) rotate(-4deg); }
  90% { transform:translate3d(calc(-50% + 2px),-17px,0) rotate(2deg); }
}
@keyframes lup-arrival-pin-fluid-ripple {
  0%,56%,100% { opacity:0; transform:translate3d(-50%,0,0) scale(.16); }
  63% { opacity:.90; transform:translate3d(-50%,0,0) scale(.31); }
  79% { opacity:.40; transform:translate3d(-50%,0,0) scale(4.1); }
  96% { opacity:0; transform:translate3d(-50%,0,0) scale(7); }
}
@media (prefers-reduced-motion:reduce) {
  .lup-arrival-world-pin,.lup-arrival-world-pin > i,.lup-arrival-world-ripple { animation:none; }
}
