/* Animations et comportements (repris du code personnalisé Webflow) */
@keyframes mo-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mo-strip { white-space: nowrap; overflow: hidden; }
.mo-strip-text { display: inline-block; white-space: pre; animation: mo-marquee 45s linear infinite; will-change: transform; }
@media (prefers-reduced-motion: reduce) { .mo-strip-text { animation: none; } }
.mo-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.mo-wi { display: inline-block; will-change: transform; }
.mo-photo { overflow: hidden; }
.mo-photo .mo-photo-img { will-change: transform; }
@media (hover: hover) and (min-width: 768px) {
  .mo-ev { transition: padding-left .4s ease; }
  .mo-ev:hover { padding-left: 24px; }
  .mo-ev:hover .mo-ev-title { color: #F0A36B; }
}
.mo-social-icon { transition: color .25s ease, transform .25s ease; }
.mo-social-icon:hover { color: #B3261E; transform: translateY(-2px); }
.mo-btn-pill-light { transition: background-color .25s ease, color .25s ease; }
.mo-btn-pill.mo-btn-pill-light:hover { background-color: #F3EDE4; border-color: #F3EDE4; color: #E5483B; }
.mo-burger-line { transition: transform .6s cubic-bezier(.87,0,.13,1), background-color .4s ease; }
@media (max-width: 767px) {
  .mo-nav.mo-js { transition: background-color .4s ease, border-color .4s ease; }
  .mo-nav.mo-js.is-open { background-color: #1E1714; border-color: rgba(243,237,228,.15); }
  .mo-nav.mo-js .mo-logo-img { transition: filter .4s ease; }
  .mo-nav.mo-js.is-open .mo-logo-img { filter: invert(1) sepia(.15); }
  .mo-nav.mo-js .mo-burger { transition: border-color .4s ease; }
  .mo-nav.mo-js.is-open .mo-burger { border-color: #F3EDE4; }
  .mo-nav.mo-js.is-open .mo-burger-line { background-color: #F3EDE4; }
  .mo-nav.mo-js .mo-nav-links { display: flex !important; position: fixed; left: 0; right: 0; top: var(--mo-nav-h, 73px); height: calc(100vh - var(--mo-nav-h, 73px)); height: calc(100dvh - var(--mo-nav-h, 73px)); flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; margin-left: 0; padding: 24px 20px 32px; background: #1E1714; color: #F3EDE4; z-index: 49; visibility: hidden; clip-path: inset(0 0 100% 0); overflow-y: auto; }
  .mo-nav.mo-js.is-open .mo-nav-links { visibility: visible; clip-path: inset(0 0 0 0); }
  .mo-nav.mo-js .mo-nav-link { display: block; padding: 22px 0; border-bottom: 1px solid rgba(243,237,228,.15); color: #F3EDE4; font-family: Fraunces, serif; font-size: 40px; line-height: 1.1; letter-spacing: 0; text-transform: none; }
  .mo-nav.mo-js .mo-nav-social { display: flex; gap: 12px; margin-top: auto; padding-top: 32px; }
  .mo-nav.mo-js .mo-nav-social .mo-social-icon { color: #F3EDE4; }
  .mo-nav.is-open .mo-burger-line:first-child { transform: translateY(3.5px) rotate(45deg); }
  .mo-nav.is-open .mo-burger-line:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  body.mo-menu-open { overflow: hidden; }
}
.mo-ticket-paper { --s: 7px; -webkit-mask: conic-gradient(from 225deg at var(--s) 50%, #0000 90deg, #000 0) 0 0 / 51% calc(2 * var(--s)) repeat-y, conic-gradient(from 45deg at calc(100% - var(--s)) 50%, #0000 90deg, #000 0) 100% 0 / 51% calc(2 * var(--s)) repeat-y; mask: conic-gradient(from 225deg at var(--s) 50%, #0000 90deg, #000 0) 0 0 / 51% calc(2 * var(--s)) repeat-y, conic-gradient(from 45deg at calc(100% - var(--s)) 50%, #0000 90deg, #000 0) 100% 0 / 51% calc(2 * var(--s)) repeat-y; transition: transform .35s ease; }
.mo-ticket:hover .mo-ticket-paper { transform: translateY(-4px); }
@keyframes mo-ticket-in { from { opacity: 0; transform: translateY(40px); } }
.mo-ticket { animation: mo-ticket-in 1s cubic-bezier(.2,.9,.3,1.25) .4s both; }
@media (prefers-reduced-motion: reduce) { .mo-ticket { animation: none; } }
.mo-hero { height: calc(100vh - var(--mo-hero-top, 200px)); height: calc(100svh - var(--mo-hero-top, 200px)); min-height: 420px; }
@media (max-width: 767px) { .mo-hero { min-height: 360px; } }
.mo-burger { background: none; padding: 0; cursor: pointer; }
.mo-btn-pill.mo-btn-pill-light { border-color: #F3EDE4; }
