@charset "UTF-8";
@import url(main.css);
/*---------------------------Barre de navigation--------------------*/
.animated-border-button:after { background-color: #e30a17; }

/*------------Bloc actu------------------------------*/
#news-posts-bloc { margin-top: 150px !important; margin-bottom: 150px !important; }

/*****************************************AJUSTEMENTS SEO************************************************/
#navbarSupportedContent > ul > li.dropdown.px-4 > div > a:nth-child(1) { font-size: 0.8em !important; }

#navbarSupportedContent > ul > li.dropdown.px-4 > div > ul a { transition: all 0.5s ease; }

#navbarSupportedContent > ul > li.dropdown.px-4 > div > ul a:hover { background-color: #513030 !important; }

.first-banner-seo-page .background-image-div-opacity { background-image: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FSuG7uN29mQPNJ9PQbcs9pSoxgfy2%2Fimages%2FChatGPT_Image_25_mai_2026_14_29_21_t5ty.webp?alt=media&token=e1f2adc6-0130-4b79-b47f-1d62cea892b2") !important; background-position: bottom !important; opacity: 0.7 !important; }

.first-banner-seo-page h1 { font-weight: 700 !important; width: 80% !important; margin: auto !important; text-shadow: 4px 4px 27px rgba(0, 0, 0, 0.6) !important; }

.first-banner-seo-page .logo-seo-page { display: none; }

@media (min-width: 1200px) { #bandeau-title-seo h2 { font-size: 2rem; } }

/**************************************BLOC ENGAGEMENT*******************************************/
@media (min-width: 992px) { div.engagement-col { width: 20% !important; } }

.engagement-main-title { position: relative; }

.engagement-main-title::after { content: ""; display: block; width: 120px; height: 3px; background-color: white; margin: 18px auto 0; }

div.engagement-card { justify-content: center; }

.engagement-icon { margin: auto !important; }

.engagement-titles { margin-bottom: 0 !important; }

.engagement-text { display: none; }

/************************************************Bloc produits recyclage bois - DA Matières Vivantes**********************************/
section:has(.engagement-content) { position: relative !important; padding-top: 100px !important; padding-bottom: 100px !important; background: #262622 !important; overflow: hidden !important; isolation: isolate !important; }

section:has(.engagement-content)::before { display: none !important; }

section:has(.engagement-content)::after { content: "" !important; position: absolute !important; left: -120px !important; bottom: -120px !important; width: 340px !important; height: 340px !important; border-radius: 999px !important; background: radial-gradient(circle, rgba(243, 144, 39, 0.2), rgba(227, 10, 23, 0.12), transparent 68%) !important; z-index: 1 !important; pointer-events: none !important; }

section:has(.engagement-content) .background-image-div-opacity { position: absolute !important; inset: 0 !important; opacity: 0.22 !important; background-size: cover !important; background-position: center !important; filter: saturate(0.9) contrast(1) !important; z-index: 0 !important; }

section:has(.engagement-content) .engagement-overlay { background: linear-gradient(90deg, rgba(20, 20, 18, 0.28) 0%, rgba(40, 40, 36, 0.22) 48%, rgba(20, 20, 18, 0.76) 100%), radial-gradient(circle at 18% 42%, rgba(227, 10, 23, 0.18), transparent 34%), radial-gradient(circle at 82% 58%, rgba(243, 144, 39, 0.12), transparent 34%) !important; z-index: 1 !important; }

section:has(.engagement-content) .engagement-content { position: relative !important; z-index: 3 !important; padding-top: 0 !important; padding-bottom: 0 !important; }

section:has(.engagement-content) .engagement-main-title { position: relative !important; max-width: 900px !important; margin-right: auto !important; margin-left: auto !important; margin-bottom: 48px !important; color: #ffffff !important; }

section:has(.engagement-content) .engagement-main-title::before { display: none !important; }

section:has(.engagement-content) .engagement-main-title::after { content: "" !important; display: block !important; width: 72px !important; height: 4px !important; margin-top: 20px !important; margin-right: auto !important; margin-left: auto !important; border-radius: 999px !important; background: #c9c19e; }

section:has(.engagement-content) .engagement-main-title h2 { margin: 0 !important; color: #ffffff !important; font-size: 2.8rem !important; line-height: 1.08 !important; letter-spacing: -0.035em !important; text-transform: none !important; text-shadow: 0 12px 28px rgba(0, 0, 0, 0.3) !important; }

section:has(.engagement-content) .engagement-main-title h2 span { font-size: inherit !important; }

section:has(.engagement-content) .engagement-list { position: relative !important; margin-bottom: 0 !important; }

section:has(.engagement-content) .engagement-col { display: flex !important; }

section:has(.engagement-content) .engagement-card { position: relative !important; width: 100% !important; min-height: 210px !important; padding: 24px 20px !important; border-radius: 26px !important; overflow: hidden !important; background: linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.07)) !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important; backdrop-filter: blur(14px) !important; }

section:has(.engagement-content) .engagement-card::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 0 !important; background: radial-gradient(circle at 18% 14%, rgba(227, 10, 23, 0.18), transparent 34%), radial-gradient(circle at 86% 92%, rgba(243, 144, 39, 0.18), transparent 36%) !important; pointer-events: none !important; }

section:has(.engagement-content) .engagement-card::after { display: none !important; }

section:has(.engagement-content) .engagement-image, section:has(.engagement-content) .engagement-card-title, section:has(.engagement-content) .engagement-description { position: relative !important; z-index: 2 !important; }

section:has(.engagement-content) .engagement-image { width: 116px !important; height: 116px !important; object-fit: contain !important; padding: 14px !important; border-radius: 20px !important; background: linear-gradient(135deg, #c9c19e 0%, #978d70 34%, #7c725b 66%, #8c8575 100%) !important; box-shadow: 0 10px 24px rgba(227, 10, 23, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important; }

section:has(.engagement-content) .engagement-card-title { margin-top: 14px !important; margin-bottom: 0 !important; }

section:has(.engagement-content) .engagement-card-title h3 { margin: 0 !important; color: #ffffff !important; font-size: 1.22rem !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; text-transform: none !important; text-shadow: 0 8px 18px rgba(0, 0, 0, 0.22) !important; }

section:has(.engagement-content) .engagement-description { color: rgba(255, 255, 255, 0.82) !important; opacity: 1 !important; font-size: 1rem !important; line-height: 1.65 !important; }

section:has(.engagement-content) .engagement-description p { margin: 0 !important; color: rgba(255, 255, 255, 0.82) !important; }

@media (max-width: 991px) { section:has(.engagement-content) { padding-top: 78px !important; padding-bottom: 78px !important; } section:has(.engagement-content) .engagement-main-title { margin-bottom: 42px !important; } section:has(.engagement-content) .engagement-main-title h2 { font-size: 2.35rem !important; } section:has(.engagement-content) .engagement-card { min-height: 190px !important; padding: 22px 18px !important; } }

@media (max-width: 760px) { section:has(.engagement-content) { padding-top: 60px !important; padding-bottom: 60px !important; } section:has(.engagement-content) .engagement-main-title { margin-bottom: 36px !important; } section:has(.engagement-content) .engagement-main-title h2 { font-size: 2rem !important; } section:has(.engagement-content) .engagement-card { min-height: auto !important; padding: 22px 18px !important; border-radius: 24px !important; } section:has(.engagement-content) .engagement-image { width: 70px !important; height: 70px !important; border-radius: 20px !important; } section:has(.engagement-content) .engagement-card-title h3 { font-size: 1.18rem !important; } }

@media (max-width: 420px) { section:has(.engagement-content) .engagement-main-title h2 { font-size: 1.75rem !important; } }

/*****************************************CONTACT***********************************/
#contact { position: relative !important; padding: 100px 20px !important; background: radial-gradient(circle at 8% 20%, rgba(227, 10, 23, 0.08), transparent 28%), radial-gradient(circle at 88% 80%, rgba(243, 144, 39, 0.1), transparent 30%), #ffffff !important; overflow: hidden !important; }

#contact::before { content: "" !important; position: absolute !important; top: -80px !important; right: -80px !important; width: 240px !important; height: 240px !important; border-radius: 44% 56% 62% 38% !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.14), rgba(243, 144, 39, 0.18)) !important; filter: blur(2px) !important; pointer-events: none !important; z-index: 0 !important; }

#contact::after { content: "" !important; position: absolute !important; left: -90px !important; bottom: -90px !important; width: 260px !important; height: 260px !important; border-radius: 999px !important; background: radial-gradient(circle, rgba(227, 10, 23, 0.12), rgba(243, 144, 39, 0.08), transparent 68%) !important; pointer-events: none !important; z-index: 0 !important; }

#contact > .background-image-div-opacity { display: none !important; }

#contact > .row { position: relative !important; z-index: 2 !important; max-width: 760px !important; margin: 0 auto !important; padding: 0 !important; display: block !important; }

#contact > .row > .col-lg-6.text-center { display: none !important; }

#contact > .row > .col-md-10 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; margin: 0 auto !important; display: block !important; }

.mv-contact-heading { position: relative !important; z-index: 3 !important; max-width: 760px !important; margin: 0 auto 34px auto !important; text-align: center !important; }

.mv-contact-heading span { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; margin-bottom: 18px !important; color: #e30a17 !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; font-size: 0.92rem !important; line-height: 1.2 !important; }

.mv-contact-heading span::before { content: "" !important; width: 38px !important; height: 3px !important; border-radius: 999px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; }

.mv-contact-heading h2 { margin: 0 !important; color: #262622 !important; font-size: 3rem !important; line-height: 1.06 !important; letter-spacing: -0.045em !important; text-wrap: balance !important; }

#formContact { position: relative !important; z-index: 2 !important; width: 100% !important; max-width: 760px !important; margin: 0 auto !important; padding: 42px !important; border-radius: 34px !important; overflow: hidden !important; background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)) !important; border: 1px solid rgba(227, 10, 23, 0.1) !important; box-shadow: 0 28px 70px rgba(0, 0, 0, 0.1), 0 12px 26px rgba(227, 10, 23, 0.08) !important; }

#formContact::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 0 !important; background: radial-gradient(circle at 12% 16%, rgba(227, 10, 23, 0.07), transparent 32%), radial-gradient(circle at 94% 92%, rgba(243, 144, 39, 0.1), transparent 34%) !important; pointer-events: none !important; }

#formContact::after { content: "" !important; position: absolute !important; right: -46px !important; top: -46px !important; width: 145px !important; height: 145px !important; border-radius: 44% 56% 62% 38% !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.22), rgba(243, 144, 39, 0.2)) !important; pointer-events: none !important; z-index: 1 !important; }

#formContact > * { position: relative !important; z-index: 2 !important; }

#formContact .form-control { min-height: 56px !important; border-radius: 18px !important; border: 1px solid rgba(98, 98, 91, 0.18) !important; background-color: rgba(255, 255, 255, 0.86) !important; color: #262622 !important; box-shadow: none !important; }

#formContact textarea.form-control { min-height: 150px !important; padding-top: 16px !important; }

#formContact .form-control:focus { border-color: rgba(227, 10, 23, 0.42) !important; box-shadow: 0 0 0 4px rgba(227, 10, 23, 0.1) !important; background-color: #ffffff !important; }

#formContact label { color: #62625b !important; }

#formContact .checkbox, #formContact .checkbox label { color: #62625b !important; font-size: 0.95rem !important; line-height: 1.5 !important; }

#formContact .checkbox a { color: #e30a17 !important; font-weight: 700 !important; text-decoration: none !important; }

#formContact input[type="checkbox"] { accent-color: #e30a17 !important; }

#formContact input[type="file"] { padding: 14px 16px !important; }

#formContact #erase-file { border-radius: 0 18px 18px 0 !important; border-color: rgba(227, 10, 23, 0.32) !important; color: #e30a17 !important; }

#formContact button[type="submit"] { position: relative !important; min-height: 58px !important; border: 0 !important; border-radius: 999px !important; color: #ffffff !important; background: linear-gradient(135deg, #e30a17 0%, #e73c32 34%, #ea571c 66%, #f39027 100%) !important; text-decoration: none !important; font-weight: 800 !important; font-size: 1.05rem !important; letter-spacing: 0.02em !important; box-shadow: 0 18px 40px rgba(227, 10, 23, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important; }

@media (max-width: 760px) { #contact { padding: 64px 14px !important; } .mv-contact-heading { text-align: left !important; margin-bottom: 28px !important; } .mv-contact-heading span { justify-content: flex-start !important; } .mv-contact-heading h2 { font-size: 2.25rem !important; } #formContact { padding: 26px 20px !important; border-radius: 26px !important; } #formContact .form-control { border-radius: 16px !important; } }

@media (max-width: 420px) { .mv-contact-heading h2 { font-size: 1.95rem !important; } #formContact { padding: 22px 16px !important; } }

/************************************************Bloc activités - base**********************************/
div:has(> .first-activity-div) { padding: 100px 0 !important; position: relative !important; background: radial-gradient(circle at 8% 20%, rgba(227, 10, 23, 0.08), transparent 28%), radial-gradient(circle at 88% 80%, rgba(243, 144, 39, 0.1), transparent 30%), #ffffff !important; overflow: hidden !important; }

div.first-activity-div, div.second-activity-div, div.third-activity-div { background-color: transparent !important; box-shadow: none !important; }

/************************************************Bloc activités - DA Matières Vivantes**********************************/
div:has(> .first-activity-div)::after { content: "" !important; position: absolute !important; left: -90px !important; bottom: -90px !important; width: 260px !important; height: 260px !important; border-radius: 999px !important; background: radial-gradient(circle, rgba(227, 10, 23, 0.12), rgba(243, 144, 39, 0.08), transparent 68%) !important; pointer-events: none !important; z-index: 0 !important; }

div.first-activity-div, div.second-activity-div, div.third-activity-div { position: relative !important; z-index: 1 !important; max-width: 1380px !important; margin-right: auto !important; margin-left: auto !important; padding: 34px !important; border-radius: 34px !important; overflow: hidden !important; background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88)) !important; border: 1px solid rgba(227, 10, 23, 0.1) !important; box-shadow: 0 28px 70px rgba(0, 0, 0, 0.1), 0 12px 26px rgba(227, 10, 23, 0.08) !important; }

div.first-activity-div::before, div.second-activity-div::before, div.third-activity-div::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 0 !important; background: radial-gradient(circle at 12% 20%, rgba(227, 10, 23, 0.08), transparent 32%), radial-gradient(circle at 92% 86%, rgba(243, 144, 39, 0.1), transparent 34%) !important; pointer-events: none !important; }

div.first-activity-div::after, div.second-activity-div::after, div.third-activity-div::after { content: "" !important; position: absolute !important; right: -46px !important; top: -46px !important; width: 145px !important; height: 145px !important; border-radius: 44% 56% 62% 38% !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.26), rgba(243, 144, 39, 0.22)) !important; pointer-events: none !important; z-index: 1 !important; animation: none !important; }

div.first-activity-div > .background-image-div-opacity, div.second-activity-div > .background-image-div-opacity, div.third-activity-div > .background-image-div-opacity { display: none !important; }

div.first-activity-div .row, div.second-activity-div .row, div.third-activity-div .row { position: relative !important; z-index: 2 !important; align-items: center !important; padding: 0 !important; margin: 0 !important; }

div.first-activity-div .col-lg-7, div.second-activity-div .col-lg-7, div.third-activity-div .col-lg-7 { padding: 22px !important; }

div.first-activity-div .col-lg-5, div.second-activity-div .col-lg-5, div.third-activity-div .col-lg-5 { padding: 0 !important; }

div.first-activity-div .card.card-cover, div.second-activity-div .card.card-cover, div.third-activity-div .card.card-cover { position: relative !important; min-height: 390px !important; border: 0 !important; border-radius: 28px !important; overflow: hidden !important; background-size: cover !important; background-position: center !important; box-shadow: 0 24px 54px rgba(0, 0, 0, 0.18), 0 10px 24px rgba(227, 10, 23, 0.1) !important; transform: none !important; transition: none !important; filter: none !important; }

div.first-activity-div .card.card-cover::before, div.second-activity-div .card.card-cover::before, div.third-activity-div .card.card-cover::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; background: linear-gradient(180deg, rgba(20, 20, 18, 0.04) 0%, rgba(20, 20, 18, 0.12) 48%, rgba(20, 20, 18, 0.42) 100%), linear-gradient(135deg, rgba(227, 10, 23, 0.16), transparent 46%, rgba(243, 144, 39, 0.14)) !important; pointer-events: none !important; }

div.first-activity-div .black-screen, div.second-activity-div .black-screen, div.third-activity-div .black-screen { display: none !important; }

div.first-activity-div .card.card-cover h3, div.second-activity-div .card.card-cover h3, div.third-activity-div .card.card-cover h3 { display: none !important; }

div.first-activity-title, div.second-activity-title, div.third-activity-title { position: relative !important; margin-bottom: 24px !important; color: #262622 !important; }

div.first-activity-title::before, div.second-activity-title::before, div.third-activity-title::before { content: "Matières Vivantes" !important; display: inline-flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 18px !important; color: #e30a17 !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; font-size: 0.92rem !important; line-height: 1.2 !important; }

div.first-activity-title::after, div.second-activity-title::after, div.third-activity-title::after { content: "" !important; display: block !important; width: 58px !important; height: 4px !important; margin-top: 18px !important; border-radius: 999px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; }

div.first-activity-title h2, div.second-activity-title h2, div.third-activity-title h2 { margin: 0 !important; color: #262622 !important; font-size: 2.4rem !important; line-height: 1.06 !important; letter-spacing: -0.045em !important; text-transform: none !important; text-wrap: balance !important; }

div.first-activity-div .lead, div.second-activity-div .lead, div.third-activity-div .lead { margin: 0 !important; color: #62625b !important; font-size: 1.08rem !important; line-height: 1.8 !important; font-weight: 400 !important; }

div.first-activity-div .lead p, div.second-activity-div .lead p, div.third-activity-div .lead p { margin: 0 !important; color: #62625b !important; }

div.first-activity-div .lead strong, div.second-activity-div .lead strong, div.third-activity-div .lead strong { font-weight: bolder; }

/************************************************Responsive**********************************/
@media (max-width: 991px) { div:has(> .first-activity-div) { padding: 70px 0 !important; } div.first-activity-div, div.second-activity-div, div.third-activity-div { padding: 24px !important; border-radius: 28px !important; } div.first-activity-div .row, div.second-activity-div .row, div.third-activity-div .row { gap: 28px !important; } div.first-activity-div .col-lg-7, div.second-activity-div .col-lg-7, div.third-activity-div .col-lg-7 { padding: 0 !important; } div.first-activity-div .col-lg-5, div.second-activity-div .col-lg-5, div.third-activity-div .col-lg-5 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; } div.first-activity-div .card.card-cover, div.second-activity-div .card.card-cover, div.third-activity-div .card.card-cover { min-height: 360px !important; } div.first-activity-title h2, div.second-activity-title h2, div.third-activity-title h2 { font-size: 2.35rem !important; } }

@media (max-width: 760px) { div:has(> .first-activity-div) { padding: 56px 0 !important; } div.first-activity-div, div.second-activity-div, div.third-activity-div { padding: 18px !important; border-radius: 24px !important; margin-top: 28px !important; margin-bottom: 28px !important; } div.first-activity-div .card.card-cover, div.second-activity-div .card.card-cover, div.third-activity-div .card.card-cover { min-height: 300px !important; border-radius: 22px !important; } div.first-activity-title h2, div.second-activity-title h2, div.third-activity-title h2 { font-size: 2rem !important; } div.first-activity-div .lead, div.second-activity-div .lead, div.third-activity-div .lead { font-size: 1rem !important; line-height: 1.7 !important; } }

@media (max-width: 420px) { div.first-activity-title h2, div.second-activity-title h2, div.third-activity-title h2 { font-size: 1.75rem !important; } div.first-activity-div, div.second-activity-div, div.third-activity-div { padding: 14px !important; } }

@media (prefers-reduced-motion: reduce) { div.first-activity-div::after, div.second-activity-div::after, div.third-activity-div::after, div.first-activity-div .card.card-cover, div.second-activity-div .card.card-cover, div.third-activity-div .card.card-cover { animation: none !important; transition: none !important; } }

/************************************************Bannière d'accueil**********************************/
.mv-hero { position: relative; min-height: 100vh; overflow: hidden; display: flex; align-items: center; isolation: isolate; background: #62625b; pointer-events: auto !important; }

.mv-carousel, .mv-slide, .mv-overlay { position: absolute; inset: 0; }

.mv-carousel { z-index: -3; pointer-events: none !important; }

.mv-slide { background-size: cover; background-position: center; opacity: 0; transform: scale(1.08); transition: opacity 1.3s ease, transform 6s ease; pointer-events: none !important; }

.mv-slide.active { opacity: 1; transform: scale(1); }

.mv-overlay { z-index: -2; pointer-events: none !important; background: linear-gradient(90deg, rgba(20, 20, 18, 0.78) 0%, rgba(40, 40, 36, 0.55) 42%, rgba(98, 98, 91, 0.18) 100%), radial-gradient(circle at 20% 50%, rgba(227, 10, 23, 0.28), transparent 34%), linear-gradient(135deg, rgba(227, 10, 23, 0.28), rgba(243, 144, 39, 0.14), rgba(234, 87, 28, 0.08)); }

.mv-content { position: relative; width: 100%; max-width: 1380px; margin: 0 auto; padding: 90px 20px; box-sizing: border-box; color: #ffffff; z-index: 2; pointer-events: auto !important; }

.mv-logo { width: 210px; max-width: 48vw; height: auto; display: block; margin-bottom: 34px; filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.32)); }

.mv-content h1 { max-width: 900px; margin: 0; font-size: 4.2rem; line-height: 1; text-transform: uppercase; text-wrap: balance; text-shadow: 0 18px 50px rgba(0, 0, 0, 0.42); }

.mv-content h1 span { display: inline-block; font-size: 1.5rem; line-height: 1; font-weight: 500; color: #ffdbb6; }

.mv-phone-btn { position: relative; display: inline-flex; align-items: center; gap: 12px; margin-top: 38px; padding: 17px 28px; border-radius: 999px; color: #ffffff; text-decoration: none; font-weight: 600; font-size: 1.18rem; letter-spacing: 0.02em; background: linear-gradient(135deg, #e30a17 0%, #e73c32 34%, #ea571c 66%, #f39027 100%); box-shadow: 0 18px 40px rgba(227, 10, 23, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28); overflow: hidden; transition: transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease; }

.mv-phone-btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.36) 42%, transparent 68%); transform: translateX(-115%); transition: transform 0.65s ease; }

.mv-phone-btn:hover { transform: translateY(-4px) scale(1.025); box-shadow: 0 26px 56px rgba(227, 10, 23, 0.42), 0 10px 22px rgba(243, 144, 39, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.35); filter: saturate(1.08); }

.mv-phone-btn:hover::before { transform: translateX(115%); }

.mv-phone-icon { position: relative; width: 22px; height: 22px; fill: currentColor; flex: 0 0 auto; transition: transform 0.3s ease; }

.mv-phone-btn:hover .mv-phone-icon { animation: mv-phone-ring 0.72s ease both; }

@keyframes mv-phone-ring { 0% { transform: rotate(0deg) scale(1); }
  18% { transform: rotate(-14deg) scale(1.08); }
  36% { transform: rotate(13deg) scale(1.08); }
  54% { transform: rotate(-9deg) scale(1.06); }
  72% { transform: rotate(7deg) scale(1.04); }
  100% { transform: rotate(0deg) scale(1); } }

.mv-corner-animation { position: absolute; right: 76px; top: 90px; width: 220px; height: 220px; z-index: 1; pointer-events: none !important; }

.mv-corner-animation::before { content: ""; position: absolute; top: 18%; right: 18%; bottom: 18%; left: 18%; border-radius: 42% 58% 50% 50%; background: linear-gradient(135deg, rgba(227, 10, 23, 0.42), rgba(243, 144, 39, 0.35)); filter: blur(2px); animation: mv-blob 8s ease-in-out infinite; animation-play-state: paused !important; }

.mv-corner-animation span { position: absolute; border-radius: 999px; background: linear-gradient(135deg, #e30a17, #f39027); box-shadow: 0 18px 44px rgba(227, 10, 23, 0.28); opacity: 0.9; animation: mv-float 5s ease-in-out infinite; animation-play-state: paused !important; }

.mv-hero:hover .mv-corner-animation::before, .mv-hero:hover .mv-corner-animation span, .mv-hero:focus-within .mv-corner-animation::before, .mv-hero:focus-within .mv-corner-animation span, .mv-hero.is-carousel-active .mv-corner-animation::before, .mv-hero.is-carousel-active .mv-corner-animation span { animation-play-state: running !important; }

.mv-corner-animation span:nth-child(1) { width: 34%; height: 34%; right: 6%; top: 12%; }

.mv-corner-animation span:nth-child(2) { width: 18%; height: 18%; left: 8%; top: 44%; background: linear-gradient(135deg, #ea571c, #f39027); animation-delay: -1.4s; }

.mv-corner-animation span:nth-child(3) { width: 12%; height: 12%; right: 30%; bottom: 8%; background: #e73c32; animation-delay: -2.7s; }

@keyframes mv-float { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-12px, 16px, 0) scale(1.12); } }

@keyframes mv-blob { 0%, 100% { transform: rotate(0deg) scale(1);
    border-radius: 42% 58% 50% 50%; }
  50% { transform: rotate(18deg) scale(1.14);
    border-radius: 58% 42% 62% 38%; } }

.mv-dots { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; gap: 9px; z-index: 3; pointer-events: auto !important; }

.mv-dot { width: 9px; height: 9px; border-radius: 999px; background: rgba(255, 255, 255, 0.5); transition: width 0.35s ease, background 0.35s ease; border: 0; padding: 0; cursor: pointer; }

.mv-dot.active { width: 32px; background: linear-gradient(90deg, #e30a17, #f39027); }

@media (max-width: 1180px) { .mv-content h1 { font-size: 4.2rem; } .mv-content h1 span { font-size: 1.55rem; } .mv-corner-animation { right: 46px; top: 60px; width: 180px; height: 180px; } }

@media (max-width: 900px) { .mv-content h1 { font-size: 3.35rem; } .mv-content h1 span { font-size: 1.35rem; } .mv-phone-btn { font-size: 1.08rem; } }

@media (max-width: 760px) { .mv-hero { min-height: 620px; align-items: flex-end; } .mv-overlay { background: linear-gradient(0deg, rgba(20, 20, 18, 0.86) 0%, rgba(40, 40, 36, 0.62) 54%, rgba(98, 98, 91, 0.22) 100%), linear-gradient(135deg, rgba(227, 10, 23, 0.26), rgba(243, 144, 39, 0.12)); } .mv-content { padding: 120px 14px 86px; } .mv-logo { width: 220px; max-width: 82vw; margin-bottom: 26px; } .mv-content h1 { font-size: 2.45rem; } .mv-content h1 span { font-size: 1.08rem; } .mv-phone-btn { width: 100%; justify-content: center; padding-right: 22px; padding-left: 22px; box-sizing: border-box; } .mv-corner-animation { opacity: 0.68; right: -24px; top: 24px; width: 130px; height: 130px; } }

@media (max-width: 420px) { .mv-content h1 { margin-top: 40px; font-size: 2rem; line-height: 1.2; } .mv-content h1 span { font-size: 1rem; margin-top: 15px; } .mv-phone-btn { font-size: 1rem; } }

@media (prefers-reduced-motion: reduce) { .mv-slide, .mv-phone-btn, .mv-phone-icon, .mv-corner-animation, .mv-corner-animation::before, .mv-corner-animation span, .mv-dot { animation: none !important; transition: none !important; } }

/***********************************CARROUSEL + texte*******************************/
.mv-intro-section { position: relative !important; padding: 90px 0 !important; background: radial-gradient(circle at 8% 20%, rgba(227, 10, 23, 0.08), transparent 28%), radial-gradient(circle at 88% 80%, rgba(243, 144, 39, 0.1), transparent 30%), #ffffff !important; overflow: hidden !important; }

.mv-intro-container { width: 100% !important; max-width: 1380px !important; margin: 0 auto !important; padding: 0 20px !important; box-sizing: border-box !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 58px !important; align-items: center !important; }

.mv-intro-carousel { position: relative !important; min-height: 520px !important; border-radius: 34px !important; overflow: hidden !important; background: #62625b !important; box-shadow: 0 28px 70px rgba(0, 0, 0, 0.18), 0 12px 26px rgba(227, 10, 23, 0.14) !important; isolation: isolate !important; }

.mv-intro-carousel::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 2 !important; background: linear-gradient(180deg, rgba(20, 20, 18, 0.08) 0%, rgba(20, 20, 18, 0.1) 48%, rgba(20, 20, 18, 0.42) 100%), linear-gradient(135deg, rgba(227, 10, 23, 0.18), transparent 45%, rgba(243, 144, 39, 0.16)) !important; pointer-events: none !important; }

.mv-intro-slide { position: absolute !important; inset: 0 !important; opacity: 0 !important; transform: scale(1.08) !important; transition: opacity 1.1s ease, transform 5.5s ease !important; }

.mv-intro-slide.active { opacity: 1 !important; transform: scale(1) !important; }

.mv-intro-slide img { width: 100% !important; height: 100% !important; display: block !important; object-fit: cover !important; object-position: center !important; }

.mv-intro-dots { position: absolute !important; left: 34px !important; bottom: 30px !important; z-index: 4 !important; display: flex !important; gap: 9px !important; }

.mv-intro-dots .mv-dot { width: 9px !important; height: 9px !important; border-radius: 999px !important; background: rgba(255, 255, 255, 0.58) !important; transition: width 0.35s ease, background 0.35s ease !important; border: 0 !important; padding: 0 !important; cursor: pointer !important; }

.mv-intro-dots .mv-dot.active { width: 32px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; }

.mv-intro-shape { position: absolute !important; right: -38px !important; top: -38px !important; width: 170px !important; height: 170px !important; z-index: 3 !important; pointer-events: none !important; }

.mv-intro-shape::before { content: "" !important; position: absolute !important; inset: 24px !important; border-radius: 44% 56% 62% 38% !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.72), rgba(243, 144, 39, 0.58)) !important; filter: blur(1px) !important; animation: mv-intro-blob 7s ease-in-out infinite !important; }

.mv-intro-shape span { position: absolute !important; border-radius: 999px !important; background: linear-gradient(135deg, #e30a17, #f39027) !important; box-shadow: 0 18px 42px rgba(227, 10, 23, 0.26) !important; animation: mv-intro-float 4.8s ease-in-out infinite !important; }

.mv-intro-shape span:nth-child(1) { width: 42px !important; height: 42px !important; left: 16px !important; bottom: 28px !important; }

.mv-intro-shape span:nth-child(2) { width: 22px !important; height: 22px !important; right: 34px !important; bottom: 12px !important; background: #ea571c !important; animation-delay: -1.6s !important; }

.mv-intro-content { position: relative !important; z-index: 2 !important; }

.mv-intro-kicker { display: inline-flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 18px !important; color: #e30a17 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; font-size: 0.92rem !important; }

.mv-intro-kicker::before { content: "" !important; width: 38px !important; height: 3px !important; border-radius: 999px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; }

.mv-intro-content h2 { margin: 0 0 24px 0 !important; color: #262622 !important; font-size: 3rem !important; line-height: 1.06 !important; letter-spacing: -0.045em !important; text-wrap: balance !important; }

.mv-intro-content p { margin: 0 !important; color: #62625b !important; font-size: 1.08rem !important; line-height: 1.8 !important; max-width: 620px !important; }

.mv-intro-content::after { content: "" !important; position: absolute !important; right: 8% !important; bottom: -54px !important; width: 130px !important; height: 130px !important; border-radius: 999px !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.1), rgba(243, 144, 39, 0.16)) !important; z-index: -1 !important; }

@keyframes mv-intro-float { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-10px, 14px, 0) scale(1.12); } }

@keyframes mv-intro-blob { 0%, 100% { transform: rotate(0deg) scale(1);
    border-radius: 44% 56% 62% 38%; }
  50% { transform: rotate(16deg) scale(1.12);
    border-radius: 60% 40% 42% 58%; } }

@media (max-width: 980px) { .mv-intro-section { padding: 70px 0 !important; } .mv-intro-container { grid-template-columns: 1fr !important; gap: 38px !important; } .mv-intro-carousel { min-height: 440px !important; } .mv-intro-content h2 { font-size: 2.5rem !important; } }

@media (max-width: 760px) { .mv-intro-section { padding: 56px 0 !important; } .mv-intro-container { padding: 0 14px !important; } .mv-intro-carousel { min-height: 360px !important; border-radius: 26px !important; } .mv-intro-dots { left: 24px !important; bottom: 22px !important; } .mv-intro-content h2 { font-size: 2.1rem !important; } .mv-intro-content p { font-size: 1rem !important; line-height: 1.7 !important; } .mv-intro-shape { width: 130px !important; height: 130px !important; right: -42px !important; top: -42px !important; } }

@media (max-width: 420px) { .mv-intro-carousel { min-height: 310px !important; } .mv-intro-content h2 { font-size: 1.85rem !important; } }

@media (prefers-reduced-motion: reduce) { .mv-intro-slide, .mv-intro-shape, .mv-intro-shape::before, .mv-intro-shape span, .mv-intro-dots .mv-dot { animation: none !important; transition: none !important; } }

.mv-corner-animation::before, .mv-corner-animation span, .mv-intro-shape::before, .mv-intro-shape span { animation-play-state: paused !important; }

.mv-hero:hover .mv-corner-animation::before, .mv-hero:hover .mv-corner-animation span, .mv-intro-section:hover .mv-intro-shape::before, .mv-intro-section:hover .mv-intro-shape span { animation-play-state: running !important; }

/***************************************MAPS*****************************/
.mv-map-section { position: relative !important; padding: 90px 0 !important; background: radial-gradient(circle at 10% 18%, rgba(227, 10, 23, 0.08), transparent 28%), radial-gradient(circle at 90% 80%, rgba(243, 144, 39, 0.12), transparent 32%), #ffffff !important; overflow: hidden !important; }

.mv-map-container { width: 100% !important; max-width: 1380px !important; margin: 0 auto !important; padding: 0 20px !important; box-sizing: border-box !important; display: grid !important; grid-template-columns: 0.9fr 1.1fr !important; gap: 58px !important; align-items: center !important; }

.mv-map-content { position: relative !important; z-index: 2 !important; }

.mv-map-content h2 { margin: 0 0 24px 0 !important; color: #262622 !important; font-size: 3rem !important; line-height: 1.06 !important; letter-spacing: -0.045em !important; text-wrap: balance !important; }

.mv-map-content p { margin: 0 0 18px 0 !important; color: #62625b !important; font-size: 1.08rem !important; line-height: 1.8 !important; max-width: 610px !important; }

.mv-map-link { position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; margin-top: 22px !important; padding: 17px 28px !important; min-height: 56px !important; border: 0 !important; border-radius: 999px !important; color: #ffffff !important; background: linear-gradient(135deg, #e30a17 0%, #e73c32 34%, #ea571c 66%, #f39027 100%) !important; text-decoration: none !important; font-weight: 600 !important; font-size: 1.05rem !important; line-height: 1.2 !important; letter-spacing: 0.02em !important; box-shadow: 0 18px 40px rgba(227, 10, 23, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important; overflow: hidden !important; transition: transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease !important; }

.mv-map-link::before { content: "" !important; position: absolute !important; inset: 0 !important; background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.36) 42%, transparent 68%) !important; transform: translateX(-115%) !important; transition: transform 0.65s ease !important; pointer-events: none !important; z-index: 0 !important; }

.mv-map-link:hover { color: #ffffff !important; text-decoration: none !important; transform: translateY(-4px) scale(1.025) !important; filter: saturate(1.08) !important; box-shadow: 0 26px 56px rgba(227, 10, 23, 0.42), 0 10px 22px rgba(243, 144, 39, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important; }

.mv-map-link:hover::before { transform: translateX(115%) !important; }

.mv-map-link i { position: relative !important; z-index: 1 !important; color: #ffffff !important; font-size: 1.1em !important; line-height: 1 !important; transition: transform 0.3s ease !important; }

.mv-map-link span, .mv-map-link { z-index: 1 !important; }

.mv-map-link:hover i { animation: mv-map-pin-bounce 0.72s ease both !important; }

@keyframes mv-map-pin-bounce { 0% { transform: translateY(0) scale(1); }
  28% { transform: translateY(-5px) scale(1.08); }
  52% { transform: translateY(2px) scale(0.98); }
  76% { transform: translateY(-2px) scale(1.04); }
  100% { transform: translateY(0) scale(1); } }

.mv-map-card { position: relative !important; min-height: 520px !important; border-radius: 34px !important; overflow: hidden !important; background: #62625b !important; box-shadow: 0 28px 70px rgba(0, 0, 0, 0.18), 0 12px 26px rgba(227, 10, 23, 0.14) !important; isolation: isolate !important; }

.mv-map-card::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 2 !important; pointer-events: none !important; }

.mv-map-frame { position: absolute !important; inset: 0 !important; z-index: 1 !important; }

.mv-map-frame iframe { width: 100% !important; height: 100% !important; display: block !important; border: 0 !important; }

.mv-map-badge { position: absolute !important; left: 28px !important; bottom: 28px !important; z-index: 4 !important; display: inline-flex !important; align-items: center !important; gap: 12px !important; padding: 15px 18px !important; border-radius: 22px !important; color: #ffffff !important; background: rgba(38, 38, 34, 0.72) !important; backdrop-filter: blur(12px) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24) !important; }

.mv-map-badge i { width: 38px !important; height: 38px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important; border-radius: 999px !important; background: linear-gradient(135deg, #e30a17, #f39027) !important; color: #ffffff !important; font-size: 1.05rem !important; }

.mv-map-badge span { color: #ffffff !important; font-weight: 700 !important; line-height: 1.75 !important; font-size: 0.98rem !important; }

.mv-map-shape { position: absolute !important; right: -38px !important; top: -38px !important; width: 170px !important; height: 170px !important; z-index: 3 !important; pointer-events: none !important; }

.mv-map-shape::before { content: "" !important; position: absolute !important; inset: 24px !important; border-radius: 44% 56% 62% 38% !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.72), rgba(243, 144, 39, 0.58)) !important; filter: blur(1px) !important; animation: mv-map-blob 7s ease-in-out infinite !important; animation-play-state: paused !important; }

.mv-map-shape span { position: absolute !important; border-radius: 999px !important; background: linear-gradient(135deg, #e30a17, #f39027) !important; box-shadow: 0 18px 42px rgba(227, 10, 23, 0.26) !important; animation: mv-map-float 4.8s ease-in-out infinite !important; animation-play-state: paused !important; }

.mv-map-card:hover .mv-map-shape::before, .mv-map-card:hover .mv-map-shape span, .mv-map-section:hover .mv-map-shape::before, .mv-map-section:hover .mv-map-shape span { animation-play-state: running !important; }

.mv-map-shape span:nth-child(1) { width: 42px !important; height: 42px !important; left: 16px !important; bottom: 28px !important; }

.mv-map-shape span:nth-child(2) { width: 22px !important; height: 22px !important; right: 34px !important; bottom: 12px !important; background: #ea571c !important; animation-delay: -1.6s !important; }

@keyframes mv-map-float { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-10px, 14px, 0) scale(1.12); } }

@keyframes mv-map-blob { 0%, 100% { transform: rotate(0deg) scale(1);
    border-radius: 44% 56% 62% 38%; }
  50% { transform: rotate(16deg) scale(1.12);
    border-radius: 60% 40% 42% 58%; } }

@media (max-width: 980px) { .mv-map-section { padding: 70px 0 !important; } .mv-map-container { grid-template-columns: 1fr !important; gap: 38px !important; } .mv-map-content h2 { font-size: 2.5rem !important; } .mv-map-card { min-height: 440px !important; } }

@media (max-width: 760px) { .mv-map-section { padding: 56px 0 !important; } .mv-map-container { padding: 0 14px !important; } .mv-map-content h2 { font-size: 2.1rem !important; } .mv-map-content p { font-size: 1rem !important; line-height: 1.7 !important; } .mv-map-link { width: 100% !important; padding-right: 22px !important; padding-left: 22px !important; box-sizing: border-box !important; } .mv-map-card { min-height: 360px !important; border-radius: 26px !important; } .mv-map-badge { left: 18px !important; right: 18px !important; bottom: 18px !important; } .mv-map-shape { width: 130px !important; height: 130px !important; right: -42px !important; top: -42px !important; } }

@media (max-width: 420px) { .mv-map-card { min-height: 310px !important; } .mv-map-content h2 { font-size: 1.85rem !important; } }

@media (prefers-reduced-motion: reduce) { .mv-map-link, .mv-map-link::before, .mv-map-link i, .mv-map-shape, .mv-map-shape::before, .mv-map-shape span { animation: none !important; transition: none !important; } }

/************************************************Bloc Prestations / Produits**********************************/
.mv-duo-section { min-height: 120vh !important; padding: 90px 0 !important; align-items: center !important; }

.mv-duo-section .mv-overlay { background: linear-gradient(90deg, rgba(20, 20, 18, 0.82) 0%, rgba(40, 40, 36, 0.68) 48%, rgba(20, 20, 18, 0.78) 100%), radial-gradient(circle at 18% 48%, rgba(227, 10, 23, 0.28), transparent 32%), radial-gradient(circle at 82% 52%, rgba(243, 144, 39, 0.22), transparent 34%), linear-gradient(135deg, rgba(227, 10, 23, 0.2), rgba(234, 87, 28, 0.14), rgba(98, 98, 91, 0.22)) !important; }

.mv-duo-container { position: relative !important; z-index: 2 !important; width: 100% !important; max-width: 1380px !important; margin: 0 auto !important; padding: 0 20px !important; box-sizing: border-box !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 34px !important; align-items: stretch !important; }

.mv-duo-card { position: relative !important; overflow: hidden !important; min-height: 560px !important; padding: 46px !important; border-radius: 34px !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; color: #ffffff !important; background: linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.07)) !important; border: 1px solid rgba(255, 255, 255, 0.22) !important; box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important; backdrop-filter: blur(14px) !important; }

.mv-duo-card::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: -1 !important; background: radial-gradient(circle at 18% 14%, rgba(227, 10, 23, 0.24), transparent 34%), radial-gradient(circle at 86% 92%, rgba(243, 144, 39, 0.22), transparent 36%) !important; opacity: 0.9 !important; }

.mv-duo-card .mv-intro-kicker { color: #ffffff !important; margin-bottom: 20px !important; }

.mv-duo-card .mv-intro-kicker::before { background: linear-gradient(90deg, #e30a17, #f39027) !important; }

.mv-duo-card h2 { margin: 0 0 28px 0 !important; color: #ffffff !important; font-size: 3.5rem !important; line-height: 1 !important; font-family: 'Bricolage Grotesque'; text-shadow: 0 18px 46px rgba(0, 0, 0, 0.34) !important; }

.mv-duo-card ul { margin: 0 0 34px 0 !important; padding: 0 !important; list-style: none !important; }

.mv-duo-card li { position: relative !important; margin-bottom: 14px !important; padding-left: 30px !important; color: rgba(255, 255, 255, 0.92) !important; font-size: 1.08rem !important; line-height: 1.45 !important; }

.mv-duo-card li::before { content: "" !important; position: absolute !important; left: 0 !important; top: 0.55em !important; width: 12px !important; height: 12px !important; border-radius: 999px !important; background: linear-gradient(135deg, #e30a17, #f39027) !important; box-shadow: 0 0 0 5px rgba(227, 10, 23, 0.16) !important; }

.mv-duo-button { align-self: flex-start !important; margin-top: auto !important; }

@keyframes mv-duo-blob { 0%, 100% { transform: rotate(0deg) scale(1);
    border-radius: 44% 56% 62% 38%; }
  50% { transform: rotate(16deg) scale(1.12);
    border-radius: 60% 40% 42% 58%; } }

@media (max-width: 980px) { .mv-duo-section { min-height: auto !important; padding: 80px 0 !important; } .mv-duo-container { grid-template-columns: 1fr !important; gap: 24px !important; } .mv-duo-card { min-height: auto !important; padding: 38px !important; } .mv-duo-card h2 { font-size: 2.8rem !important; } }

@media (max-width: 760px) { .mv-duo-section { padding: 64px 0 !important; } .mv-duo-container { padding: 0 14px !important; } .mv-duo-card { padding: 30px 24px !important; border-radius: 26px !important; } .mv-duo-card h2 { font-size: 2.25rem !important; } .mv-duo-card li { font-size: 1rem !important; } .mv-duo-button { width: 100% !important; } }

@media (max-width: 420px) { .mv-duo-card h2 { font-size: 1.95rem !important; } .mv-duo-card { padding: 26px 20px !important; } }

/************************************************Bannière pages secondaires**********************************/
.mv-hero-secondary { min-height: 60vh !important; padding: 80px 0 !important; align-items: center !important; }

.mv-hero-secondary .mv-overlay { background: linear-gradient(90deg, rgba(20, 20, 18, 0.82) 0%, rgba(40, 40, 36, 0.62) 46%, rgba(98, 98, 91, 0.24) 100%), radial-gradient(circle at 20% 50%, rgba(227, 10, 23, 0.3), transparent 34%), linear-gradient(135deg, rgba(227, 10, 23, 0.25), rgba(243, 144, 39, 0.14), rgba(234, 87, 28, 0.1)) !important; }

.mv-hero-secondary .mv-content { padding-top: 40px !important; padding-bottom: 40px !important; }

.mv-secondary-inner { position: relative !important; display: flex !important; align-items: center !important; gap: 38px !important; max-width: 1100px !important; }

.mv-hero-secondary .mv-logo { width: 190px !important; max-width: 28vw !important; margin-bottom: 0 !important; flex: 0 0 auto !important; }

.mv-secondary-title { position: relative !important; color: #ffffff !important; }

.mv-secondary-title .mv-intro-kicker { color: #ffffff !important; margin-bottom: 16px !important; }

.mv-secondary-title .mv-intro-kicker::before { background: linear-gradient(90deg, #e30a17, #f39027) !important; }

.mv-hero-secondary h1 { max-width: 850px !important; margin: 0 !important; color: #ffffff !important; font-size: 4rem !important; line-height: 1 !important; font-family: 'Bricolage Grotesque'; text-transform: uppercase !important; text-wrap: balance !important; text-shadow: 0 18px 50px rgba(0, 0, 0, 0.42) !important; }

.mv-hero-secondary .mv-corner-animation { width: 170px !important; height: 170px !important; right: 64px !important; top: 58px !important; }

.mv-hero-secondary .mv-dots { bottom: 22px !important; }

@media (max-width: 980px) { .mv-hero-secondary { min-height: 56vh !important; padding: 70px 0 !important; } .mv-secondary-inner { gap: 28px !important; } .mv-hero-secondary .mv-logo { width: 160px !important; } .mv-hero-secondary h1 { font-size: 3.2rem !important; } .mv-hero-secondary .mv-corner-animation { right: 34px !important; top: 42px !important; width: 140px !important; height: 140px !important; } }

@media (max-width: 760px) { .mv-hero-secondary { min-height: 520px !important; padding: 80px 0 70px !important; align-items: flex-end !important; } .mv-secondary-inner { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; } .mv-hero-secondary .mv-logo { width: 190px !important; max-width: 70vw !important; } .mv-hero-secondary h1 { font-size: 2.45rem !important; } .mv-hero-secondary .mv-corner-animation { width: 120px !important; height: 120px !important; right: -20px !important; top: 24px !important; opacity: 0.7 !important; } }

@media (max-width: 420px) { .mv-hero-secondary h1 { font-size: 2rem !important; } }

/************************************************Blocs valeurs séparés**********************************/
.mv-values-section { min-height: 120vh !important; }

.mv-values-container { grid-template-columns: 1fr !important; }

.mv-values-card { justify-content: flex-start !important; min-height: auto !important; }

.mv-values-card h2 { margin-bottom: 34px !important; }

.mv-values-list { position: relative !important; display: grid !important; gap: 22px !important; }

.mv-values-section-three .mv-values-list { grid-template-columns: repeat(3, 1fr) !important; }

.mv-values-section-four .mv-values-list { grid-template-columns: repeat(2, 1fr) !important; }

.mv-value-item { position: relative !important; display: grid !important; grid-template-columns: 58px 1fr !important; gap: 18px !important; align-items: center !important; padding: 20px !important; border-radius: 24px !important; background: rgba(255, 255, 255, 0.1) !important; border: 1px solid rgba(255, 255, 255, 0.16) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important; transition: transform 0.28s ease, background 0.28s ease, border-color 0.28s ease !important; }

.mv-value-item:hover { transform: translateY(-4px) !important; background: rgba(255, 255, 255, 0.15) !important; border-color: rgba(243, 144, 39, 0.42) !important; }

.mv-value-icon { width: 58px !important; height: 58px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 18px !important; color: #ffffff !important; background: linear-gradient(135deg, #e30a17, #f39027) !important; box-shadow: 0 16px 34px rgba(227, 10, 23, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.26) !important; }

.mv-value-icon svg { width: 29px !important; height: 29px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }

.mv-value-item h3 { margin: 0 0 18px 0 !important; color: #ffffff !important; font-size: 1.52rem !important; line-height: 1.18 !important; letter-spacing: -0.025em !important; }

.mv-value-item p { margin: 0 !important; color: rgba(255, 255, 255, 0.82) !important; font-size: 0.98rem !important; line-height: 1.55 !important; }

.mv-value-item:hover .mv-value-icon svg { animation: mv-value-icon-move 0.72s ease both !important; }

@keyframes mv-value-icon-move { 0% { transform: translateY(0) rotate(0deg) scale(1); }
  28% { transform: translateY(-4px) rotate(-4deg) scale(1.08); }
  56% { transform: translateY(2px) rotate(3deg) scale(1.02); }
  100% { transform: translateY(0) rotate(0deg) scale(1); } }

@media (max-width: 1180px) { .mv-values-container { max-width: 1000px !important; } .mv-values-section-three .mv-values-list, .mv-values-section-four .mv-values-list { grid-template-columns: 1fr !important; } .mv-value-item { grid-template-columns: 52px 1fr !important; padding: 18px !important; } .mv-value-icon { width: 52px !important; height: 52px !important; border-radius: 16px !important; } .mv-value-icon svg { width: 26px !important; height: 26px !important; } .mv-value-item h3 { font-size: 1.12rem !important; } .mv-value-item p { font-size: 0.95rem !important; } }

@media (max-width: 760px) { .mv-values-section { min-height: auto !important; padding: 64px 0 !important; } .mv-values-list { gap: 16px !important; } .mv-value-item { grid-template-columns: 1fr !important; gap: 14px !important; padding: 18px !important; } .mv-value-icon { width: 54px !important; height: 54px !important; } }

@media (prefers-reduced-motion: reduce) { .mv-value-item, .mv-value-icon svg { animation: none !important; transition: none !important; } }

/************************************************Bloc produits carousel *********************************/
.mv-products-section { position: relative !important; padding: 100px 0 !important; background: radial-gradient(circle at 8% 20%, rgba(227, 10, 23, 0.08), transparent 28%), radial-gradient(circle at 88% 80%, rgba(243, 144, 39, 0.1), transparent 30%), #ffffff !important; overflow: hidden !important; }

.mv-products-section::after { content: "" !important; position: absolute !important; left: -90px !important; bottom: -90px !important; width: 260px !important; height: 260px !important; border-radius: 999px !important; background: radial-gradient(circle, rgba(227, 10, 23, 0.12), rgba(243, 144, 39, 0.08), transparent 68%) !important; pointer-events: none !important; z-index: 0 !important; }

.mv-products-container { position: relative !important; z-index: 1 !important; width: 100% !important; max-width: 1180px !important; margin: 0 auto !important; padding: 0 86px !important; box-sizing: border-box !important; }

.mv-products-container::before { display: inline-flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 34px !important; color: #e30a17 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; font-size: 1.5rem !important; line-height: 1.2 !important; }

#nos-produits .mv-products-container::before { content: "Nos produits" !important; }

#nos-services .mv-products-container::before { content: "Nos services" !important; }

.mv-products-container::after { content: "" !important; position: absolute !important; top: 42px !important; left: 86px !important; width: 58px !important; height: 4px !important; border-radius: 999px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; pointer-events: none !important; }

.mv-products-carousel { position: relative !important; width: 100% !important; }

.mv-products-viewport { position: relative !important; overflow: hidden !important; width: 100% !important; padding: 10px 0 18px !important; }

.mv-products-grid { display: flex !important; grid-template-columns: none !important; gap: 0 !important; transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) !important; will-change: transform !important; }

.mv-product-card { position: relative !important; flex: 0 0 100% !important; min-width: 100% !important; padding: 0 !important; box-sizing: border-box !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; overflow: visible !important; transform: none !important; transition: none !important; }

.mv-product-card::before, .mv-product-card::after { display: none !important; }

.mv-product-card-inner { position: relative !important; height: 100% !important; min-height: 620px !important; overflow: hidden !important; border-radius: 34px !important; background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)) !important; border: 1px solid rgba(227, 10, 23, 0.1) !important; }

.mv-product-card-inner::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 0 !important; background: radial-gradient(circle at 12% 16%, rgba(227, 10, 23, 0.07), transparent 32%), radial-gradient(circle at 94% 92%, rgba(243, 144, 39, 0.1), transparent 34%) !important; pointer-events: none !important; }

.mv-product-card-inner::after { content: "" !important; position: absolute !important; right: -42px !important; top: -42px !important; width: 130px !important; height: 130px !important; border-radius: 44% 56% 62% 38% !important; background: linear-gradient(135deg, rgba(227, 10, 23, 0.2), rgba(243, 144, 39, 0.18)) !important; pointer-events: none !important; z-index: 1 !important; }

.mv-product-image, .mv-product-content { position: relative !important; z-index: 2 !important; }

.mv-product-image { width: 100% !important; height: 310px !important; overflow: hidden !important; border-radius: 34px 34px 0 0 !important; background: #62625b !important; }

.mv-product-image img { width: 100% !important; height: 100% !important; display: block !important; object-fit: cover !important; object-position: center !important; }

.mv-product-content { padding: 34px !important; }

.mv-product-card h3 { margin: 0 0 16px 0 !important; color: #262622 !important; font-size: 1.75rem !important; line-height: 1.12 !important; letter-spacing: -0.035em !important; }

.mv-product-card p { margin: 0 !important; color: #62625b !important; font-size: 1rem !important; line-height: 1.75 !important; }

.mv-products-controls { display: contents !important; }

.mv-products-arrows { display: contents !important; }

.mv-products-arrow { position: absolute !important; top: 50% !important; z-index: 5 !important; width: 58px !important; height: 58px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border: 0 !important; border-radius: 999px !important; color: #ffffff !important; background: linear-gradient(135deg, #e30a17 0%, #e73c32 34%, #ea571c 66%, #f39027 100%) !important; box-shadow: 0 18px 40px rgba(227, 10, 23, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important; cursor: pointer !important; transform: translateY(-50%) !important; transition: all 0.5s ease; }

.mv-products-arrow:hover { scale: 1.05; }

.mv-products-prev { left: -74px !important; }

.mv-products-next { right: -74px !important; }

.mv-products-arrow svg { width: 25px !important; height: 25px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2.3 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }

.mv-products-dots { display: flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; flex-wrap: wrap !important; margin-top: 26px !important; }

.mv-products-dot { width: 9px !important; height: 9px !important; border: 0 !important; padding: 0 !important; border-radius: 999px !important; background: rgba(98, 98, 91, 0.28) !important; cursor: pointer !important; transition: width 0.35s ease, background 0.35s ease !important; }

.mv-products-dot.active { width: 32px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; }

.mv-products-progress { position: relative !important; width: 100% !important; height: 4px !important; margin-top: 24px !important; border-radius: 999px !important; overflow: hidden !important; background: rgba(98, 98, 91, 0.14) !important; }

.mv-products-progress-bar { position: absolute !important; left: 0 !important; top: 0 !important; height: 100% !important; width: 0 !important; border-radius: 999px !important; background: linear-gradient(90deg, #e30a17, #f39027) !important; transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1) !important; }

@media (max-width: 1100px) { .mv-products-container { max-width: 900px !important; padding: 0 74px !important; } .mv-products-container::after { left: 74px !important; } .mv-products-prev { left: -66px !important; } .mv-products-next { right: -66px !important; } }

@media (max-width: 760px) { .mv-products-section { padding: 56px 0 !important; } .mv-products-container { padding: 0 14px !important; } .mv-products-container::after { left: 14px !important; } .mv-product-card-inner { min-height: auto !important; border-radius: 26px !important; } .mv-product-image { height: 235px !important; border-radius: 26px 26px 0 0 !important; } .mv-product-content { padding: 24px !important; } .mv-product-card h3 { font-size: 1.35rem !important; } .mv-product-card p { font-size: 0.98rem !important; line-height: 1.68 !important; } .mv-products-controls { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 18px !important; margin-top: 24px !important; } .mv-products-arrows { display: inline-flex !important; align-items: center !important; gap: 12px !important; } .mv-products-arrow { position: relative !important; top: auto !important; left: auto !important; right: auto !important; transform: none !important; width: 52px !important; height: 52px !important; } .mv-products-dots { justify-content: flex-end !important; margin-top: 0 !important; } }

@media (max-width: 420px) { .mv-product-image { height: 210px !important; } .mv-product-content { padding: 20px !important; } .mv-products-controls { flex-direction: column !important; } .mv-products-carousel { display: flex; flex-direction: column-reverse; } .mv-products-dots { justify-content: flex-start !important; } }

@media (prefers-reduced-motion: reduce) { .mv-products-grid, .mv-products-dot, .mv-products-progress-bar { transition: none !important; } }

/***************************************BOUTONS****************************/
a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; padding: 17px 28px !important; min-height: 56px !important; border: 0 !important; border-radius: 999px !important; outline: none !important; color: #ffffff !important; background: linear-gradient(135deg, #c9c19e 0%, #978d70 34%, #7c725b 66%, #8c8575 100%) !important; text-decoration: none !important; font-weight: 600 !important; font-size: 1rem !important; line-height: 1.2 !important; letter-spacing: 0.02em !important; text-align: center !important; white-space: nowrap !important; overflow: hidden !important; cursor: pointer !important; transform: translateY(0) scale(1) !important; transition: transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease !important; }

a.button_header::before, a.button_homepageScreen::before, a.button_homepageDoubleScreen::before, a.phone-number-button::before { content: "" !important; position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.36) 42%, transparent 68%) !important; transform: translateX(-115%) !important; transition: transform 0.65s ease !important; pointer-events: none !important; z-index: 0 !important; }

a.button_header:hover, a.button_homepageScreen:hover, a.button_homepageDoubleScreen:hover, a.phone-number-button:hover, a.button_header:focus, a.button_homepageScreen:focus, a.button_homepageDoubleScreen:focus, a.phone-number-button:focus { color: #ffffff !important; text-decoration: none !important; transform: translateY(-4px) scale(1.025) !important; filter: saturate(1.08) !important; }

a.button_header:hover::before, a.button_homepageScreen:hover::before, a.button_homepageDoubleScreen:hover::before, a.phone-number-button:hover::before, a.button_header:focus::before, a.button_homepageScreen:focus::before, a.button_homepageDoubleScreen:focus::before, a.phone-number-button:focus::before { transform: translateX(115%) !important; }

a.button_header > *, a.button_homepageScreen > *, a.button_homepageDoubleScreen > *, a.phone-number-button > * { position: relative !important; z-index: 1 !important; }

a.button_header i, a.button_homepageScreen i, a.button_homepageDoubleScreen i, a.phone-number-button i, a.button_header svg, a.button_homepageScreen svg, a.button_homepageDoubleScreen svg, a.phone-number-button svg { position: relative !important; z-index: 1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; color: #ffffff !important; fill: currentColor !important; font-size: 1.05em !important; width: 1.15em !important; height: 1.15em !important; line-height: 1 !important; flex: 0 0 auto !important; transition: transform 0.3s ease !important; }

a.button_header:hover i, a.button_homepageScreen:hover i, a.button_homepageDoubleScreen:hover i, a.phone-number-button:hover i, a.button_header:hover svg, a.button_homepageScreen:hover svg, a.button_homepageDoubleScreen:hover svg, a.phone-number-button:hover svg, a.button_header:focus i, a.button_homepageScreen:focus i, a.button_homepageDoubleScreen:focus i, a.phone-number-button:focus i, a.button_header:focus svg, a.button_homepageScreen:focus svg, a.button_homepageDoubleScreen:focus svg, a.phone-number-button:focus svg { animation: mv-button-icon-ring 0.72s ease both !important; }

@keyframes mv-button-icon-ring { 0% { transform: rotate(0deg) scale(1); }
  18% { transform: rotate(-14deg) scale(1.08); }
  36% { transform: rotate(13deg) scale(1.08); }
  54% { transform: rotate(-9deg) scale(1.06); }
  72% { transform: rotate(7deg) scale(1.04); }
  100% { transform: rotate(0deg) scale(1); } }

@media (max-width: 760px) { a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { padding: 15px 22px !important; min-height: 52px !important; font-size: 1rem !important; } }

@media (prefers-reduced-motion: reduce) { a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button, a.button_header::before, a.button_homepageScreen::before, a.button_homepageDoubleScreen::before, a.phone-number-button::before, a.button_header i, a.button_homepageScreen i, a.button_homepageDoubleScreen i, a.phone-number-button i, a.button_header svg, a.button_homepageScreen svg, a.button_homepageDoubleScreen svg, a.phone-number-button svg { animation: none !important; transition: none !important; } }

/*# sourceMappingURL=custom.css.map */