/* Page Services / Cuisine — migration pixel-perfect depuis moltow-08-2026.
   CSS mort confirmé non repris (~1500 lignes) : ancien hero a carrousel photo
   (.hero/.hero-container/.hero-content/.hero-carousel/.carousel-container/
   .carousel-slide/.carousel-indicators/.indicator/.hero-mobile-title/.hero-cta/
   .hero-checks, .trust-*, .badge-*, .hero .breadcrumb...), entièrement remplacé
   par .hero-v2 mais jamais nettoyé côté source — confirmé 100% mort classe par
   classe contre le body réel. Egalement morts : ajustements-hero-services
   (cible l'ancien .hero), .card-label, .testimonial-stats/.stat,
   .pricing-card-premium/.premium-badge (remplacées par .pricing-card-custom),
   .realisations-carousel et ses enfants (display:none a tous les breakpoints).
   Le CSS mobile ci-dessous est la version CONSOLIDEE : la source contient 3
   couches successives de correctifs "FORCE OVERRIDE" sur les memes selecteurs
   (realisations/pricing/benefits/projects/methode), la derniere physiquement
   dans le fichier l'emportant (meme specificite + !important) — une seule
   version finale est portee ici, pas les 3 couches redondantes. */

body {
  margin: 0;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  color: #57483e;
  background: #ffffff;
}

h2, h3 { color: #8a6248; }

.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.section-title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #8a6248;
  margin-bottom: 16px;
}
.section-subtitle {
  text-align: center;
  font-size: 18px;
  color: #666;
  margin-bottom: 60px;
}

/* ========== HERO V2 ========== */
.hero-v2{--hv2-accent:#8a6248;--hv2-accent-dark:#684735;--hv2-ink:#332820;--hv2-ink-soft:#57483e;--hv2-ink-mute:#7b6d62;--hv2-line:#dfd3c7;--hv2-card:#fff;background:linear-gradient(135deg,#f7f0e7 0%,#eee2d5 55%,#e7d7c8 100%);padding:2rem clamp(1.2rem,4vw,3rem) 2.6rem;color:var(--hv2-ink)}
.hero-v2 .hero-v2-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;column-gap:clamp(2rem,4vw,4rem);align-items:center}
.hero-v2 .hero-v2-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--hv2-accent);margin:0 0 .9rem}
.hero-v2 .hero-v2-eyebrow::before{content:"";width:2rem;height:2px;background:var(--hv2-accent);border-radius:2px}
.hero-v2 h1{font-size:clamp(1.95rem,1.45rem + 1.9vw,2.7rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 .7rem;font-weight:800;color:var(--hv2-ink)}
.hero-v2 h1 em{font-style:normal;color:var(--hv2-accent)}
.hero-v2 .hero-v2-sub{font-size:1rem;line-height:1.55;color:var(--hv2-ink-soft);margin:0 0 1.3rem;max-width:34rem}
.hero-v2 nav.hero-v2-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 1.5rem;padding:0}
.hero-v2 nav.hero-v2-cta a{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;padding:.85rem 1.5rem;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:.2s;cursor:pointer}
.hero-v2 nav.hero-v2-cta a.hv2-primary{background:var(--hv2-accent);color:#fff}
.hero-v2 nav.hero-v2-cta a.hv2-primary:hover{background:var(--hv2-accent-dark);transform:translateY(-1px)}
.hero-v2 nav.hero-v2-cta a.hv2-ghost{border-color:var(--hv2-line);color:var(--hv2-ink)}
.hero-v2 nav.hero-v2-cta a.hv2-ghost:hover{border-color:var(--hv2-accent);color:var(--hv2-accent)}
.hero-v2 dl.hero-v2-stats{display:flex;flex-wrap:wrap;gap:1rem clamp(1.4rem,3vw,2.8rem);margin:0;padding:0}
.hero-v2 dl.hero-v2-stats dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.hero-v2 dl.hero-v2-stats dd{margin:0;font-weight:800;font-size:1.2rem;color:var(--hv2-ink);letter-spacing:-.01em;white-space:nowrap}
.hero-v2 dl.hero-v2-stats dd a{color:inherit;text-decoration:none}
.hero-v2 dl.hero-v2-stats dd a:hover{color:var(--hv2-accent)}
.hero-v2 dl.hero-v2-stats dd::after{content:attr(data-label);display:block;font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--hv2-ink-mute);margin-top:.15rem}
.hero-v2 figure{position:relative;margin:0}
.hero-v2 figure img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:20px;box-shadow:0 14px 40px rgba(31,27,22,.18)}
.hero-v2 figcaption{position:absolute;inset-block-end:1.1rem;inset-inline-start:-1.1rem;margin:0;background:var(--hv2-card);border:1px solid var(--hv2-line);box-shadow:0 14px 40px rgba(31,27,22,.18);border-radius:18px;padding:.95rem 1.35rem;display:grid;gap:.15rem;font-size:.85rem;font-weight:600;color:var(--hv2-ink-soft);max-width:min(85%,22rem)}
.hero-v2 figcaption b{font-size:1.35rem;font-weight:900;color:var(--hv2-accent);letter-spacing:-.02em;line-height:1.1}
.hero-v2 figcaption small{font-weight:500;font-size:.72rem;color:var(--hv2-ink-mute)}
@media (max-width:767px){.hero-v2 .hero-v2-grid{grid-template-columns:1fr;row-gap:1.6rem}.hero-v2 figure{margin-top:.4rem}.hero-v2 figcaption{inset-inline-start:.8rem;inset-inline-end:.8rem}}

