/* Match AAHUB's motion timings without transforming the live iframe or its ancestors. */
#close-fullscreen{width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;right:4px;top:4px}
#close-fullscreen::before{content:"";position:absolute;inset:7px;background:#151619b8;border:1px solid #ffffff38;border-radius:8px}
#close-fullscreen svg{position:relative;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.intro .text-link span{display:inline-block}
.intro .text-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:no-preference){
  .intro{animation:observatory-enter 1s cubic-bezier(.22,1,.36,1) both}
  @keyframes observatory-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .observatory-motion-ready .observatory-reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1)}
  .observatory-motion-ready .observatory-reveal.is-visible{opacity:1;transform:none}
  .button,.preview-cover button{transition:background .2s,transform .2s}
  .intro .text-link span,.back-top svg{transition:transform .2s}
  .button:focus-visible,.preview-cover button:focus-visible{transform:translateY(-1px)}
  @media(hover:hover){
    .button:hover,.preview-cover button:hover{transform:translateY(-1px)}
    .preview-cover button:hover{background:#fff}
    .intro .text-link:hover span{transform:translateY(3px)}
    .back-top:hover svg{transform:translateY(-3px)}
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .intro,.observatory-reveal,.button,.preview-cover button,.intro .text-link span,.back-top svg{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
