
/* Static migration patches for the general top page */
html { scroll-behavior: smooth; }
body { min-width: 320px; }

/* Keep the recovered layout but make focus visible outside ChatGPT Sites. */
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Blocks, headings and cards rise and fade every time they enter the viewport. */
[data-repeat-reveal] {
  opacity: 0;
  filter: blur(4px);
  transform: translateY(34px);
  transition: opacity .72s cubic-bezier(.2,.72,.2,1), transform .82s cubic-bezier(.16,.78,.18,1), filter .7s;
  will-change: opacity, transform, filter;
}
[data-repeat-reveal].is-visible { opacity: 1; filter: none; transform: translateY(0); }

/* No-JS fallback: the first portal remains accessible. */
.no-js .world-portal.zero { clip-path: inset(0 0 0); pointer-events: auto; }

/* Touch hotspot: first tap reveals the tooltip, second tap follows the link. */
.image-hotspot.touch-active .tooltip { opacity: 1; transform: translate(-50%); }

/* Recovered portal images include their own left-side wash; keep text readable. */
.world-portal .portal-copy { position: relative; z-index: 3; }
.world-portal.zero .portal-art,
.world-portal.rainbow .portal-art,
.world-portal.esperanza .portal-art,
.world-portal.teito .portal-art { object-position: center; }

/* The recovered top page was authored for a full-bleed hosted runtime. */
.static-migration { display: block; }

@media (max-width: 720px) {
  .site-header { align-items: flex-start; gap: 18px; }
  .site-header nav { gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
  .world-portal-stage { top: 7svh; height: 86svh; }
  .portal-copy { width: calc(100% - 32px); padding-inline: 16px; }
  .portal-copy h3 { font-size: clamp(34px, 11vw, 58px); }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading > p { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  [data-repeat-reveal] { opacity: 1; filter: none; transform: none; transition: none; }
}