/* ========== REALISATIONS (desktop : valeurs "FORCE OVERRIDE") ========== */
.realisations-section {
  padding: 60px 0;
  background: linear-gradient(135deg, #fbf8f3 0%, #ffffff 100%);
}
.realisations-section h2 { text-align: center; font-size: 2rem; font-weight: 700; color: #8a6248; margin-bottom: 16px; }
.realisations-section .section-subtitle { text-align: center; font-size: 1.1rem; color: #666; margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto; }
.realisations-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  align-items: start;
}
.realisation-card {
  display: block;
  text-decoration: none;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: white;
  height: auto;
  border: none;
}
.realisation-card:hover { transform: translateY(-6px); box-shadow: 0 12px 32px rgba(138, 98, 72, 0.12); }
.realisation-image { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.realisation-image picture { width: 100%; height: 100%; display: block; }
.realisation-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.realisation-card:hover .realisation-image img { transform: scale(1.05); }
.realisation-info { padding: 14px 16px; text-align: center; background: white; }
.realisation-info h3 { font-size: 1.05rem; font-weight: 600; color: #8a6248; margin: 0 0 4px 0; line-height: 1.3; }
.realisation-info p { font-size: 0.9rem; color: #777; margin: 0; line-height: 1.4; }
@media (min-width: 1200px) {
  .realisations-grid { max-width: 1200px; gap: 28px; }
  .realisation-info { padding: 16px 18px; }
  .realisation-info h3 { font-size: 1.1rem; }
  .realisation-info p { font-size: 0.95rem; }
}

/* ========== METHODE (3 etapes) ========== */
.methode { padding: 80px 40px; background: white; }
.steps-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 1200px; margin: 0 auto; }
.step { text-align: center; padding: 32px 24px; background: white; border-radius: 16px; border: 2px solid #E5E7EB; transition: all 0.3s; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }
.step:hover { border-color: #8a6248; box-shadow: 0 12px 32px rgba(138, 98, 72, 0.2); transform: translateY(-4px); }
.step-number { width: 60px; height: 60px; background: #8a6248; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; margin: 0 auto 24px; }
.step h3 { font-size: 20px; font-weight: 600; margin-bottom: 16px; color: #8a6248; }
.step p { color: #666; font-size: 15px; line-height: 1.6; }

/* ========== PRICING (desktop : valeurs "FORCE OVERRIDE" 4 colonnes) ========== */
.pricing { padding: 60px 20px; background: #f3ede5; }
.pricing-container { max-width: 1150px; margin: 0 auto; }
.pricing-intro { text-align: center; margin-bottom: 40px; }
.pricing-intro .section-title { font-size: 1.8rem; color: #8a6248; margin-bottom: 12px; }
.pricing-intro p { font-size: 16px; color: #666; margin-top: 0; }
.pricing-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1150px; margin: 0 auto; }
.pricing-card { background: white; border-radius: 16px; padding: 24px 16px; text-align: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); transition: all 0.3s; position: relative; overflow: hidden; }
.pricing-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: #8a6248; }
.pricing-card:hover { transform: translateY(-6px); box-shadow: 0 10px 28px rgba(138, 98, 72, 0.15); }
.pricing-card h3 { font-size: 15px; font-weight: 600; margin-bottom: 4px; color: #8a6248; }
.pricing-card .size { font-size: 12px; color: #777; margin-bottom: 14px; }
.pricing-card .price { font-size: 26px; font-weight: 700; color: #8a6248; margin-bottom: 14px; line-height: 1.2; }
.pricing-card .price .price-unit { font-size: 15px; font-weight: 500; }
.pricing-image { width: 100%; height: 110px; background: #f3ede5; border-radius: 10px; margin-bottom: 14px; overflow: hidden; }
.pricing-image img { width: 100%; height: 100%; object-fit: cover; }
.features-list { text-align: left; margin-bottom: 16px; padding: 0; list-style: none; }
.features-list li { display: flex; align-items: flex-start; gap: 6px; margin-bottom: 6px; font-size: 11px; color: #666; line-height: 1.4; }
.features-list li::before { content: "✓"; color: #8a6248; font-weight: 700; font-size: 12px; flex-shrink: 0; }
.pricing-card .btn-moltow { padding: 10px 14px; font-size: 12px; width: 100%; box-sizing: border-box; }
.financing-note { font-size: 10px; color: #888; margin-top: 8px; }
.pricing-description, .pricing-loa { display: none; }
.pricing-cta-mobile { display: none !important; }
.pricing-card-custom { background: linear-gradient(to bottom, #fbf8f3 0%, white 100%); border: 2px solid #8a6248; }
.pricing-card-custom::before { height: 4px; background: linear-gradient(90deg, #8a6248 0%, #a98267 100%); }
@media (min-width: 1200px) {
  .pricing-cards { gap: 24px; }
  .pricing-card { padding: 28px 20px; }
  .pricing-card h3 { font-size: 16px; }
  .pricing-card .price { font-size: 28px; }
  .pricing-image { height: 130px; }
  .features-list li { font-size: 12px; }
}

/* ========== BENEFITS ========== */
.benefits { padding: 80px 40px; background: white; }
.benefits-container { max-width: 1200px; margin: 0 auto; }
.benefits-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; margin-top: 48px; }
.benefit-card { background: #E8E8FF; padding: 40px 32px; border-radius: 24px; transition: all 0.3s; }
.benefit-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(138, 98, 72, 0.15); }
.benefit-icon { width: 56px; height: 56px; background: #8a6248; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.benefit-icon svg { width: 28px; height: 28px; color: white; }
.benefit-card h3 { font-size: 22px; font-weight: 600; margin-bottom: 16px; color: #8a6248; }
.benefit-card p { color: #666; font-size: 15px; line-height: 1.6; }

/* ========== CTA SECTION (milieu de page) ========== */
.cta-section { background: linear-gradient(135deg, #8a6248 0%, #a98267 100%); color: white; padding: 80px 40px; }
.cta-content-wrapper { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cta-text h2 { font-size: 36px; font-weight: 700; margin-bottom: 20px; line-height: 1.2; color: white; }
.cta-text p { font-size: 18px; margin-bottom: 32px; opacity: 0.95; }
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cta-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.cta-gallery .cta-photo:first-child { grid-column: 1 / -1; }
.cta-photo { border-radius: 16px; overflow: hidden; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); height: 200px; background: white; }
.cta-photo img { width: 100%; height: 100%; object-fit: cover; }

/* ========== PROJECTS (masquee entierement en mobile) ========== */
.projects { padding: 80px 40px; background: #f3ede5; }
.projects-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 1200px; margin: 48px auto 0; }
.project-card { background: white; border-radius: 16px; padding: 32px 24px; text-align: center; transition: all 0.3s; }
.project-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); }
.project-photo { width: 100%; height: 180px; background: #f3ede5; border-radius: 12px; overflow: hidden; margin-bottom: 24px; }
.project-photo img { width: 100%; height: 100%; object-fit: cover; }
.project-card h3 { font-size: 18px; font-weight: 600; margin-bottom: 12px; color: #8a6248; }
.project-card p { font-size: 14px; color: #666; line-height: 1.5; }

/* ========== TESTIMONIALS ========== */
.testimonials { padding: 80px 40px; background: white; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1200px; margin: 48px auto 0; }
.testimonial-card { background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); transition: all 0.3s; }
.testimonial-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); }
.testimonial-image { width: 100%; height: 220px; background: #f3ede5; overflow: hidden; }
.testimonial-image img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-content { padding: 24px; }
.testimonial-name { font-weight: 600; font-size: 16px; margin-bottom: 4px; color: #333; }
.testimonial-location { font-size: 14px; color: #666; margin-bottom: 16px; }
.testimonial-text { font-size: 14px; color: #666; line-height: 1.6; }

/* ========== FAQ ========== */
.faq { padding: 80px 40px; background: #f3ede5; }
.faq-container { max-width: 900px; margin: 48px auto 0; }
.faq-item { background: white; border-radius: 16px; margin-bottom: 16px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
.faq-question { width: 100%; padding: 24px 32px; background: none; border: none; text-align: left; font-size: 16px; font-weight: 400; color: #333; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: all 0.3s; }
.faq-question:hover { color: #8a6248; }
.faq-arrow { width: 24px; height: 24px; color: #8a6248; transition: transform 0.3s; flex-shrink: 0; }
.faq-item.active .faq-arrow { transform: rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
.faq-item.active .faq-answer { max-height: 500px; }
.faq-answer-content { padding: 0 32px 24px; color: #666; line-height: 1.6; }

/* ========== FINAL CTA ========== */
.final-cta { background: linear-gradient(135deg, #4b352b 0%, #8a6248 100%); color: white; padding: 100px 40px; text-align: center; position: relative; overflow: hidden; }
.final-cta::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); animation: cuisine-final-cta-pulse 15s ease-in-out infinite; }
@keyframes cuisine-final-cta-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.final-cta-content { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; }
.final-cta h2 { font-size: 42px; font-weight: 700; margin-bottom: 24px; line-height: 1.2; color: white; }
.final-cta p { font-size: 20px; margin-bottom: 40px; opacity: 0.95; }

/* ========== BOUTONS (specifiques a cette page) ========== */
.btn-moltow, .btn-moltow-secondary { margin: 0; padding: 0; border: 0; background: none; font: inherit; }
.btn-moltow {
  display: inline-block;
  padding: 14px 24px;
  background: #8a6248;
  border: 1px solid #FFFAFA;
  border-radius: 16px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #FFFAFA;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s;
}
.btn-moltow:hover { background: #684735; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(138, 98, 72, 0.3); }
.btn-moltow-icon::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.btn-moltow-secondary {
  display: inline-block;
  padding: 14px 24px;
  background: #FFFAFA;
  border: 2px solid #8a6248;
  border-radius: 16px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #8a6248;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s;
}
.btn-moltow-secondary:hover { background: #eee2d7; transform: translateY(-2px); }
.btn-moltow-secondary.btn-moltow-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a6248' d='M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'/%3E%3C/svg%3E");
}

/* ========== RESPONSIVE 1024px ========== */
@media (max-width: 1024px) {
  .steps-container, .testimonials-grid, .pricing-cards { grid-template-columns: repeat(2, 1fr); }
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .benefits-grid, .cta-content-wrapper { grid-template-columns: 1fr; }
  .section-title { font-size: 32px; }
}

/* ========== RESPONSIVE MOBILE (<=768px) — versions consolidees (derniere couche gagnante) ========== */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; max-width: 100vw; }
  img { max-width: 100%; height: auto; }

  .container { padding: 0 16px; }

  .methode, .benefits, .projects, .testimonials, .faq { padding: 50px 20px; }
  .methode { padding-top: 40px !important; }
  .pricing { padding: 40px 20px !important; background: linear-gradient(180deg, #fbf8f3 0%, #ffffff 100%) !important; }

  /* --- Realisations : grille 2x2 (derniere couche : "CORRECTION FINALE") --- */
  .realisations-section { padding: 28px 0 24px 0 !important; overflow: hidden !important; }
  .realisations-section .container { padding: 0 16px !important; max-width: 100% !important; overflow: hidden !important; }
  .realisations-section h2 { font-size: 1.4rem !important; margin-bottom: 8px !important; }
  .realisations-section .section-subtitle { display: block !important; font-size: 13px !important; margin-bottom: 16px !important; color: #666 !important; line-height: 1.4 !important; }
  .realisations-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: min-content !important;
    align-items: start !important;
    align-content: start !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  .realisations-grid .realisation-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    align-self: start !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    background: white !important;
  }
  .realisations-grid .realisation-image { width: 100% !important; height: 100px !important; min-height: 100px !important; max-height: 100px !important; aspect-ratio: unset !important; flex-shrink: 0 !important; border-radius: 10px 10px 0 0 !important; overflow: hidden !important; }
  .realisations-grid .realisation-info { padding: 10px !important; background: white !important; text-align: center !important; flex-grow: 0 !important; flex-shrink: 0 !important; }
  .realisations-grid .realisation-info h3 { font-size: 13px !important; margin-bottom: 2px !important; color: #8a6248 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  .realisations-grid .realisation-info p { font-size: 11px !important; color: #666 !important; margin: 0 !important; }

  /* --- Methode : numero-gauche / texte-droite, 2 lignes max (couche "PROFESSIONNELLES") --- */
  .methode { padding: 32px 20px !important; }
  .methode .section-title { font-size: 22px !important; line-height: 1.3 !important; margin-bottom: 8px !important; text-align: center !important; }
  .methode .section-subtitle { font-size: 14px !important; margin-bottom: 24px !important; text-align: center !important; }
  .steps-container { display: flex !important; flex-direction: column !important; gap: 14px !important; max-width: 100% !important; margin: 0 !important; }
  .step { display: grid !important; grid-template-columns: 46px 1fr !important; grid-template-rows: auto auto !important; gap: 4px 14px !important; padding: 16px !important; border-radius: 14px !important; text-align: left !important; align-items: start !important; }
  .step-number { grid-column: 1 !important; grid-row: 1 / 3 !important; width: 42px !important; height: 42px !important; font-size: 18px !important; margin: 0 !important; align-self: start !important; }
  .step h3 { grid-column: 2 !important; grid-row: 1 !important; font-size: 15px !important; margin-bottom: 0 !important; line-height: 1.3 !important; align-self: end !important; }
  .step p { grid-column: 2 !important; grid-row: 2 !important; font-size: 12px !important; line-height: 1.4 !important; color: #666 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; margin: 0 !important; align-self: start !important; }

  /* --- Pricing : cartes empilees "premium" (derniere couche : "DESIGN PROFESSIONNEL FINAL") --- */
  .pricing-container { padding: 0 !important; }
  .pricing-intro { text-align: center !important; margin-bottom: 28px !important; }
  .pricing-intro .section-title { font-size: 24px !important; font-weight: 700 !important; color: #332820 !important; margin-bottom: 8px !important; }
  .pricing-intro p { font-size: 14px !important; color: #666 !important; }
  .pricing-cards { display: flex !important; flex-direction: column !important; gap: 16px !important; }
  .pricing-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; padding: 24px 20px !important; border-radius: 20px !important; background: white !important; box-shadow: 0 4px 20px rgba(138, 98, 72, 0.08) !important; border: 1px solid #f1e8de !important; }
  .pricing-card::before { display: none !important; }
  .pricing-card .pricing-image { order: 1 !important; width: 100% !important; height: 160px !important; margin: 0 0 20px 0 !important; border-radius: 14px !important; overflow: hidden !important; }
  .pricing-card h3 { order: 2 !important; font-size: 20px !important; font-weight: 600 !important; color: #332820 !important; margin: 0 0 4px 0 !important; text-align: center !important; }
  .pricing-card .size { order: 3 !important; font-size: 14px !important; color: #888 !important; margin: 0 0 16px 0 !important; text-align: center !important; }
  .pricing-card .price { order: 4 !important; font-size: 36px !important; font-weight: 700 !important; color: #8a6248 !important; margin: 0 !important; text-align: center !important; line-height: 1 !important; }
  .pricing-card .price .price-unit { font-size: 22px !important; font-weight: 600 !important; }
  .pricing-card .pricing-loa { order: 5 !important; display: block !important; font-size: 15px !important; color: #666 !important; font-weight: 400 !important; margin: 8px 0 16px 0 !important; text-align: center !important; padding: 6px 16px !important; background: #f3ede5 !important; border-radius: 20px !important; }
  .pricing-card .pricing-description { order: 6 !important; display: block !important; font-size: 14px !important; color: #555 !important; line-height: 1.5 !important; margin: 0 !important; text-align: center !important; }
  .pricing-card .features-list, .pricing-card .btn-moltow, .pricing-card .financing-note { display: none !important; }
  .pricing-cta-mobile { display: block !important; width: 100% !important; margin: 28px 0 0 0 !important; text-align: center !important; padding: 16px 28px !important; font-size: 16px !important; font-weight: 500 !important; }

  /* --- Benefits : icone-gauche / texte-droite, 2 lignes max (couche "PROFESSIONNELLES") --- */
  .benefits { padding: 32px 20px !important; }
  .benefits-container { max-width: 100% !important; }
  .benefits .section-title { font-size: 22px !important; line-height: 1.3 !important; margin-bottom: 8px !important; text-align: center !important; }
  .benefits .section-subtitle { font-size: 14px !important; margin-bottom: 20px !important; text-align: center !important; }
  .benefits-grid { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 20px !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .benefit-card { display: grid !important; grid-template-columns: 48px 1fr !important; grid-template-rows: auto auto !important; gap: 4px 14px !important; padding: 16px !important; border-radius: 14px !important; background: #eee2d7 !important; align-items: start !important; }
  .benefit-icon { grid-column: 1 !important; grid-row: 1 / 3 !important; width: 44px !important; height: 44px !important; margin-bottom: 0 !important; align-self: start !important; }
  .benefit-icon svg { width: 22px !important; height: 22px !important; }
  .benefit-card h3 { grid-column: 2 !important; grid-row: 1 !important; font-size: 14px !important; margin-bottom: 0 !important; line-height: 1.3 !important; align-self: end !important; }
  .benefit-card p { grid-column: 2 !important; grid-row: 2 !important; font-size: 12px !important; line-height: 1.4 !important; color: #555 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; align-self: start !important; margin: 0 !important; }

  /* --- CTA section : fusion couche V2 (largeur boutons) + couche "PROFESSIONNELLES" (centrage) --- */
  .cta-section { padding: 32px 20px !important; }
  .cta-content-wrapper { gap: 20px !important; }
  .cta-text { text-align: center !important; }
  .cta-text h2 { font-size: 22px !important; line-height: 1.3 !important; margin-bottom: 10px !important; text-align: center !important; }
  .cta-text p { font-size: 14px !important; margin-bottom: 20px !important; text-align: center !important; }
  .cta-section .cta-buttons { gap: 10px !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; }
  .cta-section .cta-buttons a { width: auto !important; min-width: 200px !important; max-width: 260px !important; padding: 12px 20px !important; font-size: 14px !important; text-align: center !important; }
  .cta-section .cta-buttons .btn-moltow, .cta-section .cta-buttons .btn-moltow-icon { background: white !important; color: #8a6248 !important; border: 2px solid #8a6248 !important; }
  .cta-section .cta-buttons .btn-moltow-icon::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a6248' d='M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'/%3E%3C/svg%3E") !important; }
  .cta-gallery { gap: 10px !important; }
  .cta-photo { height: 120px !important; }

  /* --- Projects : masquee, fusionnee visuellement avec pricing --- */
  .projects { display: none !important; }

  /* --- Testimonials : scroll horizontal tactile (couche V2) --- */
  .testimonials { padding: 28px 0 !important; overflow: hidden !important; }
  .testimonials .section-title { font-size: 20px !important; line-height: 1.3 !important; padding: 0 16px !important; }
  .testimonials .section-subtitle { font-size: 13px !important; margin-bottom: 20px !important; padding: 0 16px !important; }
  .testimonials-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 12px 16px 12px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .testimonials-grid::-webkit-scrollbar { display: none !important; }
  .testimonial-card { flex: 0 0 280px !important; min-width: 280px !important; max-width: 280px !important; scroll-snap-align: start !important; border-radius: 14px !important; overflow: hidden !important; }
  .testimonial-image { height: 140px !important; }
  .testimonial-content { padding: 14px !important; }
  .testimonial-name { font-size: 14px !important; margin-bottom: 2px !important; }
  .testimonial-location { font-size: 12px !important; margin-bottom: 10px !important; }
  .testimonial-text { font-size: 12px !important; line-height: 1.5 !important; display: -webkit-box !important; -webkit-line-clamp: 4 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }

  /* --- FAQ --- */
  .faq { padding: 32px 16px !important; }
  .faq-container { margin-top: 24px !important; }
  .faq-item { margin-bottom: 10px !important; }
  .faq-question { padding: 16px 18px !important; font-size: 14px !important; }
  .faq-answer-content { padding: 0 18px 16px !important; font-size: 13px !important; }

  /* --- Final CTA --- */
  .final-cta { padding: 40px 16px !important; }
  .final-cta h2 { font-size: 22px !important; margin-bottom: 14px !important; }
  .final-cta p { font-size: 15px !important; margin-bottom: 24px !important; }
  .final-cta .cta-buttons { flex-direction: column !important; }
  .final-cta .cta-buttons a { width: 100% !important; padding: 14px 20px !important; font-size: 15px !important; }

  /* --- Boutons (derniere couche V2) --- */
  .btn-moltow, .btn-moltow-secondary { font-size: 14px !important; padding: 12px 18px !important; }
}

/* ========== TRES PETITS ECRANS ========== */
@media (max-width: 375px) {
  .section-title { font-size: 20px !important; }
  .realisations-section h2 { font-size: 1.3rem !important; }
  .pricing-card { padding: 20px 16px !important; }
  .price { font-size: 26px !important; }
  .step { padding: 18px 14px !important; }
  .benefit-card { padding: 20px 16px !important; }
  .cta-text h2, .final-cta h2 { font-size: 20px !important; }
}

/* ===== hero-v2 mobile ===== */
@media (max-width:760px){
  .hero-v2{padding:1.7rem 1.2rem 1.7rem!important}
  .hero-v2 .hero-v2-grid{display:flex!important;flex-direction:column!important;gap:0!important}
  .hero-v2 .hero-v2-eyebrow{display:none!important}
  .hero-v2 h1{font-size:clamp(1.55rem,7vw,1.9rem)!important;line-height:1.15!important;margin:0 0 .35em!important}
  .hero-v2 .hero-v2-sub{font-size:.95rem!important;line-height:1.45!important;margin:0 0 1rem!important}
  .hero-v2 .hero-v2-cta{display:flex!important;flex-direction:row!important;gap:.6rem;width:100%;margin:0 0 1.1rem!important}
  .hero-v2 a[href^="tel:"]{border:1.5px solid var(--hv2-accent,#8a6248)!important;color:var(--hv2-accent,#8a6248)!important;border-radius:999px}
  .hero-v2 .hero-v2-cta a{display:inline-flex;justify-content:center!important;align-items:center;text-align:center;flex:1 1 0;min-width:0;width:auto;padding:.75rem .5rem!important;font-size:.88rem!important;white-space:nowrap}
  .hero-v2 dl.hero-v2-stats dt:nth-of-type(2), .hero-v2 dl.hero-v2-stats dd:nth-of-type(2){display:none!important}
  .hero-v2 dl.hero-v2-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto auto;grid-auto-flow:column;column-gap:.8rem;row-gap:.05rem;width:100%;max-width:100%;margin:0 0 .9rem!important;padding:.2rem 0 0!important;border:0!important}
  .hero-v2 dl.hero-v2-stats dt{grid-row:2;font-size:.64rem;line-height:1.25;color:var(--hv2-ink-mute,#7b6d62);margin:0;white-space:normal}
  .hero-v2 dl.hero-v2-stats dd{grid-row:1;font-size:.92rem;font-weight:800;margin:0;white-space:nowrap}
  .hero-v2 img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
  .hero-v2 figure{position:relative;margin:0!important;padding:0!important}
  .hero-v2 figure figcaption, .hero-v2 [class*="price"], .hero-v2 [class*="card"]:not(.hero-v2-copy){position:static!important;inset:auto!important;transform:none!important;margin:.65rem 0 0!important;max-width:none!important}
  .hero-v2 dl dd::after,.hero-v2 dl dd{white-space:normal!important}
}
