/* =====================================================================
   Change-écorce — feuille de style du site
   Police script : Courgette (remplace TT Milks Script). Pour en changer,
   modifier --font-script ci-dessous et le @font-face dans fonts.css.
   ===================================================================== */
:root {
  --font-script: "Courgette", "Brush Script MT", cursive;
  --color-vert: #dfeae8;
  --color-vert-clair: #dceae8;
  --color-terracotta: #bc614d;
  --color-bleu: #1a344f;
}

/* ---------- Base (normalize + éléments) ---------- */
html {
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  font-family:sans-serif;
}
body {
  margin:0;
}
article, aside, details, footer, header, hgroup, main, menu, nav, section, summary {
  display:block;
}
a {
  background-color:#0000;
}
a:active, a:hover {
  outline:0;
}
b, strong {
  font-weight:700;
}
h1 {
  margin:.67em 0;
  font-size:2em;
}
img {
  border:0;
}
html input[type=button] {
  -webkit-appearance:button;
  cursor:pointer;
}
html input[disabled] {
  cursor:default;
}
* {
  box-sizing:border-box;
}
html {
  height:100%;
}
body {
  color:#333;
  background-color:#fff;
  min-height:100%;
  margin:0;
  font-family:Arial,sans-serif;
  font-size:14px;
  line-height:20px;
}
img {
  vertical-align:middle;
  max-width:100%;
  display:inline-block;
}
h1, h2, h3, h4, h5, h6 {
  margin-bottom:10px;
  font-weight:700;
}
h1 {
  margin-top:20px;
  font-size:38px;
  line-height:44px;
}
h2 {
  margin-top:20px;
  font-size:32px;
  line-height:36px;
}
h3 {
  margin-top:20px;
  font-size:24px;
  line-height:30px;
}
h4 {
  margin-top:10px;
  font-size:18px;
  line-height:24px;
}
h5 {
  margin-top:10px;
  font-size:14px;
  line-height:20px;
}
h6 {
  margin-top:10px;
  font-size:12px;
  line-height:18px;
}
p {
  margin-top:0;
  margin-bottom:10px;
}
ul, ol {
  margin-top:0;
  margin-bottom:10px;
  padding-left:40px;
}
[type=button], [type=reset] {
  cursor:pointer;
  -webkit-appearance:button;
  border:0;
}
body {
  color:#1a1b1f;
  font-family:Comfortaa,Arial,sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:28px;
}
h1 {
  margin-top:20px;
  margin-bottom:15px;
  font-size:44px;
  font-weight:400;
  line-height:62px;
}
h2 {
  margin-top:10px;
  margin-bottom:10px;
  font-size:36px;
  font-weight:400;
  line-height:50px;
}
h3 {
  margin-top:10px;
  margin-bottom:10px;
  font-size:30px;
  font-weight:400;
  line-height:46px;
}
h4 {
  margin-top:10px;
  margin-bottom:10px;
  font-size:24px;
  font-weight:400;
  line-height:38px;
}
h5 {
  margin-top:10px;
  margin-bottom:10px;
  font-size:20px;
  font-weight:500;
  line-height:34px;
}
h6 {
  margin-top:10px;
  margin-bottom:10px;
  font-size:16px;
  font-weight:500;
  line-height:28px;
}
p {
  margin-bottom:10px;
}
a {
  color:#1a1b1f;
  text-decoration:underline;
  transition:opacity .2s;
  display:block;
}
a:hover {
  color:#32343a;
}
a:active {
  color:#43464d;
}
ul {
  margin-top:20px;
  margin-bottom:10px;
  padding-left:40px;
  list-style-type:disc;
}
li {
  margin-bottom:10px;
}
img {
  display:block;
}

