/* Motion is progressive: without GSAP every word and illustration stays visible. */
.heading-line{display:block}
/* Soft overlapping patches dissolve into full opacity before the mask is removed. */
.hero-paper-reveal{
  --paper-mask:radial-gradient(ellipse at 7% 32%,#000 calc(var(--paper-reveal) - 40%),transparent var(--paper-reveal)),radial-gradient(ellipse at 50% 12%,#000 calc(var(--paper-reveal) - 46%),transparent var(--paper-reveal)),radial-gradient(ellipse at 93% 32%,#000 calc(var(--paper-reveal) - 40%),transparent var(--paper-reveal));
  -webkit-mask-image:var(--paper-mask);mask-image:var(--paper-mask);will-change:opacity;
}
.hero-art.hero-paper-reveal{
  --paper-mask:radial-gradient(ellipse at 14% 62%,#000 calc(var(--paper-reveal) - 40%),transparent var(--paper-reveal)),radial-gradient(ellipse at 48% 80%,#000 calc(var(--paper-reveal) - 46%),transparent var(--paper-reveal)),radial-gradient(ellipse at 84% 46%,#000 calc(var(--paper-reveal) - 40%),transparent var(--paper-reveal));
}
.hero-text-reveal{will-change:opacity}
.ink-reveal{-webkit-mask-image:linear-gradient(180deg,#000 calc(var(--ink-reveal) - 18%),transparent var(--ink-reveal));mask-image:linear-gradient(180deg,#000 calc(var(--ink-reveal) - 18%),transparent var(--ink-reveal))}
.guest,.attending{display:flow-root}
.motion-toggle{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-size:17px}
.footer-links{flex-wrap:wrap;row-gap:12px}
@media (prefers-reduced-motion:no-preference){
  .button,.text-link,.language-switch button{transition:background-color .26s,color .26s,text-decoration-color .26s}
  .text-link .arrow,.button .arrow{transition:translate .286s ease}
  .text-link:hover .arrow,.text-link:focus-visible .arrow,.button:hover .arrow,.button:focus-visible .arrow{translate:3px 0}
  .text-link:hover .arrow-up,.text-link:focus-visible .arrow-up{translate:0 -3px}
}
@media (max-width:760px){.motion-toggle{font-size:15px}}
@media (prefers-reduced-motion:reduce){.motion-toggle{display:none}}
