/* Design B Home — charte : blanc 60 %, noir 30 %, vert lime #A3F551 10 % */
:root{--lime:#A3F551;--noir:#000;--blanc:#fff;--gris:#F8F9FA;--texte:#111;--muted:#4a4a4a;--line:#e5e7eb;--shadow:0 18px 40px rgba(0,0,0,.12);--r:18px;--wrap:1200px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Montserrat,system-ui,sans-serif;color:var(--texte);background:var(--blanc);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.15;color:var(--noir)}
h1{font-size:clamp(2.1rem,4.4vw,3.6rem)}
h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:18px}
h3{font-size:1.25rem;margin-bottom:10px}
.sig{font-family:'Great Vibes',cursive;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--noir);line-height:1}
.eyebrow{font-family:'Great Vibes',cursive;font-size:2rem;color:var(--noir);display:block;margin-bottom:4px}
.lead{font-size:1.1rem;color:var(--muted);max-width:60ch}
.sec{padding:96px 0;position:relative}
.sec.gris{background:var(--gris)}
.sec.noir{background:var(--noir);color:#fff}
.sec.noir h2,.sec.noir h3{color:#fff}
.sec.noir .lead,.sec.noir p{color:#d4d4d4}
.num{font-family:'Playfair Display',serif;font-size:.95rem;letter-spacing:.2em;color:var(--noir);display:inline-block;margin-bottom:12px}
.sec.noir .num{color:var(--lime)}
.center{text-align:center}.center .lead{margin-inline:auto}
.ring{position:relative}
.ring::after{content:"";position:absolute;inset:-14px;border:1px solid var(--noir);border-radius:50%;pointer-events:none;opacity:.5}
/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:Montserrat,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.02em;text-decoration:none;border-radius:999px;padding:16px 30px;border:1.5px solid var(--noir);background:var(--lime);color:var(--noir);transition:background-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);cursor:pointer}
.btn:hover{background:var(--noir);color:var(--lime);transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--noir)}
.btn-line:hover{background:var(--noir);color:#fff}
.sec.noir .btn-line{color:#fff;border-color:#fff}
.sec.noir .btn-line:hover{background:#fff;color:var(--noir)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
/* En-tête */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.logo img{height:58px;width:auto}
.nav ul{display:flex;gap:28px;list-style:none}
.nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--noir);padding:6px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.burger{display:none;background:none;border:1.5px solid var(--noir);border-radius:999px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
/* Héros (style capture 1 : fond sombre, titre centré) */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:#111}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.75));z-index:1}
.hero-in{position:relative;z-index:2;padding:120px 0 90px;max-width:900px;margin-inline:auto}
.hero h1{color:#fff;margin:6px 0 20px}
.hero .sig{color:var(--lime)}
.hero p.lead{color:#e5e5e5;margin-inline:auto;font-size:1.15rem}
.hero .actions{justify-content:center}
.hero .btn-line{color:#fff;border-color:#fff}
.hero .btn-line:hover{background:#fff;color:var(--noir)}
/* Sous-héros (style capture 2 : cartes arrondies) */
.sub{padding:72px 0 40px;background:var(--blanc)}
.sub h1{font-size:clamp(2rem,4vw,3.2rem)}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
/* Cartes */
.grid{display:grid;gap:26px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--blanc);border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .ico{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--noir);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-family:'Playfair Display',serif;font-weight:700}
.card:hover .ico{background:var(--lime)}
.card p{color:var(--muted)}
.card .more{display:inline-block;margin-top:14px;font-weight:700;color:var(--noir);text-decoration:none;border-bottom:2px solid var(--lime)}
.gris .card{background:#fff}
/* Image encadrée */
.fig{position:relative}
.fig img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.fig-round img{border-radius:50%;aspect-ratio:1/1}
.dual{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.dual.rev>:first-child{order:2}
.check{list-style:none;margin:20px 0 0}
.check li{padding-left:34px;position:relative;margin-bottom:10px}
.check li::before{content:"";position:absolute;left:0;top:8px;width:16px;height:16px;border-radius:50%;background:var(--lime);border:1.5px solid var(--noir)}
/* Étapes numérotées */
.steps{counter-reset:s}
.step{position:relative;padding-left:0}
.step .big{font-family:'Playfair Display',serif;font-size:4.5rem;font-weight:700;color:transparent;-webkit-text-stroke:1px var(--noir);line-height:1;display:block;margin-bottom:10px}
/* Galeries */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gal figure{position:relative;border-radius:var(--r);overflow:hidden;background:#eee;aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:14px;bottom:14px;background:var(--lime);color:var(--noir);font-weight:700;font-size:.85rem;padding:6px 12px;border-radius:999px}
/* Partenaires */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;align-items:center}
.logos div{background:#fff;border:1px solid var(--line);border-radius:14px;height:96px;display:flex;align-items:center;justify-content:center;padding:14px}
.logos img{max-height:62px;max-width:100%;width:auto;object-fit:contain}
/* FAQ */
details{border-bottom:1px solid var(--line);padding:20px 0}
details summary{font-weight:700;cursor:pointer;list-style:none;font-size:1.05rem;display:flex;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--noir)}
details[open] summary::after{content:"–"}
details p{margin-top:12px;color:var(--muted)}
/* Formulaire */
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form .full{grid-column:1/-1}
.form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;font:inherit;padding:14px 16px;border:1.5px solid #cfcfcf;border-radius:12px;background:#fff;color:var(--texte)}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--noir);box-shadow:0 0 0 4px rgba(163,245,81,.45)}
.note{font-size:.85rem;color:var(--muted)}
.status{font-weight:700;min-height:1.4em}
/* Bandeau final */
.band{background:var(--lime);color:var(--noir);text-align:center;padding:90px 0}
.band h2{color:var(--noir)}
.band .btn{background:var(--noir);color:var(--lime)}
.band .btn:hover{background:#fff;color:var(--noir)}
/* Pied de page */
.foot{background:var(--noir);color:#e5e5e5;padding:70px 0 26px}
.foot .grid{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
.foot h3{color:#fff;font-family:'Playfair Display',serif;font-size:1.05rem}
.foot ul{list-style:none}
.foot li{margin-bottom:10px}
.foot a{text-decoration:none;color:#e5e5e5}
.foot a:hover{color:var(--lime)}
.foot .logo img{height:68px;filter:invert(1) brightness(2)}
.foot-bottom{border-top:1px solid #222;margin-top:50px;padding-top:22px;font-size:.85rem;color:#9a9a9a;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
/* Responsive */
@media(max-width:980px){
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .dual{grid-template-columns:1fr;gap:36px}
  .dual.rev>:first-child{order:0}
  .logos{grid-template-columns:repeat(3,1fr)}
  .foot .grid{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .nav{display:none}
  .nav.open{display:block;position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 20px}
  .nav.open ul{flex-direction:column;gap:0}
  .nav.open a{display:block;padding:14px 0}
  .burger{display:inline-block}
  .hdr-cta{display:none}
}
@media(max-width:640px){
  .g2,.g3,.g4,.gal{grid-template-columns:1fr}
  .logos{grid-template-columns:repeat(2,1fr)}
  .form{grid-template-columns:1fr}
  .foot .grid{grid-template-columns:1fr}
  .sec{padding:70px 0}
  .card{padding:26px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* ===== Réglages, bandeau cookies et contrastes (repris du site O’Marinier) ===== */

html.ib-size-lg { font-size: 120%; }

html.ib-size-xl { font-size: 135%; }


/* Lien d'évitement */
.skip {
  position: fixed;
  left: -9999px;
  top: 12px;
  background: var(--c-ember);
  color: #000;
  padding: 11px 18px;
  border-radius: 999px;
  z-index: 600;
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--shadow-md);
}

.skip:focus { left: 14px; }

.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22C55E;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.24);
  flex: none;
}

.live-dot.after-butcher {
  background: var(--c-yellow);
  box-shadow: 0 0 0 3px rgba(255, 184, 0, 0.24);
}

.live-dot.closed {
  background: #EF4444;
  box-shadow: none;
}

.btn-sm {
  min-height: 42px;
  padding: 8px 16px;
  font-size: 0.86rem;
}

.btn-ghost {
  background: transparent;
  color: var(--c-deep);
  border-color: var(--c-line-strong);
  box-shadow: none;
}

.btn-ghost:hover {
  background: var(--c-deep);
  border-color: var(--c-deep);
  color: #fff;
  box-shadow: var(--shadow-sm);
}

.on-dark .btn-ghost, .hero .btn-ghost, .special-banner .btn-ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.06);
}

.on-dark .btn-ghost:hover, .hero .btn-ghost:hover, .special-banner .btn-ghost:hover {
  background: #fff;
  border-color: #fff;
  color: var(--c-deep);
}


.settings-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 8px 13px;
  border-radius: 999px;
  background: transparent;
  color: var(--c-text);
  border: 1.5px solid var(--c-line-strong);
  font-family: var(--f-sans);
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--ease), border-color var(--ease);
}

.settings-btn:hover {
  background: var(--c-pastel);
  border-color: var(--c-ember);
}

.legal-links a, .link-btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  color: rgba(250, 247, 242, 0.78);
  font-size: 0.85rem;
}

.link-btn { background: none; border: 0; padding: 0; font-family: inherit; cursor: pointer; }

.link-btn:hover { color: var(--c-yellow); text-decoration: underline; text-underline-offset: 3px; }


/* Barre d'action rapide mobile */
.mobile-dock {
  display: none;
}


/* ==========================================================================
   Consentement Loi 25 & Tiroir Réglages d'affichage
   ========================================================================== */
.consent {
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  width: min(1060px, calc(100% - 32px));
  z-index: 350;
}

.consent-card {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(14px);
  color: var(--c-text);
  border: 1px solid var(--c-line);
  border-radius: 20px;
  padding: 16px 46px 16px 24px;
  box-shadow: var(--shadow-lg);
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  row-gap: 4px;
  align-items: center;
}

.consent-card h2 {
  grid-column: 1;
  font-family: var(--f-sans);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.consent-card > p {
  grid-column: 1;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--c-muted);
  margin: 0;
}

.consent-card a { font-weight: 700; color: var(--c-brick); }

.consent-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: 0;
  background: var(--c-ivory);
  font-size: 1.25rem;
  line-height: 1;
  color: var(--c-text);
  cursor: pointer;
  border-radius: 50%;
}

.consent-close:hover { background: var(--c-pastel); }

.consent-actions {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
}

.consent-actions .btn { min-height: 40px; padding: 8px 15px; font-size: 0.82rem; white-space: nowrap; }
@media (max-width: 880px){
.consent{ width: calc(100% - 24px); bottom: 78px; }
.consent-card{ grid-template-columns: 1fr; padding: 18px 20px; row-gap: 10px; }
.consent-actions{ grid-column: 1; grid-row: auto; flex-wrap: wrap; }
.consent-actions .btn{ flex: 1 1 auto; }
}


/* Tiroir Réglages */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(13, 12, 11, 0.48);
  backdrop-filter: blur(4px);
  z-index: 400;
}

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(430px, 100%);
  background: var(--c-white);
  z-index: 401;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s;
  box-shadow: -20px 0 50px rgba(13, 12, 11, 0.25);
}

.drawer.open { transform: none; visibility: visible; }

.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--c-line);
}

.drawer-head h2 { margin: 0; font-size: 1.15rem; }

.drawer-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 14px;
  border: 1.5px solid var(--c-line-strong);
  border-radius: 999px;
  background: var(--c-ivory);
  color: var(--c-text);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
}

.drawer-body { flex: 1; overflow-y: auto; padding: 6px 22px; }

.seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.seg-3 { grid-template-columns: 1fr 1fr 1fr; }

.seg button, .seg a {
  min-height: 46px;
  padding: 8px 10px;
  border: 1.5px solid var(--c-line-strong);
  border-radius: 12px;
  background: var(--c-ivory);
  color: var(--c-text);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background var(--ease), color var(--ease), border-color var(--ease);
}

.seg button:hover, .seg a:hover { border-color: var(--c-ember); background: var(--c-pastel); }

.seg [aria-pressed="true"], .seg [aria-current="page"] {
  background: var(--c-deep);
  border-color: var(--c-deep);
  color: #fff;
}

.drawer-foot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 16px 22px;
  border-top: 1px solid var(--c-line);
}

.drawer-foot .btn { width: 100%; }


html.ib-contrast {
  --c-ivory: #FFFFFF;
  --c-grey: #F4F4F4;
  --c-text: #000000;
  --c-muted: #111111;
  --c-line: rgba(0, 0, 0, 0.45);
  --c-line-strong: #000000;
}

html.ib-contrast a { text-decoration: underline; }

html.ib-calm *, html.ib-calm *::before, html.ib-calm *::after {
  transition: none !important;
  animation: none !important;
}
@media (max-width: 700px){
.settings-btn span{ display: none; }
.settings-btn{ padding-inline: 11px; }
.consent{ bottom: 84px; }
.mobile-dock{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: rgba(13, 12, 11, 0.94);
    backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }
.mobile-dock .btn{
    min-height: 44px;
    padding: 8px 12px;
    font-size: 0.85rem;
  }
.mobile-dock .btn-ghost{
    color: #fff;
    border-color: rgba(255, 255, 255, 0.3);
  }
}

.v7-live .live-dot { width: 8px; height: 8px; border-radius: 50%; background: #2E8B57; display: inline-block; }

.v7-legal .link-btn { background: none; border: 0; color: rgba(255,255,255,0.85); font: inherit; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 3px; }

.btn-ghost { background: #fff; color: var(--c-deep); border: 2px solid var(--c-deep); }

.btn-ghost:hover { background: var(--c-deep); color: #fff; }

.btn-sm { padding: 12px 20px; font-size: 0.92rem; }

.on-dark .btn-ghost, .band.on-dark .btn-ghost { background: transparent; color: #fff; border-color: #fff; }

.on-dark .btn-ghost:hover, .band.on-dark .btn-ghost:hover { background: #fff; color: var(--c-deep); }


/* Bannière cookies et réglages : mêmes couleurs au repos pour toutes les options */
.consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.consent-actions .btn { flex: 1 1 auto; }

.consent .btn, .consent .btn-ghost, .consent .btn-sm { background: #fff; color: var(--c-deep); border: 2px solid var(--c-deep); }

.consent .btn:hover, .consent .btn-ghost:hover, .consent .btn-sm:hover { background: var(--c-deep); color: #fff; }

.seg button { background: #fff; color: var(--c-deep); border: 2px solid var(--c-line-strong); }

.seg button[aria-pressed="true"]::before { content: "✓ "; }

.seg button:hover { border-color: var(--c-deep); }

}

/* Correctifs : bouton fantôme lisible sur fond clair, accent unique */
.btn.btn-ghost { background: #fff !important; color: var(--c-deep) !important; border-color: var(--c-deep) !important; }

.btn.btn-ghost:hover { background: var(--c-deep) !important; color: #fff !important; }

.on-dark .btn.btn-ghost, .band.on-dark .btn.btn-ghost { background: transparent !important; color: #fff !important; border-color: #fff !important; }

.on-dark .btn.btn-ghost:hover, .band.on-dark .btn.btn-ghost:hover { background: #fff !important; color: var(--c-deep) !important; }
/* ===== Design B Home v2 — menu, mega menu, pied de page, cookies, réglages ===== */
:root{--c-deep:#000;--c-ember:#A3F551;--c-ember-deep:#000;--c-brick:#000;--c-pastel:#F3FBE8;--c-line:#e5e7eb;--c-line-strong:#cfcfcf;--c-muted:#4a4a4a;--c-ivory:#F8F9FA;--c-yellow:#A3F551;--c-text:#111;--shadow-sm:0 4px 14px rgba(0,0,0,.06);--shadow-md:0 12px 32px rgba(0,0,0,.12);--shadow-lg:0 24px 60px rgba(0,0,0,.18);--ease:cubic-bezier(.2,.7,.2,1);--f-sans:Montserrat,system-ui,sans-serif;--f-serif:'Playfair Display',Georgia,serif}
body,button,input,textarea,select{font-family:Montserrat,system-ui,sans-serif}
.btn-ghost{background:#fff!important;color:var(--noir)!important;border:1.5px solid var(--noir)!important}
.btn-ghost:hover{background:var(--noir)!important;color:#fff!important}
.btn-sm{padding:11px 20px;font-size:.88rem}
/* Barre du haut */
.topbar{background:var(--gris);border-bottom:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap;padding-block:6px}
.topbar-l,.topbar-r{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar a{color:var(--noir);text-decoration:none;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.topbar a:hover{text-decoration:underline}
/* En-tête */
.hdr{position:sticky;top:0;z-index:80;background:#fff;box-shadow:0 1px 0 var(--line)}
.hdr-in{display:flex;justify-content:space-between;align-items:center;min-height:84px;gap:20px}
.hdr-right{display:flex;gap:12px;align-items:center}
.hdr-phone{display:inline-flex;gap:8px;align-items:center;border:1.5px solid var(--noir);border-radius:999px;padding:11px 18px;color:var(--noir);font-weight:700;text-decoration:none;font-size:.92rem;transition:background-color .3s,color .3s}
.hdr-phone:hover{background:var(--noir);color:#fff}
.hdr-cta{padding:13px 22px;font-size:.9rem}
.settings-btn{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1.5px solid var(--noir);border-radius:999px;padding:11px 16px;font:inherit;font-weight:700;color:var(--noir);cursor:pointer}
.settings-btn:hover{background:var(--noir);color:#fff}
.burger{display:none;background:#fff;border:1.5px solid var(--noir);border-radius:999px;width:48px;height:44px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.burger span{display:block;width:18px;height:2px;background:var(--noir);transition:transform .3s,opacity .3s}
.burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* Navigation et méga menu */
.nav{border-top:1px solid var(--line)}
.menu{list-style:none;display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}
.menu>li{position:static}
.menu>li>a,.mega-btn{display:inline-flex;align-items:center;gap:6px;padding:16px 14px;font:inherit;font-weight:600;font-size:.95rem;color:var(--noir);text-decoration:none;background:none;border:0;cursor:pointer;position:relative}
.menu>li>a::after,.mega-btn::after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:2px;background:var(--lime,#A3F551);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu>li>a:hover::after,.mega-btn:hover::after,.has-mega.open .mega-btn::after,.menu>li>a[aria-current="page"]::after{transform:scaleX(1)}
.mega-btn span{font-size:.7rem;transition:transform .3s}
.has-mega.open .mega-btn span{transform:rotate(180deg)}
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 50px rgba(0,0,0,.12);padding:34px 0 40px;z-index:90}
.has-mega.open .mega,.has-mega:focus-within .mega{display:block}
.has-mega{position:static}
.mega-in{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.mega-col h4{font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--noir);display:inline-block}
.mega-col ul{list-style:none;display:grid;gap:8px}
.mega-col a{color:var(--texte,#111);text-decoration:none;font-size:.95rem;display:inline-block;padding:4px 0;position:relative}
.mega-col a:hover{text-decoration:underline;text-decoration-color:var(--noir);text-decoration-thickness:2px}
/* Pied de page (style O’Marinier) */
.foot{background:var(--noir);color:#e5e5e5;padding:64px 0 0}
.foot-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
.foot-card{background:#fff;color:#111;border-radius:26px;padding:34px 30px;align-self:start}
.foot-card p{margin:14px 0;color:#444}
.foot-logo img{height:64px;width:auto}
.badge-avis{display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:#000;border-radius:999px;padding:12px 20px;font-weight:700;text-decoration:none;font-size:.92rem;transition:background-color .3s,color .3s}
.badge-avis:hover{background:#000;color:var(--lime)}
.soc{display:flex;gap:10px;margin-top:14px}
.soc a{width:40px;height:40px;border-radius:50%;border:1.5px solid #000;display:inline-flex;align-items:center;justify-content:center;color:#000;transition:background-color .3s,color .3s}
.soc a:hover{background:#000;color:var(--lime)}
.foot-tel a{color:#000;font-weight:700;text-decoration:none}
.foot-tel a:hover{text-decoration:underline}
.foot h3{color:#fff;font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:14px}
.foot ul{list-style:none}
.foot li{margin-bottom:10px}
.foot li a{color:#e5e5e5;text-decoration:none;font-size:.95rem}
.foot li a:hover{color:var(--lime);text-decoration:underline}
.foot-bottom{border-top:1px solid #222;padding:20px 0;font-size:.85rem;color:#9a9a9a}
.foot-bottom-in{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.legal{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.legal a,.link-btn{color:#d6d6d6;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
.legal a:hover,.link-btn:hover{color:var(--lime);text-decoration:underline}
/* Témoignages */
.reviews .card{display:flex;flex-direction:column;gap:12px}
.reviews p{color:#333}
.stars{color:#000;letter-spacing:2px;font-size:1.1rem}
.rev-by{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:.9rem}
.rev-by a{color:#000}
.rev-by span{color:var(--muted)}
.tag{display:inline-block;width:max-content;margin-top:6px;background:var(--lime);color:#000;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:700}
.prose-box h2{font-size:1.4rem;margin:30px 0 10px}
.prose-box h2:first-child{margin-top:0}
.prose-box p{color:#333;margin-bottom:12px}
.card.reveal{opacity:1}
/* Responsive : mobile */
@media(max-width:1180px){.hdr-phone span{display:none}.mega-in{gap:24px}}
@media(max-width:1020px){
  .hdr-phone,.hdr-cta{display:none}
  .burger{display:inline-flex}
  .navbar{display:none;background:#fff;border-top:1px solid var(--line);max-height:calc(100vh - 84px);overflow:auto}
  .navbar.open{display:block}
  .menu{flex-direction:column;align-items:stretch;gap:0}
  .menu>li{border-bottom:1px solid var(--line)}
  .menu>li>a,.mega-btn{width:100%;justify-content:space-between;padding:18px 22px;margin:0;border:0;border-radius:0;text-align:left;font-size:1rem}
  .menu>li>a::after,.mega-btn::after{display:none}
  .mega{position:static;box-shadow:none;border:0;padding:0 22px 18px;background:#fafafa}
  .mega-in{grid-template-columns:1fr;gap:20px}
  .has-mega .mega{display:none}
  .has-mega.open .mega{display:block}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-card{grid-column:1/-1}
}
@media(max-width:820px){.topbar-r span{display:none}.topbar-l span{display:none}}
@media(max-width:640px){
  .foot-grid{grid-template-columns:1fr}
  .topbar{font-size:.8rem}
  .settings-btn span{display:none}
  .foot-bottom-in{flex-direction:column;align-items:flex-start}
  .logo img{height:52px;width:auto}
}

/* ===== Révision : fond blanc, sous-héros (image 5), accueil (image 1 et 4), responsive forcé ===== */
html,body{overflow-x:hidden;background:#fff}
img,video,svg{max-width:100%;height:auto}
.sec,.sec.gris,.sec.noir{background:#fff}
.sec.gris{border-top:1px solid var(--line)}
.sec.noir h2,.sec.noir h3,.sec.noir p{color:var(--noir)}
.sec.noir .lead,.sec.noir p{color:#333}
.sec.noir .num{color:var(--noir)}
.sec.noir .btn-line{color:var(--noir);border-color:var(--noir)}
/* Sous-héros (image 5) */
.sub{padding:56px 0 40px;background:#fff}
.sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.sub-photo img{width:100%;height:460px;object-fit:cover;border-radius:28px}
.sub-kicker{font-size:.85rem;letter-spacing:.14em;color:#555;font-weight:600;margin:10px 0 12px}
.sub h1{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.12;margin-bottom:16px}
.sub-lead{color:#333;font-size:1.05rem;margin-bottom:24px}
.sub .crumbs{margin-bottom:6px}
/* Accueil : héros (image 1) */
.hero-home{min-height:82vh}
.hero-home .hero-in{padding:110px 0 90px}
.hero-home h1{font-size:clamp(2rem,4.6vw,3.6rem)}
/* Services : trois colonnes */
.col3{text-align:left}
.col3 .num{margin-bottom:8px}
.col3 h3{font-size:1.4rem}
.col3 .btn-sm{margin-top:14px}
/* Processus (image 4) */
.pastel-list{display:grid;gap:14px}
.pastel-step{display:flex;gap:16px;align-items:flex-start;background:var(--gris);border-radius:18px;padding:18px 22px}
.pastel-step .dot{width:14px;height:14px;border-radius:50%;background:var(--lime);border:1.5px solid var(--noir);margin-top:8px;flex:none}
.pastel-step h3{font-size:1.1rem;margin-bottom:4px}
.pastel-step p{color:var(--muted);font-size:.95rem;margin:0}
.gal2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gal2 figure{position:relative;margin:0;border-radius:20px;overflow:hidden;aspect-ratio:1/1;background:#eee}
.gal2 img{width:100%;height:100%;object-fit:cover}
.gal2 figcaption{position:absolute;left:12px;bottom:12px;background:#fff;color:var(--noir);font-weight:700;font-size:.82rem;padding:6px 12px;border-radius:999px}
/* Pied de page blanc */
.foot{background:#fff;color:#111;border-top:1px solid var(--line);padding:56px 0 0}
.foot h3{color:#000}
.foot li a,.foot li{color:#222}
.foot li a:hover{color:#000;text-decoration:underline}
.foot-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:#111}
.foot-card p{color:#333}
.foot-bottom{border-top:1px solid var(--line);color:#555}
.legal a,.link-btn{color:#222}
.legal a:hover,.link-btn:hover{color:#000}
.foot-bottom a{color:#000;font-weight:700}
.soc a{border-color:#000;color:#000}
.badge-avis{background:var(--lime);color:#000}
.badge-avis img{width:20px;height:20px}
.soc img{width:20px;height:20px}
.topbar a img{width:18px;height:18px;vertical-align:middle}
.mega-btn img{display:none}
/* Responsive forcé */
@media(max-width:1020px){.sub-grid{grid-template-columns:1fr;gap:28px}.sub-photo img{height:300px}}
@media(max-width:900px){.dual,.dual.rev{grid-template-columns:1fr!important;gap:32px}.dual.rev>:first-child{order:0}.gal,.gal2{grid-template-columns:1fr 1fr}.g2,.g3,.g4{grid-template-columns:1fr!important}.hero-home .hero-in{padding:80px 0 70px}}
@media(max-width:640px){.sec{padding:60px 0}.sub-photo img{height:240px;border-radius:20px}.gal,.gal2{grid-template-columns:1fr}.logos{grid-template-columns:repeat(2,1fr)}.actions .btn{width:100%;text-align:center}.foot-grid{grid-template-columns:1fr!important}.hero h1{font-size:2rem}.form{grid-template-columns:1fr!important}.wrap{width:calc(100% - 32px)}.card{padding:22px}.menu>li>a,.mega-btn{font-size:1rem}.mega-in{grid-template-columns:1fr!important}}

.col3{display:flex;flex-direction:column}
.col3 .btn-sm{margin-top:auto;align-self:flex-start}

.seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg-3{grid-template-columns:1fr 1fr 1fr}
.seg a,.seg button{display:block;text-align:center;padding:11px 10px;border:1.5px solid var(--c-line-strong);border-radius:12px;background:#fff;color:var(--noir);text-decoration:none;font:inherit;font-weight:600;cursor:pointer}
.seg [aria-pressed="true"],.seg [aria-current="page"]{background:var(--noir);color:#fff;border-color:var(--noir)}
.seg button:disabled{opacity:.45;cursor:not-allowed}
.consent[hidden]{display:none}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:250}
.overlay[hidden]{display:none}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:320;transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid var(--line)}
.drawer-head h2{font-size:1.2rem;font-family:Montserrat,sans-serif}
.drawer-back{background:none;border:0;font:inherit;font-weight:700;cursor:pointer;color:var(--noir)}
.drawer-body{padding:22px 24px;overflow:auto;flex:1;display:grid;gap:24px}
.drawer-body h3{font-size:1rem;font-family:Montserrat,sans-serif;margin-bottom:4px}
.drawer-body p{font-size:.88rem;color:var(--muted);margin-bottom:10px}
.drawer-foot{display:flex;gap:10px;justify-content:flex-end;padding:18px 24px;border-top:1px solid var(--line)}
.link-btn{text-decoration:underline}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--lime);padding:10px 16px;border-radius:999px;z-index:999;font-weight:700}
