/* ToggleGood — charte logo 2020 : noir, or, blanc */
:root{
  --ink:#1A1A1A;
  --gold:#B59B4C;
  --gold-text:#7E6A2E;   /* or assombri pour le texte (contraste AA sur fond clair) */
  --paper:#FCFBF8;
  --mist:#EFECE4;
  --stone:#5E5A52;
  --line:#D9D4C7;
  --sans:"Jost", "Futura", "Gill Sans", system-ui, sans-serif;
  --serif:"Newsreader", Georgia, serif;
  --measure:36rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.1875rem;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--gold-text)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:10}

/* ---------- Logo (reprise du logo 2020 en texte) ---------- */
.logo{display:inline-block;border:1.5px solid var(--ink);padding:.35rem .7rem .3rem;text-decoration:none;line-height:1;color:var(--ink)}
.logo b{display:block;font-family:var(--sans);font-weight:400;font-size:1.45rem;letter-spacing:.02em}
.logo b span{color:var(--gold)}
.logo small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.06em;margin-top:.25rem}
.logo:hover{color:var(--ink)}

/* ---------- En-tête ---------- */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;font-family:var(--sans);font-size:.98rem}
.nav a{text-decoration:none;padding:.25rem 0;border-bottom:1.5px solid transparent}
.nav a[aria-current="page"]{border-bottom-color:var(--gold)}
.nav-toggle{display:none}
@media (max-width:860px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-family:var(--sans);background:none;border:1.5px solid var(--ink);padding:.4rem .8rem;cursor:pointer;color:var(--ink)}
  .nav{position:absolute;left:0;right:0;top:4.9rem;background:var(--paper);border-bottom:1px solid var(--line);display:none;z-index:5}
  .nav.open{display:block}
  .nav ul{flex-direction:column;padding:1rem clamp(1rem,4vw,3rem) 1.5rem;font-size:1.15rem;gap:.75rem}
  .site-head{position:relative}
}

/* ---------- Mise en page ---------- */
main{display:block}
.wrap{padding:0 clamp(1rem,4vw,3rem);max-width:72rem;margin:0 auto}
.band{padding:clamp(3rem,8vw,6rem) 0;border-bottom:1px solid var(--line)}
.band.dark{background:var(--ink);color:#F3F1EC;border-bottom:0}
.band.dark a{color:#F3F1EC}
.band.mist{background:var(--mist)}
.prose{max-width:var(--measure)}
.prose p{margin:0 0 1.1em}
.split{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem)}
@media (max-width:760px){.split{grid-template-columns:1fr}}

h1,h2,h3{font-family:var(--sans);font-weight:400;line-height:1.12;margin:0 0 .6em;letter-spacing:-.005em}
h1{font-size:clamp(2.3rem,6vw,4.4rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:1.3rem;font-weight:500}
.lead{font-size:clamp(1.25rem,2.2vw,1.5rem);line-height:1.5;max-width:34rem;color:var(--stone)}
.dark .lead{color:#CFCAC0}

/* ---------- Boutons ---------- */
.btn{display:inline-block;font-family:var(--sans);font-size:1.05rem;text-decoration:none;padding:.8rem 1.4rem;border:1.5px solid var(--ink);background:var(--ink);color:#fff;transition:background .2s,color .2s}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.dark .btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.dark .btn:hover{background:#fff;border-color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* ---------- Héros : l'interrupteur ---------- */
.hero{padding-top:clamp(3rem,9vw,7rem);padding-bottom:clamp(3rem,7vw,5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.switch{--w:min(100%,22rem);width:var(--w);aspect-ratio:2.1/1;border:2px solid var(--ink);border-radius:999px;position:relative;background:transparent;cursor:pointer;padding:0;display:block;transition:background .45s ease}
.switch .knob{position:absolute;top:8%;left:4%;height:84%;aspect-ratio:1;border-radius:50%;background:var(--ink);transition:left .45s cubic-bezier(.65,0,.35,1),background .45s}
.switch[aria-checked="true"]{background:var(--ink)}
.switch[aria-checked="true"] .knob{left:56%;background:var(--gold)}
.switch-labels{display:flex;justify-content:space-between;width:min(100%,22rem);font-family:var(--sans);font-size:1rem;margin-top:.8rem;color:var(--stone)}
.switch-labels .on{color:var(--gold-text)}
.switch-caption{font-family:var(--serif);font-style:italic;color:var(--stone);margin-top:1.25rem;max-width:22rem;min-height:3.3em}
@media (prefers-reduced-motion:reduce){.switch,.switch .knob{transition:none}}

/* ---------- Questions miroir ---------- */
.mirror{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.35}
.mirror li{padding:1rem 0;border-top:1px solid var(--line)}
.mirror li:last-child{border-bottom:1px solid var(--line)}

/* ---------- Chiffres ---------- */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:0}
.facts div{border-left:2px solid var(--gold);padding-left:1rem}
.facts dt{font-family:var(--sans);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1}
.facts dd{margin:.5rem 0 0;font-size:1rem;color:var(--stone)}
.dark .facts dd{color:#CFCAC0}
@media (max-width:640px){.facts{grid-template-columns:1fr}}

/* ---------- Étapes (vraie séquence) ---------- */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.steps li{counter-increment:s;padding:1.5rem 1.25rem 1.5rem 0;border-top:2px solid var(--ink);position:relative}
.steps li:nth-child(even){padding-left:1.25rem;border-left:1px solid var(--line)}
.steps li::before{content:counter(s);font-family:var(--sans);font-size:2.2rem;color:var(--gold);display:block;line-height:1;margin-bottom:.8rem}
.steps h3{margin-bottom:.4rem}
.steps p{margin:0;font-size:1.02rem;color:var(--stone)}
@media (max-width:560px){.steps{grid-template-columns:1fr}.steps li:nth-child(even){padding-left:0;border-left:0}}

/* ---------- Offres ---------- */
.offers{display:grid;gap:0}
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:1rem 2.5rem;padding:2rem 0;border-top:1px solid var(--line);align-items:start}
.offer:last-child{border-bottom:1px solid var(--line)}
.offer h3{margin:0}
.offer .who{font-family:var(--sans);font-size:.95rem;color:var(--stone);margin:.4rem 0 0}
.offer p{margin:0 0 .6em;font-size:1.05rem}
.price{font-family:var(--sans);font-size:1.25rem;white-space:nowrap;text-align:right}
.price small{display:block;font-size:.85rem;color:var(--stone)}
@media (max-width:760px){.offer{grid-template-columns:1fr}.price{text-align:left}}

/* ---------- Divers ---------- */
.quote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35;font-style:italic;max-width:40rem;margin:0}
.quote{margin-bottom:1.5rem}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1.25rem;padding:1rem 0;border-top:1px solid var(--line)}
.timeline span{font-family:var(--sans);color:var(--gold-text)}
.timeline p{margin:0}
@media (max-width:560px){.timeline li{grid-template-columns:1fr;gap:.25rem}}
.note{font-size:.95rem;color:var(--stone)}
.small{font-size:.9rem}

form{display:grid;gap:1rem;max-width:32rem}
label{font-family:var(--sans);font-size:1rem;display:grid;gap:.35rem}
input,textarea,select{font:inherit;font-size:1.05rem;padding:.7rem .8rem;border:1.5px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
textarea{min-height:9rem;resize:vertical}
button.btn{cursor:pointer}
.hidden{display:none}

/* ---------- Pied de page ---------- */
.site-foot{padding:3rem clamp(1rem,4vw,3rem);font-family:var(--sans);font-size:.95rem;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-end}
.site-foot address{font-style:normal;line-height:1.7}
.site-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