/* ---------- Composants : conteneurs, grille, navigation, slider ---------- */
.wrap {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
.block-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.flex-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}
.inline-block {
  max-width: 100%;
  display: inline-block;
}
.services-grid {
  display: grid;
  gap: 20px;
  grid-auto-columns: 1fr;
  grid-template-rows: 450px minmax(250px, 1fr);
  grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr);
  justify-content: center;
  padding: 20px;
}
.services-cell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
/* Navigation */
.logo-link {
  color: #333;
  text-decoration: none;
  position: relative;
}
.navigation-item {
  color: #222;
  text-decoration: none;
  padding: 20px;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.menu-button {
  display: none;
  cursor: pointer;
  user-select: none;
  background: none;
  border: 0;
  padding: 18px;
  line-height: 0;
}
/* Slider des avis */
.slider {
  position: relative;
  text-align: center;
  clear: both;
}
.slider-mask {
  --slide-index: 0;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  position: relative;
  z-index: 1;
  transition: height .5s ease;
}
.slide {
  flex: 0 0 100%;
  width: 100%;
  text-align: left;
  white-space: normal;
  transform: translateX(calc(var(--slide-index) * -100%));
  transition: transform .5s ease;
}
.slider-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  position: static;
  z-index: 2;
}
.slider-dot {
  font: inherit;
  width: 1em;
  height: 1em;
  padding: 0;
  border: 0;
  border-radius: 100%;
  background-color: #2226;
  cursor: pointer;
  transition: background-color .1s;
}
.slider-dot.is-active {
  background-color: #222;
}
.slider-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  margin: auto;
  cursor: pointer;
  color: #fff;
  font-size: 40px;
  line-height: 1;
  border: 0;
  background: none;
  user-select: none;
  overflow: hidden;
}
/* Le site d'origine affichait les flèches malgré la règle display:none de la classe testimonial-slider-arrow. */
.testimonial-slider-arrow.slider-arrow {
  display: flex;
  background-color: #dceae84d;
}
.slider-arrow-left { left: 0; z-index: 3; }
.slider-arrow-right { right: 0; z-index: 4; }
@media (prefers-reduced-motion: reduce) {
  .slide, .slider-mask { transition: none; }
}
/* Ajouts propres au site statique */
.resalib-badge {
  box-shadow: 1px 3px 12px #555;
  border-radius: 10px;
}
.contact-intro {
  text-align: center;
  margin-bottom: 10px;
}
.footer-text {
  display: block;
}
.error-page {
  text-align: center;
  padding: 40px 20px 60px;
}
.error-page .primary-button {
  display: inline-flex;
  margin-top: 20px;
}

