
    :root {
      --color-primary: #0d47a1;         /* Bleu confiance */
      --color-primary-light: #1565c0;
      --color-secondary: #f5f5f5;       /* Gris très clair */
      --color-accent: #ff9800;          /* Accent CTA */
      --color-text: #222222;
      --color-muted: #666666;
      --color-border: #e0e0e0;
      --color-white: #ffffff;

      --font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

      --radius-sm: 0.25rem;
      --radius-md: 0.5rem;
      --radius-lg: 0.75rem;

      --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
      --shadow-md: 0 4px 12px rgba(0,0,0,0.10);

      --spacing-xs: 0.5rem;
      --spacing-sm: 0.75rem;
      --spacing-md: 1rem;
      --spacing-lg: 1.5rem;
      --spacing-xl: 2rem;
      --spacing-xxl: 3rem;

      --max-width-content: 1100px; 
    }
	
	

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: var(--font-base);
      color: var(--color-text);
      background-color: var(--color-white);
      line-height: 1.6;
    }

    img {
      max-width: 100%;
      display: block;
      height: auto;
    }

    a {
      color: var(--color-primary);
      text-decoration: none;
    }

    a:hover,
    a:focus {
      text-decoration: underline;
    }

    .wrapper {
      max-width: var(--max-width-content);
      margin-inline: auto;
      padding-inline: var(--spacing-md);
    }
	
	
	.bgcolor-secondaire {
      background-color: var(--color-secondary);
    }
	
	
	/* Encart Astuce de l’Expert */
	.expert-tip{
	  margin: var(--spacing-lg) 0;
	  padding: var(--spacing-md) var(--spacing-lg);
	  background: var(--color-secondary);
	  border: 1px solid var(--color-border);
	  border-left: 6px solid var(--color-primary);
	  border-radius: var(--radius-lg);
	  box-shadow: var(--shadow-sm);
	}

	.expert-tip h3{
	  margin: 0 0 var(--spacing-sm) 0;
	  color: var(--color-primary);
	  line-height: 1.25;
	  font-size: 1.05rem;
	}

	.expert-tip p{
	  margin: 0 0 var(--spacing-sm) 0;
	  color: var(--color-text);
	}

	.expert-tip p:last-child{
	  margin-bottom: 0;
	}

	.expert-tip ul{
	  margin: var(--spacing-sm) 0 var(--spacing-sm) 1.1rem;
	  padding: 0;
	  color: var(--color-text);
	}

	.expert-tip li{
	  margin: 0 0 0.35rem 0;
	}

	.expert-tip strong{
	  color: var(--color-text);
	}

	/* Mini signature optionnelle */
	.expert-tip__sig{
	  margin-top: var(--spacing-sm);
	  font-size: 0.95rem;
	  color: var(--color-muted);
	}

	/* Focus clavier (accessibilité) si tu mets un lien dans l’encart */
	.expert-tip a{
	  color: var(--color-primary);
	  text-decoration: underline;
	  text-underline-offset: 2px;
	}
	.expert-tip a:focus-visible{
	  outline: 3px solid var(--color-accent);
	  outline-offset: 2px;
	  border-radius: var(--radius-sm);
	}

	/* Responsive : un peu plus compact sur mobile */
	@media (max-width: 600px){
	  .expert-tip{
		padding: var(--spacing-md);
	  }
	  .expert-tip h3{
		font-size: 1rem;
	  }
	}


    /* Accessibilité */

    .skip-link {
      position: absolute;
      left: -999px;
      top: 0;
      background: var(--color-primary);
      color: var(--color-white);
      padding: var(--spacing-xs) var(--spacing-sm);
      z-index: 10000;
    }

    .skip-link:focus {
      left: var(--spacing-md);
    }

    /* Header */

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background-color: var(--color-white);
      box-shadow: var(--shadow-sm);
    }

    .site-header-inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: var(--spacing-sm);
      padding: var(--spacing-sm) var(--spacing-md);
      max-width: var(--max-width-content);
      margin-inline: auto;
    }

    .logo a {
      font-weight: 700;
      font-size: 1.25rem;
      color: var(--color-primary);
      text-decoration: none;
      letter-spacing: 0.03em;
    }

    .logo span {
      color: var(--color-accent);
    }

    .main-nav {
      flex: 1 1 100%;
      order: 3;
    }

    .main-nav ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-wrap: wrap;
      gap: var(--spacing-sm);
    }

    .main-nav a {
      display: inline-block;
      padding: 0.35rem 0.75rem;
      border-radius: 999px;
      font-size: 0.9rem;
      background-color: transparent;
      border: 1px solid transparent;
    }

    .main-nav a:hover,
    .main-nav a:focus {
      border-color: var(--color-primary-light);
      background-color: rgba(13,71,161,0.06);
      text-decoration: none;
    }

    .btn-call {
      margin-left: auto;
      padding: 0.45rem 0.9rem;
      border-radius: 999px;
      background-color: var(--color-accent);
      color: var(--color-white);
      font-weight: 600;
      border: none;
      box-shadow: var(--shadow-sm);
      font-size: 0.9rem;
      white-space: nowrap;
    }

    .btn-call:hover,
    .btn-call:focus {
      background-color: #fb8c00;
      text-decoration: none;
    }

    /* Boutons */

    .btn-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 0.75rem 1.5rem;
      border-radius: 999px;
      background-color: var(--color-primary);
      color: var(--color-white);
      border: none;
      font-weight: 600;
      font-size: 1rem;
      cursor: pointer;
      box-shadow: var(--shadow-md);
    }

    .btn-primary:hover,
    .btn-primary:focus {
      background-color: var(--color-primary-light);
      text-decoration: none;
    }

    .btn-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.6rem 1.2rem;
      border-radius: 999px;
      border: 1px solid var(--color-primary);
      color: var(--color-primary);
      background: transparent;
      font-weight: 500;
      font-size: 0.95rem;
      cursor: pointer;
    }

    .btn-secondary:hover,
    .btn-secondary:focus {
      background-color: rgba(13,71,161,0.06);
      text-decoration: none;
    }

    /* Hero */

    .hero {
      padding: var(--spacing-xl) 0 var(--spacing-lg);
      background: linear-gradient(
        135deg,
        rgba(13,71,161,0.08),
        rgba(13,71,161,0.02)
      );
    }

    .hero-inner {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-lg);
    }
	
	.hero-image img {
  aspect-ratio: 4/3;
  width: 100%;
  max-width: 420px;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}




    .hero-text {
      max-width: 38rem;
    }

    .hero h1 {
      font-size: 1.8rem;
      margin: 0 0 var(--spacing-sm);
    }

    .hero-subtitle {
      font-size: 1rem;
      color: var(--color-muted);
      margin: 0 0 var(--spacing-md);
    }

    .hero-meta {
      font-size: 0.9rem;
      color: var(--color-muted);
      margin-bottom: var(--spacing-md);
    }

    .hero-cta {
      display: flex;
      flex-wrap: wrap;
      gap: var(--spacing-sm);
      align-items: center;
    }

    .hero-cta-note {
      font-size: 0.85rem;
      color: var(--color-muted);
    }

    .hero-highlight {
      display: inline-flex;
      gap: 0.5rem;
      flex-wrap: wrap;
      margin-top: var(--spacing-sm);
      font-size: 0.9rem;
      color: var(--color-muted);
    }

    .hero-highlight span {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      background-color: rgba(255,255,255,0.9);
      box-shadow: var(--shadow-sm);
    }

    .hero-highlight span::before {
      content: "✔";
      color: var(--color-accent);
      font-size: 0.85rem;
    }

    /* Sommaire */

    .toc {
      background-color: var(--color-secondary);
      padding: var(--spacing-md) 0;
      border-block: 1px solid var(--color-border);
    }

    .toc-inner {
      border-radius: var(--radius-md);
      background-color: var(--color-white);
      padding: var(--spacing-md);
      box-shadow: var(--shadow-sm);
    }

    .toc h2 {
      margin-top: 0;
      font-size: 1.1rem;
    }

    .toc ol {
      margin: var(--spacing-sm) 0 0;
      padding-left: 1.2rem;
      font-size: 0.95rem;
    }

    /* Sections génériques */

    section {
      padding-block: var(--spacing-xl);
    }

    .section-header {
      margin-bottom: var(--spacing-md);
    }

    .section-header h2 {
      margin: 0 0 var(--spacing-xs);
      font-size: 1.4rem;
    }

    .section-header p {
      margin: 0;
      color: var(--color-muted);
      font-size: 0.95rem;
    }
	
	
	
	section#tarifs {
		    background-color: var(--color-secondary)

	}
	
	
	section#faq {
		    background-color: var(--color-secondary)

	}


    /* Services */

    .services-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--spacing-md);
    }

    .service-card {
      border-radius: var(--radius-md);
      border: 1px solid var(--color-border);
      padding: var(--spacing-md);
      box-shadow: var(--shadow-sm);
      background-color: var(--color-white);
    }

    .service-card h3 {
      margin-top: 0;
      margin-bottom: var(--spacing-xs);
      font-size: 1.1rem;
    }

    .service-card p {
      margin: 0 0 var(--spacing-sm);
      font-size: 0.95rem;
    }

    .list-check {
      list-style: none;
      padding-left: 0;
      margin: 0;
    }

    .list-check li {
      position: relative;
      padding-left: 1.4rem;
      margin-bottom: 0.35rem;
      font-size: 0.95rem;
    }

    .list-check li::before {
      content: "\2714";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--color-accent);
      font-size: 0.85rem;
      transform: translateY(0.15rem);
    }

    /* Tarifs (tableau) */  

    .tarifs-table-wrapper, .table-responsive {
      border-radius: var(--radius-md);
      border: 1px solid var(--color-border);
      overflow-x: auto;
      background-color: var(--color-white);
      box-shadow: var(--shadow-sm);
	  
    }

    table {
      width: 100%;
      border-collapse: collapse;
      min-width: 450px;
      font-size: 0.95rem;
    }

    th,
    td {
      padding: 0.6rem 0.75rem;
      border-bottom: 1px solid var(--color-border);
      text-align: left;
      white-space: nowrap;
    }

    th {
      background-color: var(--color-secondary);
      font-weight: 600;
    }

    tr:last-child td {
      border-bottom: none;
    }

    /* Ce qu'il faut retenir */

    .key-points {
      backgroeund: linear-gradient(to top, rgba(13,71,161,0.08), rgb(13 71 161 / 46%));

    }

    .alert {
      padding: var(--spacing-md);
      border-radius: var(--radius-md);
      border-left: 4px solid var(--color-primary);
      background-color: var(--color-white);
      box-shadow: var(--shadow-sm);
    }

    .alert h2, .alert h3 {
      margin-top: 0;
      margin-bottom: var(--spacing-sm);
      font-size: 1.2rem;
    }

    .alert p {
      margin-top: 0;
      margin-bottom: var(--spacing-sm);
      font-size: 0.95rem;
      color: var(--color-muted);
    }

    .alert.info {
      border-left-color: var(--color-accent);
    }
	
	.expertise-badge {
    background-color: #f5f5f5de;
    border-radius: 5px;
    padding: 5px 15px;
	}

    /* FAQ */

    .faq-items {
      display: grid;
      gap: var(--spacing-sm);
    }

    details {
      border-radius: var(--radius-md);
      border: 1px solid var(--color-border);
      background-color: var(--color-white);
      padding: var(--spacing-sm) var(--spacing-md);
    }

    summary {
      cursor: pointer;
      font-weight: 600;
      list-style: none;
    }

    summary::-webkit-details-marker {
      display: none;
    }

    summary::after {
      content: "▾";
      float: right;
      font-size: 0.8rem;
      color: var(--color-muted);
    }

    details[open] summary::after {
      content: "▴";
    }

    details p {
      margin-top: var(--spacing-xs);
      font-size: 0.95rem;
      color: var(--color-muted);
    }
	
	details p a {
		border: solid #ff9800 1px;
		padding: 3px 7px;
		background-color: #ff98007d;
		color: black;
		font-weight: bold;
		border-radius: 3px;
	}

    /* Contact / formulaire */

    .contact-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--spacing-lg);
    }

    .contact-infos {
      font-size: 0.95rem;
      color: var(--color-muted);
	  background-color: rgba(13, 71, 161, 0.05);
      border: 1px solid rgba(13, 71, 161, 0.15);
      padding:10px 17px;
      border-left: 4px solid rgba(13,71,161,0.35);

    }
	



    .contact-infos strong {
      color: var(--color-text);
    }

    .contact-infos a {
      font-weight: 500;
    }

    .contact-card {
      border-radius: var(--radius-md);
      padding: var(--spacing-md);
      background-color: rgba(255, 152, 0, 0.08);
      border: 1px solid var(--color-border);
      box-shadow: 0 2px 6px rgba(0,0,0,0.06);

    }

    .contact-card h3 {
      margin-top: 0;
      margin-bottom: var(--spacing-xs);
      font-size: 1.15rem;
    }

    form {
      display: grid;
      gap: var(--spacing-sm);
      margin-top: var(--spacing-sm);
    }

    .form-row {
      display: grid;
      gap: var(--spacing-sm);
    }

    label {
      display: block;
      font-size: 0.9rem;
      font-weight: 500;
      margin-bottom: 0.25rem;
    }

    input,
    textarea,
    select {
      width: 100%;
      padding: 0.55rem 0.6rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--color-border);
      font-family: var(--font-base);
      font-size: 0.95rem;
      background-color: var(--color-white);
    }

    input:focus,
    textarea:focus,
    select:focus {
      outline: 2px solid var(--color-primary-light);
      outline-offset: 1px;
      border-color: var(--color-primary-light);
    }

    textarea {
      min-height: 120px;
      resize: vertical;
    }

    .form-note {
      font-size: 0.8rem;
      color: var(--color-muted);
    }

    .form-rgpd {
      display: flex;
      align-items: flex-start;
      gap: 0.45rem;
      font-size: 0.8rem;
      color: var(--color-muted);
    }

    .form-rgpd input[type="checkbox"] {
      width: auto;
      margin-top: 0.2rem;
    }

    /* Footer */

    .site-footer {
      background-color: #0b234b;
      color: rgba(255,255,255,0.88);
      padding: var(--spacing-lg) 0 var(--spacing-md);
      margin-top: var(--spacing-xl);
    }

    .footer-top {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--spacing-lg);
    }

    .footer-col h3 {
      margin-top: 0;
      font-size: 1.05rem;
    }

    .footer-col p {
      margin: 0;
      font-size: 0.9rem;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
      font-size: 0.9rem;
    }

    .footer-links li {
      margin-bottom: 0.35rem;
    }

    .footer-links a {
      color: rgba(255,255,255,0.9);
      text-decoration: none;
    }

    .footer-links a:hover,
    .footer-links a:focus {
      text-decoration: underline;
    }

    .footer-bottom {
      margin-top: var(--spacing-md);
      padding-top: var(--spacing-sm);
      border-top: 1px solid rgba(255,255,255,0.1);
      font-size: 0.8rem;
      color: rgba(255,255,255,0.75);
      display: flex;
      flex-wrap: wrap;
      gap: var(--spacing-xs);
      justify-content: space-between;
      align-items: center;
    }

    .footer-bottom a {
      color: inherit;
      text-decoration: underline;
      text-decoration-style: dotted;
    }

    /* WhatsApp flottant */

    .whatsapp-btn {
      position: fixed;
      right: var(--spacing-md);
      bottom: 4.5rem;
      width: 3rem;
      height: 3rem;
      border-radius: 999px;
      background-color: #25d366;
      color: #ffffff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 1.4rem;
      box-shadow: var(--shadow-md);
      z-index: 900;
    }

    .whatsapp-btn span {
      position: relative;
      top: -0.03rem;
    }

    .whatsapp-btn:hover,
    .whatsapp-btn:focus {
      filter: brightness(1.05);
      text-decoration: none;
    }

    /* Bandeau RGPD (design uniquement, JS à ajouter plus tard si besoin) */

    .cookie-banner {
      position: fixed;
      inset-inline: 0;
      bottom: 0;
      z-index: 800;
      background-color: rgba(15,23,42,0.98);
      color: #ffffff;
      padding: var(--spacing-sm) var(--spacing-md);
      font-size: 0.85rem;
    }

    .cookie-inner {
      max-width: var(--max-width-content);
      margin-inline: auto;
      display: flex;
      flex-direction: column;
      gap: var(--spacing-xs);
      align-items: flex-start;
    }

    .cookie-actions {
      display: flex;
      gap: var(--spacing-sm);
      flex-wrap: wrap;
    }

    .btn-cookie {
      border-radius: 999px;
      border: none;
      padding: 0.4rem 0.9rem;
      font-size: 0.85rem;
      cursor: pointer;
      font-weight: 500;
    }

    .btn-cookie-primary {
      background-color: var(--color-accent);
      color: #ffffff;
    }

    .btn-cookie-secondary {
      background-color: transparent;
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.35);
    }

    /* Responsive */

    @media (min-width: 768px) {
      .hero {
        padding-block: var(--spacing-xxl);
      }

      .hero-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
      }

      .hero-text {
        max-width: 32rem;
      }

      .main-nav {
        flex: 1 1 auto;
        order: 2;
      }

      .site-header-inner {
        padding-inline: var(--spacing-lg);
      }

      .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .contact-layout {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
        align-items: flex-start;
      }

      .footer-top {
        grid-template-columns: 1.2fr 1fr 1fr;
      }

      .cookie-inner {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
      }

      .main-nav ul {
        justify-content: flex-start;
      }
    }

    @media (min-width: 1024px) {
      .hero h1 {
        font-size: 2.2rem;
      }

      .hero-subtitle {
        font-size: 1.05rem;
      }
    }
	
	
	
	/* Bloc Avis Google */
