:root{
  --bg:#FBFAF7;
  --ink:#1E2320;
  --muted:#6B7570;
  --line:#E2DFD7;
  --accent:#3F5F4B;
  --accent-soft:#EEF2EE;
  --warm:#B08D57;
  --card:#FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg);color:var(--ink);
  font-family:-apple-system,"Helvetica Neue",Arial,sans-serif;
  line-height:1.75;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:960px;margin:0 auto;padding:0 22px;}

/* NAV */
nav{
  position:sticky;top:0;z-index:20;background:rgba(251,250,247,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
}
.navin{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;}
.logo{font-family:Georgia,serif;font-size:17px;letter-spacing:.02em;min-width:0;}
.logo span{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--muted);
  font-family:ui-monospace,monospace;text-transform:uppercase;margin-top:2px;}
.navlinks{display:flex;gap:20px;font-size:13px;color:var(--muted);align-items:center;}
.navlink-ext{
  color:var(--warm);text-decoration:none;letter-spacing:.08em;font-size:12px;
  border:1px solid rgba(176,141,87,.4);border-radius:99px;padding:4px 12px;
}
.navcta{
  background:var(--accent);color:#fff;padding:9px 16px;border-radius:7px;
  font-size:13px;font-weight:600;flex:none;white-space:nowrap;
}
.navlinks a{color:var(--muted);text-decoration:none;}
.navlinks a:hover{color:var(--ink);}
.navright{display:flex;align-items:center;gap:10px;}
.burger{
  display:none;width:44px;height:44px;padding:0;
  background:none;border:0;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
}
.burger span{
  display:block;width:20px;height:1.5px;background:var(--ink);border-radius:2px;
  transition:transform .25s ease,opacity .2s ease;
}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.menu{
  position:sticky;top:0;z-index:19;
  background:rgba(251,250,247,.98);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  overflow:hidden;max-height:0;opacity:0;
  transition:max-height .28s ease,opacity .2s ease;
}
.menu.open{max-height:70vh;opacity:1;}
.menu .wrap{display:flex;flex-direction:column;padding-top:8px;padding-bottom:16px;}
.menu a{
  display:block;padding:13px 0;font-size:15px;color:var(--ink);
  text-decoration:none;border-bottom:1px solid var(--line);
}
.menu a:last-child{border-bottom:0;}
.menu .menu-ext{color:var(--warm);margin-top:6px;}

section[id]{scroll-margin-top:76px;}

@media(max-width:720px){
  .navlinks{display:none;}
  .burger{display:flex;margin-left:-12px;margin-right:2px;}
  .logo span{font-size:8.5px;letter-spacing:.16em;}
  .navcta{padding:9px 13px;font-size:12.5px;}
  .logo{margin-right:auto;}
}
@media(min-width:721px){
  .menu{display:none;}
}

/* HERO */
header.wrap{padding:80px 22px 68px;}
.eyebrow{
  font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--warm);margin-bottom:20px;
}
/* Barre de progression de lecture */
.progression{
  position:fixed;top:0;left:0;height:2px;width:0;
  background:var(--accent);z-index:40;
  transition:width .1s linear;
}

/* Bouton d'appel flottant (mobile) */
.appel-flottant{
  position:fixed;left:22px;right:22px;bottom:18px;z-index:30;
  display:none;align-items:center;justify-content:center;gap:9px;
  padding:15px 20px;border-radius:12px;
  background:var(--accent);color:#fff;
  text-decoration:none;font-size:15px;font-weight:500;
  box-shadow:0 6px 22px rgba(30,35,32,.22);
  opacity:0;transform:translateY(80px);
  transition:opacity .35s ease, transform .35s cubic-bezier(.16,.8,.28,1);
}
.appel-flottant.visible{opacity:1;transform:none;}
@media(max-width:720px){
  .appel-flottant{display:flex;}
}

/* Survol des cartes (ordinateur) */
@media(hover:hover) and (min-width:721px){
  .card{
    transition:transform .3s cubic-bezier(.16,.8,.28,1),
               box-shadow .3s ease, border-color .3s ease;
  }
  .card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 26px rgba(30,35,32,.08);
    border-color:#CFD8D0;
  }
}

/* FAQ dépliante */
.faq-corps{
  overflow:hidden;height:0;
  transition:height .35s cubic-bezier(.16,.8,.28,1);
}
summary:after{
  transition:transform .3s cubic-bezier(.16,.8,.28,1);
  display:inline-block;
}
details[open] summary:after{transform:rotate(135deg);}

