:root{--principale:#C9A24B;--secondaire:#8A9A7B;--fond:#FBF8F3;--texte:#2E2A25}
body{background:var(--fond);color:var(--texte);font-family:'Lato',sans-serif;padding-top:56px}
h1,h2,h3,.navbar-brand{font-family:'Playfair Display',serif}
section{padding:5rem 0}
.hero{min-height:90vh;display:flex;align-items:center;text-align:center;color:#fff;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),var(--secondaire) center/cover}
.hero h1{font-size:clamp(2rem,6vw,3.8rem)}
.btn-or{background:var(--principale);color:#fff;border:0}.btn-or:hover{filter:brightness(.92);color:#fff}
.titre{text-align:center;margin-bottom:2.5rem}.titre:after{content:"";display:block;width:60px;height:3px;background:var(--principale);margin:.7rem auto 0}
.carte{background:#fff;border-radius:12px;padding:1.5rem;height:100%;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.carte i{font-size:2rem;color:var(--principale)}
.galerie img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;cursor:pointer;transition:transform .3s}.galerie img:hover{transform:scale(1.03)}
.etape{width:48px;height:48px;border-radius:50%;background:var(--principale);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 1rem}
.apparait{opacity:0;transform:translateY(24px);transition:.7s}.apparait.visible{opacity:1;transform:none}
.wa-flottant{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;z-index:1030;text-decoration:none}
.haut{position:fixed;left:18px;bottom:18px;display:none;z-index:1030}
#pied{background:var(--texte);color:#ddd}#pied a{color:#fff}
