:root{
  --rust:#C8552B; --rust-d:#A8431F; --rust-l:#DE7143;
  --char:#292521; --char-2:#3E3833; --char-3:#4A433C;
  --lin:#F3ECE0; --lin-2:#EAE1D0; --lin-3:#DDD3C0;
  --blanc:#fff; --gris:#7A7568; --gris-l:#A39C8E;
  --f:'Poppins',system-ui,-apple-system,sans-serif;
  --r:8px; --sh:0 1px 3px rgba(41,37,33,.07),0 8px 28px rgba(41,37,33,.05);
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f);color:var(--char);background:var(--blanc);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--rust);text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--char);color:#fff;padding:10px 16px;z-index:200;border-radius:var(--r)}

/* ---------- BOUTONS ---------- */
.btn{display:inline-block;padding:12px 22px;border-radius:var(--r);font-weight:600;font-size:15px;transition:.15s;border:2px solid transparent;text-align:center}
.btn-p{background:var(--rust);color:#fff;border-color:var(--rust)}
.btn-p:hover{background:var(--rust-d);border-color:var(--rust-d)}
.btn-g{background:transparent;color:var(--char);border-color:var(--lin-3)}
.btn-g:hover{background:var(--lin);border-color:var(--gris-l)}
.btn-lg{padding:15px 30px;font-size:16px}
.btn-full{width:100%;padding:14px}

/* ---------- EN-TÊTE ---------- */
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--lin-2)}
.hd-in{display:flex;align-items:center;gap:24px;padding-top:12px;padding-bottom:12px}
.lg img{width:150px;height:auto}
.nv{display:flex;align-items:center;gap:4px;margin-left:auto}
.nv>a,.dd>button{padding:9px 13px;border-radius:6px;font-size:14.5px;font-weight:500;color:var(--char);white-space:nowrap}
.nv>a:hover,.dd>button:hover{background:var(--lin)}
.dd{position:relative}
.dd-m{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--lin-2);border-radius:var(--r);box-shadow:var(--sh);min-width:290px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.15s}
.dd:hover .dd-m,.dd:focus-within .dd-m{opacity:1;visibility:visible;transform:none}
.dd-m a{display:block;padding:10px 12px;border-radius:6px;color:var(--char)}
.dd-m a:hover{background:var(--lin)}
.dd-m b{display:block;font-size:14.5px;font-weight:600}
.dd-m span{display:block;font-size:12.5px;color:var(--gris)}
.hd-tel{display:flex;align-items:center;gap:14px}
.hd-tel .tel{font-weight:700;font-size:16px;color:var(--char);white-space:nowrap}
.hd-tel .tel:hover{color:var(--rust)}
.burger{display:none;flex-direction:column;gap:5px;padding:8px;margin-left:auto}
.burger span{width:24px;height:2px;background:var(--char);border-radius:2px}

