/* Brief ambient entrances, then stillness. Interaction and scroll drive the rest. */
@keyframes blade-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes blade-arrive{0%{opacity:0;transform:translateY(32px) rotate(-5deg)}28%{opacity:1;transform:translateY(-9px) rotate(2deg)}65%{transform:translateY(7px) rotate(-1deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes blade-orbit{from{transform:rotate(-70deg) scale(.85);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}
@keyframes blade-switch{from{opacity:.3;transform:translateX(20px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){
  body:not(.gated) .hero-copy>*{animation:blade-rise .85s cubic-bezier(.2,.75,.25,1) backwards}
  body:not(.gated) .hero-copy h1{animation-delay:.1s}
  body:not(.gated) .hero-copy .lead{animation-delay:.2s}
  body:not(.gated) .hero-copy .hero-description{animation-delay:.3s}
  body:not(.gated) .hero-copy .button{animation-delay:.4s}
  body:not(.gated) .hero-copy .hero-stat{animation-delay:.5s}
  body:not(.gated) .hero-visual>img{animation:blade-arrive 4.6s cubic-bezier(.2,.65,.3,1) both}
  body:not(.gated) .orbit{animation:blade-orbit 1.6s cubic-bezier(.2,.65,.3,1) both}
  .motion-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
  .motion-reveal[data-reveal="waiting"]{opacity:0;transform:translateY(24px)}
  .motion-reveal[data-reveal="shown"]{opacity:1;transform:translateY(0)}
  .flavor-choice{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
  .flavor-card-photo img{transition:transform .45s cubic-bezier(.2,.75,.25,1)}
  .flavor-choice:hover,.flavor-choice:focus-visible{transform:translateY(-6px);box-shadow:0 14px 28px #17364425}
  .flavor-choice:hover .flavor-card-photo img,.flavor-choice:focus-visible .flavor-card-photo img{transform:scale(1.025)}
  .button{position:relative;overflow:hidden;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
  .button:after{content:'';position:absolute;inset:-30% auto -30% -70%;width:45%;background:linear-gradient(90deg,transparent,#ffffff60,transparent);transform:skewX(-20deg);transition:left .55s ease;pointer-events:none}
  .button:hover:after,.button:focus-visible:after{left:130%}
  .button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #77dcff24}
  nav a:not(.nav-cta){position:relative}
  nav a:not(.nav-cta):after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
  nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
}
@media(hover:none){.flavor-choice:hover{transform:none}.flavor-choice:hover .flavor-card-photo img{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-reveal[data-reveal]{opacity:1;transform:none}.hero-visual>img,.hero-copy>*,.orbit{animation:none!important}*{transition:none!important}}

.flavor-stage{--flavor-accent:#47a8db;box-shadow:inset 0 -4px var(--flavor-accent);transition:box-shadow .5s ease}
.flavor-details{border-left:4px solid var(--flavor-accent);transition:border-color .5s ease}
.flavor-card-photo{position:relative}
.flavor-card-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff55 48%,transparent 65%);transform:translateX(-130%);pointer-events:none}
@keyframes flavor-gallery-arrival{from{opacity:0;transform:perspective(800px) translateY(35px) rotateX(8deg)}to{opacity:1;transform:perspective(800px) translateY(0) rotateX(0)}}
@keyframes flavor-selected-glow{0%,100%{box-shadow:0 0 0 0 transparent}45%{box-shadow:0 0 0 5px var(--swatch),0 12px 30px #14354430}}
@keyframes flavor-sheen{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
@media(prefers-reduced-motion:no-preference){
  .flavor-choice.motion-reveal{transition:opacity .65s ease,transform .3s ease,border-color .3s ease,box-shadow .3s ease}
  .flavor-choice[data-reveal="shown"]{animation:flavor-gallery-arrival .8s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms) backwards}
  .flavor-choice[aria-pressed="true"] .flavor-card-photo{animation:flavor-selected-glow .85s ease}
  .flavor-choice:hover .flavor-card-photo:after,.flavor-choice:focus-visible .flavor-card-photo:after{animation:flavor-sheen .8s ease}
  .flavor-controls button{transition:transform .2s ease,background .2s ease}
  .flavor-controls button:hover{transform:translateY(-3px)}
}
@media(max-width:700px){.flavor-details{border-left:0;border-top:4px solid var(--flavor-accent)}}
