/* The light stays behind the content; all controls retain their normal hit areas. */
.hero-wave{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.85;mask-image:linear-gradient(to bottom,transparent 36%,#000 65%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent 36%,#000 65%,#000 94%,transparent)}
.hero-enter{animation:thulla-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
.hero h1.hero-enter{animation-duration:1.4s;animation-delay:.14s}
.hero-description.hero-enter{animation-delay:.24s}
.hero-meta.hero-enter{animation-delay:.34s}
.hero-actions.hero-enter{animation-delay:.44s}
@keyframes thulla-arrive{from{opacity:0;filter:blur(7px);transform:translateY(28px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
.reveal-ready.is-visible{animation:thulla-reveal .9s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes thulla-reveal{from{opacity:.2;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
.portrait img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s}
@media(hover:hover) and (pointer:fine){.speaker:hover .portrait img{transform:scale(1.065)}.button .diagonal-arrow{transition:transform .35s cubic-bezier(.16,1,.3,1)}.button:hover .diagonal-arrow{transform:translate(-3px,3px)}html[dir=ltr] .button:hover .diagonal-arrow{transform:translate(3px,-3px)}}
@media(max-width:700px){.hero-wave{opacity:.65;mask-image:linear-gradient(to bottom,transparent 56%,#000 76%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent 56%,#000 76%,#000 95%,transparent)}}
@media(prefers-reduced-motion:reduce){.hero-wave{display:none}.hero-enter,.hero h1.hero-enter,.reveal-ready.is-visible{animation:none!important;opacity:1;filter:none;transform:none}}