@media(prefers-reduced-motion:reduce){
  .progression,.appel-flottant,.faq-corps,summary:after{transition:none;}
}

/* Dégradé lent en fond du hero */
header.wrap{position:relative;}
header.wrap > *{position:relative;z-index:1;}
header.wrap::before{
  content:"";position:absolute;z-index:0;
  left:50%;transform:translateX(-50%);
  top:0;bottom:0;width:100vw;
  background:linear-gradient(115deg,
    #FBFAF7 0%,
    #F1F4F0 28%,
    #E9EFE9 50%,
    #F3F1EA 72%,
    #FBFAF7 100%);
  background-size:280% 280%;
  animation:derive 24s ease-in-out infinite;
}
@keyframes derive{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}

/* Mot qui change dans le titre */
.mot{
  display:inline-block;
  transition:opacity .45s ease, transform .45s ease;
}
.mot.sort{opacity:0;transform:translateY(-10px);}
.mot.entre{opacity:0;transform:translateY(10px);}

@media(prefers-reduced-motion:reduce){
  header.wrap::before{animation:none;}
  .mot{transition:none;}
}

/* Apparition à l'arrivée sur la page */
.arrive{
  opacity:0;transform:translateY(34px);
  animation:monte 1s cubic-bezier(.16,.8,.28,1) forwards;
  animation-delay:var(--d,0ms);
}
@keyframes monte{
  to{opacity:1;transform:none;}
}

/* Apparition des sections au défilement */
.revele{
  opacity:0;transform:translateY(44px);
  transition:opacity .85s cubic-bezier(.16,.8,.28,1),
             transform .85s cubic-bezier(.16,.8,.28,1);
}
.revele.vu{opacity:1;transform:none;}
.revele-lot > *{
  opacity:0;transform:translateY(40px);
  transition:opacity .75s cubic-bezier(.16,.8,.28,1),
             transform .75s cubic-bezier(.16,.8,.28,1);
}
.revele-lot.vu > *{opacity:1;transform:none;}

@media(prefers-reduced-motion:reduce){
  .arrive{animation:none;opacity:1;transform:none;}
  .revele,.revele-lot > *{opacity:1;transform:none;transition:none;}
}

/* Halo respirant derrière le titre */
.titre-halo{position:relative;}
.titre-halo h1{position:relative;z-index:1;}
.halo{
  position:absolute;z-index:0;pointer-events:none;
  left:-10%;top:50%;width:78%;padding-bottom:78%;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(63,95,75,.40) 0%,
    rgba(63,95,75,.22) 40%,
    rgba(63,95,75,0) 72%);
  animation:respire 7s ease-in-out infinite;
}
@keyframes respire{
  0%,100%{transform:translateY(-50%) scale(.86);opacity:.55;}
  45%,55%{transform:translateY(-50%) scale(1.06);opacity:1;}
}
@media(prefers-reduced-motion:reduce){
  .halo{animation:none;transform:translateY(-50%) scale(.95);opacity:.7;}
}

h1{
  font-family:Georgia,serif;font-size:clamp(30px,5.2vw,44px);
  font-weight:400;line-height:1.25;letter-spacing:-.01em;margin-bottom:24px;
  margin-left:-.045em;
}
.lede{font-size:16px;color:var(--muted);max-width:560px;margin-bottom:34px;}
.btns{display:flex;gap:11px;flex-wrap:wrap;}
.btn{
  background:var(--accent);color:#fff;padding:14px 24px;border-radius:8px;
  font-size:14.5px;font-weight:600;display:inline-block;
}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);}
.btns-note{font-size:12.5px;color:var(--muted);margin-top:14px;}
.trust{
  display:flex;gap:14px 30px;flex-wrap:wrap;margin-top:40px;
  font-size:12.5px;color:var(--muted);
}
.trust div{display:flex;align-items:center;gap:7px;}
.tick{color:var(--accent);font-weight:700;}

/* SECTIONS */
section.wrap{padding:92px 22px 84px;border-top:1px solid var(--line);}
@media(max-width:720px){
  section.wrap{padding:68px 22px 60px;}
  header.wrap{padding:56px 22px 52px;}
  footer.wrap{padding:44px 22px 60px;}
}
h2{
  font-family:Georgia,serif;font-size:25px;font-weight:400;margin-bottom:12px;line-height:1.3;
}
.sublede{color:var(--muted);font-size:14.5px;margin-bottom:36px;max-width:600px;}

