/* Code personnalisé du site (ex-<head> Webflow, toutes pages) */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:#0E0E0E;color:#fff}
:focus-visible{outline:1px solid #FF3B1F;outline-offset:3px}
.header_link.is-active .header_dot{display:block}
.service-row:hover .service-row_dot{opacity:1}
.service-row:hover .service-row_body{transform:translateX(8px)}
.projet-card_component:hover .projet-card_image,.article-card:hover .article-card_image,.projet-tile:hover .projet-tile_image{transform:scale(1.04)}
.rail_list{scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.rail_list::-webkit-scrollbar{display:none}
.rail_list img{-webkit-user-drag:none;user-select:none}
.quote_w{transition:opacity 200ms ease}
.quote_dot{width:5px;height:5px;border-radius:50%;background:#E5E5E3;border:0;padding:0;cursor:pointer}
.quote_dot.is-active{background:#0E0E0E}
.filter_btn.is-active{color:#0E0E0E}
.filter_btn.is-active .filter_dot{opacity:1}
.faq_rt h3{font-size:1.125rem;line-height:1.35;font-weight:400;margin:0;padding:1.5rem 0 .5rem;border-top:1px solid #E5E5E3}
.faq_rt p{font-size:1rem;line-height:1.6;color:#6E6E6E;margin:0 0 1.5rem}
.text-rich-text h2{font-size:1.75rem;line-height:1.2;font-weight:400;letter-spacing:-0.01em;margin:3rem 0 1rem}
.text-rich-text h3{font-size:1.25rem;line-height:1.3;font-weight:400;margin:2rem 0 .75rem}
.text-rich-text p,.text-rich-text li{font-size:1.0625rem;line-height:1.65;color:#0E0E0E}
.text-rich-text p{margin:0 0 1.25rem}
.text-rich-text a{color:#0E0E0E;text-decoration:underline;text-decoration-color:#C9C9C6;text-underline-offset:3px}
.text-rich-text a:hover{text-decoration-color:#FF3B1F}
.text-rich-text ul,.text-rich-text ol{padding-left:1.25rem;margin:0 0 1.5rem}
.text-rich-text li{margin-bottom:.375rem}
.text-rich-text figure{margin:2rem 0}
.text-rich-text strong{font-weight:500}
.text-rich-text>*:first-child{margin-top:0}
.projets_list>.w-dyn-item:nth-child(4n+1),.projets_list>.w-dyn-item:nth-child(4n+4){width:calc((100% - 1.5rem)*0.3205)}
.projets_list>.w-dyn-item:nth-child(4n+2),.projets_list>.w-dyn-item:nth-child(4n+3){width:calc((100% - 1.5rem)*0.6795)}
.projets_list>.w-dyn-item:nth-child(4n+1) .projet-card_visual,.projets_list>.w-dyn-item:nth-child(4n+4) .projet-card_visual{aspect-ratio:400/298}
.projets_list>.w-dyn-item:nth-child(4n+2) .projet-card_visual,.projets_list>.w-dyn-item:nth-child(4n+3) .projet-card_visual{aspect-ratio:824/527}
@media (max-width:767px){.projets_list>.w-dyn-item{width:100%!important}.projets_list .projet-card_visual{aspect-ratio:4/3!important}}
.filter_btn{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:#6E6E6E;cursor:pointer;background:none;border:0;padding:0;text-decoration:none}
.filter_dot{width:5px;height:5px;border-radius:50%;background:#FF3B1F;opacity:0}
.w-dyn-empty{display:none}
.chip{display:inline-flex;align-items:center;padding:.375rem .625rem;border:1px solid #E5E5E3;border-radius:999px;line-height:1}
.faq_toggle{position:relative;cursor:pointer;padding-right:2rem!important}
.faq_toggle:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:'Geist Mono',monospace;font-size:1rem;color:#6E6E6E;transition:transform 300ms ease}
.faq_toggle[aria-expanded="true"]:after{transform:translateY(-50%) rotate(45deg);color:#FF3B1F}
.faq_rt h3.faq_toggle{padding-bottom:1.5rem}
.faq_rt .faq_ans p{margin:0 0 1.25rem}
[data-problems] ul{list-style:none;padding-left:0}
[data-problems] li{position:relative;padding-left:1.25rem}
[data-problems] li:before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:#FF3B1F}
.toc_link{color:#6E6E6E;text-decoration:none;transition:color 200ms ease}
.toc_link:hover,.toc_link.is-active{color:#0E0E0E}
.contact_form-slot .w-form{margin:0}
.contact_form-slot form{display:flex;flex-direction:column}
.contact_form-slot label:not(.w-radio){font-size:.75rem;font-weight:400;color:#6E6E6E;margin:1.5rem 0 .5rem}
.contact_form-slot label:not(.w-radio):first-child{margin-top:0}
.contact_form-slot .w-input{height:auto;border:0;border-bottom:1px solid #E5E5E3;padding:.5rem 0 .75rem;font-size:1.125rem;color:#0E0E0E;background:none;margin:0;border-radius:0}
.contact_form-slot .w-input:focus{border-bottom-color:#0E0E0E;outline:none}
.contact_form-slot textarea.w-input{min-height:6rem;resize:vertical}
.contact_form-slot [data-radio-group]{display:flex;flex-wrap:wrap;gap:.5rem}
.contact_form-slot .w-radio{position:relative;margin:0;padding:0}
.contact_form-slot .w-radio-input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.contact_form-slot .w-radio .w-form-label{display:inline-flex;padding:.5rem .875rem;border:1px solid #E5E5E3;border-radius:999px;font-size:.875rem;cursor:pointer;transition:all 200ms ease}
.contact_form-slot .w-radio-input:checked+.w-form-label{background:#0E0E0E;border-color:#0E0E0E;color:#fff}
.contact_form-slot .w-radio-input:focus-visible+.w-form-label{outline:1px solid #FF3B1F;outline-offset:3px}
.contact_form-slot .w-button{align-self:flex-start;margin-top:2rem;background:#0E0E0E;color:#fff;border-radius:0;padding:1rem 1.5rem;font-size:.9375rem}
.contact_form-slot .w-button:hover{background:#FF3B1F}
.contact_form-slot .w-form-done{background:none;padding:0;text-align:left}
.contact_form-slot .w-form-fail{background:#F1F1EF;padding:1rem;margin-top:1rem}
.cadrage_band{position:relative}
.cadrage_band.is-live{background-position:0 0,100% 0,50% 3px,var(--bx,0px) 7px,var(--bx,0px) 11px!important}
.cadrage_band.band-pre{clip-path:inset(-8px 50% -2px 50%)}
.cadrage_band.band-in{clip-path:inset(-8px -4px -2px -4px);transition:clip-path 1100ms cubic-bezier(.87,0,.13,1)}
.band_head{position:absolute;top:-1px;bottom:0;left:var(--bp,50%);width:1px;margin-left:-.5px;background:#FF3B1F;pointer-events:none;transition:left 2400ms cubic-bezier(.65,0,.35,1)}
.band_head:before{content:"";position:absolute;top:-4px;left:-2px;width:5px;height:5px;border-radius:50%;background:#FF3B1F;animation:bandRec 2.4s ease-in-out infinite}
.band_hover{position:absolute;top:2px;bottom:2px;left:0;width:1px;background:#0E0E0E;opacity:0;pointer-events:none;transition:opacity 250ms ease}
.band_hover.is-on{opacity:.55}
@keyframes bandRec{0%,100%{opacity:1}50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
