/* Static, readable text is the default; every entry animation ends on its own. */
@font-face{font-family:"AKASHA Serif";src:url("assets/fonts/akasha-title-serif-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"AKASHA Japanese";src:url("assets/fonts/akasha-title-japanese-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
/* Shared across locales; durations are in ms for the animation controller. */
:root{--title-weight:700;--title-flight-duration:1800ms;--title-line-spread:350ms;--title-glyph-spread:600ms;--title-float-duration:6200ms;--title-float-rest:1200ms}
.hero h1{font-weight:var(--title-weight)}
.title-readable{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero h1 .title-float,.hero h1 .title-line,.hero h1 .title-word,.hero h1 .title-glyph{color:inherit}
.hero h1 .title-line-warm{color:#f5e8cd}
.title-float{display:block;--flight-scale:1;--float-rise:-8px;--float-fall:6px;--float-drift:.65px;--float-turn:.6deg}
.title-word{display:inline-block;white-space:nowrap}
.title-glyph{display:inline-block}
.title-preparing #hero-title .title-float{animation:title-prepare-failsafe .01s 1s both}
.title-playing #hero-title .title-glyph,.sky-title.title-playing .title-glyph{animation:title-letter-arrive var(--title-flight-duration) cubic-bezier(.16,.78,.25,1) both;animation-delay:var(--flight-delay)}
.title-resting #hero-title .title-glyph,.sky-title.title-resting .title-glyph{animation:title-glyph-float calc(var(--title-float-duration) * var(--glyph-float-tempo,1)) ease-in-out calc(var(--title-float-rest) + var(--glyph-float-delay,0ms)) infinite;animation-play-state:paused}
.title-resting.title-in-view:not(.title-suspended):not(.motion-paused) #hero-title .title-glyph,.sky-title.title-resting.title-in-view:not(.title-suspended) .title-glyph{animation-play-state:running}
.motion-play-icon{display:none}
.motion-paused .motion-pause-icon{display:none}
.motion-paused .motion-play-icon{display:block}
.motion-toggle:disabled{opacity:.7;cursor:default}
.motion-ready .line-reveal[data-reveal]{opacity:1;transform:none;transition:none}
.reveal-line{display:inline-block;max-width:100%}
.motion-ready .line-reveal .reveal-line{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.3,1)}
.motion-ready .line-reveal .reveal-line:nth-of-type(2){transition-delay:.12s}
.motion-ready .line-reveal.is-visible .reveal-line{opacity:1;transform:none}
.sky-enabled .sky-destination>p,.sky-enabled .sky-destination>.tiny-star,.sky-enabled .sky-destination>.fine-rule{opacity:var(--sky-copy-opacity,0);transform:none;transition:none}
.motion-paused{scroll-behavior:auto}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}
.motion-paused [data-reveal],.motion-paused .reveal-line{opacity:1!important;transform:none!important}
@keyframes title-prepare-failsafe{from{opacity:0}to{opacity:1}}
@keyframes title-letter-arrive{
  0%{opacity:0;filter:blur(3px);transform:translate3d(calc(var(--flight-x) * var(--flight-scale)),calc(var(--flight-y) * var(--flight-scale)),0) rotate(var(--flight-turn))}
  60%{opacity:1;filter:blur(.2px);transform:translate3d(calc(var(--flight-x) * var(--flight-scale) * .12),calc(var(--flight-y) * var(--flight-scale) * -.08),0) rotate(0)}
  100%{opacity:1;filter:blur(0);transform:none}
}
@keyframes title-glyph-float{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  25%{transform:translate3d(calc(var(--float-drift) * var(--glyph-float-direction,1)),calc(var(--float-rise) * var(--glyph-float-amplitude,1)),0) rotate(calc(var(--float-turn) * var(--glyph-float-direction,1)))}
  75%{transform:translate3d(calc(var(--float-drift) * var(--glyph-float-direction,1) * -.75),calc(var(--float-fall) * var(--glyph-float-amplitude,1)),0) rotate(calc(var(--float-turn) * var(--glyph-float-direction,1) * -1))}
}
@media(max-width:700px){.title-float{--flight-scale:.5;--float-rise:-4.5px;--float-fall:3.5px;--float-drift:.35px;--float-turn:.4deg}}
@media(prefers-reduced-motion:reduce){.title-float,.title-glyph{animation:none!important}.motion-ready .line-reveal .reveal-line{opacity:1;transform:none;transition:none}}
