/* Code personnalisé Webflow (paramètres du site, <head>), repris à l'identique. */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
::selection{background:#FF6B4E;color:#1A1A1A}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #FF6B4E;outline-offset:3px}
/* Nav */
[data-nav-open] .navbar_mobile{transform:none;visibility:visible}
[data-nav-open] .navbar_burger-line:first-child{transform:translateY(4px) rotate(45deg)}
[data-nav-open] .navbar_burger-line:last-child{transform:translateY(-4px) rotate(-45deg)}
.navbar_burger-line{transition:transform .35s cubic-bezier(.65,0,.35,1)}
.navbar_mobile{transition:transform .6s cubic-bezier(.76,0,.24,1)}
/* Marquee fallback (CSS only) */
@keyframes milo-marquee{to{transform:translateX(-50%)}}
@keyframes milo-spin{to{transform:rotate(348deg)}}
[data-marquee]{animation:milo-marquee 28s linear infinite}
[data-spin]{animation:milo-spin 18s linear infinite}
/* Hover zooms */
.blog-card_component:hover .blog-card_image,.events_card:hover .events_image{transform:scale(1.06)}
.blog-card_image,.events_image{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.button .icon-arrow,.cities_row .icon-arrow{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.button:hover .icon-arrow,.cities_row:hover .icon-arrow{transform:translateX(4px) rotate(-45deg)}
/* FAQ */
.faq_answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.faq_answer>*{overflow:hidden}
.faq_item.is-open .faq_answer{grid-template-rows:1fr}
.faq_icon{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.faq_item.is-open .faq_icon{transform:rotate(45deg)}
/* Rich text (articles, villes) */
.text-rich-text h2{margin-top:3rem;margin-bottom:1rem}
.text-rich-text h3{margin-top:2rem;margin-bottom:.75rem}
.text-rich-text p{margin-bottom:1.25rem}
.text-rich-text ul,.text-rich-text ol{margin-bottom:1.25rem;padding-left:1.25rem}
.text-rich-text li{margin-bottom:.5rem}
.text-rich-text a{color:#CC3D1F;text-decoration:underline;text-underline-offset:3px}
/* Rich text headings (villes, événements, articles, légal) */
.text-rich-text h2{font-size:2.5rem;line-height:1.05;letter-spacing:-.02em}
.text-rich-text h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.01em}
.text-rich-text > :first-child{margin-top:0}
.text-rich-text figure{margin:2.5rem 0}
.text-rich-text ol{padding-left:1.25rem}
.legal_rich h2{font-size:1.75rem}
@media screen and (max-width:767px){.text-rich-text h2{font-size:1.875rem}.legal_rich h2{font-size:1.375rem}}
/* Chiffres & mots accent : aplat (le contour d'une police variable laisse des traits internes) */
.process_number{color:#CC3D1F!important;-webkit-text-stroke:0!important}
.process_card.is-2 .process_number{color:#1A1A1A!important}
.process_card.is-3 .process_number{color:#FF6B4E!important}
.marquee_text.is-outline{color:#FF6B4E!important;-webkit-text-stroke:0!important}
/* Events : section = hauteur écran sur desktop pour le scroll horizontal */
@media screen and (min-width:992px){
.section_events{height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:7.5rem!important;padding-bottom:2.5rem!important;box-sizing:border-box}
.section_events .events_header{margin-bottom:2rem}
.section_events .heading-style-h2{font-size:clamp(3rem,8vh,5.5rem)}
.events_track{flex:1;min-height:0;align-items:stretch}
.events_card{height:100%}
.events_image-wrap{flex:1;min-height:6rem;height:auto!important;max-height:none!important}
}
/* Messages formulaire : cachés tant que Webflow ne les affiche pas (style inline) */
.w-form .w-form-done,.w-form .w-form-fail{display:none}
/* Split text helpers */
.split-line{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
/* Hover image cursor */
.cursor-image{position:fixed;left:0;top:0;z-index:50;width:16rem;aspect-ratio:4/5;border-radius:1rem;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.6);box-shadow:0 30px 60px rgba(26,26,26,.25)}
.cursor-image img{width:100%;height:100%;object-fit:cover}
@media (hover:none){.cursor-image{display:none}}
@media (prefers-reduced-motion:reduce){[data-marquee],[data-spin]{animation:none}*{transition-duration:.01ms!important}}
