/* Trajet plus posé et départ du Liban mis en valeur. */
.route-arrow{offset-rotate:0deg!important}
.route-arrow,.journey-route{animation-duration:4.5s!important;animation-delay:.35s!important;animation-timing-function:cubic-bezier(.45,.04,.28,1)!important}.place-blois{animation-delay:4.72s!important}.place-lebanon text{fill:var(--olive-dark);font-size:18px;font-weight:800;letter-spacing:3px;animation:lebanonDeparture 4.7s .1s ease both!important}.place-lebanon>circle:first-child{fill:var(--olive);animation:departureDot 4.7s .1s ease both}.place-lebanon .pin-ring{stroke:#6f7c55;stroke-width:4;animation:departureRing 1.15s .1s ease-out 4!important}.route-arrow{filter:drop-shadow(0 7px 13px rgba(48,56,45,.28))}@keyframes lebanonDeparture{0%,8%{opacity:.25}18%,72%{opacity:1;filter:drop-shadow(0 2px 5px rgba(86,98,70,.4))}100%{opacity:.82}}@keyframes departureDot{0%,100%{transform:scale(1)}30%{transform:scale(1.6)}70%{transform:scale(1.1)}}@keyframes departureRing{0%{transform:scale(.65);opacity:1}100%{transform:scale(1.9);opacity:0}}

@media(max-width:900px){
  .site-header{height:68px;padding:0 18px}.brand-logo{width:54px;height:54px}.site-header nav{top:68px;max-height:calc(100dvh - 68px);overflow-y:auto;padding:24px 20px 30px;gap:6px;align-items:stretch;box-shadow:0 18px 35px rgba(32,38,29,.12)}.site-header nav>a:not(.button),.site-header .nav-action{display:block;width:100%;padding:13px 8px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.site-header .button-small{width:100%;margin-top:8px;padding:14px}.language-picker{order:2;justify-content:center;margin-top:12px;padding:11px}.language-picker select{font-size:12px}.menu-toggle{min-width:46px;min-height:46px;align-items:center;justify-content:center}
  .journey-hero{padding:10px 10px 58px;overflow:hidden}.journey-map{inset:10px 10px auto;height:350px;border-radius:24px}.journey-map svg{transform:none!important;transform-origin:center}.journey-reveal{padding:365px 10px 0}.journey-copy{width:100%;max-width:none;margin:0;padding:0 5px}.journey-copy h1{font-size:clamp(54px,16vw,78px);line-height:.9;letter-spacing:-3px}.journey-tagline{font-size:clamp(28px,8vw,38px);line-height:1.08;margin-top:19px}.journey-copy .hero-intro{font-size:14px;line-height:1.72;margin:20px 0}.journey-copy .hero-actions{flex-direction:column;align-items:stretch;gap:12px}.journey-copy .hero-actions .button,.journey-copy .action-link{width:100%;text-align:center;padding:14px}.place-lebanon text{font-size:17px}.place-blois{font-size:22px}
  .rating-strip{padding:26px 18px}.story,.menu-section,.events-section{padding-left:20px;padding-right:20px}.story{gap:38px;padding-top:72px;padding-bottom:78px}.story-image{height:min(105vw,460px);min-height:0;border-radius:22px}.story h2,.section-heading h2,.visit h2{font-size:clamp(42px,12vw,62px);letter-spacing:-2px}.story-copy>p:not(.eyebrow){font-size:14px;line-height:1.75;margin-top:20px}.section-heading{margin-bottom:32px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.dish-image{height:220px}.dish-info{padding:15px}.dish h3{font-size:18px}.dish p{min-height:0}.events-section{padding-top:76px;padding-bottom:76px}.event-packages{gap:18px}.event-card{border-radius:20px}.visit-copy{padding:72px 20px}.map-real,.map-real iframe{min-height:410px}.cart-drawer{padding:22px 18px}.reservation-dialog{max-height:92dvh;overflow:auto}
}
@media(max-width:560px){
  .journey-map{height:315px}.journey-reveal{padding-top:328px}.journey-map svg{transform:scale(1.08)!important;transform-origin:52% 44%}.route-arrow image{width:72px;height:72px}.journey-copy .hero-location{font-size:8px!important;white-space:nowrap!important}.rating-item{min-width:118px}.menu-grid{grid-template-columns:1fr}.dish-image{height:275px}.filters{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.event-photo{height:280px}.event-card-head strong{font-size:52px}.contact-details{grid-template-columns:1fr;gap:22px}.map-real,.map-real iframe{min-height:360px}.order-details,.form-grid{grid-template-columns:1fr}.cart-drawer{width:100%}footer{padding:48px 20px 28px;gap:25px}footer>div{flex-wrap:wrap;gap:18px}}
@media(prefers-reduced-motion:reduce){.place-lebanon text,.place-lebanon circle{animation:none!important}}
