/* Oshi's own staged reveal: short masked entrances, blue light, and calm interaction. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .home-intro [data-reveal] {
    opacity: 0;
    transform: translate3d(0, 36px, 0);
    filter: blur(7px);
    clip-path: inset(0 0 70% 0);
    transition: opacity .72s cubic-bezier(.16, 1, .3, 1), transform .86s cubic-bezier(.16, 1, .3, 1), filter .72s, clip-path .86s cubic-bezier(.16, 1, .3, 1);
  }
  .motion-ready .home-intro [data-reveal].is-visible {
    opacity: 1;
    transform: translateZ(0);
    filter: blur(0);
    clip-path: inset(0);
  }
  .motion-ready .home-intro [data-reveal]:nth-child(1){transition-delay:.06s}
  .motion-ready .home-intro [data-reveal]:nth-child(2){transition-delay:.17s}
  .motion-ready .home-intro [data-reveal]:nth-child(3){transition-delay:.31s}
  .motion-ready .home-intro [data-reveal]:nth-child(4){transition-delay:.45s}
  .motion-ready .reason[data-reveal]{opacity:0;transform:translate3d(0,45px,0) scale(.97);filter:blur(8px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .75s}
  .motion-ready .reason[data-reveal].is-visible{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}
  .motion-ready .reason:nth-child(1){transition-delay:.15s}.motion-ready .reason:nth-child(2){transition-delay:.26s}.motion-ready .reason:nth-child(3){transition-delay:.37s}.motion-ready .reason:nth-child(4){transition-delay:.48s}
  .reason{position:relative;padding:8px 10px 12px;margin:-8px -10px -12px;border-radius:14px;transition:background .32s,box-shadow .32s,transform .32s}
  .reason:before{content:"";position:absolute;left:10px;right:10px;top:0;height:1px;background:linear-gradient(90deg,transparent,#527cff,transparent);transform:scaleX(0);transform-origin:left;transition:transform .48s cubic-bezier(.16,1,.3,1)}
  .reason:hover{background:rgba(44,75,145,.11);box-shadow:0 14px 36px rgba(0,0,0,.12);transform:translateY(-5px)}
  .motion-ready .reason[data-reveal].is-visible:hover{transform:translateY(-5px)}
  .reason:hover:before{transform:scaleX(1)}
  .home-logo{width:clamp(150px,13vw,195px);height:auto;flex:none;overflow:visible;filter:drop-shadow(0 0 0 rgba(82,124,255,0));animation:home-logo-glow 4s ease-in-out infinite}
  .home-logo .logo-star{transform-box:fill-box;transform-origin:center;animation:home-star-turn 4s ease-in-out infinite}
  .reason svg{animation:reason-icon-glow 3.6s ease-in-out infinite}
  .reason:nth-child(2) svg{animation-delay:.7s}.reason:nth-child(3) svg{animation-delay:1.4s}.reason:nth-child(4) svg{animation-delay:2.1s}
  .arrow-link span{animation:arrow-cue 2.8s ease-in-out infinite}
  @keyframes home-star-turn{0%,12%{transform:rotate(0) scale(1)}42%{transform:rotate(180deg) scale(1.16)}70%,100%{transform:rotate(360deg) scale(1)}}
  @keyframes home-logo-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(82,124,255,0))}50%{filter:drop-shadow(0 0 15px rgba(82,124,255,.32))}}
  @keyframes reason-icon-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(82,124,255,0));transform:translateY(0)}50%{filter:drop-shadow(0 0 7px rgba(82,124,255,.55));transform:translateY(-3px)}}
  @keyframes arrow-cue{0%,65%,100%{transform:translateX(0)}78%{transform:translateX(6px)}}
  .motion-ready .faq-heading[data-reveal]{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .7s,transform .78s cubic-bezier(.16,1,.3,1),filter .7s}
  .motion-ready .faq-heading[data-reveal].is-visible{opacity:1;transform:none;filter:none}
  .faq-list details{animation:faq-arrive .68s cubic-bezier(.16,1,.3,1) both}
  .faq-list details:nth-child(1){animation-delay:.12s}.faq-list details:nth-child(2){animation-delay:.2s}.faq-list details:nth-child(3){animation-delay:.28s}.faq-list details:nth-child(4){animation-delay:.36s}.faq-list details:nth-child(5){animation-delay:.44s}.faq-list details:nth-child(6){animation-delay:.52s}.faq-list details:nth-child(7){animation-delay:.6s}.faq-list details:nth-child(8){animation-delay:.68s}
  @keyframes faq-arrive{from{opacity:0;transform:translateY(18px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
  .faq-list details[open] p{animation:answer-enter .3s cubic-bezier(.16,1,.3,1) both}
  @keyframes answer-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
  .faq-list summary{transition:color .22s,padding-left .22s}.faq-list summary:hover{color:#a8bcff;padding-left:6px}
}
.home-logo{width:clamp(150px,13vw,195px);height:auto;flex:none;overflow:visible}
@media(max-width:560px){.home-logo{width:clamp(122px,35vw,160px)}}
