@import url("site-v23.css?v=26");

/* Motion system */
.site-header { animation: header-arrive .7s cubic-bezier(.2,.8,.2,1) both; }
.hero-photo { animation: hero-breathe 16s ease-in-out infinite alternate; will-change: transform; }
.hero-content .eyebrow { animation: hero-rise .65s .12s cubic-bezier(.2,.8,.2,1) both; }
.hero-content h1 { animation: hero-rise .8s .22s cubic-bezier(.2,.8,.2,1) both; }
.hero-content .hero-lead { animation: hero-rise .75s .34s cubic-bezier(.2,.8,.2,1) both; }
.hero-content .primary-cta { animation: hero-rise .75s .44s cubic-bezier(.2,.8,.2,1) both; }
.hero-content .hero-proof { animation: hero-rise .75s .54s cubic-bezier(.2,.8,.2,1) both; }

.reveal-item { opacity: 0; transform: translateY(34px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); transition-delay: var(--reveal-delay,0ms); }
.reveal-item.is-visible { opacity: 1; transform: translateY(0); }
.ramen-grid article, .buyer-grid article { transition: transform .28s ease, background-color .28s ease, box-shadow .28s ease; overflow: hidden; }
.ramen-grid article:hover { transform: translateY(-7px); background: rgba(255,255,255,.035); box-shadow: 0 22px 46px rgba(0,0,0,.2); }
.buyer-grid article:hover { transform: translateY(-6px); background: #fff; box-shadow: 0 18px 40px rgba(24,35,39,.1); }
.ramen-grid article img { transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.ramen-grid article:hover img { transform: scale(1.045); filter: saturate(1.08) contrast(1.03); }
.primary-cta span { display: inline-block; transition: transform .22s ease; }
.primary-cta:hover span { transform: translateX(5px); }
[dir="rtl"] .primary-cta:hover span { transform: translateX(-5px); }
.route-line i::before { content:""; position:absolute; inset:0; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .9s ease .2s; }
.route-line.is-visible i::before { transform:scaleX(1); }
[dir="rtl"] .route-line i::before { transform-origin:right; }

@keyframes header-arrive { from { opacity:0; transform:translateY(-18px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-rise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-breathe { from { transform:scale(1.01); } to { transform:scale(1.075) translate3d(-.7%,.4%,0); } }

@media (prefers-reduced-motion: reduce) {
  .site-header, .hero-photo, .hero-content .eyebrow, .hero-content h1, .hero-content .hero-lead, .hero-content .primary-cta, .hero-content .hero-proof { animation:none !important; }
  .reveal-item { opacity:1 !important; transform:none !important; transition:none !important; }
  .ramen-grid article, .buyer-grid article, .ramen-grid article img, .primary-cta span { transition:none !important; }
}
