/* omakase-motion / zukan 1-4 — masked rise adapted for two hero lines. */
@media (prefers-reduced-motion: no-preference) {
  :root {
    --motion-ease: cubic-bezier(.25, .46, .45, .94);
    --motion-enter: .72s;
    --motion-hover: .2s;
  }
  .mask { overflow: hidden; padding-block: .05em .08em; margin-block: -.05em -.08em; }
  .mask > span { animation: masked-rise var(--motion-enter) var(--motion-ease) both; }
  .mask + .mask > span { animation-delay: .075s; }
  @keyframes masked-rise {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  @media (hover: hover) {
    .hero .button > span, .nav-visit > span { transition: transform var(--motion-hover) var(--motion-ease); }
    .hero .button:hover > span { transform: translate(2px, 2px); }
    .nav-visit:hover > span { transform: translate(2px, -2px); }
  }
}