.grid{display:grid;gap:20px;}
.g2{grid-template-columns:1fr 1fr;}
.g3{grid-template-columns:repeat(3,1fr);}
@media(max-width:720px){.g2,.g3{grid-template-columns:1fr;}}

.card{
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px 24px;
}
.card h3{font-family:Georgia,serif;font-size:17px;font-weight:400;margin-bottom:10px;}
.card p{font-size:13.5px;color:var(--muted);}
.card .price{
  font-family:Georgia,serif;font-size:26px;margin:20px 0 4px;color:var(--ink);
}
.card .per{font-size:12px;color:var(--muted);font-family:ui-monospace,monospace;}
/* Parcours tarifaire */
.parcours{
  display:flex;align-items:stretch;
  border:1px solid var(--line);border-radius:12px;
  background:var(--card);overflow:hidden;margin-bottom:20px;
}
.parcours .pas{flex:1;padding:22px 14px;text-align:center;}
.parcours .pas.fort{background:var(--accent-soft);}
.parcours .lab{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:9px;line-height:1.5;
}
.parcours .val{
  font-family:Georgia,serif;font-size:24px;color:var(--ink);margin-bottom:5px;
}
.parcours .pas.fort .val{color:var(--accent);}
.parcours .val s{font-size:15px;color:var(--muted);margin-left:5px;}
.parcours .sub{font-size:11.5px;color:var(--muted);line-height:1.5;}
.parcours .fleche{
  display:flex;align-items:center;padding:0 4px;
  color:#C9CFC9;font-size:17px;
}
@media(max-width:720px){
  .parcours{flex-direction:column;}
  .parcours .pas{padding:18px 14px;}
  .parcours .fleche{
    justify-content:center;padding:0;height:18px;
    transform:rotate(90deg);
  }
}
.incl{list-style:none;margin:16px 0 14px;padding:0;}
.incl li{
  font-size:13px;color:var(--muted);padding-left:16px;
  position:relative;margin-bottom:7px;line-height:1.5;
}
.incl li:before{
  content:"";position:absolute;left:0;top:8px;
  width:5px;height:5px;border-radius:50%;background:var(--accent);
}
.price-detail{
  margin:16px 0 14px;padding:14px 16px;
  background:#fff;border:1px solid var(--line);border-radius:9px;
}
.price-detail b{display:block;font-size:14px;color:var(--ink);margin-bottom:4px;}
.price-detail span{display:block;font-size:12.5px;color:var(--muted);}
.avis{
  border:1px solid var(--line);border-radius:14px;
  background:var(--accent-soft);padding:38px 28px;text-align:center;
}
.avis .tag{
  display:inline-block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);border:1px solid rgba(63,95,75,.3);
  border-radius:99px;padding:4px 11px;margin-bottom:16px;
}
.avis h2{font-size:22px;margin-bottom:12px;}
.avis-intro{font-size:14.5px;color:var(--muted);max-width:540px;margin:0 auto 24px;}
.google-summary{
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex-wrap:wrap;margin:0 auto 24px;font-size:14px;color:#3A423D;
}
.google-summary strong{font-size:15px;color:var(--ink);}
.google-stars{color:#E9A916;letter-spacing:2px;font-size:20px;line-height:1;}
.google-attribution{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:-2px auto 22px;color:var(--muted);font-size:12px;
}
.google-attribution strong{color:#3A423D;font-weight:600;}
.google-logo{width:20px;height:20px;display:block;}
.reviews-loading{
  padding:34px 20px;border:1px solid rgba(63,95,75,.15);
  background:rgba(255,255,255,.7);border-radius:12px;
  color:var(--muted);font-size:13.5px;
}
.reviews-content[hidden],.reviews-error[hidden]{display:none;}
.review-stage{
  display:grid;grid-template-columns:42px minmax(0,1fr) 42px;
  gap:12px;align-items:center;max-width:680px;margin:0 auto;position:relative;
}
.review-card{
  min-height:250px;padding:25px 26px;text-align:left;
  border:1px solid var(--line);border-radius:12px;background:#fff;
  box-shadow:0 8px 24px rgba(30,35,32,.06);
}
.review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.review-author-line{display:flex;align-items:center;gap:10px;}
.review-avatar,.review-avatar-fallback{
  width:38px;height:38px;border-radius:50%;flex:none;
}
.review-avatar{object-fit:cover;background:#E8ECE9;}
.review-avatar[hidden],.review-avatar-fallback[hidden]{display:none;}
.review-avatar-fallback{
  display:flex;align-items:center;justify-content:center;
  background:var(--accent);color:#fff;font-size:13px;font-weight:600;
}
.review-author{font-family:Georgia,serif;font-size:17px;color:var(--ink);}
.review-profile-link{
  display:inline-block;margin-top:2px;color:var(--accent);
  font-size:11.5px;text-decoration:none;
}
.review-profile-link:hover{text-decoration:underline;}
.google-mark{
  flex:none;font-family:Arial,sans-serif;font-size:22px;font-weight:700;
  color:#4285F4;line-height:1;
}
.review-rating{color:#E9A916;letter-spacing:2px;font-size:17px;margin-top:7px;}
.review-date{font-size:12.5px;color:var(--muted);margin-top:2px;}
.review-text{
  color:#3A423D;font-size:14.5px;line-height:1.7;
  margin-top:18px;display:-webkit-box;-webkit-line-clamp:6;
  -webkit-box-orient:vertical;overflow:hidden;
}
.review-origin{
  display:inline-block;margin-top:18px;color:var(--accent);
  font-size:12.5px;text-decoration:none;
}
.review-origin:hover{text-decoration:underline;}
.review-nav{
  width:42px;height:42px;border:1px solid var(--line);border-radius:50%;
  background:#fff;color:var(--accent);font-size:23px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.review-nav:hover{border-color:var(--accent);}
.review-dots{display:flex;justify-content:center;gap:7px;margin:16px 0 22px;}
.review-dot{
  width:7px;height:7px;border:0;border-radius:50%;padding:0;
  background:#C8D1CA;cursor:pointer;
}
.review-dot.active{background:var(--accent);transform:scale(1.25);}
.reviews-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.avis .btn-avis{
  display:inline-block;text-decoration:none;font-size:14px;font-weight:500;
  color:#fff;background:var(--accent);border-radius:10px;
  padding:13px 22px;
}
.avis .btn-avis.secondary{
  color:var(--accent);background:transparent;border:1px solid var(--accent);
}
.reviews-error{
  border:1px solid rgba(176,141,87,.3);border-radius:12px;
  background:#fff;padding:24px 20px;
}
.reviews-error p{font-size:13.5px;color:var(--muted);margin:0 auto 18px;max-width:460px;}
@media(max-width:720px){
  .avis{padding:26px 22px;}
  .review-stage{grid-template-columns:1fr;}
  .review-card{min-height:285px;padding:22px 20px;}
  .review-nav{
    position:absolute;bottom:-54px;width:40px;height:40px;z-index:1;
  }
  .review-prev{left:calc(50% - 50px);}
  .review-next{right:calc(50% - 50px);}
  .review-dots{margin-top:62px;}
  .reviews-actions{flex-direction:column;}
  .avis .btn-avis{width:100%;}
}

.freecall{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  border:1px solid var(--line);border-radius:12px;
  background:var(--card);padding:20px 22px;margin-bottom:20px;
}
.freecall b{display:block;font-size:15px;margin-bottom:5px;}
.freecall .gratuit{display:inline;font-size:13.5px;color:var(--accent);}
.freecall p{font-size:13.5px;color:var(--muted);}
.freecall-btn{
  flex:none;text-decoration:none;font-size:14px;font-weight:500;
  color:var(--accent);border:1px solid var(--accent);border-radius:10px;
  padding:11px 20px;
}
@media(max-width:720px){
  .freecall{flex-direction:column;align-items:stretch;}
  .freecall-btn{text-align:center;}
}

.practical{
  margin-top:36px;padding:26px 24px;
  background:var(--accent-soft);border-radius:12px;
}
.practical>b{
  display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;
}
.practical-line{margin-bottom:16px;}
.practical-line:last-child{margin-bottom:0;}
.practical-line h5{font-size:14px;font-weight:600;margin-bottom:5px;}
.practical-line p{font-size:13.5px;color:var(--muted);}
.card.hi{border-color:var(--accent);background:var(--accent-soft);}
.badge{
  display:inline-block;background:var(--accent);color:#fff;font-size:10px;
  font-family:ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 9px;border-radius:99px;margin-bottom:14px;
}

/* ABOUT */
.about{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:start;}
@media(max-width:720px){.about{grid-template-columns:1fr;}}
.photo{
  aspect-ratio:1/1;border-radius:12px;overflow:hidden;
  background:#DDE4DE;border:1px solid var(--line);
}
.photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:720px){
  .photo{max-width:none;}
}
.about p{margin-bottom:18px;font-size:14.5px;color:#3A423D;}
.creds{
  margin-top:26px;padding:22px;background:var(--accent-soft);border-radius:10px;
  font-size:13px;color:#3A423D;
}
.creds b{display:block;font-family:ui-monospace,monospace;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.creds li{list-style:none;padding-left:16px;position:relative;margin-bottom:9px;}
.diplome{margin:20px 0 0;}
.diplome img{
  width:100%;height:auto;display:block;
  border:1px solid var(--line);border-radius:8px;background:#fff;
}
.credentials-link{
  display:inline-block;margin-top:18px;color:var(--accent);
  font-size:13px;font-weight:600;text-decoration:none;
  border-bottom:1px solid rgba(63,95,75,.35);padding-bottom:2px;
}
.credentials-link:hover{border-bottom-color:var(--accent);}
.diplome figcaption{
  font-size:11.5px;color:var(--muted);margin-top:9px;
}
.creds-note{margin:14px 0 0;padding-top:14px;border-top:1px solid rgba(0,0,0,.08);font-size:12.5px;color:var(--muted);font-style:italic;}
.creds li:before{content:"—";position:absolute;left:0;color:var(--warm);}

/* STEPS */
.step{display:flex;gap:18px;margin-bottom:32px;align-items:flex-start;}
.stepn{
  flex:0 0 auto;width:32px;height:32px;border-radius:50%;
  background:var(--accent);color:#fff;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:600;
}
.step h4{font-size:15px;margin-bottom:6px;}
.step p{font-size:13.5px;color:var(--muted);margin-bottom:10px;}
.step p:last-child{margin-bottom:0;}
.step-note{color:var(--ink);font-weight:500;}
.substep{
  margin-top:16px;padding:16px 18px;
  background:var(--accent-soft);border-radius:10px;
}
.substep h5{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:8px;font-weight:600;
}
.substep p{font-size:13px;}

/* FAQ */
details{
  border-bottom:1px solid var(--line);padding:22px 0;
}
summary{
  cursor:pointer;font-size:15px;font-weight:500;list-style:none;
  display:flex;justify-content:space-between;gap:12px;
}
summary::-webkit-details-marker{display:none;}
summary:after{content:"+";color:var(--warm);font-size:19px;line-height:1;}

details p{margin-top:14px;font-size:13.5px;color:var(--muted);max-width:640px;}

/* BOOKING */
.booking{background:var(--accent);color:#fff;border-radius:16px;padding:48px 30px;text-align:center;}
.booking h2{color:#fff;margin-bottom:10px;}
.booking p{color:#D3DFD6;font-size:14.5px;max-width:440px;margin:0 auto 30px;}
.booking .btn{background:#fff;color:var(--accent);}
.booking-note{font-size:12.5px;color:#C2D0C6;margin-top:18px;}
.btn-resa{
  display:inline-block;margin-left:10px;padding:14px 22px;
  border:1px solid rgba(255,255,255,.55);border-radius:10px;
  color:#fff;text-decoration:none;font-size:14px;font-weight:500;
}
@media(max-width:720px){
  .btn-resa{display:block;margin:12px auto 0;max-width:320px;text-align:center;}
}
.btn-call{
  display:inline-block;margin-left:10px;padding:14px 22px;
  border:1px solid rgba(255,255,255,.55);border-radius:10px;
  color:#fff;text-decoration:none;font-size:14px;font-weight:500;
}
@media(max-width:720px){
  .btn-call{display:block;margin:12px auto 0;max-width:320px;text-align:center;}
}
.slots{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:28px;
}
.slot{
  border:1px solid rgba(255,255,255,.3);border-radius:7px;padding:8px 13px;
  font-size:12.5px;font-family:ui-monospace,monospace;color:#D3DFD6;
}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media(max-width:720px){.contact-grid{grid-template-columns:1fr;}}
.info-line{
  display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);
  font-size:13.5px;
}
.info-line b{
  font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);min-width:88px;
}
.map{
  border-radius:12px;overflow:hidden;aspect-ratio:4/3;
  border:1px solid var(--line);background:#E6EAE5;
}
.map iframe{width:100%;height:100%;border:0;display:block;}
.map-ask{
  width:100%;height:100%;border:0;cursor:pointer;
  background:linear-gradient(140deg,#E6EAE5,#D2DBD4);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:24px 22px;text-align:center;color:var(--accent);
  font-family:inherit;
}
.map-ask b{font-size:14.5px;}
.map-ask span{font-size:13px;color:#4A554E;}
.map-ask em{
  font-style:normal;font-size:11.5px;color:#6E7A72;
  max-width:280px;line-height:1.5;margin-top:4px;
}
.map-ask:hover b{text-decoration:underline;}

/* FOOTER */
footer.wrap{
  border-top:1px solid var(--line);padding:56px 22px 68px;
  font-size:12px;color:var(--muted);
}
footer .legal{
  background:#F3F1EB;border-radius:10px;padding:22px;margin-bottom:26px;
  font-size:12.5px;line-height:1.65;
}
footer .legal b{color:var(--ink);}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px;}
.foot-links a{color:var(--muted);text-decoration:none;}
.foot-links a:hover{color:var(--ink);}
.foot-ext{color:var(--warm);text-decoration:none;}
.urgent{color:var(--warm);font-weight:600;}
.aplomb{
  border:1px solid rgba(176,141,87,.35);border-radius:14px;
  background:#FAF7F1;padding:32px 28px;
}
.aplomb .tag{
  display:inline-block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--warm);border:1px solid rgba(176,141,87,.4);
  border-radius:99px;padding:4px 11px;margin-bottom:16px;
}
.aplomb h2{font-size:22px;margin-bottom:12px;}
.aplomb p{font-size:14.5px;color:var(--muted);max-width:520px;margin-bottom:22px;}
.aplomb .btn-aplomb{
  display:inline-block;text-decoration:none;font-size:14px;font-weight:500;
  color:var(--warm);border:1px solid var(--warm);border-radius:10px;
  padding:12px 20px;background:transparent;
}
@media(max-width:720px){
  .aplomb{padding:26px 22px;}
  .aplomb .btn-aplomb{display:block;text-align:center;}
}
.info-line a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line);}

/* ===== Compléments pages SEO (n'altèrent pas les styles de l'accueil) ===== */
.crumbs{font-size:12px;color:var(--muted);margin-bottom:26px;display:flex;flex-wrap:wrap;gap:6px 8px;}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);}
.crumbs a:hover{color:var(--ink);}
.crumbs span[aria-hidden]{color:#C9CFC9;}
.prose p{font-size:15px;color:#3A423D;max-width:660px;margin-bottom:16px;}
.prose h3{font-family:Georgia,serif;font-size:18px;font-weight:400;margin:30px 0 10px;line-height:1.35;}
.prose a,.card a,#faq details p a,.sublede a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(63,95,75,.35);}
.prose a:hover,.card a:hover,#faq details p a:hover{border-bottom-color:var(--accent);}
section.wrap .grid{margin-top:8px;}
.card a{font-weight:500;}
.tarif-note{font-size:14.5px;color:var(--muted);max-width:640px;margin-bottom:22px;}
.practical>h2{display:block;font-family:inherit;font-size:16px;font-weight:600;margin-bottom:18px;}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:8px;}
@media(max-width:720px){.related-grid{grid-template-columns:1fr;}}
a.related{display:block;text-decoration:none;color:inherit;background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:20px 22px;}
a.related b{display:block;font-family:Georgia,serif;font-weight:400;font-size:16.5px;color:var(--ink);margin-bottom:6px;line-height:1.35;}
a.related span{display:block;font-size:13px;color:var(--muted);}
a.related em{display:block;font-style:normal;font-size:12px;color:var(--accent);margin-top:10px;}
@media(hover:hover) and (min-width:721px){
  a.related{transition:transform .3s cubic-bezier(.16,.8,.28,1),box-shadow .3s ease,border-color .3s ease;}
  a.related:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(30,35,32,.08);border-color:#CFD8D0;}
}
.booking .btn-resa{margin-left:10px;}
.booking-links{margin-top:22px;font-size:13px;}
.booking-links a{color:#fff;margin:0 8px;text-underline-offset:3px;}
header.wrap .lede{max-width:600px;}
