/* INSTAFOOD V11.47.11 — Motion 2026/2027. Enhancement progressif pur, zéro JavaScript.
   Navigateurs sans support : comportement V11.47.10 inchangé. */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation-duration:.16s;animation-timing-function:ease-out}
  ::view-transition-new(root){animation-duration:.24s;animation-timing-function:ease-out}
}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline: view()){
    .reveal{animation:if27Rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    .reveal--d1{animation-range:entry 6% entry 61%}
    .reveal--d2{animation-range:entry 12% entry 67%}
    .reveal--d3{animation-range:entry 18% entry 73%}
  }
}
@keyframes if27Rise{from{opacity:.001;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .btn,.if-main-cta,.if-primary{transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
  .btn:hover,.if-main-cta:hover,.if-primary:hover{transform:translateY(-2px)}
  .btn:active,.if-main-cta:active,.if-primary:active{transform:translateY(0) scale(.97);transition-duration:.12s}
}
.btn:focus-visible,.if-main-cta:focus-visible,.if-primary:focus-visible{outline:2px solid #d4af37;outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal--d1,.reveal--d2,.reveal--d3{animation:none;opacity:1;transform:none}
}
/* Garde LCP : le titre hero reste peint dès le premier rendu, jamais dépendant du scroll. */
.hero__title{animation:ifHeroTitleIn .7s var(--easing,cubic-bezier(.22,.61,.36,1)) 0s both}
@media (prefers-reduced-motion:reduce){.hero__title{animation:none}}
