/* Shared, restrained interaction styles. */
.btn,.social-link,.visit-shortcuts a,.price-summary .price-link {
  border-radius:999px;
  transition:background-color .2s ease,transform .2s ease;
}
.choice .more {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  margin-top:24px;
  padding:12px 18px;
  border-radius:999px;
  background:var(--deep);
  color:#fff;
  text-align:center;
  transition:background-color .2s ease,transform .2s ease;
}
.btn .arrow {display:inline-block;transition:transform .2s ease}
:is(.btn,.social-link,.visit-shortcuts a,.price-link,.choice .more):focus-visible {
  outline:3px solid var(--lake);
  outline-offset:4px;
}
@media(hover:hover) and (pointer:fine) {
  :is(.btn,.social-link,.visit-shortcuts a,.price-summary .price-link,.choice .more):hover {
    background-color:#164365;
    color:#fff;
    transform:translateY(-2px);
  }
  .btn:hover .arrow {transform:translateX(4px)}
}
:is(.btn,.social-link,.visit-shortcuts a,.price-link,.choice .more):active {transform:translateY(1px)}
@keyframes photo-arrive {
  from {opacity:.25;transform:translateY(12px)}
  to {opacity:1;transform:translateY(0)}
}
.photo-arriving {animation:photo-arrive .65s ease-out both}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .btn,.social-link,.visit-shortcuts a,.price-summary .price-link,.choice .more,.btn .arrow {
    transition:none;
    transform:none;
  }
  .photo-arriving {animation:none}
}