/* ---------- Styles du site ---------- */
.divider {
  background-color:#eee;
  border:1px #000;
  height:1px;
}
.section {
  margin-left:30px;
  margin-right:30px;
  padding-top:20px;
  padding-bottom:20px;
  font-family:Comfortaa,Arial,sans-serif;
}
.section.cc-home-wrap {
  margin-bottom:20px;
  padding-top:0;
  padding-bottom:0;
}
.section.cc-store-home-wrap {
  flex-flow:row;
  justify-content:center;
  align-items:center;
  padding-top:0;
  padding-bottom:0;
  display:flex;
}
.container {
  grid-column-gap:21px;
  grid-row-gap:21px;
  background-color:#0000;
  flex-flow:column;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:1140px;
  margin:10px auto 20px;
  padding-left:20px;
  padding-right:20px;
  display:block;
}
.primary-button {
  grid-column-gap:0px;
  grid-row-gap:0px;
  color:#fff;
  letter-spacing:2px;
  text-transform:uppercase;
  background-color:#bc614d;
  border:1px solid #bc614d;
  border-radius:37px;
  justify-content:center;
  align-items:center;
  padding:12px 25px;
  font-size:12px;
  line-height:20px;
  text-decoration:none;
  transition:background-color .4s,opacity .4s,color .4s;
  display:flex;
}
.primary-button:hover {
  color:#fff;
  background-color:#32343a;
}
.primary-button:active {
  background-color:#43464d;
}
.paragraph-light {
  float:none;
  opacity:.6;
  text-align:justify;
  margin-left:auto;
  margin-right:auto;
  font-family:Comfortaa,Arial,sans-serif;
}
.heading-jumbo {
  filter:drop-shadow(0 2px 5px #000000b3);
  text-align:center;
  text-transform:none;
  justify-content:center;
  align-items:center;
  margin-top:10px;
  margin-bottom:10px;
  font-family:var(--font-script);
  font-size:64px;
  line-height:80px;
  display:none;
}
.logo-link {
  z-index:1;
  flex:1;
  overflow:visible;
}
.logo-link:hover {
  opacity:.8;
}
.logo-link:active {
  opacity:.7;
}
.logo-link.is-current {
  flex:1;
}
.menu {
  z-index:0;
  grid-column-gap:0px;
  grid-row-gap:0px;
  text-align:center;
  grid-template-rows:auto auto;
  grid-template-columns:1fr 1fr;
  grid-auto-columns:1fr;
  justify-content:center;
  align-items:center;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  position:static;
  inset:0%;
}
.navigation-wrap {
  flex:1;
  justify-content:space-between;
  align-items:center;
  display:flex;
  position:relative;
}
.navigation {
  z-index:100;
  box-sizing:border-box;
  grid-column-gap:0px;
  grid-row-gap:0px;
  background-color:#dfeae8;
  align-items:center;
  height:80px;
  padding:0 50px;
  display:flex;
  position:fixed;
  top:0;
  left:0;
  right:0;
}
.navigation-item {
  opacity:.6;
  letter-spacing:1px;
  text-transform:none;
  justify-content:center;
  align-items:center;
  height:80px;
  padding-top:9px;
  padding-bottom:9px;
  font-size:12px;
  font-weight:500;
  line-height:20px;
  display:flex;
}
.navigation-item:hover {
  opacity:.9;
}
.navigation-item:active {
  opacity:.8;
}
.navigation-item.is-current {
  opacity:1;
  color:#1a344f;
  justify-content:center;
  align-self:center;
  align-items:center;
  height:80px;
  font-weight:600;
  display:flex;
}
.navigation-item.is-current:hover {
  opacity:.8;
  color:#32343a;
}
.navigation-item.is-current:active {
  opacity:.7;
  color:#32343a;
}
.logo-image {
  width:auto;
  max-height:80px;
  display:block;
}
.navigation-items {
  flex:none;
  justify-content:center;
  align-items:center;
  display:flex;
}
.intro-header {
  box-sizing:border-box;
  grid-column-gap:50px;
  grid-row-gap:50px;
  aspect-ratio:16/9;
  color:#fff;
  text-align:left;
  object-fit:cover;
  background-color:#f4f4f4;
  background-image:url(../img/header-accueil.jpeg);
  background-position:50%;
  background-size:cover;
  grid-template-rows:auto auto;
  grid-template-columns:1fr 1fr 1fr;
  grid-auto-columns:1fr;
  justify-content:center;
  align-items:center;
  width:100%;
  height:70vh;
  margin-bottom:0;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  overflow:auto;
}
.intro-header.cc-subpage {
  color:#fff;
  background-color:#000;
  background-image:url(../img/header-sous-page.jpeg);
  background-position:50% 47%;
  background-repeat:repeat;
  background-size:cover;
  justify-content:flex-start;
  align-items:center;
  height:480px;
}
.intro-content {
  text-align:center;
  width:70%;
  max-width:1140px;
}
.intro-content.cc-homepage {
  flex-flow:column;
  justify-content:space-around;
  align-items:center;
  width:70%;
  height:80%;
  margin-bottom:20px;
  display:none;
  overflow:visible;
}
.motto-wrap {
  grid-column-gap:28px;
  grid-row-gap:28px;
  text-align:center;
  flex-flow:column;
  justify-content:space-around;
  align-items:center;
  width:80%;
  margin:0 25px 40px;
  padding-top:20px;
  display:flex;
}
.details-wrap {
  grid-column-gap:30px;
  grid-row-gap:30px;
  flex-flow:wrap;
  justify-content:center;
  align-items:center;
  margin-bottom:30px;
  display:flex;
}
.contact-heading {
  margin-top:0;
  margin-bottom:15px;
  font-weight:400;
}
.project-overview-header {
  grid-column-gap:23px;
  grid-row-gap:23px;
  color:#fff;
  background-color:#f4f4f4;
  background-image:url(../img/header-prestation-detail.jpeg);
  background-position:50% 0;
  background-size:cover;
  flex-flow:column;
  justify-content:flex-end;
  align-items:center;
  height:620px;
  display:flex;
}
.reseaux {
  opacity:.6;
  margin-bottom:5px;
}
.reseaux:hover {
  opacity:1;
}
.reseaux:active {
  opacity:.8;
}
.home-content-wrap {
  margin-top:20px;
}
.home-section-wrap {
  margin-bottom:0;
  margin-left:auto;
  margin-right:auto;
  padding-left:15px;
  padding-right:15px;
}
.about-grid {
  grid-column-gap:100px;
  grid-row-gap:30px;
  grid-template:". ."/3.75fr 4.25fr;
  grid-auto-columns:.5fr;
  align-items:center;
  height:auto;
  margin-bottom:10px;
  display:flex;
}
.intro-text {
  grid-column-gap:50px;
  grid-row-gap:50px;
  flex-flow:column;
  justify-content:center;
  align-items:center;
  width:80%;
  height:30vh;
  margin-bottom:35px;
  margin-left:auto;
  margin-right:auto;
  display:block;
}
.secondary-button {
  color:#fff;
  letter-spacing:2px;
  text-transform:uppercase;
  background-color:#bc614d;
  background-clip:padding-box;
  border-radius:35px;
  margin-left:auto;
  margin-right:auto;
  padding:12px 25px;
  font-size:12px;
  line-height:20px;
  text-decoration:none;
}
.body {
  font-family:Comfortaa,Arial,sans-serif;
}
.text-block {
  text-transform:none;
  text-decoration:none;
}
.text-block-2 {
  color:#fff;
  font-family:"HK Grotesk",Arial,sans-serif;
}
.h2 {
  color:#1a344f;
  font-family:var(--font-script);
  font-size:28px;
}
.bold-text {
  box-sizing:border-box;
  grid-column-gap:0px;
  grid-row-gap:0px;
  vertical-align:sub;
  object-fit:contain;
  flex-flow:row;
  justify-content:center;
  align-items:center;
  width:auto;
  margin:40px auto;
  padding-left:10px;
  display:inline;
  position:static;
  overflow:visible;
}
.div-block {
  grid-column-gap:20px;
  grid-row-gap:20px;
  flex-flow:column;
  justify-content:center;
  align-items:center;
  margin-left:auto;
  margin-right:auto;
  padding-left:10px;
  padding-right:10px;
  display:flex;
}
.title-small {
  color:#1a344f;
  text-align:left;
  letter-spacing:1px;
  text-transform:none;
  margin-bottom:12px;
  font-family:var(--font-script);
  font-size:20px;
  font-weight:400;
  line-height:16px;
  text-decoration:none;
}
.footer-link {
  color:#1a1b1f;
  margin-top:12px;
  margin-bottom:6px;
  font-size:14px;
  line-height:16px;
  text-decoration:none;
}
.footer-link:hover {
  color:#1a1b1fbf;
}
.footer-copyright-center {
  text-align:center;
  font-size:12px;
  line-height:16px;
}
.flex-block-3 {
  color:#fff;
  background-color:#1a344f;
  flex-flow:row;
  justify-content:space-around;
  align-items:center;
  padding-top:10px;
  padding-bottom:10px;
  display:flex;
}
.link {
  color:#fff;
  text-decoration:none;
}
.flex-block-4 {
  flex-flow:row;
  justify-content:space-around;
  align-items:center;
  padding:10px 0;
}
.footer {
  grid-column-gap:80px;
  grid-row-gap:80px;
  background-color:#dfeae8;
  flex-flow:row;
  justify-content:center;
  align-items:stretch;
  width:100%;
  padding-top:10px;
  padding-bottom:10px;
  display:flex;
}
.footer-side {
  grid-column-gap:2px;
  grid-row-gap:2px;
  flex-flow:column;
  justify-content:center;
  align-items:center;
  display:flex;
}
.section-2 {
  margin-left:auto;
  margin-right:auto;
}
.list-item {
  font-family:Comfortaa,Arial,sans-serif;
}
.list {
  grid-column-gap:24px;
  grid-row-gap:24px;
  flex-flow:column;
  flex:0 auto;
  justify-content:center;
  align-items:flex-start;
  padding-right:10px;
  list-style-type:disc;
  display:flex;
}
.image {
  object-fit:cover;
  border-radius:20px;
  height:40vh;
  overflow:hidden;
}
.div-block-2 {
  margin-top:10px;
  margin-bottom:10px;
  display:flex;
}
.list-2 {
  grid-column-gap:10px;
  grid-row-gap:10px;
  flex-flow:column;
  justify-content:center;
  align-items:flex-start;
  display:flex;
}
.paragraph {
  text-align:center;
}
.div-block-5 {
  grid-column-gap:2px;
  grid-row-gap:2px;
  flex-flow:column;
  flex:0 auto;
  justify-content:center;
  align-items:center;
  margin-left:10px;
  margin-right:10px;
  padding-bottom:10px;
  padding-left:5px;
  padding-right:5px;
  display:flex;
}
.div-block-6 {
  flex-flow:column;
  flex:0 auto;
  justify-content:center;
  align-items:center;
  padding-right:10px;
  display:flex;
}
.heading {
  color:#bc614d;
  text-align:left;
  align-self:flex-start;
  font-family:var(--font-script);
  font-size:28px;
  display:block;
}
.paragraph-2 {
  color:#1a344f;
}
.image-3 {
  object-fit:cover;
  border-radius:20px;
  max-height:30vh;
}
.h3 {
  color:#bc614d;
  text-align:center;
  font-family:var(--font-script);
}
.heading-2 {
  color:#bc614d;
  text-align:center;
}
.heading-3 {
  color:#bc614d;
  text-align:center;
  margin-top:0;
  font-family:var(--font-script);
  font-size:23px;
}
.div-block-8 {
  grid-column-gap:12px;
  grid-row-gap:12px;
  background-color:#dceae880;
  border:1px solid #dceae8;
  flex-flow:column;
  justify-content:space-between;
  align-items:center;
  height:100%;
  padding:10px;
  display:flex;
}
.text-block-4, .text-block-5 {
  text-align:center;
}
.text-block-6 {
  color:#bc614d;
  text-transform:none;
  text-decoration:none;
}
.link-block {
  box-sizing:border-box;
  flex:0 auto;
  order:0;
  align-self:flex-end;
  font-family:var(--font-script);
  font-size:20px;
  text-decoration:none;
}
.div-block-11 {
  text-align:center;
  border:1px solid #f5e1d4;
  justify-content:center;
  align-items:center;
  padding:10px;
  display:flex;
}
.flex-block-6 {
  flex-flow:column;
  justify-content:center;
  align-items:center;
  margin-bottom:20px;
}
.h1 {
  color:#bc614d;
  text-align:center;
  font-family:var(--font-script);
}
.heading-5 {
  color:#bc614d;
  text-align:center;
  font-family:Comfortaa,Arial,sans-serif;
}
.section-5 {
  margin-bottom:20px;
}
.section-6 {
  margin-top:20px;
  margin-bottom:40px;
}
.div-block-12 {
  grid-column-gap:25px;
  grid-row-gap:25px;
  flex-flow:column;
  justify-content:space-between;
  align-items:stretch;
  display:flex;
}
.div-block-13 {
  text-align:center;
  width:90%;
  margin-top:20px;
  margin-left:auto;
  margin-right:auto;
}
.bold-text-2 {
  text-align:center;
}
.container-4 {
  margin-top:20px;
  margin-bottom:20px;
}
.intro-header-copy {
  box-sizing:border-box;
  grid-column-gap:50px;
  grid-row-gap:50px;
  aspect-ratio:16/9;
  color:#fff;
  text-align:left;
  object-fit:cover;
  background-color:#f4f4f4;
  background-image:url(../img/header-prestations.jpeg);
  background-position:50% 58%;
  background-size:cover;
  grid-template-rows:auto auto;
  grid-template-columns:1fr 1fr 1fr;
  grid-auto-columns:1fr;
  justify-content:center;
  align-items:center;
  width:100%;
  height:55vh;
  margin-bottom:0;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  overflow:auto;
}
.intro-header-copy.cc-subpage {
  color:#fff;
  background-color:#000;
  background-image:url(../img/header-sous-page.jpeg);
  background-position:50% 47%;
  background-repeat:repeat;
  background-size:cover;
  justify-content:flex-start;
  align-items:center;
  height:480px;
}
.container-5 {
  width:100%;
  max-width:940px;
  margin-left:auto;
  margin-right:auto;
}
.testimonial-slider-large {
  border:1px solid #dceae8;
}
.testimonial-slider-two {
  background-color:#0000;
  height:auto;
}
.testimonial-slide {
  background-color:#fff;
  justify-content:space-between;
  align-items:center;
  padding:12px 12px 12px 64px;
  display:flex;
}
.testimonial-content {
  grid-column-gap:20px;
  grid-row-gap:20px;
  flex-flow:column;
  justify-content:space-around;
  align-items:flex-start;
  max-width:80%;
  margin:auto;
  display:flex;
}
.testimonial-quote {
  margin-bottom:0;
  font-size:15px;
  font-weight:600;
  line-height:32px;
}
.testimonial-info-two {
  align-items:center;
  display:flex;
}
.testimonial-author-name {
  color:#1a344f;
  font-family:var(--font-script);
  font-size:22px;
  font-weight:400;
}
.testimonial-slider-arrow {
  background-color:#dceae84d;
  display:none;
}
.testimonial-slider-nav {
  margin-top:24px;
  font-size:10px;
  position:static;
  bottom:-60px;
}
.section-7 {
  margin-top:20px;
  margin-bottom:20px;
}
.testimonial-role {
  font-style:italic;
}
.price-wrap {
  justify-content:center;
  align-items:center;
  margin-left:auto;
  margin-right:auto;
  padding-top:0;
  padding-left:0;
  padding-right:0;
  display:flex;
}
.price-badge {
  color:#1a344f;
  text-align:center;
  background-color:#dceae8;
  border-radius:80px;
  margin-left:auto;
  margin-right:auto;
  padding:50px;
  font-family:Comfortaa,Arial,sans-serif;
  font-size:22px;
  font-weight:700;
}
.text-block-22, .text-block-23, .text-block-24 {
  text-align:justify;
}
.div-block-15 {
  flex-flow:column;
  justify-content:center;
  align-items:flex-start;
  padding-left:10px;
  padding-right:10px;
  display:flex;
}
.code-embed {
  justify-content:center;
  align-items:center;
  display:flex;
}
.flex-block-8 {
  flex-flow:wrap;
  justify-content:center;
  align-items:center;
}
.code-embed-2 {
  margin-top:10px;
  margin-bottom:10px;
}
.container-6 {
  margin-bottom:20px;
}
.text-block-25 {
  color:#575a66;
  justify-content:center;
  align-items:center;
  display:flex;
}
.container-7 {
  margin-top:20px;
}
.list-4 {
  grid-column-gap:67px;
  grid-row-gap:67px;
  flex-flow:wrap;
  justify-content:center;
  align-items:stretch;
  padding-left:0;
  list-style-type:none;
  display:flex;
}
.list-item-3 {
  list-style-type:none;
}
.div-block-16, .div-block-17, .div-block-18, .heading-8 {
  text-align:center;
}

@media screen and (max-width:991px) {
  h2 {
    font-family:Comfortaa,Arial,sans-serif;
  }
  .section {
    padding-top:20px;
    padding-bottom:20px;
  }
  .container {
    grid-column-gap:28px;
    grid-row-gap:28px;
    flex-flow:row;
    grid-template-rows:auto auto;
    grid-template-columns:1fr;
    grid-auto-columns:1fr;
    justify-content:center;
    align-items:stretch;
    display:grid;
  }
  .primary-button {
    justify-content:center;
  }
  .paragraph-light {
    color:#1a1b1f;
  }
  .heading-jumbo {
    box-sizing:border-box;
    text-align:center;
    font-family:var(--font-script);
    font-size:56px;
    line-height:70px;
    text-decoration:none;
    display:none;
    overflow:visible;
  }
  .logo-link.is-current {
    flex:none;
    justify-content:center;
    align-items:center;
    width:100px;
    height:100px;
    display:flex;
  }
  .menu-icon {
    display:block;
  }
  .menu {
    background-color:#dfeae8;
    justify-content:flex-end;
    align-items:center;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    position:static;
  }
  .navigation-wrap {
    background-color:#dfeae8;
    flex-flow:row;
    flex:0 auto;
    justify-content:space-between;
    width:100%;
    height:80px;
    display:flex;
    overflow:visible;
  }
  .navigation {
    grid-column-gap:0px;
    grid-row-gap:0px;
    background-clip:padding-box;
    justify-content:center;
    align-items:center;
    height:80px;
    margin-left:auto;
    margin-right:auto;
    padding:25px 5px;
    display:flex;
  }
  .navigation-item {
    text-align:center;
    background-color:#0000;
    padding:0;
    text-decoration:none;
    transition:background-color .4s,opacity .4s,color .4s;
  }
  .navigation-item:hover {
    background-color:#f7f8f9;
  }
  .navigation-item:active {
    background-color:#eef0f3;
  }
  .navigation-item.is-current {
    justify-content:center;
    align-items:center;
    padding:0;
    display:flex;
    overflow:visible;
  }
  .menu-button {
    padding:0;
  }
  .logo-image {
    flex:1;
    width:100px;
    min-width:100px;
    height:100px;
    overflow:auto;
  }
  .navigation-items {
    grid-column-gap:27px;
    grid-row-gap:27px;
    background-color:#0000;
    justify-content:center;
    align-items:center;
    width:100%;
    height:80px;
    display:flex;
  }
  .intro-header {
    box-sizing:border-box;
    background-color:#fff;
    background-image:url(../img/header-accueil-mobile.jpeg);
    background-repeat:repeat;
    background-size:cover;
    justify-content:center;
    align-items:center;
    width:100%;
    height:75vh;
    margin-bottom:20px;
    margin-left:0;
    margin-right:0;
  }
  .intro-header.cc-subpage {
    margin-left:auto;
    margin-right:auto;
  }
  .intro-content.cc-homepage {
    grid-column-gap:0px;
    grid-row-gap:0px;
    flex-flow:column;
    flex:1;
    justify-content:center;
    align-items:center;
  }
  .project-overview-header {
    grid-column-gap:0px;
    grid-row-gap:0px;
    background-image:url(../img/header-prestation-detail.jpeg);
    background-position:50%;
    background-size:cover;
    flex-flow:column;
    justify-content:flex-end;
    align-items:flex-end;
  }
  .home-content-wrap {
    margin-top:0;
  }
  .home-section-wrap {
    grid-column-gap:0px;
    grid-row-gap:0px;
    flex-flow:column;
    flex:0 auto;
    order:-1;
    justify-content:center;
    align-self:center;
    align-items:center;
    display:block;
  }
  .about-grid {
    grid-column-gap:50px;
    grid-row-gap:50px;
    text-align:center;
    grid-template:".""."/1fr;
  }
  .intro-text {
    width:auto;
  }
  .body {
    margin-top:60px;
  }
  .text-block {
    color:#1a1b1f;
  }
  .footer {
    padding-top:20px;
    padding-bottom:20px;
  }
  .list-item {
    color:#1a1b1f;
    text-align:left;
    font-family:Comfortaa,Arial,sans-serif;
  }
  .div-block-2 {
    margin-top:20px;
  }
  .section-4 {
    grid-column-gap:22px;
    grid-row-gap:22px;
    flex-flow:column;
    justify-content:center;
    align-items:center;
    margin:20px auto;
    display:flex;
  }
  .list-2 {
    grid-column-gap:10px;
    grid-row-gap:10px;
    text-align:left;
    flex-flow:column;
    justify-content:space-between;
    align-items:stretch;
    display:flex;
  }
  .paragraph {
    border:1px solid #f5e1d4;
    padding:5px;
  }
  .div-block-5 {
    border:1px solid #f5e1d4;
    margin-left:auto;
    margin-right:auto;
    padding:10px;
  }
  .div-block-6 {
    margin-left:auto;
    margin-right:auto;
    display:flex;
  }
  .heading {
    color:#bc614d;
    font-family:var(--font-script);
    font-size:26px;
  }
  .paragraph-2 {
    font-family:"HK Grotesk",Arial,sans-serif;
  }
  .image-3 {
    box-sizing:border-box;
    object-fit:cover;
    object-position:50% 25%;
    border-radius:20px;
    width:100%;
    height:35vh;
  }
  .text-block-3 {
    color:#bc614d;
    text-align:center;
    border:1px solid #bc614d;
    margin-left:5px;
    margin-right:5px;
    padding:10px;
    font-family:"HK Grotesk",Arial,sans-serif;
  }
  .h3 {
    color:#bc614d;
    text-align:center;
    font-family:var(--font-script);
    font-size:25px;
  }
  .heading-2 {
    color:#bc614d;
    text-align:center;
    padding-left:2px;
    padding-right:2px;
  }
  .div-block-11 {
    border-style:none;
  }
  .intro-header-copy {
    box-sizing:border-box;
    background-color:#fff;
    background-image:url(../img/header-accueil-mobile.jpeg);
    background-repeat:repeat;
    background-size:cover;
    justify-content:center;
    align-items:center;
    width:100vw;
    margin-bottom:40px;
    margin-left:0;
    margin-right:0;
  }
  .intro-header-copy.cc-subpage {
    margin-left:auto;
    margin-right:auto;
  }
  .container-5 {
    max-width:728px;
  }
  .testimonial-slide {
    padding-left:32px;
  }
  .testimonial-quote {
    overflow:visible;
  }
  .flex-block-7 {
    width:100%;
  }
  .list-3 {
    margin-top:10px;
  }
  .list-4 {
    grid-column-gap:27px;
    grid-row-gap:27px;
    padding-left:0;
  }
}

@media screen and (max-width:767px) {
  .section {
    margin-left:15px;
    margin-right:15px;
  }
  .section.cc-home-wrap, .section.cc-store-home-wrap {
    margin-left:15px;
    margin-right:15px;
  }
  .container {
    text-align:center;
  }
  .heading-jumbo {
    font-size:50px;
    line-height:64px;
  }
  .logo-link {
    padding-left:0;
  }
  .navigation-wrap {
    background-color:#dfeae8;
    flex-flow:row;
    flex:1;
    justify-content:space-between;
  }
  .navigation {
    padding:20px 30px;
  }
  .navigation-items {
    background-color:#dfeae8;
    height:auto;
  }
  .intro-content {
    width:80%;
  }
  .motto-wrap {
    margin-bottom:40px;
  }
  .details-wrap {
    text-align:left;
  }
  .about-grid {
    flex-flow:wrap;
    justify-content:flex-start;
    height:auto;
    display:inline-flex;
  }
  .div-block {
    display:flex;
  }
  .footer-link:hover {
    color:#1a1b1fbf;
  }
  .footer {
    grid-column-gap:33px;
    grid-row-gap:33px;
    flex-flow:wrap;
    margin-right:5px;
    padding-left:5px;
  }
  .footer-side {
    margin-left:0;
    padding-left:0;
  }
  .section-2 {
    display:block;
  }
  .list-item {
    color:#1a1b1f;
  }
  .list {
    display:inline-block;
  }
  .paragraph-2 {
    text-align:left;
  }
  .testimonial-slider-large {
    padding:60px 15px;
  }
  .testimonial-slide {
    flex-direction:column;
    padding:23px;
  }
  .testimonial-content {
    max-width:none;
    margin-bottom:40px;
    margin-right:0;
  }
  .testimonial-slider-arrow {
    background-color:#0000;
  }
  .price-wrap {
    color:#1a344f;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    padding:0;
    font-family:var(--font-script);
  }
  .price-badge {
    text-align:center;
    background-color:#dceae8;
    border-radius:50px;
    margin-left:auto;
    margin-right:auto;
    padding:20px;
    font-family:Comfortaa,Arial,sans-serif;
  }
  .code-embed {
    justify-content:center;
    align-items:center;
    display:flex;
  }
  .list-4 {
    padding-left:0;
  }
}

@media screen and (max-width:479px) {
  h1 {
    font-size:36px;
    line-height:52px;
  }
  .section.cc-store-home-wrap {
    margin-left:5px;
    margin-right:5px;
  }
  .container {
    flex-flow:column;
    margin-bottom:50px;
    display:flex;
  }
  .paragraph-light {
    margin-left:auto;
    margin-right:auto;
    padding-left:10px;
    padding-right:10px;
  }
  .heading-jumbo {
    font-size:36px;
    line-height:48px;
  }
  .logo-link.is-current {
    box-sizing:border-box;
    height:80px;
    text-decoration:none;
    overflow:hidden;
  }
  .menu {
    margin-left:15px;
  }
  .navigation {
    padding-left:20px;
    padding-right:20px;
  }
  .menu-button {
    flex:none;
  }
  .logo-image {
    width:auto;
  }
  .motto-wrap {
    width:100%;
    margin-left:5px;
    margin-right:5px;
  }
  .details-wrap {
    grid-column-gap:5px;
    grid-row-gap:5px;
  }
  .project-overview-header {
    background-position:33%;
    background-size:cover;
  }
  .home-content-wrap {
    clear:both;
    position:static;
  }
  .home-section-wrap {
    padding-left:0;
    padding-right:0;
  }
  .about-grid {
    grid-column-gap:15px;
    grid-row-gap:15px;
  }
  .text-block {
    padding-left:5px;
    padding-right:5px;
  }
  .div-block {
    padding-left:0;
    padding-right:0;
  }
  .flex-block-3 {
    grid-column-gap:5px;
    grid-row-gap:5px;
    flex-flow:wrap;
    justify-content:space-around;
  }
  .flex-block-4 {
    grid-column-gap:5px;
    grid-row-gap:5px;
    flex-flow:wrap;
  }
  .footer {
    grid-column-gap:45px;
    grid-row-gap:20px;
    flex-flow:column;
    flex:0 auto;
    order:0;
    justify-content:center;
    align-self:auto;
    align-items:center;
    display:inline-flex;
  }
  .footer-side {
    margin-top:10px;
  }
  .list {
    padding-right:10px;
  }
  .div-block-3 {
    overflow-wrap:normal;
    flex-flow:column;
    display:flex;
    position:static;
  }
  .section-3 {
    flex-flow:column;
    display:flex;
  }
  .image-2 {
    box-sizing:border-box;
    flex:1;
    max-height:200px;
    overflow:clip;
  }
  .paragraph {
    margin-left:5px;
    margin-right:5px;
  }
  .heading-5 {
    padding-left:10px;
    padding-right:10px;
  }
  .container-5 {
    max-width:none;
  }
  .testimonial-quote {
    font-size:15px;
    line-height:30px;
  }
  .testimonial-author-name {
    color:#1a344f;
    font-family:var(--font-script);
    font-size:24px;
    font-weight:400;
  }
  .testimonial-role {
    color:#1a344f;
    font-style:italic;
  }
  .testimonial-role {
    font-style:italic;
  }
  .price-wrap {
    background-color:#0000;
    border:1px #dceae8;
    justify-content:center;
    align-items:center;
    font-family:var(--font-script);
    display:flex;
  }
  .price-badge {
    text-align:center;
    background-color:#dceae8;
    border-radius:50px;
    margin-left:auto;
    margin-right:auto;
    padding:30px;
    font-family:Comfortaa,Arial,sans-serif;
    font-weight:700;
  }
  .text-block-22, .text-block-23, .text-block-24 {
    text-align:justify;
    padding-left:10px;
    padding-right:10px;
  }
  .div-block-15 {
    align-items:center;
  }
}

/* ---------- Responsive des composants (remplace le runtime Webflow) ---------- */
@media screen and (max-width: 991px) {
  .wrap, .block-container { max-width: 728px; }
  .services-grid {
    grid-template-rows: minmax(auto, 2fr);
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .block-container { max-width: none; }
  .services-grid {
    grid-template-rows: minmax(0, 2.5fr);
    grid-template-columns: 1fr;
  }
  .logo-link { padding-left: 10px; }
  .menu-button { display: block; }
  .navigation-items {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    flex-direction: column;
    height: auto;
    padding: 10px 0 20px;
    background-color: var(--color-vert);
    box-shadow: 0 8px 16px rgba(0, 0, 0, .08);
  }
  .navigation.is-open .navigation-items { display: flex; }
  .navigation.is-open .navigation-item,
  .navigation.is-open .navigation-item.is-current {
    width: 100%;
    height: auto;
    padding: 12px 20px;
  }
}
@media screen and (max-width: 479px) {
  .wrap { max-width: none; }
}
@media screen and (max-width: 767px) {
  .testimonial-slider-arrow.slider-arrow { background-color: transparent; }
}
@media screen and (max-width: 479px) {
  /* « L'accompagnement » dépasse 320 px en h1 : autoriser la césure du titre */
  h1.heading-2 { hyphens: auto; overflow-wrap: break-word; }
}
