/* Deliberately light motion: it supports orientation and feedback without delaying content. */
@media (prefers-reduced-motion:no-preference) {
  body { animation:uplorna-page-enter .36s ease both; }

  .page-mark-load { position:fixed; z-index:100; inset:0; display:grid; place-items:center; pointer-events:none; background:rgba(252,250,245,.72); backdrop-filter:blur(3px); animation:uplorna-loader-out .4s .22s ease forwards; }
  .page-mark-load span { display:grid; width:58px; height:58px; place-items:center; border-radius:19px; background:var(--ink); box-shadow:0 16px 38px rgba(17,18,29,.22); animation:uplorna-mark-pop .38s cubic-bezier(.18,.9,.3,1.2) both; }
  .page-mark-load img { width:29px; height:38px; object-fit:contain; }

  html.motion-ready [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .58s ease,transform .58s cubic-bezier(.2,.72,.2,1); }
  html.motion-ready [data-reveal].is-visible { opacity:1; transform:none; }

  .route-meter div { transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease; }
  .route-meter div.is-active { transform:translateY(-3px); border-color:var(--lime); background:rgba(214,179,106,.2); box-shadow:0 10px 22px rgba(0,0,0,.18); }

  .destination-detail.is-refreshing > * { animation:uplorna-detail-in .34s ease both; }
  .destination-detail.is-refreshing > :nth-child(2) { animation-delay:.035s; }
  .destination-detail.is-refreshing > :nth-child(3) { animation-delay:.07s; }
  .destination-detail.is-refreshing > :nth-child(4) { animation-delay:.105s; }
  .destination-detail.is-refreshing > :nth-child(5) { animation-delay:.14s; }

  #university-results { transition:opacity .18s ease,transform .18s ease; }
  #university-results.is-updating { opacity:.58; transform:translateY(4px); }
  #university-results .uni-card { animation:uplorna-card-enter .36s cubic-bezier(.2,.72,.2,1) both; animation-delay:calc(var(--card-index, 0) * 28ms); }
  .shortlist-count.pop { animation:uplorna-count-pop .34s cubic-bezier(.18,.9,.3,1.25); }
}

@keyframes uplorna-page-enter { from { opacity:.01; } to { opacity:1; } }
@keyframes uplorna-loader-out { to { opacity:0; visibility:hidden; } }
@keyframes uplorna-mark-pop { from { opacity:0; transform:scale(.74) rotate(-7deg); } to { opacity:1; transform:none; } }
@keyframes uplorna-detail-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes uplorna-card-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes uplorna-count-pop { 50% { transform:scale(1.22); } }
footer .calvenor-mark { color:inherit; text-decoration:none; }
footer .calvenor-mark:hover { color:var(--gold,#d6b36a); }
footer .social-links.social-icons { display:flex; flex-wrap:wrap; gap:8px; }
footer .social-links.social-icons a { display:inline-grid; width:34px; height:34px; min-width:34px; min-height:34px; padding:0; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#fff; background:transparent; line-height:1; }
footer .social-links.social-icons a:hover { color:var(--ink,#11121d); background:var(--gold,#d6b36a); border-color:var(--gold,#d6b36a); transform:none; box-shadow:none; }
footer .social-links.social-icons svg { display:block; width:17px; height:17px; fill:currentColor; }
