/* Guide Rando Trail — refonte v2.
   Identité de l'accueil conservée : bandeau logo + contact, diaporama, titres Almarai en capitales
   avec filet, photos / texte en deux colonnes. Ajouts : typographie plus vivante (Almarai + Fraunces),
   profondeur (photos décalées, ombres teintées, grain), menu collant, apparition douce au défilement. */
:root{
  --encre:#2b2f2e;
  --texte:#3a3f3e;
  --filet:#d9d3c8;
  --sable:#f4eee4;
  --sable-fonce:#e9dfcd;
  --tan:#b0875a;
  --tan-fonce:#845e3a;
  --foret:#34504f;
  --ardoise:#34504f;
  --ardoise-nuit:#1e302f;
  --blanc:#fff;
  --max:1140px;
  --rayon:6px;
  --ombre:0 22px 44px -26px rgba(30,48,47,.55);
  --ressort:cubic-bezier(.22,1,.36,1);
  --serif:Fraunces,Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:60px}
body{margin:0;background:var(--blanc);color:var(--texte);font:400 17px/1.7 Almarai,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--tan-fonce);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s}
a:hover{color:var(--foret)}
:focus-visible{outline:3px solid var(--ardoise);outline-offset:3px;border-radius:2px}
.sr{position:absolute;left:-9999px}
.sr:focus{left:12px;top:12px;z-index:100;background:#fff;padding:8px 12px}

h1,h2{font-family:Almarai,Arial,sans-serif;color:var(--encre);text-transform:uppercase;line-height:1.12;font-weight:300;letter-spacing:.045em;text-wrap:balance}
h1{font-size:clamp(1.9rem,4.4vw,2.9rem);margin:0 0 .6em}
h2{font-size:clamp(1.55rem,3.2vw,2.3rem);margin:0;padding:.9em 0 .5em;border-bottom:1px solid var(--encre);position:relative}
h2::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:3px;background:var(--tan)}
h3{font-size:1.28rem;color:var(--encre);margin:0 0 .4em;line-height:1.25;font-weight:700;text-wrap:balance}
p{margin:0 0 1.1em;text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* --- bandeau d'en-tête --- */
.bandeau{background:#fff;border-bottom:1px solid #eee}
.bandeau .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.logo img{width:230px;height:auto}
.contact-lien{font-family:Almarai,Arial,sans-serif;font-size:1.4rem;font-weight:700;text-decoration:none;color:var(--tan)}
.contact-lien:hover{color:var(--foret)}
.coord{list-style:disc;margin:0;padding:0 0 0 1.1em;font-size:.88rem;line-height:1.6}
.coord a{color:var(--tan-fonce)}
.coord .nouveau{font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.2rem;color:var(--foret)}
.coord .nouveau b{font:700 .85rem Almarai,Arial,sans-serif;letter-spacing:.06em;color:var(--tan-fonce);text-decoration:underline;font-style:normal}
.menu{background:rgba(52,80,79,.96);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px -16px rgba(30,48,47,.6)}
.menu ul{list-style:none;margin:0 auto;padding:0 20px;max-width:var(--max);display:flex;flex-wrap:wrap}
.menu a{display:flex;align-items:center;min-height:46px;padding:0 17px;color:#fff;text-decoration:none;font-size:.93rem;letter-spacing:.04em;position:relative}
.menu a::after{content:"";position:absolute;left:17px;right:17px;bottom:7px;height:2px;background:var(--tan);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ressort)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
.menu a:hover,.menu a[aria-current="page"]{color:#fff}

/* --- grandes images --- */
.heros{position:relative;background:#222}
.diapos{list-style:none;margin:0;padding:0;position:relative;aspect-ratio:2000/1000;max-height:78vh;width:100%;overflow:hidden}
.diapo{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.diapo.actif{opacity:1;z-index:1}
.diapo img,.diapo a{display:block;width:100%;height:100%}
.diapo img{object-fit:cover;object-position:center 35%}
.points{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:6px;justify-content:center;z-index:2}
.points button{position:relative;width:30px;height:30px;border:0;background:none;padding:0;cursor:pointer}
.points button::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.35);transition:transform .25s var(--ressort),background .25s}
.points button:hover::before{transform:scale(1.25)}
.points button[aria-current]::before{background:#fff}

/* bandeau-titre des pages récit : titre sur la photo */
.herotitre{position:relative;isolation:isolate;min-height:clamp(420px,66vh,640px);display:flex;align-items:flex-end;background:var(--ardoise-nuit);color:#fff}
.herotitre>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.herotitre::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(20,34,33,.88) 0%,rgba(20,34,33,.55) 42%,rgba(20,34,33,.08) 78%)}
.herotitre .wrap{width:100%;padding-top:80px;padding-bottom:48px}
.herotitre .etiquette{display:inline-block;margin-bottom:14px;font:700 .8rem Almarai,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#f0d9b5}
.herotitre h1{color:#fff;font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.01em;line-height:1.05;font-size:clamp(2.3rem,6vw,4.1rem);max-width:15em;margin:0 0 .45em}
.herotitre .reponse{max-width:640px;font-size:1.14rem;color:#f4f0e8;margin-bottom:1.3em}
.herotitre a{color:#f3dfc0}
.herotitre a:hover{color:#fff}
.herotitre .bt{color:#fff}
.herotitre .bt.clair{background:#fff;color:var(--ardoise)}
.herotitre .bt.clair:hover{background:var(--sable);color:var(--encre)}
.herotitre .bt.vert{background:var(--foret)}

/* --- bloc d'introduction (H1 + phrase-réponse) --- */
.intro{padding:62px 0 38px;text-align:center}
.intro .reponse{max-width:780px;margin:0 auto 1.5em;font-size:1.2rem;line-height:1.65;color:var(--encre)}
.boutons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.herotitre .boutons{justify-content:flex-start}
.bt{display:inline-block;padding:14px 26px;background:var(--ardoise);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.02em;border:2px solid var(--ardoise);border-radius:4px;transition:background .2s,transform .25s var(--ressort),box-shadow .25s;box-shadow:0 10px 22px -16px rgba(30,48,47,.9)}
.bt:hover{background:var(--encre);border-color:var(--encre);color:#fff;transform:translateY(-2px);box-shadow:0 16px 26px -16px rgba(30,48,47,.9)}
.bt:active{transform:scale(.97);box-shadow:none}
.bt.clair{background:#fff;color:var(--ardoise)}
.bt.clair:hover{background:var(--sable);color:var(--encre)}
.bt.vert{background:var(--foret);border-color:var(--foret)}
.bt.vert:hover{background:#223a39;border-color:#223a39}

/* --- sections --- */
section{padding:0 0 46px}
.deux{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;padding-top:36px}
.deux.inverse{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.deux.inverse>:first-child{order:2}
.deux>div,.deux>article{max-width:62ch}
.photos-col{display:grid;gap:22px}
.cadre{position:relative;overflow:hidden;background:#ddd;border-radius:var(--rayon)}
.cadre img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ressort)}
.cadre:hover img{transform:scale(1.045)}
.deux>.cadre,.photos-col>.cadre{box-shadow:var(--ombre),16px 16px 0 -1px var(--sable-fonce);overflow:visible;border-radius:var(--rayon)}
.deux>.cadre img,.photos-col>.cadre img{border-radius:var(--rayon)}
.deux>.cadre:hover img,.photos-col>.cadre:hover img{transform:none}
.photos-col>.cadre:nth-child(2){margin-left:34px}
.r43{aspect-ratio:3/2}
.rport{aspect-ratio:4/5}
.rquote{aspect-ratio:1080/911}
figcaption{font-size:.84rem;color:#5d6361;padding-top:7px}
figure{margin:0}

.cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 56px;padding-top:34px}
.carte{padding:18px 0 6px;border-top:1px solid var(--filet);transition:border-color .3s}
.carte:hover{border-top-color:var(--tan)}
.carte p{margin:0 0 .6em}
.carte .tag{font-size:.84rem;text-transform:uppercase;letter-spacing:.14em;color:var(--tan-fonce);font-weight:700}
.carte.vedette{background:var(--sable);padding:24px 26px;border-top:3px solid var(--foret);border-radius:0 0 var(--rayon) var(--rayon);box-shadow:var(--ombre)}
.chapo{font-size:1.16rem;color:var(--encre);line-height:1.65}
.liste{padding-left:1.2em;margin:0 0 1.1em}
.liste li{margin:.3em 0}

/* galerie en mosaïque */
.galerie{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:170px;grid-auto-flow:dense;gap:12px;padding-top:34px}
.galerie .cadre{height:100%}
.galerie .cadre:nth-child(1),.galerie .cadre:nth-child(8){grid-column:span 2;grid-row:span 2}
.presse-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-top:34px}
.presse-grille img{border:1px solid var(--filet);border-radius:var(--rayon)}

/* bandeau sable (grain discret) */
.sable{background-color:var(--sable);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .28 0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");padding:48px 0 52px;margin:14px 0 48px}
.sable h2{border-bottom-color:var(--tan)}
.fond-carte{background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.9)),url(/img/fond-carte.jpg) center/cover;padding-bottom:52px}

/* étapes */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:30px}
.trio>div{border-top:1px solid var(--tan);padding-top:12px}
.trio>div:nth-child(2){margin-top:34px}
.trio>div:nth-child(3){margin-top:68px}
.trio h3{font-family:Almarai,Arial,sans-serif;text-transform:uppercase;font-size:1.05rem;letter-spacing:.08em}
.trio .num{display:block;font:600 3.4rem/1 var(--serif);color:transparent;-webkit-text-stroke:1.4px var(--tan);margin-bottom:6px}

/* page récit */
.recit{max-width:740px;margin:0 auto}
.recit p{font-size:1.14rem;line-height:1.8}
.recit .exergue{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3vw,2rem);line-height:1.32;color:var(--ardoise);border-left:4px solid var(--tan);padding:6px 0 6px 26px;margin:1.6em 0 1.5em}
.chapitre{padding-top:54px}
.chapitre .num{display:flex;align-items:center;gap:12px;font:700 .8rem Almarai,Arial,sans-serif;letter-spacing:.2em;color:var(--tan-fonce)}
.chapitre .num::before{content:"";width:36px;height:2px;background:var(--tan)}
.chapitre h2{border:0;padding-top:.3em;font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.01em;line-height:1.1;font-size:clamp(1.9rem,3.6vw,2.7rem)}
.chapitre h2::after{display:none}
.fait{background:#fff;border-left:4px solid var(--ardoise);padding:16px 20px;margin:1.4em 0;font-size:.98rem;border-radius:0 var(--rayon) var(--rayon) 0;box-shadow:var(--ombre)}
.sable .fait{background:rgba(255,255,255,.7)}
.fait strong{color:var(--encre)}
.cle{background:var(--ardoise-nuit);color:#e8eeec;border-radius:var(--rayon);padding:40px 38px;box-shadow:var(--ombre);position:relative;overflow:hidden}
.cle::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;border:1.5px solid rgba(240,217,181,.35)}
.cle .grand{display:block;font:600 clamp(3.4rem,7vw,5rem)/1 var(--serif);color:#f0d9b5;margin-bottom:.25em}
.cle p{margin:0;font-size:1.02rem;max-width:34ch}
.plein{margin:34px 0}
.plein img{width:100%;max-height:520px;object-fit:cover}

/* FAQ */
.faq h2{margin-bottom:6px}
.faq details{border-bottom:1px solid var(--filet);padding:18px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--encre);list-style:none;padding-right:34px;position:relative;font-size:1.04rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:-5px;font-size:1.7rem;font-weight:300;color:var(--tan-fonce);transition:transform .3s var(--ressort)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--foret)}
.faq details p{margin:.8em 0 0;max-width:68ch}

/* formulaire */
form.demande{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:26px;max-width:860px}
form.demande .plein-col{grid-column:1/-1}
form.demande label{display:block;font-size:.9rem;font-weight:700;color:var(--encre);margin-bottom:5px}
form.demande input,form.demande select,form.demande textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #b6b2a8;border-radius:4px;font:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}
form.demande input:focus,form.demande select:focus,form.demande textarea:focus{border-color:var(--ardoise);box-shadow:0 0 0 3px rgba(52,80,79,.18);outline:none}
form.demande .oui{display:flex;gap:10px;align-items:flex-start;font-weight:400}
form.demande .oui input{width:auto;min-height:0;margin-top:6px}
.note{font-size:.88rem;color:#5d6361}

/* pied de page */
footer{background:var(--ardoise-nuit);color:#d9dedc;padding:48px 0 28px;margin-top:30px;font-size:.93rem}
footer a{color:#ecd3ab}
footer a:hover{color:#fff}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:40px}
footer h2{font-size:.95rem;color:#fff;border:0;padding:0 0 .7em;font-weight:700;letter-spacing:.12em}
footer h2::after{display:none}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:.4em 0}
footer .bas{border-top:1px solid #425655;margin-top:30px;padding-top:18px;font-size:.84rem;color:#a9b4b1}
.fil{font-size:.85rem;padding:16px 0 0;color:#5d6361}
.fil a{color:#5d6361}

/* apparition douce (ajoutée par le script, jamais sans JS) */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ressort),transform .8s var(--ressort);transition-delay:var(--d,0s)}
.js .rv.vu{opacity:1;transform:none}

@media (max-width:860px){
  .deux,.deux.inverse{grid-template-columns:1fr;gap:26px}
  .deux.inverse>:first-child{order:0}
  .deux>div,.deux>article{max-width:none}
  .deux>.cadre,.photos-col>.cadre{box-shadow:var(--ombre),9px 9px 0 -1px var(--sable-fonce);margin-right:9px}
  .photos-col>.cadre:nth-child(2){margin-left:0}
  .cartes{grid-template-columns:1fr;gap:22px}
  .trio{grid-template-columns:1fr;gap:26px}
  .trio>div:nth-child(2),.trio>div:nth-child(3){margin-top:0}
  .galerie{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:130px}
  .galerie .cadre:nth-child(1),.galerie .cadre:nth-child(8){grid-column:span 2;grid-row:span 1}
  .presse-grille{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
  form.demande{grid-template-columns:1fr}
  .logo img{width:180px}
  .bandeau .wrap{justify-content:center;text-align:left}
  .diapos{aspect-ratio:4/3;max-height:60vh}
  .herotitre{min-height:460px}
  .herotitre .wrap{padding-bottom:34px}
  .menu{position:static}
  .menu ul{padding:0 6px}
  .menu a{padding:0 11px;font-size:.88rem}
  .menu a::after{left:11px;right:11px}
  .intro{padding:44px 0 28px}
  .chapitre{padding-top:38px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .diapo,.cadre img,.bt,.menu a::after,.points button::before,.faq summary::after{transition:none}
  .js .rv{opacity:1;transform:none;transition:none}
}
@media print{.menu,.boutons,footer{display:none}.js .rv{opacity:1;transform:none}}

/* diapositive avec texte (passerelle, bivouac) */
.diapo-texte{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:6px;padding:90px clamp(20px,5vw,72px) 62px;color:#fff;background:linear-gradient(to top,rgba(20,34,33,.82),rgba(20,34,33,0))}
.diapo-texte strong{font:600 clamp(2.2rem,5.4vw,4.2rem)/1 var(--serif);letter-spacing:-.01em}
.diapo-texte span{font-size:1.05rem;letter-spacing:.04em}
.diapo-texte em{align-self:flex-start;margin-top:12px;padding:11px 22px;background:#fff;color:var(--ardoise);font:700 .95rem Almarai,Arial,sans-serif;font-style:normal;border-radius:4px;transition:transform .25s var(--ressort)}
.diapo a:hover .diapo-texte em{transform:translateY(-2px)}
.diapo a{position:relative}

/* bandeau de contact (v4) : boutons nets, plus de liste à puces */
.contact-bloc{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.contact-bloc .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.bandeau .bt{padding:11px 18px;font-size:.98rem;box-shadow:none}
.bandeau .bt:hover{transform:translateY(-1px);box-shadow:none}
.bandeau .bt strong{font-weight:700;letter-spacing:.01em;white-space:nowrap}
.nouveau{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:italic 600 1.2rem/1 var(--serif);color:var(--foret)}
.nouveau .pastille{font:700 .82rem/1 Almarai,Arial,sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase;background:var(--foret);color:#fff;padding:6px 10px;border-radius:3px}
.nouveau:hover{color:#223a39;text-decoration:underline;text-underline-offset:4px}
@media (max-width:560px){
  .bandeau .wrap{gap:14px}
  .contact-bloc{align-items:stretch;width:100%}
  .contact-bloc .actions{justify-content:stretch}
  .contact-bloc .actions .bt.vert{flex:1;justify-content:center;text-align:center}
  .contact-bloc .actions .bt.clair{display:none}
  .nouveau{justify-content:center}
}

.rvideo{aspect-ratio:480/848;max-width:340px;background:#1e302f}
.cadre video{display:block;width:100%;height:100%;object-fit:cover}


/* ===== v5 : un seul système visuel pour tout le site (celui de la page micro-aventures) ===== */
:root{
  --bg:#e4ddcd;--surface:#d6cebb;--ink:#2a2a26;--muted:#34322c;--accent:#34504f;--field:#34504f;
  --encre:#2a2a26;--texte:#2a2a26;--sable:#d9d1bd;--sable-fonce:#d6cebb;--filet:#bdb39b;
  --tan:#8a6a3f;--tan-fonce:#5d4826;--foret:#34504f;--ardoise:#2a2a26;--ardoise-nuit:#2a2a26;--blanc:#e4ddcd;
  --serif:Gambarino,Georgia,"Times New Roman",serif;--texte-police:"General Sans",Arial,Helvetica,sans-serif;
}
body{background:var(--bg);color:var(--ink);font:400 18px/1.6 var(--texte-police)}
h1,h2{font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.02em;line-height:1}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.9rem,1.4rem + 1.6vw,2.6rem);border-bottom:0;padding:.9em 0 .25em}
h2::after{display:none}
h3{font:500 1.15rem/1.3 var(--texte-police);letter-spacing:0}
a{color:var(--tan-fonce)}
a:hover{color:var(--foret)}
.bandeau{background:var(--bg);border-bottom:0}
.logo img{width:190px}
.menu{background:rgba(42,42,38,.96)}
.menu a::after{background:#d9c9a3}
.bt{background:var(--accent);border-color:var(--accent);box-shadow:none;border-radius:2px}
.bt:hover{background:#223a39;border-color:#223a39;box-shadow:none;transform:translateY(-2px)}
.bt.clair{background:transparent;color:var(--ink);border-color:var(--ink)}
.bt.clair:hover{background:var(--ink);color:var(--bg)}
.bt.vert{background:var(--field);border-color:var(--field)}
.herotitre .bt.clair{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.herotitre .bt.clair:hover{background:#fff}
.herotitre h1,.chapitre h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.herotitre h1{font-size:clamp(2.4rem,6vw,4.4rem)}
.cadre,.deux>.cadre,.photos-col>.cadre,.fait,.carte.vedette,.cle{box-shadow:none}
.deux>.cadre,.photos-col>.cadre{border-radius:0}
.cadre{border-radius:0}.cadre img,.deux>.cadre img{border-radius:0}
.carte{border-top:0;padding-top:10px}
.carte.vedette{background:var(--sable);border-top:0;border-radius:0}
.fait{background:var(--bg);border-left:0;border-radius:0;padding:14px 0 14px 18px;border-left:4px solid var(--field)}
.sable{background-color:var(--sable)}
.fond-carte{background:linear-gradient(rgba(228,221,205,.93),rgba(228,221,205,.93)),url(/img/fond-carte.jpg) center/cover}
.faq details{border-bottom:1px solid var(--filet)}
footer{background:var(--ink);color:#e4ddcd}
footer a{color:#e8d8b4}
.fil,.fil a,.note,figcaption{color:var(--muted)}
.coord .nouveau,.nouveau{font:400 1.35rem/1 var(--serif);font-style:normal;color:var(--field)}
.nouveau .pastille{background:var(--field)}
.trio .num{font:400 3.4rem/1 var(--serif);-webkit-text-stroke:1.4px var(--tan)}
.chapitre h2{font-size:clamp(2rem,3.6vw,2.9rem)}
.diapo-texte strong{font:400 clamp(2.3rem,5.6vw,4.4rem)/1 var(--serif);letter-spacing:-.02em}
.recit .exergue{font-style:normal;font-family:var(--serif)}
form.demande input,form.demande select,form.demande textarea{background:#f3efe4}

/* --- diaporama : première image avec promesse, pause, points de 44 px --- */
.points{bottom:10px;gap:0}
.points button{width:44px;height:44px}
.points button::before{width:12px;height:12px;margin:-6px 0 0 -6px}
.pause{position:absolute;right:16px;bottom:12px;z-index:3;min-height:44px;padding:0 16px;background:rgba(42,42,38,.78);color:#fff;border:2px solid #fff;border-radius:2px;font:500 .95rem var(--texte-police);cursor:pointer}
.pause:hover{background:var(--ink)}
.diapo-texte.promesse{padding:120px clamp(20px,5vw,72px) 76px;gap:10px}
.diapo-texte.promesse strong{max-width:14ch}
.diapo-texte.promesse>span{max-width:46ch;font-size:1.1rem}
.diapo-texte.promesse .boutons{justify-content:flex-start;margin-top:10px}
.diapo-texte.promesse .bt.clair{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.diapo-texte.promesse .bt.clair:hover{background:#fff}
.diapo-texte{z-index:2}
.diapo-texte.promesse .bt{pointer-events:auto}

/* --- bande de chiffres --- */
.bande{padding:0 0 10px}
.chiffres{list-style:none;margin:0;padding:6px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.chiffres li{display:flex;flex-direction:column;gap:4px}
.chiffres strong{font:400 clamp(1.7rem,2.6vw,2.4rem)/1.05 var(--serif);letter-spacing:-.02em}
.chiffres span{font-size:.98rem;color:var(--muted)}

/* --- activités en familles --- */
.familles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px;padding-top:34px}
.famille .cadre{aspect-ratio:3/2;margin-bottom:16px;background:#1e302f}
.famille .cadre img,.famille .cadre video{width:100%;height:100%;object-fit:cover;display:block}
.famille h3{font:400 clamp(1.5rem,2vw,1.9rem)/1.05 var(--serif);letter-spacing:-.02em;margin:0 0 .3em}
.famille p{margin:0 0 .8em;max-width:56ch}
.famille details{margin-top:6px}
.famille summary{cursor:pointer;font-weight:500;color:var(--tan-fonce);min-height:44px;display:flex;align-items:center;list-style:none}
.famille summary::-webkit-details-marker{display:none}
.famille summary::after{content:"+";margin-left:10px;font-size:1.4rem;transition:transform .3s var(--ressort)}
.famille details[open] summary::after{transform:rotate(45deg)}
.sortie{padding:12px 0 4px}
.sortie h4{font:500 1.05rem/1.3 var(--texte-police);margin:0 0 .25em}
.sortie p{font-size:.98rem;margin:0}
.nouveau-large{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center;margin-top:56px;background:var(--sable);padding:0}
.nouveau-large .cadre{aspect-ratio:3/2}
.nouveau-large>div:last-child{padding:28px 36px 28px 0}
.nouveau-large .tag{font:500 .85rem var(--texte-police);letter-spacing:.14em;text-transform:uppercase;color:var(--tan-fonce)}
.nouveau-large h3{font:400 clamp(1.8rem,2.6vw,2.4rem)/1.05 var(--serif);letter-spacing:-.02em;margin:.2em 0 .4em}
.nouveau-large h3 a{text-decoration:none;color:var(--ink)}
.vide{max-width:60ch}
.dates{list-style:none;margin:0;padding:0}
.dates li{padding:10px 0;border-bottom:1px solid var(--filet)}

/* --- bouton d'appel fixe (mobile) --- */
.appel-fixe{display:none}
@media (max-width:560px){
  .appel-fixe{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;min-height:52px;align-items:center;justify-content:center;gap:8px;background:var(--field);color:#fff;text-decoration:none;font-weight:500;border-radius:2px;box-shadow:0 10px 24px -12px rgba(0,0,0,.6);transform:translateY(120%);transition:transform .35s var(--ressort)}
  .appel-fixe.vu{display:flex;transform:none}
  body{padding-bottom:0}
}
@media (max-width:860px){
  .chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .familles{grid-template-columns:1fr;gap:40px}
  .nouveau-large{grid-template-columns:1fr;gap:0}
  .nouveau-large>div:last-child{padding:22px 20px 26px}
  .diapo-texte.promesse{padding-top:70px;padding-bottom:78px}
  .diapo-texte.promesse .boutons{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.appel-fixe{transition:none}.famille summary::after{transition:none}}

/* --- formulaire de demande (contact) --- */
.composeur{display:grid;gap:22px;padding-top:24px;max-width:860px}
.composeur fieldset{border:0;margin:0;padding:0}
.composeur legend{font:400 1.4rem/1.1 var(--serif);padding:0 0 10px}
.choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.choix label{display:flex;gap:10px;align-items:flex-start;padding:8px 0;min-height:44px;cursor:pointer}
.choix input{width:22px;height:22px;margin-top:2px;accent-color:var(--field)}
.composeur .rangee{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.composeur label.champ{display:block;font-weight:500;margin-bottom:4px}
.composeur input[type=text],.composeur input[type=email],.composeur input[type=date],.composeur input[type=number],.composeur textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #8c8470;border-radius:2px;font:inherit;background:#f3efe4}
.composeur .actions{display:flex;gap:12px;flex-wrap:wrap}
.composeur .actions button{cursor:pointer;font:500 1rem var(--texte-police)}
@media (max-width:640px){.choix,.composeur .rangee{grid-template-columns:1fr}}
.diapo-texte.promesse .bt{align-self:flex-start}
@media (max-width:860px){
  .menu{position:static}
  .menu a{min-height:44px}
  .diapos{aspect-ratio:auto;height:min(78svh,640px);max-height:none}
  .pause{bottom:auto;top:12px;right:12px}
  .diapo-texte.promesse{padding-top:64px;padding-bottom:84px;justify-content:flex-end}
}
@media (max-width:860px){
  .menu ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .menu ul::-webkit-scrollbar{display:none}
  .menu a{white-space:nowrap}
}


/* ===== v6 : retour à la palette d'avant (blanc, ardoise, sable clair, ocre) ; plus de vert mousse ===== */
:root{
  --bg:#ffffff;--surface:#f4eee4;--ink:#2b2f2e;--muted:#3f4544;--accent:#34504f;--field:#34504f;
  --encre:#2b2f2e;--texte:#3a3f3e;--sable:#f4eee4;--sable-fonce:#e9dfcd;--filet:#cfcfcf;
  --tan:#b0875a;--tan-fonce:#845e3a;--foret:#34504f;--ardoise:#34504f;--ardoise-nuit:#1e302f;--blanc:#ffffff;
}
body{background:#fff;color:var(--ink)}
.bandeau{background:#fff}
.menu{background:rgba(52,80,79,.96)}
.menu a::after{background:#d9b98a}
footer{background:#1e302f;color:#e9e4d8}
footer a{color:#ecd3ab}
.fond-carte{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),url(/img/fond-carte.jpg) center/cover}
.nouveau,.coord .nouveau{color:var(--tan-fonce)}
.nouveau .pastille{background:var(--tan-fonce);color:#fff}
.nouveau:hover{color:#5d4826}
.fait{background:#fff;border-left-color:var(--ardoise)}
.carte.vedette{background:var(--sable)}
.nouveau-large{background:var(--sable)}
form.demande input,form.demande select,form.demande textarea,.composeur input[type=text],.composeur input[type=email],.composeur input[type=date],.composeur input[type=number],.composeur textarea{background:#fff}
.sable{background-color:var(--sable)}
.appel-fixe{background:var(--ardoise)}
.pause{background:rgba(30,48,47,.82)}
.herotitre{background:#1e302f}
.cle{background:#1e302f}

/* --- avis Google --- */
.moyenne{padding-top:18px;margin:0}
.avis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:24px}
.avis-carte{margin:0;background:var(--sable);padding:22px 24px}
.avis-carte .etoiles{margin:0 0 8px;font-size:1.3rem;letter-spacing:.15em;color:var(--tan-fonce)}
.avis-carte blockquote{margin:0 0 12px}
.avis-carte blockquote p{margin:0;font-size:1.02rem}
.avis-carte figcaption{font-size:.9rem;color:var(--muted)}
.avis-liens{padding-top:22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
@media (max-width:860px){.avis{grid-template-columns:1fr}}

.avis{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

.tarifs-bloc{margin-top:28px;background:var(--sable);padding:22px 26px;max-width:860px}
.tarifs-bloc h3{font:400 1.5rem/1.1 var(--serif);margin:0 0 .5em}
.tarifs-bloc ul{margin:0;padding-left:1.1em}
.tarifs-bloc li{margin:.4em 0}
.tarifs{margin:0;padding-top:22px;max-width:860px}
.tarifs>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;padding:16px 0;border-top:1px solid var(--filet)}
.tarifs dt{font:400 1.35rem/1.15 var(--serif)}
.tarifs dd{margin:0}
@media (max-width:640px){.tarifs>div{grid-template-columns:1fr;gap:6px}}

.mention-rgpd{font-size:.9rem;max-width:62ch;margin-top:6px}

/* ===== Logo d'en-tête : la boussole s'oriente à l'arrivée sur le site (sans masquer la page) ===== */
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo .logo-embleme{position:relative;display:block;width:52px;height:52px;flex:none}
.logo .logo-embleme img{display:block;width:100%;height:100%}
.logo img.logo-nom{display:block;width:auto;height:21px}
@media (max-width:560px){.logo .logo-embleme{width:44px;height:44px}.logo img.logo-nom{height:18px}}
html.logo-anime .logo .logo-embleme img{animation:boussole 1.5s cubic-bezier(.22,.9,.3,1) .1s both;transform-origin:50% 50%}
@keyframes boussole{0%{transform:rotate(-80deg) scale(.86)}58%{transform:rotate(10deg) scale(1.04)}78%{transform:rotate(-3.5deg) scale(1)}100%{transform:none}}
html.logo-anime .logo .logo-embleme::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #7ea39d;opacity:0;animation:halo 1.4s ease-out .9s forwards;pointer-events:none}
@keyframes halo{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(2.2)}}
html.logo-anime .logo img.logo-nom{animation:ecrit .9s cubic-bezier(.3,.7,.2,1) .7s both}
@keyframes ecrit{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