.reviews-cta {
  padding-block: var(--spacing-lg);
}

.reviews-cta__box {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: rgba(13, 71, 161, 0.05);
  box-shadow: var(--shadow-sm);
  padding: var(--spacing-md);
}

.reviews-cta__rating {
  margin: 0 0 var(--spacing-xs);
  font-size: 1rem;
}

.reviews-cta__text {
  margin: 0 0 var(--spacing-sm);
  color: var(--color-muted);
  font-size: 0.95rem;
}

.reviews-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  align-items: center;
}





/* === STORY / INTERVENTION RÉELLE === */
.case-example {
  background: #f8f9fa;
  border-left: 4px solid #0d6efd; /* bleu pro */
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0 2rem 0;
  border-radius: 6px;
}

.case-example h4 {
  margin: 0 0 0.5rem 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0d6efd;
}

.case-example p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333;
}

.case-example strong {
  color: #000;
  font-weight: 600;
}




/* ==============================
   Témoignages clients
================================ */
.testimonials {
  background: #ffffff;
  padding: 3rem 0;
  border-top: 1px solid #e5e5e5;
}

.testimonials h2 {
  text-align: center;
  margin-bottom: 0.5rem;
}

.section-intro {
  text-align: center;
  color: #666;
  margin-bottom: 2rem;
  font-size: 0.95rem;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

.review-card {
  background: #f9f9f9;
  padding: 1.25rem;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.stars {
  color: #ffb400;
  font-size: 1rem;
  letter-spacing: 1px;
}

.review-date {
  font-size: 0.8rem;
  color: #888;
}

.review-text {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #333;
}

.review-author {
  font-size: 0.85rem;
  color: #555;
}

.reviews-cta {
  text-align: center;
  margin-top: 2rem;
}

.review-card { height: 100%; }
.review-card:hover { transform: translateY(-2px); }
.review-card { transition: transform .15s ease, box-shadow .15s ease; }






/* Encarts "style3" : Exemples d'interventions (cards) */
.style3{
  margin: 2rem 0;
  padding: 1.25rem;
  border: 1px solid rgba(0,0,0,.10);
  border-left: 6px solid rgba(0,0,0,.18);
  border-radius: 14px;
  background: rgba(0,0,0,.03);
}

.style3 h2{
  margin: 0 0 .75rem 0;
  font-size: 1.35rem;
  line-height: 1.25;
}

.style3-lead{
  margin: 0 0 .9rem 0;
  opacity: .85;
}

.style3 ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem;
}

@media (min-width: 768px){
  .style3 ul{
    grid-template-columns: 1fr 1fr;
  }
}

.style3 li{
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.6);
  border-radius: 14px;
  padding: 1rem;
  line-height: 1.5;
}