/* ---------- HERO ---------- */
.hero{padding:70px 0 60px;background:linear-gradient(180deg,var(--lin) 0%,#fff 100%)}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--rust);margin-bottom:14px}
.eyebrow-c{color:var(--rust-l)}
h1{font-size:clamp(30px,4.2vw,48px);line-height:1.15;font-weight:800;letter-spacing:-1px;max-width:16ch}
.chapo{font-size:17.5px;color:var(--char-2);margin-top:20px;max-width:52ch}
.hero-cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-note{font-size:13.5px;color:var(--gris);margin-top:14px}
.hero-img img,.img-r{border-radius:var(--r);box-shadow:var(--sh)}

/* Emplacements photo */
.ph{background:var(--lin-2);border:2px dashed var(--lin-3);border-radius:var(--r);display:flex;align-items:center;justify-content:center;min-height:260px}
.ph span{color:var(--gris);font-size:13.5px;font-weight:500}
.ph-hero{min-height:380px}
.ph-carre{min-height:400px}

/* ---------- FORMULAIRE RDV ---------- */
.rdv{background:var(--char);color:var(--lin);padding:56px 0}
.rdv-in{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
.rdv h2{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.5px;color:#fff}
.rdv-txt p{color:#C9C2B4;margin-top:14px;max-width:42ch}
.rdv-pts{list-style:none;margin-top:22px}
.rdv-pts li{padding-left:26px;position:relative;margin-bottom:9px;font-size:15px;color:#DDD5C7}
.rdv-pts li::before{content:'';position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--rust-l)}
.rdv-tel{margin-top:24px!important;font-size:15px}
.rdv-tel a{color:var(--rust-l);font-weight:700;font-size:19px}
.rdv-f{background:#fff;border-radius:var(--r);padding:26px}
.rdv-f label{display:block;font-size:12.5px;font-weight:600;color:var(--char-2);margin-bottom:13px}
.rdv-f span{color:var(--rust)}
.rdv-f input,.rdv-f select,.rdv-f textarea{width:100%;margin-top:5px;padding:11px 13px;border:1.5px solid var(--lin-3);border-radius:6px;font-size:15px;font-family:inherit;background:#fff;color:var(--char)}
.rdv-f input:focus,.rdv-f select:focus,.rdv-f textarea:focus{outline:2px solid var(--rust);outline-offset:-1px;border-color:var(--rust)}
.rdv-f textarea{resize:vertical}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pot{position:absolute;left:-9999px;opacity:0}
.rgpd{font-size:11.5px;color:var(--gris);margin-top:12px;line-height:1.5}
.msg{padding:13px 15px;border-radius:6px;font-size:14px;margin-bottom:16px}
.msg-ok{background:#E6F2E8;color:#2E6B3C}
.msg-ok b{display:block}
.msg-err{background:#FBE7E4;color:#A5342A}

/* ---------- SECTIONS ---------- */
.sec{padding:72px 0}
.sec-alt{background:var(--lin)}
.sec-sombre{background:var(--char);color:var(--lin)}
.h2{font-size:clamp(25px,3.2vw,36px);font-weight:700;letter-spacing:-.6px;line-height:1.2;max-width:22ch}
.h2-c{color:#fff}
.sec-intro{font-size:17px;color:var(--char-2);margin-top:16px;max-width:62ch}
.p{font-size:16px;color:var(--char-2);margin-top:16px;max-width:58ch}
.p-c{color:#C9C2B4;margin-top:18px;text-align:center}
.c-c{text-align:center;margin-top:26px}

/* Cartes prestations */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.card-p{background:#fff;border:1px solid var(--lin-2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:.18s;color:var(--char);display:block}
.card-p:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(41,37,33,.08),0 16px 40px rgba(41,37,33,.09)}
.card-img{aspect-ratio:16/10;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-img .ph{min-height:100%;border:none;border-radius:0}
.card-b{padding:20px}
.card-b h3{font-size:18.5px;font-weight:700;letter-spacing:-.3px}
.card-b p{font-size:14px;color:var(--gris);margin-top:5px}
.lien{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--rust)}

/* Étapes horizontales */
.etapes-h{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:36px}
.et-n{font-size:34px;font-weight:800;color:var(--rust-l);opacity:.5;letter-spacing:-1px}
.et h3{font-size:17px;font-weight:700;margin-top:8px}
.et p{font-size:14.5px;color:var(--char-2);margin-top:6px}

/* Split texte / image */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.pts{list-style:none;margin:22px 0 26px}
.pts li{padding-left:24px;position:relative;margin-bottom:13px;font-size:15.5px;color:var(--char-2)}
.pts li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--rust)}
.pts b{color:var(--char)}

/* Départements */
.deps{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;justify-content:center}
.dep{background:var(--char-2);border:1px solid var(--char-3);border-radius:30px;padding:8px 18px;font-size:14.5px;color:#DDD5C7}
.dep b{color:var(--rust-l);margin-right:7px;font-weight:700}

/* ---------- PAGE PRESTATION ---------- */
.pr-hero{background:var(--lin);padding:52px 0}
.fil{font-size:13px;color:var(--gris);margin-bottom:18px}
.fil a{color:var(--gris)}
.fil a:hover{color:var(--rust)}
.pr-in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.grille2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.signe{background:#fff;border:1px solid var(--lin-2);border-radius:var(--r);padding:20px}
.signe b{display:block;font-size:16px;font-weight:700;margin-bottom:5px}
.signe p{font-size:14.5px;color:var(--char-2)}
.etapes-v{margin-top:30px;counter-reset:e}
.ev{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--lin-2)}
.ev:first-child{border-top:none}
.ev-n{counter-increment:e;flex:none;width:46px;font-weight:700;font-size:15px;color:var(--rust)}
.ev-n::before{content:'0' counter(e)}
.ev h3{font-size:17.5px;font-weight:700}
.ev p{font-size:15px;color:var(--char-2);margin-top:4px}

/* ---------- PIED ---------- */
.ft{background:var(--char);color:#B5AEA0;padding:52px 0 0;font-size:14.5px}
.ft-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px}
.ft-lg{background:#fff;border-radius:6px;padding:8px;margin-bottom:16px}
.ft-p{margin-bottom:12px;line-height:1.7}
.ft a{color:#B5AEA0}
.ft a:hover{color:var(--rust-l)}
.ft h3{color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.ft ul{list-style:none}
.ft li{margin-bottom:9px}
.ft-bas{border-top:1px solid var(--char-3);padding-top:20px;padding-bottom:20px;display:flex;justify-content:space-between;gap:16px;font-size:12.5px;color:var(--gris)}

/* ---------- CONTENU SIMPLE ---------- */
.page{padding:52px 0 72px}
.page h1{max-width:24ch;margin-bottom:20px}
.page h2{font-size:24px;font-weight:700;margin:34px 0 12px;letter-spacing:-.4px}
.page p{font-size:16px;color:var(--char-2);margin-bottom:14px;max-width:70ch}
.page ul{margin:0 0 18px 22px;color:var(--char-2)}
.page li{margin-bottom:8px}
.enc{background:var(--lin);border-left:4px solid var(--rust);border-radius:0 var(--r) var(--r) 0;padding:20px 24px;margin:24px 0}
.enc p{margin-bottom:0}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
  .hero-in,.rdv-in,.split,.pr-in{grid-template-columns:1fr;gap:34px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .etapes-h{grid-template-columns:repeat(2,1fr)}
  .ft-in{grid-template-columns:1fr 1fr}
  h1{max-width:none}
}
@media(max-width:760px){
  .burger{display:flex}
  .nv{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px;border-bottom:1px solid var(--lin-2);box-shadow:var(--sh)}
  body.menu-on .nv{display:flex}
  .dd-m{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 12px;min-width:0}
  .hd-tel .btn{display:none}
  .hd-in{flex-wrap:wrap;gap:12px}
  .cards,.grille2,.etapes-h,.f2,.ft-in{grid-template-columns:1fr}
  .sec{padding:52px 0}
  .ft-bas{flex-direction:column;gap:6px}
}

/* ==========================================================
   CARROUSEL D'ACCUEIL
   ========================================================== */
.carrousel{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:var(--char)}
.car-pistes{position:relative;height:420px}
@supports (aspect-ratio:1){ .car-pistes{height:auto;aspect-ratio:16/11} }
.car-p{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .55s ease}
.car-p.on{opacity:1;visibility:visible}
.car-p img{width:100%;height:100%;object-fit:cover;display:block}
.car-p .ph{width:100%;height:100%;min-height:0;border:none;border-radius:0;background:var(--char-2)}
.car-p .ph span{color:var(--gris-l)}

/* voile dégradé pour garder le texte lisible sur n'importe quelle photo */
.car-p figcaption{position:absolute;inset:auto 0 0 0;padding:64px 26px 24px;color:#fff;
  background:linear-gradient(to top,rgba(41,37,33,.94) 0%,rgba(41,37,33,.78) 45%,rgba(41,37,33,0) 100%)}
.car-p figcaption h2{font-size:clamp(24px,3.1vw,34px);font-weight:800;letter-spacing:-.7px;line-height:1.1;color:#fff;max-width:none}
.car-p figcaption p{font-size:15px;color:#D8D2C4;margin-top:8px;max-width:44ch}
.car-p figcaption a{display:inline-block;margin-top:12px;font-size:14px;font-weight:600;color:var(--rust-l)}
.car-p figcaption a:hover{text-decoration:underline}

/* flèches */
.car-fl{position:absolute;top:38%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.9);color:var(--char);font-size:26px;line-height:1;display:flex;
  align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.2);transition:.15s;z-index:3}
.car-fl:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.car-prec{left:14px}.car-suiv{right:14px}
.car-fl:focus-visible{outline:3px solid var(--rust);outline-offset:2px}

/* pastilles de navigation */
.car-points{position:absolute;bottom:78px;left:26px;display:flex;gap:8px;z-index:3}
.car-points button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);transition:.2s;padding:0}
.car-points button.on{background:var(--rust-l);width:26px;border-radius:5px}
.car-points button:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* bouton d'appel à l'action, collé sous le carrousel */
.car-cta{display:block;background:var(--rust);color:#fff;text-align:center;padding:15px 20px;
  font-weight:600;font-size:15.5px;transition:.15s}
.car-cta:hover{background:var(--rust-d)}

@media(max-width:980px){
  .car-pistes{height:380px}
  @supports (aspect-ratio:1){ .car-pistes{height:auto;aspect-ratio:4/3} }
  .car-p figcaption{padding:56px 20px 20px}
  .car-points{bottom:70px;left:20px}
}
@media(max-width:600px){
  .car-pistes{height:330px}
  @supports (aspect-ratio:1){ .car-pistes{height:auto;aspect-ratio:1/1} }
  .car-fl{width:36px;height:36px;font-size:22px}
  .car-p figcaption p{font-size:14px}
}
/* respect du réglage système « animations réduites » */
@media (prefers-reduced-motion:reduce){ .car-p{transition:none} }
