/*
Theme Name: Cap Itinérance
Theme URI: https://cap-itinerance.fr/
Author: Cap Itinérance
Description: Thème bloc sur mesure de Cap Itinérance, travel planner spécialisé dans les voyages en itinérance. Design issu de la maquette validée ; tout le contenu reste éditable dans Gutenberg.
Version: 1.2.14
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: Propriétaire
Text Domain: cap-itinerance
*/

/* ==========================================================================
   Cap Itinérance — feuille de style de la maquette validée, reprise telle quelle.
   Charte : forêt #1F4D3D · terracotta #C86445 · sauge #A7C2BC · lin #F2E7D9
   Fil conducteur : l'itinéraire — tracés en pointillés, étapes, flèche du logo.
   Les adaptations au balisage des blocs sont regroupées en fin de fichier
   (« Adaptations WordPress ») ; quelques sélecteurs ci-dessous excluent
   par :where(:not(…)) les paragraphes nés de la conversion, sans changer
   leur spécificité.
   ========================================================================== */

:root{
  --foret:#1F4D3D;
  --foret-profond:#173B2F;
  --foret-nuit:#112D24;
  --terre:#C86445;          /* charte : tracés, pictos, grands aplats */
  --terre-bouton:#B25536;   /* boutons : texte blanc lisible (AA) */
  --terre-texte:#A44A2E;    /* petits textes terracotta sur fond clair (AA) */
  --sauge:#A7C2BC;
  --sauge-pale:#DDE8E4;
  --lin:#F2E7D9;
  --papier:#FBF7F1;
  --encre:#1D2E27;
  --gris:#52625B;
  --trait:rgba(31,77,61,.16);
  --titre:'Marcellus', Georgia, serif;
  --capitales:'Marcellus SC', Georgia, serif;
  --texte:'Source Sans 3', system-ui, -apple-system, sans-serif;
  --rayon:4px;
  /* Grille et échelle communes à toutes les sections (alignées sur l'en-tête et le héros) */
  --marge:clamp(28px,4.4vw,88px);
  --t-h2:clamp(34px,3.7vw,66px);
  --t-h3:clamp(23px,1.45vw,28px);
  --t-chapeau:clamp(18.5px,1.1vw,21px);
  --t-texte:clamp(16.5px,.95vw,18.5px);
  --t-texte-long:clamp(17.5px,1vw,19.5px);
  --fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M1 7h15' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M14 1l9 6-9 6z'/%3E%3C/svg%3E");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lin);color:var(--encre);font:400 17.5px/1.7 var(--texte);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance;hyphens:none}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit}

.wrap{max-width:none;margin-inline:auto;padding-inline:var(--marge)}
/* conservé pour l'en-tête et le héros : même grille que .wrap */
.wrap-large{max-width:none;padding-inline:var(--marge)}

.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}

/* --------------------------------------------------------------------------
   Typographie commune
   -------------------------------------------------------------------------- */
.surtitre{display:flex;align-items:center;gap:14px;font:400 14px/1.35 var(--capitales);letter-spacing:.24em;
  text-transform:uppercase;color:var(--terre-texte);margin-bottom:22px}
.surtitre::before{content:"";width:36px;flex:none;border-top:2px dashed var(--terre)}
.h2{font:400 var(--t-h2)/1.1 var(--titre);letter-spacing:-.005em;color:var(--foret)}
.chapeau-section{font-size:var(--t-chapeau);line-height:1.6;text-wrap:pretty;color:var(--gris)}
.foret .h2,.appel .h2{color:var(--lin)}
.foret .surtitre{color:var(--sauge)}
.foret .chapeau-section{color:rgba(242,231,217,.78)}

.lien-route{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--terre-texte);
  text-decoration:none;padding-bottom:3px;border-bottom:2px dashed currentColor;transition:gap .25s}
.lien-route::after{content:"";width:20px;height:12px;background:currentColor;-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.lien-route:hover{gap:14px}
.foret .lien-route{color:var(--sauge)}

/* --------------------------------------------------------------------------
   Boutons : rectangles francs, flèche du logo
   -------------------------------------------------------------------------- */
.bouton{display:inline-flex;align-items:center;gap:12px;padding:20px 32px;border-radius:var(--rayon);
  font:700 17px/1 var(--texte);letter-spacing:.015em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;
  white-space:nowrap;transition:background-color .25s, color .25s, border-color .25s}
.bouton::after{content:"";width:22px;height:13px;background:currentColor;transition:transform .25s;
  -webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.bouton:hover::after{transform:translateX(4px)}
.bouton.sans-fleche::after{content:none}
.b-terre{background:var(--terre-bouton);color:#fff}
.b-terre:hover{background:#9A472C}
.b-clair{border-color:rgba(242,231,217,.6);color:var(--lin)}
.b-clair:hover{background:var(--lin);color:var(--foret)}
.b-foret{border-color:var(--foret);color:var(--foret)}
.b-foret:hover{background:var(--foret);color:var(--lin)}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */
.entete{position:fixed;inset:0 0 auto;z-index:50;color:var(--lin);transition:background-color .35s, color .35s, box-shadow .35s}
.barre-haut{background:var(--foret);color:rgba(242,231,217,.82);font-size:14px;max-height:40px;overflow:hidden;transition:max-height .35s}
.barre-haut .wrap{height:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.barre-haut nav{display:flex;gap:28px}
.barre-haut a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.barre-haut a:hover{color:var(--lin)}
.barre-haut .ic{width:15px;height:15px;color:var(--sauge)}
.entete-rangee{height:86px;display:flex;align-items:center;gap:36px}
.logo{flex:none;display:block}
.logo img{height:54px;width:auto}
.logo .l-couleur{display:none}
.menu{display:flex;gap:30px;list-style:none;margin:0 0 0 clamp(20px,3vw,56px);padding:0}
.entete-rangee > .bouton{margin-left:auto}
.menu a{position:relative;display:block;padding:6px 0;font-size:16px;font-weight:600;text-decoration:none;transition:color .25s}
.menu a:hover{color:var(--terre)}
.menu a.est-courant::after{content:"";position:absolute;left:0;right:0;bottom:0;border-top:2px dashed var(--terre)}
.entete .bouton{padding:13px 20px;font-size:15px}
.burger{display:none;width:46px;height:46px;border-radius:var(--rayon);border:1.5px solid currentColor;background:transparent;
  color:inherit;place-items:center;cursor:pointer;margin-left:auto}
.burger .ic{width:22px;height:22px}

.entete.est-defile{background:var(--lin);color:var(--foret);box-shadow:0 1px 0 var(--trait), 0 14px 30px -20px rgba(17,45,36,.5)}
.entete.est-defile .barre-haut{max-height:0}
.entete.est-defile .entete-rangee{height:76px}
.entete.est-defile .logo img{height:48px}
.entete.est-defile .l-clair{display:none}
.entete.est-defile .l-couleur{display:block}

.panneau{position:fixed;inset:0;z-index:60;background:var(--foret);color:var(--lin);padding:22px 28px 32px;display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transition:opacity .3s, visibility .3s}
.menu-ouvert .panneau{opacity:1;visibility:visible}
.panneau-haut{display:flex;justify-content:space-between;align-items:center}
.panneau-haut img{height:48px;width:auto}
.panneau .burger{display:grid;margin:0}
.panneau ul{list-style:none;margin:40px 0 36px;padding:0;display:grid;gap:4px}
.panneau ul a{display:block;padding:10px 0;font:400 32px/1.2 var(--titre);text-decoration:none;border-bottom:1.5px dashed rgba(167,194,188,.3)}
.panneau ul a.est-courant{color:var(--sauge)}
.panneau-contact{margin-top:auto;display:grid;gap:10px;font-size:16px}
.panneau-contact a{display:flex;gap:10px;align-items:center;text-decoration:none}
.panneau .bouton{align-self:flex-start;margin-bottom:28px}

/* --------------------------------------------------------------------------
   Héros
   -------------------------------------------------------------------------- */
.hero{position:relative;z-index:2;isolation:isolate;min-height:max(760px,100vh);display:flex;flex-direction:column;justify-content:center;
  padding:170px 0 150px;color:var(--lin)}
.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
/* Voile allégé : vert moins noir, haut/droite/bas plus clairs, et un voile
   doux localisé derrière le texte (ellipse) pour garder la lisibilité. */
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(26,66,52,.55) 0%,rgba(26,66,52,.26) 10%,rgba(26,66,52,0) 20%),
  linear-gradient(90deg,rgba(26,66,52,.86) 0%,rgba(26,66,52,.76) 28%,rgba(26,66,52,.46) 52%,rgba(26,66,52,.12) 72%,rgba(26,66,52,0) 100%),
  linear-gradient(0deg,rgba(26,66,52,.52) 0%,rgba(26,66,52,0) 24%),
  radial-gradient(ellipse 52% 48% at 28% 56%,rgba(26,66,52,.5) 0%,rgba(26,66,52,.26) 55%,rgba(26,66,52,0) 100%)}
/* ombre diffuse : sécurise la lecture sur les zones claires sans assombrir l'image */
.hero .h1-titre,.bandeau .h1-titre,.titre-page,.titre-article{text-shadow:0 2px 30px rgba(17,45,36,.5)}
.hero .h1-sur,.bandeau .h1-sur,.titre-page strong,.rank-math-breadcrumb,.chapeau-hero,.hero-rassurance,.hero-legende,.atouts,.fil-ariane,.article-infos{text-shadow:0 1px 14px rgba(17,45,36,.6)}
.entete:not(.est-defile) .menu a{text-shadow:0 1px 12px rgba(17,45,36,.55)}
.hero-contenu{width:100%}
.hero-contenu > *{max-width:1200px}
.hero-contenu .chapeau-hero{max-width:700px}
.h1-sur,.titre-page strong{display:flex;align-items:center;gap:14px;font:400 14px/1.35 var(--capitales);letter-spacing:.24em;text-transform:uppercase;
  color:var(--sauge);margin-bottom:28px}
.h1-sur::before,.titre-page strong::before{content:"";width:36px;flex:none;border-top:2px dashed var(--terre)}
.h1-titre,.titre-page,.titre-article{display:block;font:400 clamp(48px,6.6vw,98px)/1.02 var(--titre);letter-spacing:-.015em}
.h1-ligne{display:block}
.h1-route,.titre-page em{display:inline-block;font-style:normal;padding-bottom:.2em;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 1.5 15 8 1 14.5z' fill='%23C86445'/%3E%3C/svg%3E") right bottom 1px / 16px 16px no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 16' preserveAspectRatio='none'%3E%3Cpath d='M2 10C80 3 150 15 230 9S350 5 398 9' fill='none' stroke='%23C86445' stroke-width='3' stroke-dasharray='11 9' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") left bottom 1px / calc(100% - 13px) 16px no-repeat}
.chapeau-hero{max-width:640px;margin-top:34px;font-size:21px;line-height:1.6;color:rgba(242,231,217,.92);text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}
.b-grand{padding:20px 32px;font-size:17px}
.hero-rassurance{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15.5px;color:rgba(242,231,217,.76)}
.hero-rassurance::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--sauge);box-shadow:0 0 0 4px rgba(167,194,188,.22)}
.hero-bas{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding-block:22px 28px;border-top:1.5px dashed rgba(242,231,217,.24)}
.atouts{display:flex;flex-wrap:wrap;gap:10px 30px;list-style:none;margin:0;padding:0;font-size:15.5px;color:rgba(242,231,217,.88)}
.atouts li{display:flex;align-items:center;gap:10px}
.atouts li::before{content:"";width:18px;height:11px;background:var(--terre);-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.hero-legende{display:flex;align-items:center;gap:8px;flex:none;font:400 12.5px/1.3 var(--capitales);letter-spacing:.18em;
  text-transform:uppercase;color:rgba(242,231,217,.78)}
.hero-legende .ic{width:15px;height:15px;color:var(--terre)}

/* Extrait de carnet de route — retiré de l'accueil, conservé pour les autres
   pages (balisage : _composants/carnet-de-route.html) */
.carnet{position:relative;width:100%;max-width:420px;padding:30px 30px 24px;
  background:var(--papier);color:var(--encre);border-radius:6px;transform:rotate(1.8deg);
  box-shadow:0 50px 80px -34px rgba(0,0,0,.6), 0 2px 0 rgba(17,45,36,.05)}
.carnet::before{content:"";position:absolute;top:-15px;left:50%;width:120px;height:30px;transform:translateX(-50%) rotate(-4deg);
  background:rgba(167,194,188,.82);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.carnet-tete{display:flex;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1.5px dashed var(--trait)}
.carnet-surtitre{font:400 12px/1.3 var(--capitales);letter-spacing:.2em;text-transform:uppercase;color:var(--terre-texte)}
.carnet-titre{margin-top:6px;font:400 24px/1.22 var(--titre);color:var(--foret)}
.carnet-tete img{width:52px;height:auto;flex:none}
.etapes{position:relative;list-style:none;margin:16px 0 0;padding:0}
.etapes::before{content:"";position:absolute;left:21px;top:18px;bottom:22px;border-left:2px dashed var(--terre)}
.etapes :is(li,.element-liste){position:relative;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:8px 0}
.jour{position:relative;z-index:1;display:grid;place-items:center;height:28px;margin-top:2px;border-radius:99px;background:var(--foret);
  color:var(--lin);font:700 12.5px/1 var(--texte);letter-spacing:.04em}
.etapes :is(li,.element-liste):last-child .jour{background:var(--terre-bouton)}
.etapes strong{display:block;font-size:16.5px;font-weight:700;line-height:1.3;color:var(--foret)}
.etapes div > :is(span,p + p){display:flex;align-items:center;gap:7px;margin-top:2px;font-size:14.5px;line-height:1.4;color:var(--gris)}
.etapes div > span .ic{width:16px;height:16px;color:var(--terre)}
.carnet-pied{display:flex;gap:10px;align-items:center;margin-top:14px;padding-top:16px;border-top:1.5px dashed var(--trait);
  font-size:14.5px;line-height:1.45;color:var(--gris)}
.carnet-pied .ic{color:var(--terre)}

/* --------------------------------------------------------------------------
   Présentation
   -------------------------------------------------------------------------- */
.intro{position:relative;z-index:1;padding:140px 0}
.intro-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(64px,6vw,128px);align-items:center}
.intro-visuels{position:relative;max-width:720px;padding:0 56px 70px 0}
.intro-texte{max-width:780px}
.intro-arche{aspect-ratio:4/5;border-radius:999px 999px var(--rayon) var(--rayon);overflow:hidden}
.intro-arche img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.intro-vignette{position:absolute;right:0;bottom:0;width:50%;aspect-ratio:1;border:10px solid var(--lin);border-radius:var(--rayon);overflow:hidden;
  box-shadow:0 30px 50px -30px rgba(17,45,36,.55)}
.intro-vignette img{width:100%;height:100%;object-fit:cover}
.sceau{position:absolute;left:-34px;top:56px;width:132px;height:132px;border-radius:50%;background:var(--papier);
  box-shadow:0 18px 40px -20px rgba(17,45,36,.5);display:grid;place-items:center}
.sceau svg{position:absolute;inset:0;width:100%;height:100%;animation:tourne 40s linear infinite}
.sceau text{font:400 10.4px var(--capitales);letter-spacing:.14em;fill:var(--foret);text-transform:uppercase}
.sceau img{width:58px;height:auto}
@keyframes tourne{to{transform:rotate(360deg)}}
.intro-texte > p:where(:not(.lien-route)){margin-top:22px;font-size:var(--t-texte-long);color:var(--gris)}
.intro-texte > p:first-of-type{margin-top:30px}
.promesses{list-style:none;margin:36px 0 40px;padding:26px 0 0;border-top:1.5px dashed var(--trait);display:grid;gap:14px}
.promesses li{position:relative;padding-left:42px;font-size:var(--t-texte-long);color:var(--encre)}
.promesses li::before{content:"";position:absolute;left:0;top:7px;width:24px;height:14px;background:var(--terre);-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.promesses strong{color:var(--foret)}

/* --------------------------------------------------------------------------
   Sections forêt : courbes de niveau en fond
   -------------------------------------------------------------------------- */
.foret{position:relative;isolation:isolate;overflow:hidden;background:var(--foret);color:var(--lin)}
.foret::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  repeating-radial-gradient(ellipse 120% 80% at 92% 8%, transparent 0 38px, rgba(167,194,188,.11) 38px 39.5px),
  repeating-radial-gradient(ellipse 90% 110% at 4% 104%, transparent 0 30px, rgba(167,194,188,.09) 30px 31.5px);
  -webkit-mask:linear-gradient(90deg,#000 0%,transparent 42%,transparent 58%,#000 100%);
          mask:linear-gradient(90deg,#000 0%,transparent 42%,transparent 58%,#000 100%)}

.tete-duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:72px;align-items:end;margin-bottom:72px}

/* --------------------------------------------------------------------------
   Façons de voyager
   -------------------------------------------------------------------------- */
/* Ligne de crêtes en haut de section : les sommets de l'emblème */
.modes{padding:200px 0 150px;margin-top:-70px;
  clip-path:polygon(0 64px,11% 30px,19% 52px,33% 0,45% 46px,52% 26px,63% 58px,78% 12px,89% 44px,100% 22px,100% 100%,0 100%)}
.modes-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.mode:nth-child(even){margin-top:64px}
.mode-photo{position:relative;aspect-ratio:3/4;border-radius:var(--rayon);overflow:hidden}
.mode-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.mode:hover .mode-photo img{transform:scale(1.05)}
.mode-num{position:absolute;top:14px;left:14px;padding:6px 10px 5px;border-radius:2px;background:var(--lin);color:var(--foret);font:400 13px/1 var(--capitales);letter-spacing:.18em}
.mode-icone{position:absolute;left:16px;bottom:16px;width:50px;height:50px;border-radius:50%;background:var(--lin);color:var(--terre);
  display:grid;place-items:center}
.mode-icone .ic{width:24px;height:24px}
.mode h3{margin:24px 0 10px;font:400 var(--t-h3)/1.22 var(--titre);color:var(--lin)}
.mode p:where(:not(.mode-num,.lien-route)){font-size:var(--t-texte);color:rgba(242,231,217,.76)}
.mode .lien-route{margin-top:18px;font-size:15.5px}

/* --------------------------------------------------------------------------
   Méthode en 4 étapes
   -------------------------------------------------------------------------- */
.methode{padding:140px 0;background:var(--papier)}
.tete-centre{max-width:900px;margin:0 auto 80px;text-align:center}
.tete-centre .surtitre{justify-content:center}
.tete-centre .surtitre::after{content:"";width:36px;flex:none;border-top:2px dashed var(--terre)}
.tete-centre .chapeau-section{margin-top:22px}
.route{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:36px;list-style:none;margin:0;padding:0}
.route::before{content:"";position:absolute;top:34px;left:12.5%;right:4%;border-top:2px dashed var(--terre)}
.route::after{content:"";position:absolute;top:27px;right:2.2%;width:16px;height:16px;background:var(--terre);clip-path:polygon(0 0,100% 50%,0 100%)}
.etape{position:relative;text-align:center}
.etape-num{position:relative;z-index:1;width:68px;height:68px;margin:0 auto 28px;border-radius:50%;display:grid;place-items:center;
  background:var(--papier);border:2px solid var(--foret);color:var(--foret);font:400 26px/1 var(--titre)}
.etape:last-child .etape-num{background:var(--foret);color:var(--lin)}
.etape h3{font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.etape p:where(:not(.etape-num)){margin-top:12px;font-size:var(--t-texte);color:var(--gris)}
.methode .centre{margin-top:72px;text-align:center}

/* --------------------------------------------------------------------------
   Destinations : mosaïque
   -------------------------------------------------------------------------- */
.destinations{padding:140px 0}
.tete-ligne{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:60px}
.tete-ligne > div{max-width:900px}
.tete-ligne > .lien-route{flex:none;white-space:nowrap}
.tete-ligne .chapeau-section{margin-top:22px}
.mosaique{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:repeat(2,clamp(300px,20vw,400px));gap:20px}
.region{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 30px;
  border-radius:var(--rayon);color:var(--lin);text-decoration:none}
.region:first-child{grid-row:span 2;padding:36px}
.region:last-child{grid-column:span 2}
.region img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.region::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(17,45,36,.9) 0%,rgba(17,45,36,.45) 42%,rgba(17,45,36,0) 72%)}
.region:hover img{transform:scale(1.05)}
.region-modes{position:absolute;top:20px;left:20px;padding:8px 12px;border-radius:2px;background:var(--lin);color:var(--foret);
  font:400 12px/1 var(--capitales);letter-spacing:.18em;text-transform:uppercase}
.region h3{font:400 clamp(28px,1.9vw,36px)/1.12 var(--titre)}
.region:first-child h3{font-size:clamp(38px,2.6vw,50px)}
.region p:where(:not(.region-modes,.region-lien)){max-width:520px;margin-top:10px;font-size:clamp(15.5px,.9vw,17.5px);line-height:1.55;color:rgba(242,231,217,.86)}
.region-lien{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:16px;padding-bottom:3px;font-weight:700;font-size:15.5px;
  border-bottom:2px dashed var(--sauge);transition:gap .25s}
.region-lien::after{content:"";width:20px;height:12px;background:currentColor;-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.region:hover .region-lien{gap:14px}

/* --------------------------------------------------------------------------
   Formules : billets de train
   -------------------------------------------------------------------------- */
.formules{padding:140px 0}
.billets{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:stretch}
.billet{--y:184px;position:relative;display:flex;flex-direction:column;background:var(--papier);color:var(--encre);border-radius:6px;
  -webkit-mask:radial-gradient(circle 15px at 0 var(--y),#0000 97%,#000) left/51% 100% no-repeat,
               radial-gradient(circle 15px at 100% var(--y),#0000 97%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 15px at 0 var(--y),#0000 97%,#000) left/51% 100% no-repeat,
               radial-gradient(circle 15px at 100% var(--y),#0000 97%,#000) right/51% 100% no-repeat}
.billet-tete{height:var(--y);padding:30px 34px 0;position:relative}
.billet-tete::after{content:"";position:absolute;left:24px;right:24px;bottom:0;border-top:2px dashed rgba(31,77,61,.28)}
.billet-classe{display:flex;justify-content:space-between;align-items:center;font:400 12px/1 var(--capitales);letter-spacing:.2em;
  text-transform:uppercase;color:var(--terre-texte)}
.billet-classe .ic{width:20px;height:20px;color:var(--terre)}
.billet h3{margin-top:18px;font:400 clamp(26px,1.7vw,32px)/1.15 var(--titre);color:var(--foret)}
.billet-accroche{margin-top:8px;font-size:var(--t-texte);line-height:1.45;color:var(--gris)}
.billet-corps{display:flex;flex-direction:column;flex:1;padding:28px 34px 32px}
.billet ul{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:12px}
.billet li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:var(--t-texte);line-height:1.45}
.billet li .ic{width:18px;height:18px;margin-top:2px;color:var(--terre);stroke-width:2.4}
.billet .lien-route{margin-top:auto;align-self:flex-start;color:var(--terre-texte)}
.billet-vedette .billet-tete{background:var(--terre-bouton);color:#fff}
.billet-vedette .billet-tete::after{border-color:rgba(255,255,255,.45)}
.billet-vedette .billet-classe,.billet-vedette .billet-classe .ic,.billet-vedette h3{color:#fff}
.billet-vedette .billet-accroche{color:rgba(255,255,255,.88)}
.formules-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:56px;padding-top:32px;
  border-top:1.5px dashed rgba(167,194,188,.35)}
.formules-note p{font-size:var(--t-chapeau);color:rgba(242,231,217,.85)}

/* --------------------------------------------------------------------------
   Avis : cartes postales
   -------------------------------------------------------------------------- */
.avis{padding:140px 0 150px}
.postales{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:10px}
.postale{position:relative;display:flex;flex-direction:column;padding:34px 30px 28px;background:var(--papier);border-radius:3px;
  box-shadow:0 28px 44px -30px rgba(17,45,36,.5), 0 1px 0 rgba(17,45,36,.06);transform:rotate(-1.2deg)}
.postale:nth-child(2){transform:rotate(.9deg) translateY(30px)}
.postale:nth-child(3){transform:rotate(-.5deg)}
.timbre{position:absolute;top:20px;right:20px;width:66px;height:80px;padding:6px;background:#fff;
  -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 8px) calc(100% - 8px) no-repeat, radial-gradient(circle 3.2px,#0000 97%,#000) -4px -4px/8px 8px round;
          mask:linear-gradient(#000 0 0) center/calc(100% - 8px) calc(100% - 8px) no-repeat, radial-gradient(circle 3.2px,#0000 97%,#000) -4px -4px/8px 8px round}
.timbre img{width:100%;height:100%;object-fit:cover}
.cachet{position:absolute;top:34px;right:62px;width:62px;height:62px;border-radius:50%;border:1.5px solid rgba(164,74,46,.45);
  display:grid;place-items:center;text-align:center;font:400 8.5px/1.15 var(--capitales);letter-spacing:.12em;text-transform:uppercase;
  color:rgba(164,74,46,.75);transform:rotate(-14deg)}
.postale blockquote{margin:88px 0 0;font:400 clamp(19px,1.2vw,23px)/1.55 var(--titre);color:var(--foret)}
.postale-auteur{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:26px}
.postale-auteur::before{content:none}
.postale-sep{margin-top:26px;border-top:1.5px dashed var(--trait)}
.postale-auteur img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.postale-auteur strong{display:block;font-size:16.5px;color:var(--foret)}
.postale-auteur :is(span,p.ico){display:flex;align-items:center;gap:7px;font-size:14.5px;color:var(--gris)}
.postale-auteur .ic{width:15px;height:15px;color:var(--terre)}

/* --------------------------------------------------------------------------
   Questions fréquentes
   -------------------------------------------------------------------------- */
.faq{padding:140px 0;background:var(--sauge-pale)}
.faq-grille{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:88px;align-items:start}
.faq-tete{position:sticky;top:120px}
.faq-tete .chapeau-section{margin-top:22px}
.faq-tete .bouton{margin-top:34px}
.faq details{border-bottom:1.5px dashed rgba(31,77,61,.28)}
.faq details:first-child{border-top:1.5px dashed rgba(31,77,61,.28)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;list-style:none;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3,.faq summary{font:400 var(--t-h3)/1.3 var(--titre);color:var(--foret)}
.faq summary::after{content:"";flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--foret);
  background:linear-gradient(var(--foret),var(--foret)) center/14px 2px no-repeat, linear-gradient(var(--foret),var(--foret)) center/2px 14px no-repeat;
  transition:transform .3s, background-color .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover h3,.faq summary:hover{color:var(--terre-texte)}
.faq details p{padding:0 70px 28px 0;font-size:var(--t-texte-long);color:var(--gris)}

/* --------------------------------------------------------------------------
   Blog
   -------------------------------------------------------------------------- */
.blog{padding:140px 0}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.article-visuel{display:block;aspect-ratio:16/10.5;border-radius:var(--rayon);overflow:hidden}
.article-visuel img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.article:hover .article-visuel img{transform:scale(1.05)}
.article-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:22px 0 12px;font:400 12px/1.3 var(--capitales);
  letter-spacing:.12em;text-transform:uppercase;color:var(--terre-texte)}
.article-meta span + span::before{content:"·";margin-right:12px;color:var(--gris)}
.article h3{font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.article h3 a{text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;transition:background-size .35s}
.article:hover h3 a{background-size:100% 1.5px}
.article p:not(.article-meta){margin-top:12px;font-size:var(--t-texte);color:var(--gris)}
.article time{display:block;margin-top:16px;font-size:14px;color:var(--gris)}

/* --------------------------------------------------------------------------
   Appel final
   -------------------------------------------------------------------------- */
.appel{position:relative;isolation:isolate;overflow:hidden;padding:130px 0;color:var(--lin)}
.appel > img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.appel::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(17,45,36,.94) 0%,rgba(17,45,36,.82) 50%,rgba(17,45,36,.62) 100%)}
.appel-grille{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:80px;align-items:center}
.appel .surtitre{color:var(--sauge)}
.appel p.chapeau-section{margin-top:24px;color:rgba(242,231,217,.85)}
.appel .hero-actions{margin-top:38px}
.appel-contact{padding:34px 34px 30px;border:1.5px dashed rgba(167,194,188,.55);border-radius:6px;background:rgba(17,45,36,.55)}
.appel-contact p.titre{font:400 var(--t-h3)/1.2 var(--titre);color:var(--lin);margin-bottom:22px}
.appel-contact :is(ul,.liste-blocs){list-style:none;margin:0;padding:0;display:grid;gap:16px}
.appel-contact :is(li,.element-liste){display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;font-size:16.5px}
.appel-contact .pastille-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lin);color:var(--terre)}
.appel-contact a{text-decoration:none;font-weight:700}
.appel-contact a:hover{color:var(--sauge)}
.appel-contact :is(small,.petit){display:block;font-size:14px;color:rgba(242,231,217,.7)}

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */
.pied{background:var(--foret-nuit);color:rgba(242,231,217,.74);padding:90px 0 0;font-size:clamp(15.5px,.85vw,17px);line-height:1.75}
.pied-grille{display:grid;grid-template-columns:1.25fr .75fr .85fr 1.35fr;gap:56px}
.pied-logo img{width:132px;height:auto}
.pied-marque p{margin-top:24px;max-width:300px}
.pied-titre{font:400 clamp(20px,1.2vw,23px)/1.3 var(--titre);color:var(--lin);margin-bottom:20px}
.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pied a{text-decoration:none;transition:color .25s}
.pied a:hover{color:var(--sauge)}
.pied .pied-contact{margin-top:22px}
.pied-contact li{display:flex;gap:10px;align-items:center}
.pied-contact .ic{color:var(--sauge);width:16px;height:16px}
.lettre-mini p{margin-bottom:18px}
.lettre-mini form{display:flex;border:1.5px solid rgba(167,194,188,.45);border-radius:var(--rayon);overflow:hidden}
.lettre-mini input{flex:1;min-width:0;padding:14px 16px;border:0;background:transparent;color:var(--lin);font-size:15px}
.lettre-mini input::placeholder{color:rgba(242,231,217,.55)}
.lettre-mini input:focus{outline:none}
.lettre-mini form:focus-within{border-color:var(--sauge)}
.lettre-mini button{padding:0 18px;border:0;background:var(--terre-bouton);color:#fff;font-weight:700;cursor:pointer}
.lettre-mini .merci{display:none;color:var(--sauge);font-weight:700}
.lettre-mini.est-inscrit form{display:none}
.lettre-mini.est-inscrit .merci{display:block}
.reseaux{display:flex;gap:12px;margin-top:22px}
.reseaux a{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(167,194,188,.4);display:grid;place-items:center}
.reseaux a:hover{border-color:var(--sauge);color:var(--lin)}
.pied-bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:72px;padding-block:26px 30px;
  border-top:1.5px dashed rgba(167,194,188,.22);font-size:14px;color:rgba(242,231,217,.55)}
.pied-bas nav{display:flex;flex-wrap:wrap;gap:24px}

:where(a,button,input,summary,[tabindex]):focus-visible{outline:3px solid var(--terre);outline-offset:3px}

/* --------------------------------------------------------------------------
   Adaptatif
   -------------------------------------------------------------------------- */
@media (max-width:1140px){
  .entete .menu{display:none}
  .burger{display:grid}
  .entete-rangee > .bouton{margin-left:auto}
  .entete-rangee > .bouton + .burger{margin-left:0}
  .hero-bas{flex-direction:column;align-items:flex-start;gap:12px}
  .intro-grille,.faq-grille,.appel-grille{grid-template-columns:1fr;gap:64px}
  .intro-visuels{max-width:560px}
  .faq-tete{position:static}
  .tete-duo{grid-template-columns:1fr;gap:24px}
  .modes-grille{grid-template-columns:1fr 1fr;gap:40px 30px}
  .mode:nth-child(even){margin-top:0}
  .route{grid-template-columns:1fr 1fr;row-gap:56px}
  .route::before,.route::after{display:none}
  .mosaique{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px 300px}
  .region:first-child{grid-row:auto;grid-column:span 2}
  .region:last-child{grid-column:span 2}
  .billets{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .postales{grid-template-columns:1fr;max-width:560px;margin-inline:auto;gap:48px}
  .postale:nth-child(2){transform:rotate(.9deg)}
  .articles{grid-template-columns:1fr 1fr}
  .pied-grille{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  body{font-size:16.5px}
  .wrap{padding-inline:20px}
  .barre-haut{display:none}
  .entete-rangee{height:72px;gap:16px}
  .logo img,.entete.est-defile .logo img{height:44px}
  .entete-rangee > .bouton{display:none}
  .entete-rangee > .bouton + .burger{margin-left:auto}
  .hero{padding:128px 0 0;min-height:100svh;justify-content:flex-end}
  .hero-photo{object-position:74% 50%}
  .h1-sur,.titre-page strong{font-size:12.5px;letter-spacing:.18em}
  .h1-titre,.titre-page,.titre-article{font-size:46px}
  .chapeau-hero{font-size:17.5px;margin-top:26px}
  .hero-actions{margin-top:34px}
  .hero-actions .bouton{width:100%;justify-content:space-between}
  .hero-bas{position:static;width:100%;margin-top:44px}
  .atouts{flex-direction:column;gap:8px}
  .carnet{transform:rotate(1deg);padding:26px 22px 20px}
  .intro{padding:96px 0}
  .sceau{left:-10px;top:24px;width:104px;height:104px}
  .sceau img{width:44px}
  .intro-visuels{padding:0 28px 48px 0}
  .modes,.methode,.destinations,.formules,.avis,.faq,.blog{padding:96px 0}
  .modes-grille,.route,.articles{grid-template-columns:1fr}
  .route{row-gap:48px}
  .tete-ligne{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:44px}
  .mosaique{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:300px}
  .region:first-child,.region:last-child{grid-column:auto}
  .region:first-child h3{font-size:34px}
  .billet{--y:176px}
  .billet-tete,.billet-corps{padding-inline:26px}
  .faq details p{padding-right:0}
  .faq summary h3,.faq summary{font-size:20px}
  .formules-note{flex-direction:column;align-items:flex-start}
  .appel{padding:96px 0}
  .appel-contact{padding:26px 22px}
  .pied-grille{grid-template-columns:1fr;gap:44px}
}

/* ==========================================================================
   Pages intérieures — mêmes jetons (--marge, --t-*) et même grille que l'accueil
   ========================================================================== */

/* Bandeau de page : même structure que le héros (photo plein cadre, dégradé forêt) */
.bandeau{position:relative;z-index:2;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(560px,74vh,780px);padding:200px 0 clamp(72px,6vw,110px);color:var(--lin)}
.bandeau::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(26,66,52,.55) 0%,rgba(26,66,52,.26) 12%,rgba(26,66,52,0) 24%),
  linear-gradient(90deg,rgba(26,66,52,.86) 0%,rgba(26,66,52,.76) 28%,rgba(26,66,52,.46) 52%,rgba(26,66,52,.12) 72%,rgba(26,66,52,0) 100%),
  linear-gradient(0deg,rgba(26,66,52,.56) 0%,rgba(26,66,52,0) 30%),
  radial-gradient(ellipse 52% 50% at 28% 66%,rgba(26,66,52,.5) 0%,rgba(26,66,52,.26) 55%,rgba(26,66,52,0) 100%)}
.bandeau .hero-photo{object-position:50% 50%}
.bandeau .hero-contenu > *{max-width:1100px}
.bandeau .h1-titre,.bandeau .titre-page,.bandeau .titre-article{font-size:clamp(44px,5.4vw,86px)}
.bandeau .chapeau-hero{margin-top:28px;max-width:720px}
/* bandeau sans photo (pages légales) : forêt et courbes de niveau */
.bandeau-simple{min-height:clamp(440px,56vh,580px);background:linear-gradient(115deg,#2C5F4C 0%,var(--foret) 62%)}
.bandeau-simple::before{background:
  repeating-radial-gradient(ellipse 120% 80% at 92% 8%, transparent 0 38px, rgba(167,194,188,.11) 38px 39.5px),
  repeating-radial-gradient(ellipse 90% 110% at 4% 104%, transparent 0 30px, rgba(167,194,188,.09) 30px 31.5px)}
.article-infos{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:30px 0 0;padding:0;font-size:16px;color:rgba(242,231,217,.85)}
.article-infos li{display:flex;align-items:center;gap:9px}
.article-infos .ic{width:17px;height:17px;color:var(--sauge)}

.fil-ariane ol,ol.fil-ariane,.rank-math-breadcrumb > p{display:flex;flex-wrap:wrap;gap:6px 12px;list-style:none;margin:0 0 30px;padding:0;
  font:400 13px/1.35 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:rgba(242,231,217,.75)}
.fil-ariane li + li::before{content:"›";margin-right:12px;color:var(--terre)}
.fil-ariane a,.rank-math-breadcrumb a{text-decoration:none;transition:color .25s}
.fil-ariane a:hover,.rank-math-breadcrumb a:hover{color:var(--lin)}
.fil-ariane [aria-current],ol.fil-ariane > li:last-child,.rank-math-breadcrumb .last{color:var(--sauge)}

/* Sections génériques */
.section{position:relative;padding:140px 0}
.fond-papier{background:var(--papier)}
.fond-sauge{background:var(--sauge-pale)}
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(56px,6vw,128px);align-items:center}
.duo.inverse > :first-child{order:2}
.duo.haut{align-items:start}
.duo-texte{max-width:780px}
.duo-texte > p:where(:not(.lien-route)){margin-top:22px;font-size:var(--t-texte-long);color:var(--gris)}
.duo-texte > .h2 + p{margin-top:30px}
.foret .duo-texte > p:where(:not(.lien-route)){color:rgba(242,231,217,.8)}
.duo-texte > .lien-route,.duo-texte > .bouton{margin-top:36px}
.duo-photo{position:relative;margin:0;border-radius:var(--rayon);overflow:hidden;aspect-ratio:5/4}
.duo-photo img{width:100%;height:100%;object-fit:cover}
.legende{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:2px;
  background:rgba(17,45,36,.72);color:var(--lin);font:400 12px/1.2 var(--capitales);letter-spacing:.16em;text-transform:uppercase}
.legende .ic{width:14px;height:14px;color:var(--terre)}
.sous-titre{margin:40px 0 14px;font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.foret .sous-titre{color:var(--lin)}
.liste-fleches{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.liste-fleches li{position:relative;padding-left:38px;font-size:var(--t-texte);color:var(--encre)}
.liste-fleches li::before{content:"";position:absolute;left:0;top:8px;width:22px;height:13px;background:var(--terre);
  -webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.foret .liste-fleches li{color:rgba(242,231,217,.86)}
.coches{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px}
.coches li{display:grid;grid-template-columns:24px 1fr;gap:10px;font-size:var(--t-texte);line-height:1.45}
.coches .ic{width:18px;height:18px;margin-top:3px;color:var(--terre);stroke-width:2.4}
.foret .coches li{color:rgba(242,231,217,.86)}
.foret .coches .ic{color:var(--sauge)}
.puces{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:26px 0 0;padding:0}
.puces li{padding:9px 14px 8px;border:1.5px solid rgba(31,77,61,.25);border-radius:2px;
  font:400 12.5px/1 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--foret)}
.foret .puces li{border-color:rgba(167,194,188,.45);color:var(--lin)}
.centre{text-align:center}

/* À propos : valeurs et terrains de jeu */
.valeurs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,56px);list-style:none;margin:0;padding:0}
.valeur{padding-top:30px;border-top:1.5px dashed rgba(167,194,188,.45)}
.valeur-num{display:block;margin-bottom:22px;font:400 clamp(40px,3vw,56px)/1 var(--titre);color:var(--sauge)}
.valeur h3{font:400 var(--t-h3)/1.25 var(--titre);color:var(--lin)}
.valeur p:where(:not(.valeur-num)){margin-top:12px;font-size:var(--t-texte);color:rgba(242,231,217,.78)}
.regions-liste{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,2.5vw,48px);list-style:none;margin:0;padding:0}
.regions-liste :is(li,.element-liste){display:flex;flex-direction:column;padding-top:26px;border-top:1.5px dashed var(--trait)}
.regions-liste h3{font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.regions-liste p:where(:not(.lien-route)){margin:10px 0 20px;font-size:var(--t-texte);color:var(--gris)}
.regions-liste .lien-route{margin-top:auto;align-self:flex-start}

/* Services : formules détaillées et savoir-faire par façon de voyager */
.formule{scroll-margin-top:110px}
.formule + .formule{margin-top:clamp(96px,8vw,150px)}
.formule .billet{width:100%;max-width:540px}
.duo.inverse .billet,.duo.inverse .carnet{justify-self:end}
.tarif{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:12px 18px;border:1.5px dashed var(--terre);border-radius:2px;
  font-weight:700;font-size:16px;color:var(--terre-texte)}
.duo .carnet{justify-self:center;max-width:460px}
.expertises{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.expertise{scroll-margin-top:110px;padding:clamp(30px,3vw,48px);border-radius:6px;background:rgba(242,231,217,.05);
  border:1.5px dashed rgba(167,194,188,.35)}
.expertise-tete{display:flex;align-items:center;gap:18px}
.expertise-icone{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:50%;background:var(--lin);color:var(--terre)}
.expertise-icone .ic{width:26px;height:26px}
.expertise h3{font:400 var(--t-h3)/1.2 var(--titre);color:var(--lin)}
.expertise > p{margin-top:20px;font-size:var(--t-texte);color:rgba(242,231,217,.8)}

/* Destinations */
.barre-ancres{position:relative;z-index:1;background:var(--papier);border-bottom:1.5px dashed var(--trait)}
.barre-ancres ul{display:flex;flex-wrap:wrap;gap:12px 40px;list-style:none;margin:0;padding:26px 0}
.barre-ancres a{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;font:400 14px/1.3 var(--capitales);letter-spacing:.2em;
  text-transform:uppercase;color:var(--foret);transition:color .25s}
.barre-ancres a :is(span,strong){font-weight:400;font-family:var(--titre);letter-spacing:0;color:var(--terre-texte)}
.barre-ancres a:hover{color:var(--terre-texte)}
.region-bloc{scroll-margin-top:90px}
.region-visuels{position:relative;max-width:720px;padding:0 52px 66px 0}
.region-visuels .principale{aspect-ratio:4/4.6;border-radius:var(--rayon);overflow:hidden}
.region-visuels .principale img,.region-visuels .vignette img{width:100%;height:100%;object-fit:cover}
.region-visuels .vignette{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;border:10px solid var(--lin);border-radius:var(--rayon);
  overflow:hidden;box-shadow:0 30px 50px -30px rgba(17,45,36,.55)}
.fond-papier .region-visuels .vignette{border-color:var(--papier)}
.faits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;margin-top:36px;padding-top:30px;border-top:1.5px dashed var(--trait)}
.fait h3{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:400 13px/1.3 var(--capitales);letter-spacing:.18em;
  text-transform:uppercase;color:var(--terre-texte)}
.fait h3 .ic{width:17px;height:17px;color:var(--terre)}
.fait p{font-size:var(--t-texte);color:var(--gris)}
.itineraires{list-style:none;margin:14px 0 0;padding:0;border-top:1.5px dashed var(--trait)}
.itineraires li{display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:baseline;padding:16px 0;border-bottom:1.5px dashed var(--trait)}
.itineraires strong{font:400 clamp(19px,1.2vw,22px)/1.3 var(--titre);color:var(--foret)}
.itineraires :is(span,em){font-style:normal;display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--gris);white-space:nowrap}
.itineraires .ic{width:15px;height:15px;color:var(--terre)}

/* Contact */
.contact-grille{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:clamp(48px,5vw,104px);align-items:start}
.formulaire{padding:clamp(28px,3.2vw,56px);border-radius:6px;background:var(--papier);box-shadow:0 30px 60px -40px rgba(17,45,36,.45)}
.formulaire .h2{font-size:clamp(30px,2.6vw,46px)}
.formulaire > p{margin-top:16px;font-size:var(--t-texte);color:var(--gris)}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
.champ{display:flex;flex-direction:column;gap:9px;min-width:0;margin:0;padding:0;border:0}
.champ.large{grid-column:1/-1}
.champ > label,.champ > legend{padding:0;font-size:15.5px;font-weight:700;color:var(--foret)}
.champ .requis{color:var(--terre-texte)}
.champ input,.champ select,.champ textarea{width:100%;padding:15px 16px;border:1.5px solid rgba(31,77,61,.24);border-radius:var(--rayon);
  background:#fff;color:var(--encre);font-size:16px;line-height:1.4;transition:border-color .2s, box-shadow .2s}
.champ textarea{min-height:170px;resize:vertical}
.champ select{appearance:none;padding-right:46px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F4D3D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center/16px no-repeat}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--terre);box-shadow:0 0 0 3px rgba(200,100,69,.18)}
.cases{display:flex;flex-wrap:wrap;gap:10px}
.cases label{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border:1.5px solid rgba(31,77,61,.24);border-radius:var(--rayon);
  background:#fff;font-size:15.5px;cursor:pointer;transition:border-color .2s, background-color .2s}
.cases input,.consentement input{width:18px;height:18px;margin:0;accent-color:var(--terre-bouton);flex:none}
.cases label:has(input:checked){border-color:var(--terre);background:rgba(200,100,69,.08)}
.consentement{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.5;color:var(--gris)}
.consentement input{margin-top:2px}
.consentement a{color:var(--terre-texte)}
.formulaire-pied{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.formulaire-pied .bouton{cursor:pointer}
.mention{font-size:13.5px;color:var(--gris)}
.formulaire .merci{display:none;margin-top:28px;padding:20px 22px;border:1.5px dashed var(--terre);border-radius:var(--rayon);font-weight:700;color:var(--foret)}
.formulaire.est-inscrit form{display:none}
.formulaire.est-inscrit .merci{display:block}
.contact-aside{position:sticky;top:120px;display:grid;gap:28px}
.carte-contact{padding:clamp(28px,2.6vw,42px);border-radius:6px;background:var(--foret);color:var(--lin)}
.carte-contact .titre{margin-bottom:22px;font:400 var(--t-h3)/1.2 var(--titre)}
.carte-contact :is(ul,.liste-blocs){list-style:none;margin:0;padding:0;display:grid;gap:16px}
.carte-contact :is(li,.element-liste){display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;font-size:16.5px}
.carte-contact .pastille-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lin);color:var(--terre)}
.carte-contact a{font-weight:700;text-decoration:none}
.carte-contact a:hover{color:var(--sauge)}
.carte-contact :is(small,.petit){display:block;font-size:14px;color:rgba(242,231,217,.72)}
.suite{padding:clamp(28px,2.6vw,42px);border-radius:6px;background:var(--papier);border:1.5px dashed var(--trait)}
.suite .titre{font:400 var(--t-h3)/1.2 var(--titre);color:var(--foret)}
.suite .etapes{margin-top:18px}

/* Blog */
.categories{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 64px;padding:0}
.categories a{display:inline-block;padding:10px 16px 9px;border:1.5px solid rgba(31,77,61,.25);border-radius:2px;text-decoration:none;
  font:400 12.5px/1 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--foret);transition:border-color .2s, color .2s}
.categories a:hover{border-color:var(--terre);color:var(--terre-texte)}
.categories a[aria-current]{background:var(--foret);border-color:var(--foret);color:var(--lin)}
.a-la-une{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,4.5vw,88px);align-items:center;
  margin-bottom:clamp(80px,7vw,120px)}
.a-la-une .article-visuel{aspect-ratio:16/10}
.a-la-une h2{margin-top:4px;font:400 clamp(30px,2.8vw,50px)/1.15 var(--titre);color:var(--foret)}
.a-la-une h2 a{text-decoration:none}
.a-la-une h2 a:hover{color:var(--terre-texte)}
.a-la-une > div > p:not(.article-meta){margin-top:18px;font-size:var(--t-texte-long);color:var(--gris)}
.a-la-une .lien-route{margin-top:28px}
.articles + .articles{margin-top:clamp(56px,5vw,80px)}
.pagination{display:flex;justify-content:center;gap:10px;list-style:none;margin:80px 0 0;padding:0}
.pagination a{display:grid;place-items:center;min-width:50px;height:50px;padding:0 16px;border:1.5px solid rgba(31,77,61,.25);border-radius:var(--rayon);
  text-decoration:none;font-weight:700;color:var(--foret)}
.pagination a:hover{border-color:var(--terre);color:var(--terre-texte)}
.pagination a[aria-current]{background:var(--foret);border-color:var(--foret);color:var(--lin)}
.foret .lettre-mini{max-width:560px}

/* Article */
.lecture{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,800px);gap:clamp(48px,6vw,128px);align-items:start}
.sommaire{position:sticky;top:120px;padding-left:22px;border-left:2px dashed var(--terre)}
.sommaire > p{margin-bottom:18px;font:400 13px/1.3 var(--capitales);letter-spacing:.2em;text-transform:uppercase;color:var(--terre-texte)}
.sommaire ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sommaire a{display:block;font-size:15.5px;line-height:1.45;color:var(--gris);text-decoration:none;transition:color .2s}
.sommaire a:hover,.sommaire a.est-actif{color:var(--foret)}
.sommaire a.est-actif{font-weight:700}
.texte-riche{font-size:var(--t-texte-long);line-height:1.8;color:var(--encre)}
.texte-riche > * + *{margin-top:20px}
.texte-riche .chapo{font-size:var(--t-chapeau);line-height:1.65;color:var(--gris)}
.texte-riche h2{margin-top:68px;font:400 clamp(28px,2.3vw,42px)/1.2 var(--titre);color:var(--foret);scroll-margin-top:120px}
.texte-riche h3{margin-top:40px;font:400 var(--t-h3)/1.3 var(--titre);color:var(--foret)}
.texte-riche h2 + *,.texte-riche h3 + *{margin-top:16px}
.texte-riche > ul{list-style:none;padding:0;display:grid;gap:12px}
.texte-riche > ul > li{position:relative;padding-left:38px}
.texte-riche > ul > li::before{content:"";position:absolute;left:0;top:9px;width:22px;height:13px;background:var(--terre);
  -webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.texte-riche > ol{padding-left:1.4em;display:grid;gap:10px}
.texte-riche > ol > li::marker{font-weight:700;color:var(--terre-texte)}
.texte-riche a{color:var(--terre-texte);text-underline-offset:3px}
.texte-riche strong{color:var(--foret)}
.texte-riche figure{margin:48px 0}
.texte-riche figure img{width:100%;border-radius:var(--rayon)}
.texte-riche figcaption{margin-top:12px;font-size:14.5px;color:var(--gris)}
.encadre{margin:48px 0;padding:30px 32px;border:1.5px dashed var(--terre);border-radius:6px;background:var(--papier)}
.encadre-titre{display:flex;align-items:center;gap:10px;font:400 13px/1.3 var(--capitales);letter-spacing:.2em;text-transform:uppercase;color:var(--terre-texte)}
.encadre-titre .ic{color:var(--terre)}
.encadre p{margin-top:12px}
.texte-riche .carnet{margin:56px auto;transform:rotate(-1.2deg)}
.auteur-bloc{display:flex;align-items:center;gap:22px;margin-top:72px;padding-top:34px;border-top:1.5px dashed var(--trait)}
.auteur-bloc .sceau-mini{display:grid;place-items:center;flex:none;width:76px;height:76px;border-radius:50%;background:var(--papier);
  box-shadow:0 12px 28px -16px rgba(17,45,36,.5)}
.auteur-bloc .sceau-mini img{width:44px;height:auto}
.auteur-bloc strong{display:block;font:400 var(--t-h3)/1.2 var(--titre);color:var(--foret)}
.auteur-bloc p{margin-top:6px;font-size:var(--t-texte);color:var(--gris)}

/* À propos : mes valeurs — cinq repères, un sceau qui les porte */
.valeurs-cap-grille{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(56px,6vw,128px);align-items:start}
.valeurs-cap-tete{position:sticky;top:130px}
.valeurs-cap-tete .chapeau-section{margin-top:22px}
.sceau.sceau-statique{position:relative;left:auto;top:auto;width:164px;height:164px;margin-top:44px}
.sceau.sceau-statique img{width:70px}
.sceau.sceau-statique text{font-size:9.6px;letter-spacing:.1em}
.valeurs-liste{list-style:none;margin:0;padding:0;border-top:1.5px dashed var(--trait)}
.valeur-cap{display:grid;grid-template-columns:64px minmax(0,1fr);gap:clamp(20px,2vw,32px);padding:clamp(28px,2.6vw,40px) 0;
  border-bottom:1.5px dashed var(--trait)}
.valeur-cap-icone{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--lin);color:var(--terre);
  border:1.5px dashed var(--terre);transition:background-color .3s, color .3s, border-color .3s}
.valeur-cap-icone .ic{width:28px;height:28px}
.valeur-cap:hover .valeur-cap-icone{background:var(--foret);border-color:var(--foret);color:var(--lin)}
.valeur-cap h3{font:400 clamp(30px,2.4vw,42px)/1.1 var(--titre);color:var(--foret)}
.valeur-cap h3 + p{margin-top:12px;font-size:var(--t-texte-long);color:var(--gris)}
.sur-la-route{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:16px;font-size:var(--t-texte);color:var(--encre)}
.sur-la-route :is(span,strong){font-weight:400;display:inline-flex;align-items:center;gap:8px;font:400 12.5px/1.3 var(--capitales);letter-spacing:.18em;
  text-transform:uppercase;color:var(--terre-texte)}
.sur-la-route :is(span,strong)::before{content:"";width:18px;height:11px;background:var(--terre);-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}

/* Mes services : le parcours en 4 étapes — gares sur la route, flèche jusqu'au départ */
.parcours{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,2.6vw,44px);list-style:none;margin:0;padding:0}
.parcours::before{content:"";position:absolute;top:52px;left:12.5%;right:3%;border-top:2px dashed var(--terre)}
.parcours::after{content:"";position:absolute;top:45px;right:1.2%;width:16px;height:16px;background:var(--terre);clip-path:polygon(0 0,100% 50%,0 100%)}
.station{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.station-badge{position:relative;z-index:1;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:var(--papier);
  border:2px solid var(--foret);color:var(--foret);transition:transform .3s, border-color .3s}
.station:hover .station-badge{transform:translateY(-4px);border-color:var(--terre)}
.station-badge .ic{width:38px;height:38px;stroke-width:1.6}
.station-num{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--terre-bouton);color:#fff;font:400 16px/1 var(--titre);box-shadow:0 0 0 4px var(--papier)}
.station:last-child .station-badge{background:var(--foret);color:var(--lin)}
.station-etape{margin-top:26px;font:400 13px/1.3 var(--capitales);letter-spacing:.22em;text-transform:uppercase;color:var(--terre-texte)}
.station h3{margin-top:8px;font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.station > p:not(.station-etape):not(.station-livrable):where(:not(.station-num)){margin:12px 0 22px;font-size:var(--t-texte);color:var(--gris)}
.station-livrable{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:auto;padding:16px 18px;border:1.5px dashed rgba(200,100,69,.55);
  border-radius:var(--rayon);background:var(--lin);font-size:15.5px;line-height:1.45;color:var(--encre)}
.station-livrable strong{font:400 12px/1.3 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:var(--terre-texte)}

/* Destinations : quel voyage vous ressemble */
.envies{isolation:isolate;overflow:hidden}
.envies::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  repeating-radial-gradient(ellipse 110% 90% at 8% 0%, transparent 0 34px, rgba(31,77,61,.07) 34px 35.5px),
  repeating-radial-gradient(ellipse 100% 120% at 96% 100%, transparent 0 30px, rgba(31,77,61,.06) 30px 31.5px)}
.envies-liste{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(18px,2vw,32px);list-style:none;margin:0;padding:0}
.envie{display:flex;flex-direction:column;align-items:center;height:100%;padding:8px 6px;text-align:center;text-decoration:none;color:var(--encre)}
.envie-icone{display:grid;place-items:center;width:clamp(92px,7vw,116px);height:clamp(92px,7vw,116px);border-radius:50%;background:var(--papier);
  border:1.5px dashed var(--terre);color:var(--foret);box-shadow:0 16px 30px -22px rgba(17,45,36,.5);
  transition:background-color .3s, color .3s, border-color .3s, transform .3s}
.envie-icone .ic{width:40px;height:40px;stroke-width:1.5}
.envie:hover .envie-icone,.envie:focus-visible .envie-icone{background:var(--foret);border-color:var(--foret);border-style:solid;color:var(--lin);transform:translateY(-4px)}
.envie h3{margin-top:24px;font:400 clamp(20px,1.3vw,24px)/1.2 var(--titre);color:var(--foret)}
.envie p:where(:not(.envie-cap)){margin-top:10px;font-size:15.5px;line-height:1.5;color:var(--gris)}
.envie-cap{display:block;margin-top:auto;padding-top:16px;font:400 11.5px/1.5 var(--capitales);letter-spacing:.12em;
  text-transform:uppercase;color:var(--terre-texte)}
.envie-cap::after{content:"";display:inline-block;vertical-align:middle;width:16px;height:10px;margin:-2px 0 0 8px;background:currentColor;transition:transform .25s;
  -webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.envie:hover .envie-cap::after{transform:translateX(4px)}

/* Destinations : à venir — trois carnets de repérage, photos en couleurs */
.reperages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.2vw,36px)}
.reperage-visuel{position:relative;aspect-ratio:4/4.6;border-radius:var(--rayon);overflow:hidden}
.reperage-visuel img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.reperage:hover .reperage-visuel img{transform:scale(1.04)}
.tampon{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;
  border:2px solid rgba(242,231,217,.9);outline:1px solid rgba(242,231,217,.6);outline-offset:-8px;background:rgba(31,77,61,.42);
  color:var(--lin);text-align:center;font:400 10.5px/1.25 var(--capitales);letter-spacing:.14em;text-transform:uppercase;transform:rotate(-12deg);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.tampon :is(b,strong){display:block;margin-top:4px;font-weight:400;font-size:12.5px;letter-spacing:.08em;color:var(--lin)}
.reperage .lieu{display:flex;align-items:center;gap:8px;margin-top:22px;font:400 12.5px/1.3 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:var(--sauge)}
.reperage .lieu .ic{width:15px;height:15px;color:var(--terre)}
.reperage h3{margin-top:8px;font:400 clamp(26px,1.9vw,32px)/1.15 var(--titre);color:var(--lin)}
.reperage > p:not(.lieu){margin-top:10px;font-size:var(--t-texte);color:rgba(242,231,217,.8)}
.reperage .puces{margin-top:18px}
.annonce-ouverture{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,4vw,80px);align-items:center;
  margin-top:clamp(64px,6vw,96px);padding:clamp(28px,3vw,44px);border:1.5px dashed rgba(167,194,188,.45);border-radius:6px;background:rgba(242,231,217,.05)}
.annonce-ouverture .titre{font:400 var(--t-h3)/1.2 var(--titre);color:var(--lin)}
.annonce-ouverture .titre + p{margin-top:10px;font-size:var(--t-texte);color:rgba(242,231,217,.8)}
.annonce-ouverture .lettre-mini{max-width:none}

/* Contact : emplacement de l'agenda en ligne (Calendly) */
.agenda{position:relative}
.agenda-cadre{position:relative;min-height:700px;border-radius:6px;background:#fff;border:1.5px dashed rgba(31,77,61,.28);overflow:hidden;
  box-shadow:0 30px 60px -40px rgba(17,45,36,.45)}
.agenda-squelette{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:28px;padding:40px;opacity:.55}
.agenda-squelette .mois{font:400 22px/1 var(--titre);color:var(--foret)}
.agenda-squelette .jours{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:26px}
.agenda-squelette .jours span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;font-size:14px;color:var(--gris)}
.agenda-squelette .jours .libre{border:1.5px solid var(--terre);color:var(--terre-texte);font-weight:700}
.agenda-squelette .jours .entete-jour{font:400 11px var(--capitales);letter-spacing:.1em;color:var(--foret)}
.agenda-squelette .creneaux{display:grid;align-content:start;gap:12px;padding-top:48px}
.agenda-squelette .creneaux span{padding:14px;border:1.5px solid rgba(31,77,61,.25);border-radius:var(--rayon);text-align:center;font-weight:700;color:var(--foret)}
.agenda-message{position:absolute;left:50%;top:50%;z-index:1;width:min(420px,calc(100% - 48px));transform:translate(-50%,-50%);
  padding:30px 32px;border-radius:6px;background:var(--papier);box-shadow:0 24px 50px -24px rgba(17,45,36,.5);text-align:center}
.agenda-message .ic{width:34px;height:34px;color:var(--terre)}
.agenda-message .titre{margin-top:12px;font:400 var(--t-h3)/1.2 var(--titre);color:var(--foret)}
.agenda-message p:not(.titre){margin-top:8px;font-size:15px;color:var(--gris)}

/* Pages légales */
.texte-legal{max-width:920px}
.a-completer{padding:1px 6px;border-radius:2px;background:rgba(200,100,69,.14);font-weight:600;color:var(--terre-texte)}

@media (max-width:1140px){
  .duo,.contact-grille,.a-la-une,.lecture{grid-template-columns:1fr}
  .valeurs-cap-grille{grid-template-columns:1fr}
  .valeurs-cap-tete{position:static}
  .parcours{grid-template-columns:1fr;gap:0}
  .parcours::before{top:52px;bottom:8px;left:51px;right:auto;border-top:0;border-left:2px dashed var(--terre)}
  .parcours::after{top:auto;bottom:-6px;right:auto;left:44px;clip-path:polygon(0 0,100% 0,50% 100%)}
  .station{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:28px;align-items:start;text-align:left;padding-bottom:48px}
  .station-badge{grid-row:1 / span 5}
  .station-etape{margin-top:10px}
  .station-livrable{margin-top:0}
  .envies-liste{grid-template-columns:repeat(3,1fr);row-gap:44px}
  .annonce-ouverture{grid-template-columns:1fr}
  .agenda-cadre{min-height:640px}
  .duo.inverse > :first-child{order:0}
  .duo.inverse .billet,.duo.inverse .carnet{justify-self:start}
  .valeurs,.regions-liste{grid-template-columns:1fr 1fr}
  .expertises{grid-template-columns:1fr}
  .contact-aside,.sommaire{position:static}
  .region-visuels{max-width:640px}
}
@media (max-width:700px){
  .section{padding:96px 0}
  /* sur mobile le texte occupe toute la largeur : voile réparti, toujours plus clair qu'avant */
  .hero::before,.bandeau:not(.bandeau-simple)::before{background:linear-gradient(180deg,rgba(26,66,52,.56) 0%,rgba(26,66,52,.44) 35%,rgba(26,66,52,.52) 70%,rgba(26,66,52,.7) 100%)}
  .bandeau{min-height:0;padding:150px 0 64px}
  .bandeau .h1-titre,.bandeau .titre-page,.bandeau .titre-article{font-size:42px}
  .fil-ariane ol,ol.fil-ariane,.rank-math-breadcrumb > p{font-size:12px;letter-spacing:.14em}
  .champs,.faits,.valeurs,.regions-liste{grid-template-columns:1fr}
  .envies-liste{grid-template-columns:repeat(2,1fr);gap:32px 14px}
  .reperages{grid-template-columns:1fr;gap:48px}
  .parcours::before{left:37px;top:38px}
  .parcours::after{left:30px}
  .station{grid-template-columns:76px minmax(0,1fr);column-gap:18px}
  .station-badge{width:76px;height:76px}
  .station-badge .ic{width:30px;height:30px}
  .station-num{width:28px;height:28px;font-size:14px}
  .valeur-cap{grid-template-columns:52px minmax(0,1fr)}
  .valeur-cap-icone{width:52px;height:52px}
  .valeur-cap-icone .ic{width:24px;height:24px}
  .sceau.sceau-statique{width:136px;height:136px}
  .agenda-squelette{grid-template-columns:1fr;padding:24px}
  .agenda-squelette .creneaux{display:none}
  .itineraires li{grid-template-columns:1fr}
  .itineraires :is(span,em){white-space:normal}
  .formulaire{padding:28px 20px}
  .region-visuels{padding:0 24px 44px 0}
  .barre-ancres ul{gap:12px 24px;padding:20px 0}
  .encadre{padding:24px 20px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---- Pictogrammes : tracés de la maquette en masques CSS ---- */
:root{
  --ic-repere:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --ic-train:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3.1V7a4 4 0 0 0 8 0V3.1'/%3E%3Cpath d='m9 15-1-1'/%3E%3Cpath d='m15 15 1-1'/%3E%3Cpath d='M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z'/%3E%3Cpath d='m8 19-2 3'/%3E%3Cpath d='m16 19 2 3'/%3E%3C/svg%3E");
  --ic-velo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18.5' cy='17.5' r='3.5'/%3E%3Ccircle cx='5.5' cy='17.5' r='3.5'/%3E%3Ccircle cx='15' cy='5' r='1'/%3E%3Cpath d='M12 17.5V14l-3-3 4-3 2 3h2'/%3E%3C/svg%3E");
  --ic-van:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v6'/%3E%3Cpath d='M15 6v6'/%3E%3Cpath d='M2 12h19.6'/%3E%3Cpath d='M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Cpath d='M9 18h5'/%3E%3Ccircle cx='16' cy='18' r='2'/%3E%3C/svg%3E");
  --ic-bateau:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 10.19V14'/%3E%3Cpath d='M12 2v3'/%3E%3Cpath d='M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6'/%3E%3Cpath d='M19.38 20A11.6 11.6 0 0 0 21 14l-8.19-3.64a2 2 0 0 0-1.62 0L3 14a11.6 11.6 0 0 0 2.81 7.76'/%3E%3Cpath d='M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3C/svg%3E");
  --ic-maison:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M10 21v-6h4v6'/%3E%3C/svg%3E");
  --ic-coche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  --ic-carnet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
  --ic-boussole:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36z'/%3E%3C/svg%3E");
  --ic-video:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.22 3.48a.5.5 0 0 0 .78-.42V7.87a.5.5 0 0 0-.75-.43L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
  --ic-courriel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --ic-telephone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  --ic-instagram:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E");
  --ic-facebook:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
  --ic-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 17h16'/%3E%3C/svg%3E");
  --ic-fermer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
  --ic-calendrier:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  --ic-horloge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
  --ic-envoi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E");
  --ic-loupe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7.5'/%3E%3Cpath d='m21 21-4.6-4.6'/%3E%3C/svg%3E");
  --ic-pousse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20h10'/%3E%3Cpath d='M10 20c5.5-2.5.8-6.4 3-10'/%3E%3Cpath d='M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z'/%3E%3Cpath d='M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'/%3E%3C/svg%3E");
  --ic-oiseau:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7h.01'/%3E%3Cpath d='M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20'/%3E%3Cpath d='m20 7 2 .5-2 .5'/%3E%3Cpath d='M10 18v3'/%3E%3Cpath d='M14 17.75V21'/%3E%3Cpath d='M7 18a6 6 0 0 0 3.84-10.61'/%3E%3C/svg%3E");
  --ic-vagues:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3Cpath d='M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3Cpath d='M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3C/svg%3E");
  --ic-montagne:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 3 4 8 5-5 5 15H2L8 3z'/%3E%3C/svg%3E");
  --ic-palmier:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4'/%3E%3Cpath d='M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3'/%3E%3Cpath d='M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35'/%3E%3Cpath d='M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14'/%3E%3C/svg%3E");
  --ic-voyageurs:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --ic-billet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M13 5v2'/%3E%3Cpath d='M13 17v2'/%3E%3Cpath d='M13 11v2'/%3E%3C/svg%3E");
  --ic-sac:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z'/%3E%3Cpath d='M8 10h8'/%3E%3Cpath d='M8 18h8'/%3E%3Cpath d='M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6'/%3E%3Cpath d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E");
  --ic-bulle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E");
  --ic-carte:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.11 5.55a2 2 0 0 0 1.78 0l3.66-1.83A1 1 0 0 1 21 4.62v12.76a1 1 0 0 1-.55.9l-4.56 2.27a2 2 0 0 1-1.78 0l-4.22-2.1a2 2 0 0 0-1.78 0l-3.66 1.83A1 1 0 0 1 3 19.38V6.62a1 1 0 0 1 .55-.9l4.56-2.27a2 2 0 0 1 1.78 0z'/%3E%3Cpath d='M15 5.76v15'/%3E%3Cpath d='M9 3.24v15'/%3E%3C/svg%3E");
}
.i-repere{--ic:var(--ic-repere)}.i-train{--ic:var(--ic-train)}.i-velo{--ic:var(--ic-velo)}.i-van{--ic:var(--ic-van)}.i-bateau{--ic:var(--ic-bateau)}.i-maison{--ic:var(--ic-maison)}.i-coche{--ic:var(--ic-coche)}.i-carnet{--ic:var(--ic-carnet)}.i-boussole{--ic:var(--ic-boussole)}.i-video{--ic:var(--ic-video)}.i-courriel{--ic:var(--ic-courriel)}.i-telephone{--ic:var(--ic-telephone)}.i-instagram{--ic:var(--ic-instagram)}.i-facebook{--ic:var(--ic-facebook)}.i-menu{--ic:var(--ic-menu)}.i-fermer{--ic:var(--ic-fermer)}.i-calendrier{--ic:var(--ic-calendrier)}.i-horloge{--ic:var(--ic-horloge)}.i-envoi{--ic:var(--ic-envoi)}.i-loupe{--ic:var(--ic-loupe)}.i-pousse{--ic:var(--ic-pousse)}.i-oiseau{--ic:var(--ic-oiseau)}.i-vagues{--ic:var(--ic-vagues)}.i-montagne{--ic:var(--ic-montagne)}.i-palmier{--ic:var(--ic-palmier)}.i-voyageurs{--ic:var(--ic-voyageurs)}.i-billet{--ic:var(--ic-billet)}.i-sac{--ic:var(--ic-sac)}.i-bulle{--ic:var(--ic-bulle)}.i-carte{--ic:var(--ic-carte)}

/* ==========================================================================
   Adaptations WordPress — balisage des blocs natifs
   Ce qui change par rapport au HTML de la maquette :
   - la classe d'une image est portée par la figure (figure.wp-block-image.x > img) ;
   - la classe d'un bouton est portée par div.wp-block-button, le lien le remplit ;
   - « lien-route » est un paragraphe qui contient le lien ;
   - les listes de cartes sont des groupes (.liste-blocs > .element-liste) ;
   - les icônes SVG sont des masques CSS (--ic), les pastilles des pseudo-éléments.
   ========================================================================== */

/* ---- Enveloppes ---- */
figure{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap;word-wrap:normal!important}
.hero,.bandeau{background-color:var(--foret)}
/* page créée sans bandeau : l'en-tête reste plein et ne recouvre pas le contenu */
body:not(:has(.hero,.bandeau)) .principal{padding-top:76px}
.admin-bar .entete{top:32px}
@media (max-width:782px){ .admin-bar .entete{top:46px} }

/* ---- Pictogrammes ---- */
.ico::before{content:"";flex:none;width:18px;height:18px;background:currentColor;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.hero-legende.ico::before,.postale-auteur .ico::before,.reperage .lieu.ico::before{width:15px;height:15px;background:var(--terre)}
.etapes .ico::before{width:16px;height:16px;background:var(--terre)}
.fait .ico::before{width:17px;height:17px;background:var(--terre)}
.carnet-pied.ico::before,.encadre-titre.ico::before{background:var(--terre)}
.article-infos .ico::before{width:17px;height:17px;background:var(--sauge)}
.agenda-message.ico::before{display:block;width:34px;height:34px;margin:0 auto;background:var(--terre)}
.billet-classe.ico::before{content:none}
.billet-classe.ico::after{content:"";flex:none;width:20px;height:20px;background:var(--terre);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.billet-vedette .billet-classe.ico::after{background:#fff}
.itineraires em::before{content:"";flex:none;width:15px;height:15px;background:var(--terre);
  -webkit-mask:var(--ic-horloge) center/contain no-repeat;mask:var(--ic-horloge) center/contain no-repeat}
.coches li,.billet li{position:relative;display:block;padding-left:34px}
.billet li{padding-left:32px}
.coches li::before,.billet li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;background:var(--terre);
  -webkit-mask:var(--ic-coche) center/contain no-repeat;mask:var(--ic-coche) center/contain no-repeat}
.billet li::before{top:2px}
.foret .coches li::before{background:var(--sauge)}
a[href^="tel:"]{--ic:var(--ic-telephone)}
a[href^="mailto:"]{--ic:var(--ic-courriel)}
.duo-photo .wp-element-caption{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border-radius:2px;
  background:rgba(17,45,36,.72);color:var(--lin);font:400 12px/1.2 var(--capitales);letter-spacing:.16em;text-transform:uppercase}
.duo-photo .wp-element-caption::before{content:"";flex:none;width:14px;height:14px;background:var(--terre);
  -webkit-mask:var(--ic,var(--ic-repere)) center/contain no-repeat;mask:var(--ic,var(--ic-repere)) center/contain no-repeat}

/* ---- Pastilles : cercle en ::before, pictogramme en ::after ---- */
.mode-photo::before,.expertise-tete::before,.appel-contact .element-liste::before,.carte-contact .element-liste::before{
  content:"";flex:none;border-radius:50%;background:var(--lin)}
.mode-photo::after,.expertise-tete::after,.appel-contact .element-liste::after,.carte-contact .element-liste::after,
.valeur-cap::after,.station::after,.envie::after{content:"";position:absolute;pointer-events:none;background:var(--terre);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* Façons de voyager */
.mode-photo > figure{position:absolute;inset:0}
.mode-photo::before{position:absolute;z-index:1;left:16px;bottom:16px;width:50px;height:50px}
.mode-photo::after{z-index:2;left:29px;bottom:29px;width:24px;height:24px}
.mode .mode-num{z-index:1}

/* Savoir-faire */
.expertise-tete{position:relative}
.expertise-tete::before{width:58px;height:58px}
.expertise-tete::after{left:16px;top:calc(50% - 13px);width:26px;height:26px}

/* Coordonnées (appel final, page contact) */
.appel-contact .element-liste,.carte-contact .element-liste{position:relative}
.appel-contact .element-liste::before,.carte-contact .element-liste::before{width:44px;height:44px}
.appel-contact .element-liste::after,.carte-contact .element-liste::after{left:13px;top:calc(50% - 9px);width:18px;height:18px}

/* Mes valeurs */
.valeur-cap{position:relative}
.valeur-cap::before{content:"";box-sizing:border-box;width:64px;height:64px;border-radius:50%;background:var(--lin);border:1.5px dashed var(--terre);
  transition:background-color .3s, border-color .3s}
.valeur-cap::after{left:18px;top:calc(clamp(28px,2.6vw,40px) + 18px);width:28px;height:28px;transition:background-color .3s}
.valeur-cap:hover::before{background:var(--foret);border-color:var(--foret)}
.valeur-cap:hover::after{background:var(--lin)}

/* Comment ça marche : gares sur la route */
.station::before{content:"";position:relative;z-index:1;display:block;flex:none;box-sizing:border-box;width:104px;height:104px;border-radius:50%;
  background:var(--papier);border:2px solid var(--foret);transition:transform .3s, border-color .3s}
.station::after{z-index:2;top:33px;left:calc(50% - 19px);width:38px;height:38px;background:var(--foret);transition:transform .3s}
.station:hover::before{transform:translateY(-4px);border-color:var(--terre)}
.station:hover::after,.station:hover .station-num{transform:translateY(-4px)}
.station:last-child::before{background:var(--foret)}
.station:last-child::after{background:var(--lin)}
.station .station-num{z-index:3;right:auto;left:calc(50% + 22px);transition:transform .3s}

/* Quel voyage vous ressemble */
.envie{position:relative;--d:clamp(92px,7vw,116px)}
.envie::before{content:"";flex:none;box-sizing:border-box;width:var(--d);height:var(--d);border-radius:50%;background:var(--papier);
  border:1.5px dashed var(--terre);box-shadow:0 16px 30px -22px rgba(17,45,36,.5);transition:background-color .3s, border-color .3s, transform .3s}
.envie::after{top:calc(8px + var(--d) / 2 - 20px);left:calc(50% - 20px);width:40px;height:40px;background:var(--foret);transition:background-color .3s, transform .3s}
.envie:hover::before,.envie:focus-within::before{background:var(--foret);border-color:var(--foret);border-style:solid;transform:translateY(-4px)}
.envie:hover::after,.envie:focus-within::after{background:var(--lin);transform:translateY(-4px)}

/* ---- Cartes cliquables : le lien du titre couvre la carte ---- */
.region h3 a,.envie h3 a,.region-lien a,.envie-cap a{color:inherit;text-decoration:none}
.region h3 a::after,.envie h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.envie h3 a:focus-visible{outline:none}
.envie:has(h3 a:focus-visible){outline:3px solid var(--terre);outline-offset:3px}

/* ---- Photos : la figure porte la classe, l'image la remplit ---- */
figure.hero-photo img,figure.fond-photo img,.wp-block-post-featured-image.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:inherit}
.appel > .fond-photo,.bandeau .wp-block-post-featured-image.hero-photo{position:absolute;inset:0;z-index:-2;margin:0}
.region > .region-photo{position:absolute;inset:0;z-index:-2}
.reperage-visuel > figure{position:absolute;inset:0}
.reperage-visuel .tampon{z-index:1}
.sceau::before{content:"";position:absolute;inset:0;background:url(assets/img/anneau-cap.png) center/100% 100% no-repeat;animation:tourne 40s linear infinite}
.sceau-valeurs::before{background-image:url(assets/img/anneau-valeurs.png)}
.sceau img{position:relative}
/* Cartes postales : la maquette les dessinait en <figure> (marges par défaut 1em 40px) avec un filet avant l'auteur */
.postales > .postale{margin:1em 40px}
.postale blockquote::after{content:"";display:block;margin-top:26px;border-top:1.5px dashed var(--trait)}

.auteur-bloc > .wp-block-group > p:first-child{margin-top:0}

/* ---- Boutons : div.wp-block-button porte la classe, le lien la remplit ---- */
.wp-block-buttons > .wp-block-button.bouton{display:inline-flex;position:relative}
.wp-block-button.bouton > .wp-block-button__link{display:inline;height:auto;padding:0;border:0;border-radius:0;background:none;color:inherit;
  font:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:none;box-shadow:none;white-space:inherit}
.wp-block-button.bouton > .wp-block-button__link::before{content:"";position:absolute;inset:0}
.wp-block-button.bouton > .wp-block-button__link:focus-visible{outline:none}
.wp-block-button.bouton:has(> .wp-block-button__link:focus-visible){outline:3px solid var(--terre);outline-offset:3px}
.wp-block-buttons.centre{justify-content:center}
.duo-texte > .wp-block-buttons{margin-top:36px}

/* ---- Liens « route » : le paragraphe porte le style, le lien le couvre ---- */
p.lien-route{position:relative}
p.lien-route > a{color:inherit;text-decoration:none}
p.lien-route > a::before{content:"";position:absolute;inset:0}
a.lien-route.wp-block-read-more{display:inline-flex;width:auto}

/* ---- Questions fréquentes (bloc Détails) ---- */
.faq details > p{margin:0}

/* ---- Textes légaux : mentions à compléter ---- */
.texte-riche mark{padding:1px 6px;border-radius:2px;background:rgba(200,100,69,.14);font-weight:600;color:var(--terre-texte)}

/* ---- Agenda en ligne : fond de calendrier en attendant le widget ---- */
.agenda-cadre::before,.agenda-cadre::after{content:"";position:absolute;opacity:.55;pointer-events:none}
.agenda-cadre::before{left:40px;top:40px;bottom:40px;width:calc(58% - 60px);background:
  linear-gradient(var(--foret),var(--foret)) left top/150px 3px no-repeat,
  radial-gradient(circle,transparent 0 15px,rgba(31,77,61,.22) 15.5px 16.5px,transparent 17px) left 60px/calc(100% / 7) 58px repeat}
.agenda-cadre::after{right:40px;top:88px;width:calc(42% - 60px);height:340px;
  background:repeating-linear-gradient(180deg,rgba(31,77,61,.12) 0 50px,transparent 50px 62px)}

/* ---- En-tête ---- */
.barre-haut .wrap > p{margin:0}
.barre-contact{display:flex;gap:28px}
.barre-contact a::before,.pied-contact a::before{content:"";flex:none;width:15px;height:15px;background:var(--sauge);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.entete .logo{flex:none;margin:0}
.entete .logo a{display:block}
.entete .logo img{height:54px;width:auto;aspect-ratio:344/128}
.entete .logo.l-couleur{display:none}
.entete.est-defile .logo.l-clair{display:none}
.entete.est-defile .logo.l-couleur{display:block}
.entete.est-defile .logo img{height:48px}
.entete-rangee > .entete-action{margin-left:auto}
.entete .menu-principal{margin-left:clamp(20px,3vw,56px);font-size:16px}
/* le bloc Navigation recopie sa classe sur la liste interne : une seule marge */
.entete ul.menu-principal{margin-left:0}
.entete .menu-principal .wp-block-navigation__container{gap:30px}
.entete .menu-principal .wp-block-navigation-item__content{position:relative;display:block;padding:6px 0;font-weight:600;text-decoration:none;transition:color .25s}
.entete .menu-principal .wp-block-navigation-item__content:hover{color:var(--terre)}
.entete .menu-principal .current-menu-item > .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:0;border-top:2px dashed var(--terre)}
.entete:not(.est-defile) .menu-principal .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content{text-shadow:0 1px 12px rgba(17,45,36,.55)}
.entete .menu-principal .wp-block-navigation__responsive-container:not(.is-menu-open) .nav-cta{display:none}
.entete .wp-block-navigation__responsive-container-open{width:46px;height:46px;padding:0;border-radius:var(--rayon);border:1.5px solid currentColor;
  background:transparent;color:inherit;place-items:center;cursor:pointer}
.entete .wp-block-navigation__responsive-container-open svg{width:22px;height:22px}
/* panneau mobile : forêt, grands liens Marcellus, logo clair en tête */
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open{background-color:var(--foret)!important;color:var(--lin)!important;padding:22px 28px 32px}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before{content:"";display:block;
  width:129px;height:48px;background:url(assets/img/marque/logo-horizontal-clair.png) left center/contain no-repeat}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{top:1px;right:0;width:46px;height:46px;
  display:grid;place-items:center;padding:0;border:1.5px solid currentColor;border-radius:var(--rayon);background:transparent;color:inherit}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{width:22px;height:22px}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:0;margin-top:40px;align-items:stretch}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{flex-direction:column;align-items:stretch;gap:4px;width:100%}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:10px 0;
  font:400 32px/1.2 var(--titre);text-shadow:none;border-bottom:1.5px dashed rgba(167,194,188,.3)}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content{color:var(--sauge)}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content::after{content:none}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .nav-cta{margin-top:32px}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .nav-cta > .wp-block-navigation-item__content{display:inline-flex;align-items:center;gap:12px;
  width:auto;padding:20px 32px;border:0;border-radius:var(--rayon);background:var(--terre-bouton);color:#fff;font:700 17px/1 var(--texte);letter-spacing:.015em}
.entete .menu-principal .wp-block-navigation__responsive-container.is-menu-open .nav-cta > .wp-block-navigation-item__content::after{content:"";position:static;
  width:22px;height:13px;border:0;background:currentColor;-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}

/* ---- Pied de page ---- */
.pied-logo a{display:block;width:132px}
.pied-contact a{display:inline-flex;align-items:center;gap:10px}
.pied-contact a::before{width:16px;height:16px}
.pied-liens{display:flex;flex-wrap:wrap;gap:24px}
.pied .wp-block-social-links.reseaux{display:flex;gap:12px;margin:22px 0 0;padding:0;list-style:none}
.pied .wp-block-social-links.reseaux .wp-social-link{margin:0;padding:0;border-radius:50%;background:none;color:inherit}
.pied .wp-block-social-links.reseaux .wp-block-social-link-anchor{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;
  border:1.5px solid rgba(167,194,188,.4);color:inherit;transition:border-color .25s, color .25s}
.pied .wp-block-social-links.reseaux .wp-block-social-link-anchor:hover{border-color:var(--sauge);color:var(--lin)}
.pied .wp-block-social-links.reseaux svg{display:none}
.pied .wp-block-social-links.reseaux .wp-block-social-link-anchor::before{content:"";width:18px;height:18px;background:currentColor;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.reseaux .wp-social-link-instagram{--ic:var(--ic-instagram)}
.reseaux .wp-social-link-facebook{--ic:var(--ic-facebook)}

/* ---- Formulaires Contact Form 7 ---- */
.wpcf7 form.wpcf7-form{margin:0}
.lettre-mini form.wpcf7-form{display:block;border:0;border-radius:0;overflow:visible}
.lettre-champ{display:flex;border:1.5px solid rgba(167,194,188,.45);border-radius:var(--rayon);overflow:hidden}
.lettre-champ:focus-within{border-color:var(--sauge)}
.lettre-champ > label,.lettre-champ .wpcf7-form-control-wrap{display:block;flex:1;min-width:0}
.lettre-mini .lettre-champ input{width:100%;height:100%}
.lettre-mini .wpcf7-spinner{display:none}
.lettre-attente > span{flex:1;min-width:0;padding:14px 16px;font-size:15px;color:rgba(242,231,217,.55)}
.lettre-attente > a{display:grid;place-items:center;padding:0 18px;background:var(--terre-bouton);color:#fff;font-weight:700;text-decoration:none}
.champ .wpcf7-form-control-wrap,.consentement .wpcf7-form-control-wrap{display:block}
.cases .wpcf7-form-control{display:flex;flex-wrap:wrap;gap:10px}
.cases .wpcf7-list-item,.consentement .wpcf7-list-item{margin:0}
.consentement label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.formulaire-pied .wpcf7-spinner{margin:0}
body .wpcf7 form.wpcf7-form .wpcf7-response-output{margin:18px 0 0;padding:14px 18px;border:1.5px dashed var(--terre);border-radius:var(--rayon);
  font-size:15.5px;font-weight:600;color:var(--foret)}
body .pied .wpcf7 form.wpcf7-form .wpcf7-response-output,body .foret .wpcf7 form.wpcf7-form .wpcf7-response-output{margin-top:12px;padding:10px 14px;
  border-color:var(--sauge);font-size:14.5px;color:var(--lin)}
.wpcf7-not-valid-tip{margin-top:6px;font-size:14px;font-weight:600;color:var(--terre-texte)}
.pied .wpcf7-not-valid-tip,.foret .wpcf7-not-valid-tip{color:#F3B9A5}
/* tant que Contact Form 7 n'est pas installé */
.formulaire-attente{margin-top:32px;padding:clamp(22px,2.4vw,32px);border:1.5px dashed var(--terre);border-radius:6px;background:var(--lin)}
.formulaire-attente > p{font-size:var(--t-texte);color:var(--gris)}
.formulaire-attente > .formulaire-attente-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.formulaire-attente .bouton{max-width:100%;white-space:normal}

/* ---- Boucles d'articles ---- */
.wp-block-post-template.articles,.wp-block-post-template.a-la-une-liste{list-style:none;margin:0;padding:0}
.wp-block-post-template.articles > .wp-block-post,.wp-block-post-template.a-la-une-liste > .wp-block-post{margin:0}
.wp-block-post-featured-image.article-visuel{margin:0}
.wp-block-post-featured-image.article-visuel a{display:block;height:100%}
.wp-block-post-featured-image.article-visuel img{width:100%;height:100%;object-fit:cover}
.article h3 a,.a-la-une h2 a{display:inline}
.article-meta a,.h1-sur a{color:inherit;text-decoration:none}
.article-meta a:hover{color:var(--terre)}
.article-meta .wp-block-post-terms__separator{color:var(--gris)}
.article-meta .wp-block-post-terms__prefix::after{content:"·";margin-left:12px;color:var(--gris)}
.h1-sur .wp-block-post-terms__separator{white-space:pre}
.article .article-temps{display:flex;flex-wrap:wrap;gap:0 .35em;margin-top:16px;font-size:14px;color:var(--gris)}
.article .article-temps > *{margin:0}
.article .article-temps time{display:inline;margin:0;font-size:inherit}
.article .article-temps > * + *::before{content:"· "}
.wp-block-post-time-to-read::after{content:" de lecture"}
.a-la-une .wp-block-post-excerpt__excerpt{margin-top:18px;font-size:var(--t-texte-long);color:var(--gris)}
.a-la-une .wp-block-read-more{margin-top:28px}
.wp-block-query-pagination.pagination{display:flex;justify-content:center;gap:10px;margin:80px 0 0}
.wp-block-query-pagination.pagination .wp-block-query-pagination-numbers{display:flex;gap:10px}
.wp-block-query-pagination.pagination :is(.page-numbers,.wp-block-query-pagination-next,.wp-block-query-pagination-previous){display:grid;place-items:center;
  min-width:50px;height:50px;margin:0;padding:0 16px;border:1.5px solid rgba(31,77,61,.25);border-radius:var(--rayon);text-decoration:none;font-weight:700;color:var(--foret)}
.wp-block-query-pagination.pagination :is(a.page-numbers,.wp-block-query-pagination-next,.wp-block-query-pagination-previous):hover{border-color:var(--terre);color:var(--terre-texte)}
.wp-block-query-pagination.pagination .page-numbers.current{background:var(--foret);border-color:var(--foret);color:var(--lin)}
.wp-block-query-pagination.pagination .page-numbers.dots{border-color:transparent}
.wp-block-categories.categories{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 64px;padding:0}
.wp-block-categories.categories .cat-item{margin:0}
.wp-block-categories.categories .current-cat > a{background:var(--foret);border-color:var(--foret);color:var(--lin)}
.articles .article h2.wp-block-post-title{font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.articles .article h2.wp-block-post-title a{display:inline;text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;transition:background-size .35s}
.articles .article:hover h2.wp-block-post-title a{background-size:100% 1.5px}
.lire-aussi:not(:has(.wp-block-post)){display:none}

/* ---- Article : en-tête ---- */
.titre-article{margin:0}
.article-infos{display:flex;flex-wrap:wrap;gap:10px 28px;margin:30px 0 0;padding:0;font-size:16px;color:rgba(242,231,217,.85)}
.article-infos > *{display:flex;align-items:center;gap:9px;margin:0}
.rank-math-breadcrumb .separator{color:var(--terre)}

/* ---- Premiers enfants : WordPress remet à zéro leur marge haute
   (:root :where(.is-layout-flow) > :first-child, spécificité 0,2,0).
   Les marges que la maquette leur donnait sont rétablies ici — relevé de la porte 4. ---- */
.duo-texte > p:where(:not(.lien-route)):first-child{margin-top:22px}
.envie > h3.wp-block-heading{margin-top:24px}
.encadre > p:first-child{margin-top:12px}
.regions-liste .element-liste > .sous-titre:first-child{margin-top:40px}
/* images dans un carnet ou un bloc auteur : hors des règles de figure de l'article */
.carnet-tete > figure{flex:none}
.texte-riche .carnet-tete > figure,.texte-riche .auteur-bloc figure{margin:0}
.texte-riche .carnet-tete img{width:52px;border-radius:0}
.texte-riche .auteur-bloc .sceau-mini img{width:44px;border-radius:0}
/* WordPress pose la classe « blog » sur le <body> de la page des articles : elle désigne ici une section */
body.blog{padding:0}

/* ---- Adaptatif ---- */
@media (max-width:1140px){
  .entete .menu-principal .wp-block-navigation__responsive-container-open:not(.always-shown){display:grid}
  .entete .menu-principal .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .entete-rangee > .menu-principal{order:3;margin-left:0}
  .station::before{grid-row:1 / span 5;grid-column:1}
  .station::after{left:33px}
  .station .station-num{left:74px}
}
@media (max-width:700px){
  body:not(:has(.hero,.bandeau)) .principal{padding-top:72px}
  .entete-rangee > .entete-action{display:none}
  .entete-rangee > .menu-principal{margin-left:auto}
  .entete .logo img,.entete.est-defile .logo img{height:44px}
  .valeur-cap::before{width:52px;height:52px}
  .valeur-cap::after{left:14px;top:calc(clamp(28px,2.6vw,40px) + 14px);width:24px;height:24px}
  .station::before{width:76px;height:76px}
  .station::after{top:23px;left:23px;width:30px;height:30px}
  .station .station-num{left:52px}
  .agenda-cadre::before{width:auto;right:24px;left:24px;top:24px;bottom:24px}
  .agenda-cadre::after{display:none}
}

/* Contact : emplacement du formulaire Google (même principe que l'agenda en ligne) —
   cadre en pointillés, esquisse de champs en fond, message centré (.agenda-message) */
.formulaire-cadre{--champ:rgba(31,77,61,.09);position:relative;min-height:620px;margin-top:32px;border-radius:6px;background:#fff;
  border:1.5px dashed rgba(31,77,61,.28);overflow:hidden}
.formulaire-cadre::before{content:"";position:absolute;inset:36px;opacity:.6;pointer-events:none;background:
  linear-gradient(var(--champ),var(--champ)) 0 0/calc(50% - 12px) 44px,
  linear-gradient(var(--champ),var(--champ)) 100% 0/calc(50% - 12px) 44px,
  linear-gradient(var(--champ),var(--champ)) 0 76px/calc(50% - 12px) 44px,
  linear-gradient(var(--champ),var(--champ)) 100% 76px/calc(50% - 12px) 44px,
  linear-gradient(var(--champ),var(--champ)) 0 152px/100% 44px,
  linear-gradient(var(--champ),var(--champ)) 0 228px/100% 150px,
  linear-gradient(rgba(178,85,54,.3),rgba(178,85,54,.3)) 0 410px/190px 50px;
  background-repeat:no-repeat}
@media (max-width:700px){
  .formulaire-cadre{min-height:540px}
  .formulaire-cadre::before{inset:20px}
}
/* Bandeau : cadrage de la photo remonté (classe à poser sur le bloc image du bandeau) */
.bandeau .hero-photo.cadrage-haut{object-position:50% 36%}

/* Blog : bouton d'appel sous les articles (collé à la une quand la grille est vide) */
.blog-cta{margin-top:72px}
.articles-grille:not(:has(.wp-block-post)) + .blog-cta{margin-top:0}

/* Newsletter du Baroudeur : prénom + adresse e-mail, mention en italique ([cap_newsletter]) */
.newsletter-zone form.newsletter{display:block;border:0;border-radius:0;overflow:visible}
.newsletter-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.newsletter-zone .newsletter-champ{display:flex;flex-direction:column;gap:8px;margin:0}
.newsletter-champ label{font:400 12.5px/1.3 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--sauge)}
.newsletter-zone .newsletter-champ input{flex:none;width:100%;padding:14px 16px;border:1.5px solid rgba(167,194,188,.45);border-radius:var(--rayon);
  background:transparent;color:var(--lin);font-size:15.5px;line-height:1.4;transition:border-color .2s}
.newsletter-zone .newsletter-champ input:focus{outline:none;border-color:var(--sauge)}
.newsletter-zone .newsletter-champ input:-webkit-autofill{-webkit-text-fill-color:var(--lin);box-shadow:0 0 0 40px var(--foret) inset}
.pied .newsletter-zone .newsletter-champ input:-webkit-autofill{box-shadow:0 0 0 40px var(--foret-nuit) inset}
.newsletter-zone button.bouton{margin-top:18px;padding:16px 26px;border:1.5px solid transparent;font-size:16px}
.newsletter-piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.newsletter-zone .newsletter-mention{margin:16px 0 0;font-size:14px;line-height:1.5;color:rgba(242,231,217,.72)}
.newsletter-zone .newsletter-merci,.newsletter-zone .newsletter-erreur{display:none;margin:0;padding:14px 18px;border:1.5px dashed var(--sauge);border-radius:var(--rayon);
  font-weight:700;color:var(--lin)}
.newsletter-zone .newsletter-erreur{margin-top:14px;border-color:#F3B9A5;color:#F3B9A5}
.newsletter-zone.est-inscrit .newsletter,.newsletter-zone.est-inscrit .newsletter-mention{display:none}
.newsletter-zone.est-inscrit .newsletter-merci,.newsletter-zone.en-erreur .newsletter-erreur{display:block}
@media (max-width:700px){
  .blog-cta{margin-top:56px}
}

/* Blog sans article publié : message d'attente sur la page Blog ; liste de catégories vide
   et section « Carnets de route » de l'accueil masquées — tout réapparaît à la première publication */
.articles-une .blog-vide{max-width:820px;margin:0 auto 56px;padding:clamp(26px,3vw,40px);border:1.5px dashed var(--terre);border-radius:6px;background:var(--papier);
  text-align:center;font-size:var(--t-chapeau);line-height:1.6;color:var(--gris)}
.wp-block-categories.categories:has(.cat-item-none){display:none}
.wp-block-post-content > section.blog:not(:has(.wp-block-post)){display:none}

/* ==========================================================================
   Destinations : destinations d'expertise (timbres par région) et itinéraires
   signature (expériences), organisés en onglets. Toutes les variantes sont dans
   la page (règle 7) ; app.js bascule la classe est-actif. Sans script, tout
   reste visible.
   ========================================================================== */
.onglets{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 clamp(44px,4.4vw,72px)}
.onglets .onglet{margin:0}
.onglet a{display:inline-flex;align-items:center;gap:12px;padding:13px 20px;border:1.5px solid rgba(31,77,61,.25);border-radius:var(--rayon);
  font:400 13.5px/1.2 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--foret);text-decoration:none;
  transition:background-color .25s, border-color .25s, color .25s}
.onglet a strong{padding:5px 9px;border-radius:99px;background:rgba(31,77,61,.08);font:600 12.5px/1 var(--texte);letter-spacing:.02em;text-transform:none;
  color:inherit;transition:background-color .25s, color .25s}
.onglet a:hover{border-color:var(--terre);color:var(--terre-texte)}
.onglet.est-actif a{background:var(--foret);border-color:var(--foret);color:var(--lin)}
.onglet.est-actif a strong{background:var(--terre-bouton);color:#fff}
.experiences .onglet a::before{content:"";flex:none;width:20px;height:20px;background:currentColor;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.js-onglets .panneau-onglet:not(.est-actif){display:none}
section:not(.js-onglets) .panneau-onglet + .panneau-onglet{margin-top:clamp(56px,5vw,88px)}
.js-onglets .panneau-onglet.est-actif{animation:panneau-apparait .45s ease both}
@keyframes panneau-apparait{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Mes destinations d'expertise : en-tête de région + timbres des pays */
.panneau-pays{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:clamp(36px,4.5vw,88px);align-items:start}
.panneau-compte{display:flex;align-items:center;gap:12px;font:400 13px/1.3 var(--capitales);letter-spacing:.2em;text-transform:uppercase;color:var(--terre-texte)}
.panneau-compte::before{content:"";width:28px;flex:none;border-top:2px dashed var(--terre)}
.panneau-tete h3{margin-top:14px;font:400 clamp(36px,3vw,54px)/1.08 var(--titre);color:var(--foret)}
.panneau-tete > p:not(.panneau-compte){margin-top:18px;font-size:var(--t-texte-long);color:var(--gris)}
.timbres{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 26px}
.timbre-pays{--r:-1.6deg;filter:drop-shadow(0 14px 16px rgba(17,45,36,.16));transform:rotate(var(--r));transition:transform .35s ease}
.timbre-pays:nth-child(4n+2){--r:1.3deg}
.timbre-pays:nth-child(4n+3){--r:-.6deg}
.timbre-pays:nth-child(4n){--r:1.9deg}
.timbre-pays:hover{transform:rotate(0deg) translateY(-6px)}
.timbre-papier{padding:10px 10px 12px;background:#fff;
  -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 10px) calc(100% - 10px) no-repeat, radial-gradient(circle 4px,#0000 97%,#000) -5px -5px/10px 10px round;
          mask:linear-gradient(#000 0 0) center/calc(100% - 10px) calc(100% - 10px) no-repeat, radial-gradient(circle 4px,#0000 97%,#000) -5px -5px/10px 10px round}
.timbre-papier figure{aspect-ratio:4/5;overflow:hidden}
.timbre-papier img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.timbre-pays:hover .timbre-papier img{transform:scale(1.05)}
.timbre-papier .timbre-nom{margin:10px 0 0;font:400 12.5px/1.25 var(--capitales);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--foret)}

/* Le voyage compte autant que la destination : photo, texte, escales */
.experience{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,4.5vw,88px);align-items:center}
.experience-visuel{position:relative;aspect-ratio:4/3.3;border-radius:var(--rayon);overflow:hidden;box-shadow:0 30px 60px -38px rgba(17,45,36,.55)}
.experience-visuel > figure{position:absolute;inset:0}
.experience-visuel img{width:100%;height:100%;object-fit:cover}
.experience .lieu{display:flex;align-items:center;gap:8px;font:400 12.5px/1.3 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:var(--terre-texte)}
.experience .lieu.ico::before{width:15px;height:15px;background:var(--terre)}
.experience-texte h3{margin-top:12px;font:400 clamp(30px,2.4vw,44px)/1.12 var(--titre);color:var(--foret)}
.experience-texte > p:not(.lieu):not(.lien-route){margin-top:18px;font-size:var(--t-texte-long);color:var(--gris)}
.escales{display:flex;flex-wrap:wrap;align-items:center;row-gap:12px;list-style:none;margin:28px 0 0;padding:0}
.escales li{display:flex;align-items:center;font:400 12.5px/1.3 var(--capitales);letter-spacing:.14em;text-transform:uppercase;color:var(--foret)}
.escales li::before{content:"";flex:none;width:12px;height:12px;margin-right:9px;box-sizing:border-box;border-radius:50%;border:2px solid var(--terre);background:var(--lin)}
.escales li:last-child::before{background:var(--terre)}
.escales li:not(:last-child)::after{content:"";width:26px;margin:0 10px;border-top:2px dashed var(--terre)}
.experience-texte .puces{margin-top:24px}
.experience-texte > .lien-route{margin-top:30px}
.experiences .wrap > .experiences-formules{display:flex;width:fit-content;margin:clamp(52px,5vw,80px) auto 0}

/* Quel voyage vous ressemble ? : pictogrammes culture (château) et slow travel (escargot) */
:root{
  --ic-chateau:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z'/%3E%3Cpath d='M18 11V4H6v7'/%3E%3Cpath d='M15 22v-4a3 3 0 0 0-6 0v4'/%3E%3Cpath d='M22 11V9'/%3E%3Cpath d='M2 11V9'/%3E%3Cpath d='M6 4V2'/%3E%3Cpath d='M18 4V2'/%3E%3Cpath d='M10 4V2'/%3E%3Cpath d='M14 4V2'/%3E%3C/svg%3E");
  --ic-escargot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0'/%3E%3Ccircle cx='10' cy='13' r='8'/%3E%3Cpath d='M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6'/%3E%3Cpath d='M18 3 19.1 5.2'/%3E%3Cpath d='M22 3 20.9 5.2'/%3E%3C/svg%3E");
}
.i-chateau{--ic:var(--ic-chateau)}.i-escargot{--ic:var(--ic-escargot)}

/* Appel final : une seule colonne centrée (formules + contact) */
.appel-seul > .tete-centre{margin-bottom:0}
.appel-seul .hero-actions{justify-content:center}

@media (max-width:1140px){
  .panneau-pays,.experience{grid-template-columns:1fr}
  .experience-visuel{max-width:720px}
}
@media (max-width:900px){
  .timbres{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .onglets{gap:10px}
  .onglet a{gap:10px;padding:11px 14px;font-size:12px;letter-spacing:.12em}
  .timbres{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
  .experience-visuel{aspect-ratio:4/3.4}
}

/* ==========================================================================
   Mes services (octobre 2026) : « Comment ça marche » en 6 étapes sur deux
   rangées, formules sur billets (durée, services, tarif) sur fond forêt,
   « L'expertise Cap Itinérance » sur fond lin pour alterner. Les tarifs des
   billets servent aussi sur l'accueil.
   ========================================================================== */
:root{
  --ic-devis:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
  --ic-globe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E");
}
.i-devis{--ic:var(--ic-devis)}.i-globe{--ic:var(--ic-globe)}

/* Comment ça marche : 6 étapes, 3 par rangée ; seule la dernière gare est pleine */
.parcours-debut,.parcours-suite{grid-template-columns:repeat(3,minmax(0,1fr))}
.parcours-debut::before,.parcours-suite::before{left:16.667%}
.parcours-suite{margin-top:64px}
.parcours-debut .station:last-child::before{background:var(--papier)}
.parcours-debut .station:last-child::after{background:var(--foret)}
.station > .station-num + h3{margin-top:26px}
.station > p a{color:var(--terre-texte);text-decoration:underline dashed;text-underline-offset:3px}

/* L'expertise Cap Itinérance sur fond lin (elle suit les formules sur fond forêt) :
   même mise en page, cartes papier, titres forêt, pastilles et pictogrammes inchangés */
.expertise-claire .expertise{background:var(--papier);border-color:rgba(31,77,61,.22)}
.expertise-claire .expertise h3{color:var(--foret)}
.expertise-claire .expertise > p{color:var(--gris)}

/* Formules : détail des billets (durée, services, tarif) */
.billet-ligne{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 22px;padding-bottom:18px;
  border-bottom:1.5px dashed rgba(31,77,61,.22);font-size:var(--t-texte);color:var(--encre)}
.billet-ligne strong,.billet-rubrique,.billet-prix strong{font:400 12px/1.3 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:var(--terre-texte)}
.billet-rubrique{margin-bottom:14px}
.billet ul{margin-bottom:28px}
.billet-prix{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:22px;border-top:1.5px dashed rgba(31,77,61,.22);
  font:400 clamp(28px,2vw,34px)/1 var(--titre);color:var(--foret)}
.billet-prix strong{margin-right:auto}
.billet-prix span{font:400 15px/1 var(--texte);color:var(--gris)}
.billet .billet-prix + .lien-route{margin-top:20px}
.formules-mention{margin-top:44px;text-align:center;font-size:15.5px;color:var(--gris)}
.foret .formules-mention{color:rgba(242,231,217,.78)}

@media (max-width:1140px){
  .parcours-debut,.parcours-suite{grid-template-columns:1fr}
  .parcours-suite{margin-top:0}
  .parcours-debut::before,.parcours-suite::before{left:51px}
  .parcours-debut::before{bottom:0}
  .parcours-debut::after{display:none}
  .station > .station-num + h3{margin-top:12px}
}
@media (max-width:700px){
  .parcours-debut::before,.parcours-suite::before{left:37px}
  .formules-mention{text-align:left}
}

/* ==========================================================================
   À propos (octobre 2026) : fonds variés dans la charte, portrait en arche,
   photo verticale, trois valeurs avec devise, principes illustrés, récits de
   voyage façon carnet (photos dispersées, ruban adhésif).
   ========================================================================== */
:root{--sable:#E9DFCF}   /* beige sable, plus soutenu que le lin : fond clair sobre */

/* Fonds variés : clairs pour la lecture (lin, sauge pâle, sable), sauge pour le carnet */
.fond-sauge-pale{background:var(--sauge-pale)}
.fond-sable{background:var(--sable)}
.fond-sauge{background:var(--sauge)}
.fond-sauge .surtitre{color:var(--foret)}

/* Hero : sur ordinateur, cadrage plus bas pour voir le voyageur, voile allégé à droite et en bas */
@media (min-width:701px){
  .bandeau-portrait .hero-photo{object-position:50% 96%}
  .bandeau-portrait::before{background:
    linear-gradient(180deg,rgba(26,66,52,.55) 0%,rgba(26,66,52,.26) 12%,rgba(26,66,52,0) 24%),
    linear-gradient(90deg,rgba(26,66,52,.86) 0%,rgba(26,66,52,.74) 28%,rgba(26,66,52,.38) 50%,rgba(26,66,52,.06) 66%,rgba(26,66,52,0) 100%),
    linear-gradient(0deg,rgba(26,66,52,.3) 0%,rgba(26,66,52,0) 22%),
    radial-gradient(ellipse 46% 50% at 26% 66%,rgba(26,66,52,.45) 0%,rgba(26,66,52,.2) 55%,rgba(26,66,52,0) 100%)}
}

/* Qui suis-je : photo et texte resserrés au centre ; une seule photo, en arche haute */
.duo-resserre{grid-template-columns:minmax(0,680px) minmax(0,900px);justify-content:center;gap:clamp(56px,5vw,96px)}
.duo-resserre .duo-texte{max-width:none}
.intro-portrait{padding:0;max-width:none}
.intro-portrait .intro-arche{aspect-ratio:2/3}
.intro-portrait .intro-arche img{object-position:50% 50%}

/* Ma philosophie du voyage : photo verticale */
.duo-photo.duo-portrait{aspect-ratio:3/4;width:100%;max-width:560px;justify-self:center}

/* Mes valeurs : devise sous chaque valeur ; anneau à trois valeurs, recentré */
.valeur-cap .valeur-devise{margin-top:10px;font:400 clamp(19px,1.3vw,22px)/1.35 var(--titre);color:var(--terre-texte)}
.valeur-cap .valeur-devise + p{margin-top:10px;font-size:var(--t-texte-long);color:var(--gris)}
.sceau-valeurs::before{background-image:url(assets/img/anneau-valeurs-3.png)}
.valeurs-cap-tete .sceau-statique{margin:56px auto 0;width:184px;height:184px}
.valeurs-cap-tete .sceau-statique img{width:78px}

/* Mon approche : un pictogramme par principe, titres mis en valeur */
.principes .valeur{position:relative}
.principes .valeur::before{content:"";display:block;width:60px;height:60px;margin-bottom:24px;border-radius:50%;background:var(--lin);transition:background-color .3s}
.principes .valeur::after{content:"";position:absolute;left:17px;top:47px;width:26px;height:26px;background:var(--terre);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:background-color .3s}
.principes .valeur:hover::before{background:var(--terre)}
.principes .valeur:hover::after{background:var(--lin)}
.principes .valeur h3{font:400 clamp(25px,1.9vw,32px)/1.15 var(--titre);color:var(--lin)}
.principes .valeur h3::after{content:"";display:block;width:40px;margin-top:16px;border-top:2px dashed var(--terre)}
.principes .valeur h3 + p{margin-top:16px}
.principes-cta{margin-top:clamp(52px,5vw,80px)}

/* Mes expériences marquantes : récits et photos dispersées, comme un carnet de voyage */
.carnet-voyages{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:clamp(44px,4vw,72px) clamp(36px,3.6vw,64px);
  align-items:center;margin-top:clamp(16px,2vw,32px)}
.photo-carnet{position:relative;margin:0;padding:10px 10px 0;background:#fff;box-shadow:0 18px 34px -18px rgba(17,45,36,.55);transition:transform .45s ease}
.photo-carnet img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.photo-carnet .wp-element-caption{margin:0;padding:11px 4px 13px;text-align:center;font:400 12px/1.3 var(--capitales);letter-spacing:.14em;text-transform:uppercase;color:var(--foret)}
/* ruban adhésif */
.photo-carnet::before{content:"";position:absolute;z-index:2;top:-13px;left:calc(50% - 46px);width:92px;height:26px;background:rgba(242,231,217,.85);
  box-shadow:0 1px 3px rgba(17,45,36,.15);transform:rotate(-4deg)}
.pc-2::before,.pc-4::before{left:auto;right:16px;transform:rotate(7deg)}
.pc-3::before{left:18px;transform:rotate(-8deg)}
/* placements libres : tailles, inclinaisons et décalages différents */
.pc-1{width:84%;justify-self:start;transform:rotate(-3.5deg) translateY(12px)}
.pc-2{width:70%;justify-self:end;transform:rotate(4deg) translateY(-26px)}
.pc-3{width:76%;justify-self:center;transform:rotate(-2deg) translateY(20px)}
.pc-4{width:74%;justify-self:start;transform:rotate(3deg) translate(16px,-12px)}
.pc-5{width:64%;justify-self:end;transform:rotate(-4.5deg) translateY(26px)}
.photo-carnet:hover{transform:rotate(0deg) translateY(-6px)}
.recit{max-width:430px;justify-self:center}
.recit h3{font:400 clamp(32px,2.6vw,46px)/1.05 var(--titre);color:var(--foret)}
.recit h3::after{content:"";display:block;width:40px;margin-top:14px;border-top:2px dashed var(--terre)}
.recit > p:not(.recit-escales){margin-top:16px;font-size:var(--t-texte-long);line-height:1.6;color:var(--encre)}
.recit-escales{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding-top:14px;border-top:1.5px dashed rgba(31,77,61,.35);
  font-size:15.5px;line-height:1.45;color:var(--foret)}
.recit-escales.ico::before{width:16px;height:16px;margin-top:2px;background:var(--foret)}
.souvenirs-cta{margin-top:clamp(64px,6vw,96px)}

@media (max-width:1140px){
  .duo-resserre{grid-template-columns:1fr}
  .intro-portrait{max-width:480px;margin-inline:auto}
  .carnet-voyages{grid-template-columns:1fr;max-width:640px;margin-inline:auto;gap:38px;padding-inline:14px}
  .photo-carnet{width:min(300px,72%)}
  .pc-1{transform:rotate(-3deg)}.pc-2{transform:rotate(3.5deg)}.pc-3{transform:rotate(-2deg)}.pc-4{transform:rotate(3deg)}.pc-5{transform:rotate(-3.5deg)}
  .pc-1,.pc-3,.pc-5{justify-self:start}
  .pc-2,.pc-4{justify-self:end}
  .recit{max-width:none;justify-self:stretch}
}
@media (max-width:700px){
  .intro-portrait{padding:0 0 0 14px}
  .valeurs-cap-tete .sceau-statique{width:150px;height:150px;margin-top:40px}
  .valeurs-cap-tete .sceau-statique img{width:64px}
  .carnet-voyages{gap:32px}
  .photo-carnet{width:min(250px,74%)}
}

/* ==========================================================================
   Accueil (octobre 2026) : la porte d'entrée du site. Qui je suis et ma
   différence, le casse-tête de l'organisation et ma solution, les formules,
   les destinations d'expertise et les façons de voyager, mes engagements,
   l'appel final. (La section blog reviendra avec les premiers articles publiés.)
   ========================================================================== */

/* Hero : un seul bouton, la légende de la photo reste à droite */
.hero-bas-legende{justify-content:flex-end}

/* Qui suis-je : portrait de Thomas en arche, vignette en paysage (bras levés en entier), différences */
.intro-thomas .intro-arche img{object-position:50% 92%}
.intro-thomas .intro-vignette{right:-40px;bottom:-36px;width:56%;aspect-ratio:16/10}
.intro-texte > .differences-titre{margin-top:36px;padding-top:26px;border-top:1.5px dashed var(--trait);
  font:400 12.5px/1.3 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:var(--terre-texte)}
.differences-titre + .promesses{margin-top:18px;padding-top:0;border-top:0}

/* Le casse-tête : quatre obstacles sur papier, puis ma solution en trois étapes */
.casse-tete-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(56px,6vw,128px);align-items:start}
.casse-tete-tete{position:sticky;top:130px}
.casse-tete-tete .chapeau-section{margin-top:22px}
/* à qui je m'adresse : une ligne repérable sous le chapeau */
.casse-tete-tete > .pour-qui{display:flex;align-items:flex-start;gap:14px;margin-top:28px;padding-top:24px;border-top:1.5px dashed rgba(31,77,61,.25);
  font:400 clamp(19px,1.25vw,22px)/1.4 var(--titre);color:var(--foret)}
.casse-tete-tete > .pour-qui::before{width:26px;height:26px;margin-top:2px;background:var(--terre)}
.obstacles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2vw,32px)}
.obstacle{position:relative;padding:30px 30px 32px;border-radius:var(--rayon);background:var(--papier);box-shadow:0 18px 34px -26px rgba(17,45,36,.45)}
.obstacle::before{content:"";display:block;box-sizing:border-box;width:52px;height:52px;margin-bottom:22px;border-radius:50%;border:1.5px dashed var(--terre)}
.obstacle::after{content:"";position:absolute;left:44px;top:44px;width:24px;height:24px;background:var(--terre);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.obstacle h3{font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.obstacle h3 + p{margin-top:10px;font-size:var(--t-texte);color:var(--gris)}

.solution{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,96px);align-items:center;
  margin-top:clamp(56px,5vw,88px);padding:clamp(40px,4vw,64px);border-radius:6px;background:var(--foret);color:var(--lin)}
.solution .surtitre{color:var(--sauge)}
.solution-tete > .solution-titre{margin-top:14px;font:400 clamp(30px,2.4vw,42px)/1.12 var(--titre);color:var(--lin)}
.solution-tete > p:not(.surtitre,.lien-route){margin-top:16px;font-size:var(--t-texte-long);color:rgba(242,231,217,.82)}
.solution-tete > .lien-route{margin-top:26px;color:var(--sauge)}
.solution-etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.4vw,40px)}
.solution-etape{position:relative}
.solution-etape:not(:last-child)::after{content:"";position:absolute;top:23px;left:60px;right:calc(-1 * clamp(24px,2.4vw,40px) + 12px);
  border-top:2px dashed rgba(167,194,188,.55)}
.solution-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--terre-bouton);color:#fff;font:400 20px/1 var(--titre)}
.solution-etape h4{margin-top:18px;font:400 clamp(21px,1.35vw,25px)/1.2 var(--titre);color:var(--lin)}
.solution-etape h4 + p{margin-top:8px;font-size:var(--t-texte);color:rgba(242,231,217,.78)}

/* Destinations : les quatre régions, puis les façons de voyager */
.modes-expertise{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:center;
  margin-top:clamp(56px,5vw,88px);padding-top:clamp(36px,3vw,48px);border-top:1.5px dashed var(--trait)}
.modes-expertise-titre{font:400 var(--t-h3)/1.25 var(--titre);color:var(--foret)}
.modes-liste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.mode-lien{position:relative;display:flex;align-items:center;gap:14px;font:400 clamp(18px,1.1vw,21px)/1.25 var(--titre);color:var(--foret)}
.mode-lien::before{content:"";flex:none;box-sizing:border-box;width:56px;height:56px;border-radius:50%;background:var(--lin);border:1.5px dashed var(--terre);
  transition:background-color .3s,border-color .3s}
.mode-lien::after{content:"";position:absolute;left:16px;top:calc(50% - 12px);width:24px;height:24px;background:var(--terre);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:background-color .3s}
.mode-lien a{color:inherit;text-decoration:none}
.mode-lien a::before{content:"";position:absolute;inset:0}
.mode-lien:hover::before{background:var(--foret);border-color:var(--foret);border-style:solid}
.mode-lien:hover::after{background:var(--lin)}
.mode-lien:hover a{text-decoration:underline dashed var(--terre);text-underline-offset:5px}

/* Pourquoi me faire confiance : quatre engagements (les témoignages clients viendront au-dessus) */
.confiance .tete-centre{margin-bottom:clamp(48px,4vw,72px)}
.engagements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2vw,32px)}
.engagement{position:relative;padding:30px 28px 32px;border-radius:var(--rayon);background:var(--papier);box-shadow:0 18px 34px -26px rgba(17,45,36,.45)}
.engagement::before{content:"";display:block;width:52px;height:52px;margin-bottom:22px;border-radius:50%;background:var(--foret)}
.engagement::after{content:"";position:absolute;left:42px;top:44px;width:24px;height:24px;background:var(--lin);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.engagement h3{font:400 clamp(21px,1.35vw,25px)/1.2 var(--titre);color:var(--foret)}
.engagement h3 + p{margin-top:10px;font-size:var(--t-texte);color:var(--gris)}

@media (max-width:1140px){
  .engagements{grid-template-columns:repeat(2,minmax(0,1fr))}
  .casse-tete-grille,.solution,.modes-expertise{grid-template-columns:1fr}
  .casse-tete-tete{position:static}
  .modes-liste{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  /* « Réserver un appel découverte gratuit » : sur deux lignes équilibrées plutôt que sans flèche */
  .hero-actions .bouton{padding-inline:24px;white-space:normal;line-height:1.3;text-align:left;text-wrap:balance}
  .hero-actions .bouton::after{flex:none}
  .intro-thomas .intro-vignette{right:0;bottom:0;width:62%}
  .obstacles{grid-template-columns:1fr}
  .obstacle{padding:24px 22px 26px}
  .obstacle::before{margin-bottom:16px}
  .obstacle::after{left:36px;top:38px}
  .solution{padding:36px 22px 40px}
  .solution-etapes{grid-template-columns:1fr;gap:26px}
  .solution-etape{padding-left:64px}
  .solution-num{position:absolute;left:0;top:0}
  .solution-etape h4{margin-top:10px}
  .solution-etape:not(:last-child)::after{top:56px;bottom:-20px;left:22px;right:auto;border-top:0;border-left:2px dashed rgba(167,194,188,.55)}
  .modes-liste{grid-template-columns:1fr;gap:14px}
  .engagements{grid-template-columns:1fr}
  .engagement{padding:24px 22px 26px}
  .engagement::before{margin-bottom:16px}
  .engagement::after{left:36px;top:38px}
}

/* ==========================================================================
   Pages légales (octobre 2026) : date de mise à jour sous le chapeau
   ========================================================================== */
.texte-legal > .maj-legale{margin-top:14px;font:400 12.5px/1.3 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.texte-legal > .maj-legale + h2{margin-top:56px}
/* mention sous les formulaires de newsletter : lien vers la politique de confidentialité */
.newsletter-mention a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.newsletter-mention a:hover{color:var(--sauge)}

/* ==========================================================================
   En-tête et pied de page (octobre 2026) : plus de bandeau supérieur dans
   l'en-tête ; dans le pied de page, « Me contacter » (deux boutons vers la
   page Contact) remplace la newsletter, téléphone et Facebook retirés.
   ========================================================================== */
.pied-boutons{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:320px}
.pied-boutons > .wp-block-button.bouton{display:flex;justify-content:space-between;padding:16px 24px;font-size:16px}
.pied-appel .reseaux,.pied .pied-appel .wp-block-social-links.reseaux{margin-top:26px}

/* ==========================================================================
   Sections hero (octobre 2026) : une seule taille sur tout le site, celle du
   bandeau de la page Destinations — accueil et pages légales compris.
   Même hauteur, mêmes marges, texte calé en bas, titre de l'accueil à la même
   taille que celui des autres pages.
   ========================================================================== */
.hero,.bandeau,.bandeau-simple{min-height:clamp(640px,74vh,780px);padding:clamp(130px,17vh,200px) 0 clamp(72px,6vw,110px);justify-content:flex-end}
.hero .titre-page{font-size:clamp(44px,5.4vw,86px)}
.hero .chapeau-hero{margin-top:28px}
@media (max-width:700px){
  /* marge haute réduite pour que les titres longs tiennent aussi sur les petits téléphones */
  .hero,.bandeau,.bandeau-simple{min-height:625px;padding:120px 0 64px}
  .hero .titre-page{font-size:42px}
  /* accueil : légende de la photo en bas, comme sur ordinateur */
  .hero .hero-bas{position:absolute;left:0;right:0;bottom:0;margin-top:0;padding-bottom:20px}
}

/* ==========================================================================
   Textes des sections hero (octobre 2026) : même format sur toutes les pages.
   Textes alignés à gauche et centrés sur la hauteur de la section (sous le
   menu), blocs un peu plus espacés, mêmes largeurs que les bandeaux ;
   plus de fil d'Ariane (retiré des pages et des modèles du thème).
   ========================================================================== */
.hero,.bandeau,.bandeau-simple{justify-content:center;padding-top:clamp(110px,18vh,200px)}
.hero .hero-contenu > *{max-width:1100px}
.hero .hero-contenu .chapeau-hero{max-width:720px}
/* espacements aérés sur grand écran, un peu resserrés sur les écrans peu hauts */
.hero .titre-page strong,.bandeau .titre-page strong{margin-bottom:clamp(26px,3.2vh,34px)}
.hero .chapeau-hero,.bandeau .chapeau-hero{margin-top:clamp(28px,3.7vh,40px)}
.hero .hero-actions{margin-top:clamp(30px,4vh,44px)}
@media (max-width:700px){
  .hero,.bandeau,.bandeau-simple{padding-top:122px}
  .hero .titre-page strong,.bandeau .titre-page strong{margin-bottom:28px}
  .hero .chapeau-hero,.bandeau .chapeau-hero{margin-top:32px}
}

/* ==========================================================================
   Accueil (octobre 2026, relecture) : photo personnelle de Roys Peak dans le
   hero ; « Mes services » en bref — trois billets désalignés, reliés par une
   route qui finit par la flèche du logo, sans détail ni prix, un seul appel
   à l'action vers la page des formules.
   ========================================================================== */
.hero .hero-photo img{object-position:50% 72%}

/* filigranes : un globe en haut à droite, une boussole en bas à gauche */
.formules-billets{overflow:hidden}
.formules-billets > .wrap::before,.formules-billets > .wrap::after{content:"";position:absolute;z-index:0;pointer-events:none;background:rgba(167,194,188,.07);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.formules-billets > .wrap::before{--ic:var(--ic-globe);top:-60px;right:-90px;width:440px;height:440px;transform:rotate(-12deg)}
.formules-billets > .wrap::after{--ic:var(--ic-boussole);bottom:-80px;left:-110px;width:380px;height:380px;transform:rotate(18deg)}
.formules-billets > .wrap > *{position:relative;z-index:1}
.formules-billets .tete-centre{margin-bottom:clamp(48px,4vw,72px)}

/* les billets, posés de travers comme sur une table */
.billets-voyage{position:relative;counter-reset:billet;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,80px);
  align-items:start;padding:24px 4% 56px}
.billets-voyage::before{content:"";position:absolute;z-index:0;left:0;right:26px;top:38%;height:160px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 160' preserveAspectRatio='none'%3E%3Cpath d='M0 110C120 150 220 150 330 100S540 20 660 70S860 150 1000 60' fill='none' stroke='%23A7C2BC' stroke-opacity='.65' stroke-width='2' stroke-dasharray='7 7' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat,
    radial-gradient(circle 6px at 6px 110px,var(--terre) 96%,transparent) 0 0/100% 100% no-repeat}
/* la flèche du logo au bout de la route */
.billets-voyage::after{content:"";position:absolute;z-index:0;right:-4px;top:calc(38% + 50px);width:34px;height:20px;background:var(--terre);
  -webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat;transform:rotate(-21deg)}
.billets-voyage .billet{--y:172px;z-index:1;counter-increment:billet;transition:transform .45s ease}
.billets-voyage .billet:nth-child(1){transform:rotate(-2.4deg)}
.billets-voyage .billet:nth-child(2){margin-top:92px;transform:rotate(1.8deg)}
.billets-voyage .billet:nth-child(3){margin-top:26px;transform:rotate(-1.3deg)}
.billets-voyage .billet:hover{transform:rotate(0) translateY(-6px)}
.billets-voyage .billet-corps{padding-bottom:26px}
.billets-voyage .billet-texte{font-size:var(--t-texte-long);line-height:1.55;color:var(--encre)}
/* talon du billet : numéro et code-barres */
.billets-voyage .billet-corps::after{content:"N° 0" counter(billet);display:flex;align-items:flex-end;height:26px;margin-top:24px;padding-top:16px;
  border-top:1.5px dashed rgba(31,77,61,.22);font:400 11px/1 var(--capitales);letter-spacing:.22em;color:var(--gris);
  background:repeating-linear-gradient(90deg,var(--encre) 0 2px,transparent 2px 4px,var(--encre) 4px 5px,transparent 5px 8px,var(--encre) 8px 11px,transparent 11px 13px) right bottom/112px 20px no-repeat}
.formules-appel{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:clamp(40px,4vw,64px);text-align:center}
.formules-appel > p{font-size:var(--t-chapeau);color:rgba(242,231,217,.85)}

@media (max-width:1140px){
  .billets-voyage{grid-template-columns:1fr;max-width:600px;margin-inline:auto;gap:28px;padding:8px 0 24px}
  .billets-voyage::before,.billets-voyage::after{display:none}
  .billets-voyage .billet{width:92%}
  .billets-voyage .billet:nth-child(odd){justify-self:start}
  .billets-voyage .billet:nth-child(even){justify-self:end}
  .billets-voyage .billet:nth-child(2),.billets-voyage .billet:nth-child(3){margin-top:0}
  .formules-billets > .wrap::before{width:300px;height:300px;right:-120px}
  .formules-billets > .wrap::after{width:260px;height:260px;left:-120px}
}
@media (max-width:700px){
  .hero .hero-photo img{object-position:56% 72%}
  .billets-voyage .billet{width:94%;--y:164px}
  .billets-voyage .billet:nth-child(1){transform:rotate(-1.4deg)}
  .billets-voyage .billet:nth-child(2){transform:rotate(1.2deg)}
  .billets-voyage .billet:nth-child(3){transform:rotate(-1deg)}
  .formules-appel{align-items:stretch;text-align:left}
  .formules-appel .wp-block-buttons,.formules-appel .bouton{width:100%}
  .formules-appel .bouton{justify-content:space-between;padding-inline:24px;white-space:normal;line-height:1.3;text-wrap:balance}
  .formules-appel .bouton::after{flex:none}
}

/* ==========================================================================
   À propos — Mon approche (octobre 2026, relecture) : une route en pointillés
   traverse toute la section, du point de départ à la flèche du logo ; les
   quatre principes s'y accrochent, au-dessus puis en dessous, sur des cartes
   un peu de travers qui apparaissent en douceur (app.js, classe revele-actif).
   ========================================================================== */
/* grille : cartes du haut / route / cartes du bas ; chaque carte couvre 4 colonnes sur 13 */
.principes{position:relative;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:auto 130px auto;gap:0;align-items:stretch;padding:0}
.principes::before{content:"";grid-row:2;grid-column:1/-1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 130' preserveAspectRatio='none'%3E%3Cpath d='M0 65C60 65 100 0 154 0C260 0 280 130 385 130C490 130 510 0 615 0C720 0 740 130 846 130C900 130 950 65 1000 65' fill='none' stroke='%23A7C2BC' stroke-opacity='.7' stroke-width='2' stroke-dasharray='8 7' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat,
    radial-gradient(circle 7px at 7px 50%,var(--terre) 96%,transparent) 0 0/100% 100% no-repeat}
/* la flèche du logo au bout de la route */
.principes::after{content:"";grid-row:2;grid-column:13;justify-self:end;align-self:center;width:34px;height:20px;margin-right:-18px;background:var(--terre);
  pointer-events:none;-webkit-mask:var(--fleche) center/contain no-repeat;mask:var(--fleche) center/contain no-repeat}
.principes .valeur{position:relative;margin:0 clamp(6px,.8vw,16px);padding:34px clamp(24px,2vw,38px) 36px;border:0;border-radius:8px;background:var(--foret-profond);
  box-shadow:0 22px 40px -28px rgba(0,0,0,.6);text-align:left;transition:transform .35s ease,rotate .35s ease,box-shadow .35s ease,opacity .7s ease,translate .7s ease}
.principes .valeur:nth-child(1){grid-row:1;grid-column:1/span 4;align-self:end;margin-bottom:36px;rotate:-2deg}
.principes .valeur:nth-child(2){grid-row:3;grid-column:4/span 4;align-self:start;margin-top:36px;rotate:1.6deg}
.principes .valeur:nth-child(3){grid-row:1;grid-column:7/span 4;align-self:end;margin-bottom:36px;rotate:1.2deg}
.principes .valeur:nth-child(4){grid-row:3;grid-column:10/span 4;align-self:start;margin-top:36px;rotate:-1.8deg}
/* pastille posée sur la route : sous les cartes du haut, au-dessus des cartes du bas */
.principes .valeur::before{position:absolute;z-index:1;left:calc(50% - 36px);box-sizing:border-box;width:72px;height:72px;margin:0;
  border:3px solid var(--foret);background:var(--lin)}
.principes .valeur::after{z-index:2;left:calc(50% - 15px);width:30px;height:30px}
.principes .valeur:nth-child(odd)::before{top:auto;bottom:-72px}
.principes .valeur:nth-child(odd)::after{top:auto;bottom:-51px}
.principes .valeur:nth-child(even)::before{top:-72px}
.principes .valeur:nth-child(even)::after{top:-51px}
.principes .valeur:hover{rotate:0deg;transform:translateY(-6px);box-shadow:0 30px 50px -28px rgba(0,0,0,.7)}
.principes .valeur h3{font-size:clamp(26px,2vw,34px)}
.principes .valeur h3::after{margin-inline:0}
.principes .valeur h3 + p{color:rgba(242,231,217,.8)}
/* apparition douce, carte après carte ; rien n'est masqué sans JavaScript ni si les animations sont limitées */
.revele-actif .principes .valeur:not(.est-visible){opacity:0;translate:0 28px}
/* filigranes : une boussole en haut à droite, une carte en bas à gauche */
#mon-approche{overflow:hidden}
#mon-approche > .wrap::before,#mon-approche > .wrap::after{content:"";position:absolute;z-index:0;pointer-events:none;background:rgba(167,194,188,.07);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
#mon-approche > .wrap::before{--ic:var(--ic-boussole);top:-70px;right:-80px;width:420px;height:420px;transform:rotate(14deg)}
#mon-approche > .wrap::after{--ic:var(--ic-carte);bottom:-90px;left:-100px;width:400px;height:400px;transform:rotate(-10deg)}
#mon-approche > .wrap > *{position:relative;z-index:1}
#mon-approche .tete-duo{margin-bottom:clamp(40px,3.5vw,64px)}
/* bouton d'appel plus grand */
.principes-cta{margin-top:clamp(56px,5vw,88px)}
.principes-cta .wp-block-button.bouton{padding:22px 40px;font-size:18px}

/* tablette et mobile : la route devient verticale à gauche, les cartes se suivent */
@media (max-width:1140px){
  .principes{grid-template-columns:1fr;grid-template-rows:none;gap:26px;max-width:720px}
  .principes::before,.principes::after{display:none}
  .principes .valeur:nth-child(n){grid-row:auto;grid-column:1;align-self:auto;margin:0 0 0 76px;padding:26px 26px 28px}
  .principes .valeur:nth-child(odd){rotate:-.8deg}
  .principes .valeur:nth-child(even){rotate:.8deg;margin-left:92px}
  .principes .valeur:nth-child(n)::before{top:16px;bottom:auto;left:-76px;width:60px;height:60px;border-width:2px}
  .principes .valeur:nth-child(n)::after{top:31px;bottom:auto;left:-61px;width:28px;height:28px}
  .principes .valeur:nth-child(even)::before{left:-92px}
  .principes .valeur:nth-child(even)::after{left:-77px}
  /* un tronçon de route relie chaque pastille à la suivante */
  .principes .valeur:not(:last-child) h3::before{content:"";position:absolute;left:-47px;top:76px;bottom:-42px;border-left:2px dashed rgba(167,194,188,.6)}
  .principes .valeur:nth-child(even):not(:last-child) h3::before{left:-63px}
  #mon-approche > .wrap::before{width:300px;height:300px;right:-110px}
  #mon-approche > .wrap::after{width:280px;height:280px;left:-120px}
}
@media (max-width:700px){
  .principes{gap:22px}
  .principes .valeur:nth-child(n){margin-left:60px;padding:22px 20px 24px}
  .principes .valeur:nth-child(n)::before{top:18px;left:-60px;width:48px;height:48px}
  .principes .valeur:nth-child(n)::after{top:30px;left:-48px;width:24px;height:24px}
  .principes .valeur:not(:last-child) h3::before,.principes .valeur:nth-child(even):not(:last-child) h3::before{left:-37px;top:66px;bottom:-40px}
  .principes .valeur h3{font-size:26px}
  .principes-cta .wp-block-button.bouton{width:100%;justify-content:space-between;padding:20px 26px;font-size:17px}
}

/* ==========================================================================
   Destinations (octobre 2026) : destinations classées par niveau d'expertise.
   Onglet 1 « Mes destinations phares » : trois grands timbres avec la durée
   passée sur place ; onglet 2 « Mes autres terrains de jeu » : timbres rangés
   par zone (Europe, Amérique du Nord) et mention « terrain ».
   ========================================================================== */

/* Hero : cadrage un peu plus bas (la route et la porte d'Angkor Thom restent visibles) */
.bandeau .hero-photo.cadrage-bas{object-position:50% 62%}

/* Onglets : « Mes destinations phares » en avant (plus grand, liseré terracotta, pictogramme
   de phare), « Mes autres terrains de jeu » plus discret */
:root{--ic-phare:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22h12'/%3E%3Cpath d='M9 22l1.2-11h3.6L15 22'/%3E%3Cpath d='M9.5 11h5'/%3E%3Cpath d='M10.5 11V7.5h3V11'/%3E%3Cpath d='M10 7.5 12 5l2 2.5'/%3E%3Cpath d='M9.7 16.5h4.6'/%3E%3Cpath d='M8 8.5 3.5 7M8 10l-4.5 1.5M16 8.5 20.5 7M16 10l4.5 1.5'/%3E%3C/svg%3E")}
.onglets:has(.onglet-phare){align-items:center;gap:16px}
.onglet-phare a{gap:14px;padding:18px 30px;border:2px solid var(--terre);font-size:15.5px;box-shadow:0 14px 26px -18px rgba(17,45,36,.55)}
.onglet-phare a::before{content:"";flex:none;width:26px;height:26px;background:var(--terre);
  -webkit-mask:var(--ic-phare) center/contain no-repeat;mask:var(--ic-phare) center/contain no-repeat}
.onglet-phare.est-actif a::before{background:var(--lin)}
.onglet-phare.est-actif a{border-color:var(--foret)}
.onglet-secondaire a{padding:11px 18px;font-size:12.5px;letter-spacing:.14em;color:var(--gris)}

/* Destinations phares : timbres plus grands, durée sur place + précision */
.timbres-phares{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px clamp(26px,2.4vw,40px)}
.timbres-phares .timbre-papier{padding:14px 14px 20px}
.timbres-phares .timbre-papier figure{aspect-ratio:4/4.3}
.timbres-phares .timbre-papier .timbre-nom{margin-top:16px;font-size:15px;letter-spacing:.16em}
.timbre-papier .timbre-duree{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 0;
  font:400 12px/1.3 var(--capitales);letter-spacing:.14em;text-transform:uppercase;color:var(--terre-texte)}
.timbre-papier .timbre-duree::before,.timbre-papier .timbre-duree::after{content:"";width:18px;flex:none;border-top:2px dashed rgba(200,100,69,.55)}
.timbre-papier .timbre-detail{margin:6px 8px 0;font-size:15px;line-height:1.45;text-align:center;color:var(--gris)}
.timbres-zone .timbre-papier .timbre-detail{margin:4px 2px 0;font-size:13.5px;line-height:1.35}

/* Autres terrains de jeu : une rangée de timbres par zone, titrée sur la route pointillée */
.zones-pays{display:grid;gap:clamp(34px,3.2vw,52px)}
.zone-nom{display:flex;align-items:center;gap:16px;margin:0 0 24px;font:400 13px/1.3 var(--capitales);letter-spacing:.2em;text-transform:uppercase;color:var(--foret)}
.zone-nom::after{content:"";flex:1;border-top:2px dashed rgba(200,100,69,.45)}
.timbres-zone{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 22px}
.timbres-zone .timbre-papier{padding:9px 9px 11px}
.timbres-zone .timbre-papier .timbre-nom{font-size:12px;letter-spacing:.12em}

/* Mention : seulement des destinations connues sur le terrain */
.panneau-tete > p.mention-terrain{display:flex;align-items:flex-start;gap:12px;margin-top:28px;padding:16px 18px;
  border:1.5px dashed rgba(200,100,69,.6);border-radius:var(--rayon);background:#fff;font-size:var(--t-texte);line-height:1.5;color:var(--foret)}
.mention-terrain.ico::before{width:20px;height:20px;margin-top:2px;background:var(--terre)}

/* Appel final à titre long (deux phrases, une par ligne) : en-tête élargi, texte gardé à 900 px */
.tete-centre.tete-large{max-width:1220px}
.tete-large > .chapeau-section{max-width:900px;margin-left:auto;margin-right:auto}

@media (max-width:1140px){
  .panneau-tete > p.mention-terrain{max-width:620px}
}
@media (max-width:900px){
  .timbres-zone{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .onglets:has(.onglet-phare){gap:10px}
  .onglet-phare a{gap:10px;padding:15px 18px;font-size:13.5px;letter-spacing:.12em}
  .onglet-phare a::before{width:22px;height:22px}
  .onglet-secondaire a{padding:10px 14px;font-size:11.5px;letter-spacing:.12em}
  /* phares : timbre couché, photo à gauche et texte à droite */
  .timbres-phares{grid-template-columns:1fr;gap:26px}
  .timbres-phares .timbre-papier{display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:16px;padding:12px 12px 12px}
  .timbres-phares .timbre-papier figure{grid-row:1 / 4;aspect-ratio:4/4.6}
  .timbres-phares .timbre-papier .timbre-nom{margin:6px 0 0;font-size:14px;text-align:left}
  .timbres-phares .timbre-papier .timbre-duree{justify-content:flex-start;margin-top:8px;font-size:11.5px;letter-spacing:.1em}
  .timbres-phares .timbre-papier .timbre-duree::before,.timbres-phares .timbre-papier .timbre-duree::after{display:none}
  .timbres-phares .timbre-papier .timbre-detail{margin:6px 0 0;font-size:14.5px;text-align:left}
  .timbres-zone{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
  .zone-nom{margin-bottom:18px}
}

/* ==========================================================================
   Accueil (octobre 2026) : « Mes destinations » aligné sur la page Destinations.
   Les trois destinations phares en mosaïque (grande carte + deux cartes, durée
   passée sur place en étiquette), puis les autres terrains de jeu en bandeau
   (vignette + pays), avant la logistique par mode de voyage.
   ========================================================================== */
.mosaique-phares{grid-template-columns:1.25fr 1fr}
.mosaique-phares .region:last-child{grid-column:auto}

.terrains-jeu{display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,1fr);gap:clamp(28px,3.5vw,64px);align-items:center;
  margin-top:clamp(40px,4vw,64px);padding-top:clamp(30px,3vw,44px);border-top:2px dashed rgba(200,100,69,.45)}
.terrains-titre{font:400 clamp(26px,1.8vw,34px)/1.15 var(--titre);color:var(--foret)}
.terrains-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,32px)}
.terrain-zone{position:relative;display:grid;grid-template-columns:clamp(110px,9vw,150px) minmax(0,1fr);gap:20px;align-items:center;
  padding:14px;background:#fff;border-radius:var(--rayon);box-shadow:0 18px 34px -26px rgba(17,45,36,.5)}
.terrain-photo{aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.terrain-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.terrain-zone:hover .terrain-photo img{transform:scale(1.05)}
.terrain-texte h4{font:400 13.5px/1.3 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--foret);transition:color .25s}
.terrain-texte h4 a{color:inherit;text-decoration:none}
.terrain-texte h4 a::after{content:"";position:absolute;inset:0}
.terrain-zone:hover h4{color:var(--terre-texte)}
.terrain-texte p{margin-top:8px;font-size:var(--t-texte);line-height:1.5;color:var(--gris)}

@media (max-width:1140px){
  .mosaique-phares{grid-template-columns:1fr 1fr;grid-template-rows:420px 320px}
  .terrains-jeu{grid-template-columns:1fr;gap:22px}
}
@media (max-width:700px){
  .mosaique-phares{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:300px}
  .terrains-zones{grid-template-columns:1fr}
  .terrain-zone{grid-template-columns:104px minmax(0,1fr);gap:16px;padding:12px}
}

/* ==========================================================================
   Légende du lieu de la photo (octobre 2026) : en bas du hero de chaque page,
   comme sur l'accueil (bandeau pointillé, picto repère, « Lieu, Pays »).
   ========================================================================== */
.bandeau .hero-photo.cadrage-droite{object-position:64% 50%}
@media (max-width:700px){
  .bandeau .hero-bas{position:absolute;left:0;right:0;bottom:0;margin-top:0;padding-bottom:20px}
}

/* ==========================================================================
   Transitions entre sections (octobre 2026) — toutes les pages en blocs.
   Une seule courbe nette par frontière, dans la couleur PLEINE de la section
   suivante (aucun dégradé, aucune transparence) ; la forme varie d'une
   frontière et d'une page à l'autre. Les heros et bandeaux gardent leur bas
   droit ; l'appel final reçoit la courbe en haut, sur sa photo ; la dernière
   section d'une page sans appel se courbe vers le pied de page.
   Le pied de page reçoit, sur toutes les pages, la même vague légère qui monte
   sur la fin de la page (appel final ou dernière section).
   Mouvement discret : la frontière part droite et se courbe quand elle arrive
   à l'écran (classes posées par app.js ; sans script ou si l'utilisateur limite
   les animations, les courbes sont simplement affichées).
   La couleur est déduite de la classe de fond de la section voisine : changer
   le fond d'une section dans l'éditeur met la courbe à jour toute seule.
   ========================================================================== */
:root{--forme-h:clamp(44px,6vw,110px);--forme-air:clamp(48px,4.2vw,84px);--forme-haut:clamp(64px,6vw,112px)}
.wp-block-post-content > section{position:relative;--suite:var(--lin);--avant:var(--lin)}

/* couleur de la section suivante (bas d'une section) */
.wp-block-post-content > section:has(+ :is(.fond-papier,.methode)){--suite:var(--papier)}
.wp-block-post-content > section:has(+ :is(.fond-sauge-pale,.faq)){--suite:var(--sauge-pale)}
.wp-block-post-content > section:has(+ .fond-sable){--suite:var(--sable)}
.wp-block-post-content > section:has(+ .fond-sauge){--suite:var(--sauge)}
.wp-block-post-content > section:has(+ .foret){--suite:var(--foret)}
/* couleur de la section précédente (haut de l'appel) */
.wp-block-post-content > :is(.fond-papier,.methode) + .appel{--avant:var(--papier)}
.wp-block-post-content > :is(.fond-sauge-pale,.faq) + .appel{--avant:var(--sauge-pale)}
.wp-block-post-content > .fond-sable + .appel{--avant:var(--sable)}
.wp-block-post-content > .fond-sauge + .appel{--avant:var(--sauge)}
.wp-block-post-content > .foret + .appel{--avant:var(--foret)}

/* emplacement de la courbe (sélecteurs en :where pour que les formes par page priment) */
.wp-block-post-content > :where(section:not(.hero,.bandeau,.appel):has(+ section:not(.appel)))::after,
.wp-block-post-content > :where(section:not(.hero,.bandeau) + .appel)::after{
  content:"";position:absolute;left:0;right:0;z-index:2;height:var(--forme-h);pointer-events:none;background-color:var(--suite);
  -webkit-mask:url(assets/img/transitions/forme-vague.svg) center bottom / 100% 100% no-repeat;
          mask:url(assets/img/transitions/forme-vague.svg) center bottom / 100% 100% no-repeat;
  transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.22,.8,.3,1)}
.wp-block-post-content > :where(section:not(.hero,.bandeau,.appel):has(+ section:not(.appel)))::after{bottom:-1px}
.wp-block-post-content > :where(section:not(.hero,.bandeau) + .appel)::after{top:-1px;z-index:1;background-color:var(--avant);transform-origin:50% 0;
  -webkit-mask-position:center top;mask-position:center top}
/* frontière droite tant qu'elle n'est pas arrivée à l'écran */
.courbes-actives .wp-block-post-content > :where(section:not(.hero,.bandeau,.appel):not(.courbe-bas))::after,
.courbes-actives .wp-block-post-content > :where(section.appel:not(.courbe-haut))::after{transform:scaleY(0)}
@media (prefers-reduced-motion:reduce){.wp-block-post-content > section::after{transition:none}}

/* place réservée à la courbe dans la section, et respiration de la section suivante */
.wp-block-post-content > section:not(.hero,.bandeau,.appel):has(+ section:not(.appel)){padding-bottom:calc(var(--forme-h) + var(--forme-air))}
.wp-block-post-content > section:not(.hero,.bandeau,.appel) + section:not(.appel){padding-top:var(--forme-haut)}
.wp-block-post-content > section:not(.hero,.bandeau):has(+ .appel){padding-bottom:clamp(40px,3.5vw,64px)}
.wp-block-post-content > section:not(.hero,.bandeau) + .appel{padding-top:calc(var(--forme-h) + clamp(64px,5.5vw,104px))}

/* formes par défaut (pages futures) : vague, arche, biais, creux, vague inversée, à tour de rôle */
.wp-block-post-content > section:nth-child(5n+3)::after{-webkit-mask-image:url(assets/img/transitions/forme-arche.svg);mask-image:url(assets/img/transitions/forme-arche.svg)}
.wp-block-post-content > section:nth-child(5n+4)::after{-webkit-mask-image:url(assets/img/transitions/forme-biais.svg);mask-image:url(assets/img/transitions/forme-biais.svg)}
.wp-block-post-content > section:nth-child(5n+5)::after{-webkit-mask-image:url(assets/img/transitions/forme-creux.svg);mask-image:url(assets/img/transitions/forme-creux.svg)}
.wp-block-post-content > section:nth-child(5n+6)::after{-webkit-mask-image:url(assets/img/transitions/forme-vague-inverse.svg);mask-image:url(assets/img/transitions/forme-vague-inverse.svg)}
.wp-block-post-content > section.appel::after{-webkit-mask-image:url(assets/img/transitions/forme-voile.svg);mask-image:url(assets/img/transitions/forme-voile.svg)}

/* Accueil (validé) : vague, arche, biais, creux, voile — c'est l'ordre par défaut */

/* À propos : double vague, biais descendant, arche décalée, vague inversée, voile en arche */
.page-id-84 .wp-block-post-content > section:nth-child(2)::after{-webkit-mask-image:url(assets/img/transitions/forme-double-vague.svg);mask-image:url(assets/img/transitions/forme-double-vague.svg)}
.page-id-84 .wp-block-post-content > section:nth-child(3)::after{-webkit-mask-image:url(assets/img/transitions/forme-biais-inverse.svg);mask-image:url(assets/img/transitions/forme-biais-inverse.svg)}
.page-id-84 .wp-block-post-content > section:nth-child(4)::after{-webkit-mask-image:url(assets/img/transitions/forme-arche-decalee.svg);mask-image:url(assets/img/transitions/forme-arche-decalee.svg)}
.page-id-84 .wp-block-post-content > section:nth-child(5)::after{-webkit-mask-image:url(assets/img/transitions/forme-vague-inverse.svg);mask-image:url(assets/img/transitions/forme-vague-inverse.svg)}
.page-id-84 .wp-block-post-content > section.appel::after{-webkit-mask-image:url(assets/img/transitions/forme-voile-3.svg);mask-image:url(assets/img/transitions/forme-voile-3.svg)}

/* Mes services : creux, double vague, vague inversée, biais, voile inversé */
.page-id-85 .wp-block-post-content > section:nth-child(2)::after{-webkit-mask-image:url(assets/img/transitions/forme-creux.svg);mask-image:url(assets/img/transitions/forme-creux.svg)}
.page-id-85 .wp-block-post-content > section:nth-child(3)::after{-webkit-mask-image:url(assets/img/transitions/forme-double-vague.svg);mask-image:url(assets/img/transitions/forme-double-vague.svg)}
.page-id-85 .wp-block-post-content > section:nth-child(4)::after{-webkit-mask-image:url(assets/img/transitions/forme-vague-inverse.svg);mask-image:url(assets/img/transitions/forme-vague-inverse.svg)}
.page-id-85 .wp-block-post-content > section:nth-child(5)::after{-webkit-mask-image:url(assets/img/transitions/forme-biais.svg);mask-image:url(assets/img/transitions/forme-biais.svg)}
.page-id-85 .wp-block-post-content > section.appel::after{-webkit-mask-image:url(assets/img/transitions/forme-voile-2.svg);mask-image:url(assets/img/transitions/forme-voile-2.svg)}

/* Destinations : vague inversée, biais descendant, arche, voile */
.page-id-86 .wp-block-post-content > section:nth-child(2)::after{-webkit-mask-image:url(assets/img/transitions/forme-vague-inverse.svg);mask-image:url(assets/img/transitions/forme-vague-inverse.svg)}
.page-id-86 .wp-block-post-content > section:nth-child(3)::after{-webkit-mask-image:url(assets/img/transitions/forme-biais-inverse.svg);mask-image:url(assets/img/transitions/forme-biais-inverse.svg)}
.page-id-86 .wp-block-post-content > section:nth-child(4)::after{-webkit-mask-image:url(assets/img/transitions/forme-arche.svg);mask-image:url(assets/img/transitions/forme-arche.svg)}

/* Contact : arche décalée */
.page-id-88 .wp-block-post-content > section:nth-child(2)::after{-webkit-mask-image:url(assets/img/transitions/forme-arche-decalee.svg);mask-image:url(assets/img/transitions/forme-arche-decalee.svg)}

/* Pied de page : la même vague légère sur toutes les pages, portée par le pied lui-même ;
   sa couleur monte sur la fin de la page (photo de l'appel final ou dernière section) */
:root{--pied-h:clamp(26px,3vw,56px)}
.pied{position:relative}
.pied::before{content:"";position:absolute;left:0;right:0;bottom:100%;z-index:3;height:var(--pied-h);margin-bottom:-1px;pointer-events:none;
  background:var(--foret-nuit);
  -webkit-mask:url(assets/img/transitions/forme-pied.svg) center bottom / 100% 100% no-repeat;
          mask:url(assets/img/transitions/forme-pied.svg) center bottom / 100% 100% no-repeat;
  transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.22,.8,.3,1)}
/* liseré sauge de 2 px le long de la vague : la frontière reste lisible sur la photo sombre de l'appel */
.pied::after{content:"";position:absolute;left:0;right:0;bottom:100%;z-index:2;height:var(--pied-h);margin-bottom:1px;pointer-events:none;
  background:var(--sauge);
  -webkit-mask:url(assets/img/transitions/forme-pied.svg) center bottom / 100% 100% no-repeat;
          mask:url(assets/img/transitions/forme-pied.svg) center bottom / 100% 100% no-repeat;
  transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.22,.8,.3,1)}
.courbes-actives .pied:not(.courbe-haut)::before,.courbes-actives .pied:not(.courbe-haut)::after{transform:scaleY(0)}
@media (prefers-reduced-motion:reduce){.pied::before,.pied::after{transition:none}}

@media (max-width:700px){
  :root{--forme-h:40px;--forme-air:52px;--forme-haut:60px;--pied-h:24px}
}

/* ==========================================================================
   Proportions des sections
   ========================================================================== */
/* À propos, Mon approche : surtitre et titre centrés (demande du 2026-10-08) */
#mon-approche .tete-duo{grid-template-columns:1fr;text-align:center}
#mon-approche .tete-duo .surtitre{justify-content:center}
#mon-approche .tete-duo .surtitre::after{content:"";width:36px;flex:none;border-top:2px dashed var(--terre)}
/* Accueil : Destinations resserrée (1,8 → 1,4 écran) — tuiles moins hautes et, sur ordinateur,
   « autres terrains de jeu » et « logistique » côte à côte */
.home .mosaique-phares{grid-template-rows:repeat(2,clamp(240px,15vw,290px))}
.home .destinations .tete-ligne{margin-bottom:clamp(36px,3vw,52px)}
.home .terrains-jeu,.home .modes-expertise{margin-top:clamp(32px,3vw,48px);padding-top:clamp(24px,2.2vw,36px)}
@media (min-width:1141px){
  .home .destinations > .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(40px,4vw,80px);align-items:start}
  .home .destinations > .wrap > :is(.tete-ligne,.mosaique){grid-column:1 / -1}
  .home .terrains-jeu,.home .modes-expertise{grid-template-columns:1fr;gap:20px}
  .home .modes-liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
  /* Accueil, Mes services : section resserrée, billets plus grands (moins d'écart et de décalage, textes agrandis),
     appel sur une seule ligne */
  .home .formules-billets .tete-centre{margin-bottom:clamp(28px,2.6vw,44px)}
  .home .billets-voyage{gap:clamp(20px,1.8vw,36px);padding:12px 0 28px}
  .home .billets-voyage .billet{--y:186px}
  .home .billets-voyage .billet:nth-child(2){margin-top:48px}
  .home .billets-voyage .billet:nth-child(3){margin-top:14px}
  .home .billets-voyage .billet-tete{padding:36px 42px 0}
  .home .billets-voyage .billet-corps{padding:30px 42px 28px}
  .home .billets-voyage .billet h3{font-size:clamp(30px,2.1vw,40px)}
  .home .billets-voyage .billet-accroche{font-size:clamp(17px,1vw,19px)}
  .home .billets-voyage .billet-texte{font-size:clamp(18px,1.1vw,21px)}
  .home .formules-appel{flex-direction:row;justify-content:center;gap:28px;margin-top:clamp(24px,2.2vw,40px)}
  /* À propos, Mon approche : moins de vide — bande de la route plus basse, cartes et marges resserrées */
  #mon-approche .tete-duo{margin-bottom:clamp(24px,2.2vw,40px)}
  .principes{grid-template-rows:auto 92px auto}
  .principes .valeur{padding:28px clamp(22px,1.8vw,34px) 30px}
  .principes-cta{margin-top:clamp(32px,2.8vw,48px)}
  /* À propos : le carnet des expériences (2,3 écrans) — polaroïds un peu plus petits, rangées resserrées */
  .carnet-voyages{row-gap:clamp(28px,2.4vw,40px)}
  .photo-carnet img{aspect-ratio:4/4.5}
  .pc-1{width:58%}.pc-2{width:50%}.pc-3{width:54%}.pc-4{width:52%}.pc-5{width:48%}
}
@media (max-width:1140px){
  .home .mosaique-phares{grid-template-rows:380px 290px}
}
@media (max-width:700px){
  /* accueil, casse-tête (3,3 écrans) : obstacles en cartes compactes, pictogramme à gauche */
  .home .obstacles{gap:12px}
  .home .obstacle{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;align-items:start;padding:18px 18px 20px}
  .home .obstacle::before{grid-row:1 / span 2;width:44px;height:44px;margin:0}
  .home .obstacle::after{left:30px;top:30px;width:20px;height:20px}
  .home .obstacle h3{font-size:19px;line-height:1.25;align-self:center}
  .home .obstacle h3 + p{grid-column:2;margin-top:6px;font-size:15px;line-height:1.5}
  /* accueil, destinations : tuiles moins hautes, façons de voyager sur deux colonnes */
  .home .mosaique-phares{grid-template-rows:none;grid-auto-rows:240px}
  .home .modes-liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .home .mode-lien{gap:10px;font-size:16px}
  .home .mode-lien::before{width:44px;height:44px}
  .home .mode-lien::after{left:11px;top:calc(50% - 11px);width:22px;height:22px}
  /* À propos, carnet : polaroïds plus petits, espaces resserrés */
  .carnet-voyages{gap:26px}
  .photo-carnet{width:min(230px,66%)}
}

/* ==========================================================================
   Version MOBILE uniquement (≤ 700 px ; ordinateur et tablette inchangés) — octobre 2026.
   Rangées horizontales : les éléments d'une section se suivent sur une ligne et défilent au doigt
   (scroll-snap). La mise en page est entièrement ici, en CSS : les rangées sont prêtes dès le premier
   affichage, sans décalage ; le script (app.js) ne fait que les faire avancer automatiquement.
   Deux familles :
   - cartes centrées : la carte affichée est au milieu, les voisines dépassent à égalité de chaque côté
     (obstacles, engagements, valeurs, principes, expertise ; formules en billets) ;
   - une seule chose visible : étapes et récits, pour ne jamais couper un texte au bord de l'écran
     (Ma solution, Comment ça marche, carnet, repérages ; pictogrammes de Destinations par deux).
   « Comment ça marche » : les deux groupes de trois étapes sont réunis dans le contenu de la page
   par un groupe parcours-ligne (sans effet sur ordinateur et tablette).
   ========================================================================== */
@media (max-width:700px){
  /* ---- rangée commune ---- */
  :is(.home .obstacles,.home .solution-etapes,.home .billets-voyage,.home .engagements,.page-id-84 .valeurs-liste,.page-id-84 .principes,
    .page-id-84 .carnet-voyages,.page-id-85 .parcours-ligne,.page-id-85 .billets,.page-id-85 .expertises,.page-id-86 .envies-liste,.page-id-86 .reperages){
    position:relative;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  :is(.home .obstacles,.home .solution-etapes,.home .billets-voyage,.home .engagements,.page-id-84 .valeurs-liste,.page-id-84 .principes,
    .page-id-84 .carnet-voyages,.page-id-85 .parcours-ligne,.page-id-85 .billets,.page-id-85 .expertises,.page-id-86 .envies-liste,.page-id-86 .reperages)::-webkit-scrollbar{display:none}

  /* ---- cartes centrées (voisines visibles de chaque côté) ---- */
  :is(.home .obstacles,.home .engagements,.page-id-84 .valeurs-liste,.page-id-84 .principes,.page-id-85 .expertises){margin-inline:-20px;padding:6px 8vw 24px;scroll-padding-inline:0}
  :is(.page-id-84 .valeurs-liste,.page-id-84 .principes,.page-id-85 .expertises){padding-bottom:26px}
  :is(.home .obstacles,.home .engagements,.page-id-84 .valeurs-liste,.page-id-84 .principes,.page-id-85 .expertises) > *{flex:0 0 84vw;min-width:0;margin:0;scroll-snap-align:center}

  /* ---- Accueil ---- */
  /* hero : bouton plus discret, sur une ligne, pour laisser voir la photo */
  .home .hero .hero-actions .bouton{width:auto;gap:10px;padding:13px 18px;font-size:15px;white-space:nowrap}
  .home .hero .hero-actions .bouton::after{width:18px;height:11px}
  .home .casse-tete-tete{margin-bottom:6px}

  /* Ma solution : une seule étape visible, centrée ; le pointillé traverse toute la rangée,
     de part et d'autre de chaque chiffre ; le lien au-dessus sans pointillé, pour ne pas le confondre avec la route */
  .home .solution{margin-top:28px;padding:32px 22px 18px;row-gap:22px}
  .home .solution-tete > .lien-route{padding-bottom:0;border-bottom:0}
  .home .solution-etapes{margin-inline:0;padding:4px 0 14px;scroll-padding-inline:0;gap:40px}
  .home .solution-etapes > .solution-etape{flex:0 0 100%;min-width:0;padding-left:0;scroll-snap-align:center;text-align:center}
  .home .solution-etapes .solution-num{position:relative;z-index:1;margin-inline:auto}
  .home .solution-etapes .solution-etape h4{margin-top:14px}
  .home .solution-etapes .solution-etape::after{content:"";position:absolute;top:23px;bottom:auto;left:-20px;right:-20px;border-left:0;
    border-top:2px dashed rgba(167,194,188,.55)}

  /* Mes services (accueil) : les trois billets au doigt, centrés, le Baroudeur au milieu d'entrée */
  .home .billets-voyage{max-width:none;gap:14px;margin-inline:-20px;padding:14px 9% 30px;scroll-padding-inline:0}
  .home .billets-voyage > .billet{flex:0 0 82%;min-width:0;width:auto;margin:0;scroll-snap-align:center}
  .home .billets-voyage > .billet:nth-child(1){transform:rotate(-1.2deg)}
  .home .billets-voyage > .billet:nth-child(2){transform:rotate(.8deg)}
  .home .billets-voyage > .billet:nth-child(3){transform:rotate(-.8deg)}

  /* Pourquoi me faire confiance */
  .home .confiance .tete-centre{margin-bottom:24px}

  /* ---- À propos ---- */
  /* Mes valeurs : chaque valeur devient une carte au cadre pointillé (les filets qui les séparaient) ;
     pictogramme et titre côte à côte, devise et texte en dessous */
  .page-id-84 .valeurs-cap-grille{row-gap:34px}
  .page-id-84 .valeurs-liste{border-top:0}
  .page-id-84 .valeurs-liste > .valeur-cap{grid-template-columns:52px minmax(0,1fr);gap:0 16px;align-content:start;
    padding:24px 22px 26px;border:1.5px dashed var(--trait);border-radius:var(--rayon);background:rgba(251,247,241,.6)}
  .page-id-84 .valeurs-liste > .valeur-cap > div{display:contents}
  .page-id-84 .valeurs-liste > .valeur-cap::before{grid-row:1;grid-column:1}
  .page-id-84 .valeurs-liste > .valeur-cap::after{left:36px;top:38px}
  .page-id-84 .valeurs-liste .valeur-cap h3{grid-row:1;grid-column:2;align-self:center}
  .page-id-84 .valeurs-liste .valeur-cap h3 ~ p{grid-column:1 / -1}
  .page-id-84 .valeurs-liste .valeur-cap .valeur-devise{margin-top:18px}

  /* Mon approche : la route redevient horizontale ; les pastilles sont posées dessus, au-dessus de chaque carte */
  .page-id-84 #mon-approche .tete-duo{margin-bottom:22px}
  .page-id-84 .principes{max-width:none;padding-top:92px;
    background:repeating-linear-gradient(90deg,rgba(167,194,188,.6) 0 8px,transparent 8px 15px) 0 41px / 100% 2px no-repeat local}
  .page-id-84 .principes .valeur:nth-child(n){margin:0;padding:24px 22px 26px}
  .page-id-84 .principes .valeur:nth-child(n)::before{top:-80px;left:calc(50% - 28px);width:56px;height:56px}
  .page-id-84 .principes .valeur:nth-child(n)::after{top:-66px;left:calc(50% - 14px);width:28px;height:28px}
  .page-id-84 .principes .valeur:nth-child(n) h3::before{content:none}
  .page-id-84 .principes-cta{margin-top:30px}

  /* Mes terrains de jeu : une destination par écran, carte postale au-dessus du récit
     (l'Asie réunit Angkor et Mỹ Sơn, deux cartes qui se chevauchent) */
  .page-id-84 .carnet-voyages{display:grid;grid-template-columns:none;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:100%;
    gap:28px 40px;align-items:start;max-width:none;margin:0;padding:22px 0 8px;scroll-padding-inline:0}
  .page-id-84 .carnet-voyages > .photo-carnet{align-self:center;justify-self:center;width:min(210px,60%)}
  .page-id-84 .carnet-voyages > .pc-1{grid-area:1 / 1}
  .page-id-84 .carnet-voyages > .pc-2{grid-area:1 / 2}
  .page-id-84 .carnet-voyages > .pc-3{grid-area:1 / 3;z-index:1;justify-self:start;width:52%;margin-left:3%}
  .page-id-84 .carnet-voyages > .pc-5{grid-area:1 / 3;justify-self:end;width:50%;margin:34px 3% 0 0}
  .page-id-84 .carnet-voyages > .pc-4{grid-area:1 / 4}
  .page-id-84 .carnet-voyages > article:nth-of-type(1){grid-area:2 / 1}
  .page-id-84 .carnet-voyages > article:nth-of-type(2){grid-area:2 / 2}
  .page-id-84 .carnet-voyages > article:nth-of-type(3){grid-area:2 / 3}
  .page-id-84 .carnet-voyages > article:nth-of-type(4){grid-area:2 / 4}
  .page-id-84 .carnet-voyages > article{scroll-snap-align:center}

  /* ---- Mes services ---- */
  /* Comment ça marche : les six gares sur une seule route horizontale, une à la fois */
  .page-id-85 #comment-ca-marche .tete-centre{margin-bottom:36px}
  .page-id-85 #comment-ca-marche .centre{margin-top:24px}
  .page-id-85 .parcours-ligne{gap:40px;padding:8px 0 4px;
    background:repeating-linear-gradient(90deg,var(--terre) 0 8px,transparent 8px 15px) 0 45px / 100% 2px no-repeat local}
  .page-id-85 .parcours-ligne > .parcours{display:contents}
  .page-id-85 .parcours-ligne > .parcours::before,.page-id-85 .parcours-ligne > .parcours::after{display:none}
  .page-id-85 .parcours-ligne .station{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;align-items:center;padding-bottom:0;
    text-align:center;scroll-snap-align:center}
  .page-id-85 .parcours-ligne .station::after{left:calc(50% - 15px)}
  .page-id-85 .parcours-ligne .station .station-num{left:calc(50% + 14px)}
  .page-id-85 .parcours-ligne .station > .station-num + h3{margin-top:20px}

  /* Les formules : comme les billets de l'accueil — au doigt, centrées, le Baroudeur d'entrée */
  .page-id-85 .billets{max-width:none;margin-inline:-20px;gap:14px;padding:14px 9% 30px;scroll-padding-inline:0}
  .page-id-85 .billets > .billet{flex:0 0 82%;min-width:0;scroll-snap-align:center}
  .page-id-85 .formules-mention{margin-top:20px}

  /* L'expertise Cap Itinérance */
  .page-id-85 .expertises > .expertise{padding:26px 22px 28px}

  /* ---- Destinations ---- */
  /* Trouver son voyage : deux pictogrammes par écran */
  .page-id-86 .envies-liste{gap:0;padding:6px 0 8px;scroll-padding-inline:0}
  .page-id-86 .envies-liste > *{flex:0 0 50%;min-width:0}
  .page-id-86 .envies-liste > :nth-child(odd){scroll-snap-align:start}

  /* Itinéraires signature : plus de lien vers les formules sur mobile */
  .page-id-86 .experiences .wrap > .experiences-formules{display:none}

  /* En repérage : un carnet par écran */
  .page-id-86 .reperages{gap:40px;padding:4px 0 6px}
  .page-id-86 .reperages > .reperage{flex:0 0 100%;min-width:0;scroll-snap-align:center}
  .page-id-86 .reperages .reperage-visuel{aspect-ratio:4/3.9}
}

/* ==========================================================================
   Mobile (≤ 700 px), 3e lot — octobre 2026. Ordinateur et tablette inchangés.
   ========================================================================== */
@media (max-width:700px){
  /* Heros : même format sur toutes les pages — le titre commence à la même distance sous le menu
     (contenu calé en haut au lieu d'être centré), espaces entre les blocs de texte resserrés, hauteur
     réduite (520 px au lieu de 625, un peu plus quand le texte est plus long) ; la légende du lieu reste
     en bas, toujours au moins 36 px sous le texte, qu'elle tienne sur une ou deux lignes */
  .hero,.bandeau,.bandeau-simple{min-height:520px;padding:106px 0 0;justify-content:flex-start}
  .hero .hero-contenu,.bandeau .hero-contenu{margin-bottom:36px}
  .hero .hero-bas,.bandeau .hero-bas{position:static;margin-top:auto}
  .hero .titre-page strong,.bandeau .titre-page strong{margin-bottom:18px}
  .hero .chapeau-hero,.bandeau .chapeau-hero{margin-top:20px}
  .hero .hero-actions{margin-top:26px}

  /* Accueil, Mes destinations : la carte grandit avec son texte, qui ne passe plus jamais sous
     l'étiquette (« 1 an de vie sur place » cachait « Nouvelle-Zélande » sur les écrans de 360-375 px) */
  .home .mosaique-phares{grid-auto-rows:auto}
  .home .mosaique-phares .region{min-height:240px;padding-top:66px}

  /* À propos, Mes terrains de jeu : Asie du Sud-Est avec la seule carte postale de Mỹ Sơn */
  .page-id-84 .carnet-voyages > .pc-3{display:none}
  .page-id-84 .carnet-voyages > .pc-5{justify-self:center;width:min(210px,60%);margin:0}

  /* Destinations, Quel voyage vous ressemble : défilement lent et continu (script), sans arrêts */
  .page-id-86 .envies-liste{scroll-snap-type:none}
}
/* copies des pictogrammes servant à la boucle du défilement continu : jamais affichées au-delà du mobile */
@media (min-width:701px){
  .envies-liste > [data-copie]{display:none}
}

/* ==========================================================================
   Mes services, « Comment ça marche » sur ordinateur et tablette (octobre 2026) : les six gares sur une
   seule route qui défile lentement et sans arrêt, comme « Quel voyage vous ressemble ? » (Destinations,
   mobile). Trois étapes visibles sur ordinateur, deux sur tablette ; la route en pointillés traverse toute
   la rangée ; le script la prolonge par une copie des étapes pour boucler sans à-coup. Section resserrée
   autour de la rangée. Mobile (≤ 700 px) inchangé. Seuil à 700,02 px et non 701 px : aucun trou entre
   700 et 701 px (largeurs fractionnaires avec le zoom du navigateur).
   ========================================================================== */
@media (min-width:700.02px){
  .page-id-85 #comment-ca-marche{--forme-haut:clamp(56px,4.6vw,88px);--forme-air:clamp(24px,2vw,40px)}
  .page-id-85 #comment-ca-marche .tete-centre{margin-bottom:clamp(32px,2.6vw,48px)}
  .page-id-85 #comment-ca-marche .centre{margin-top:clamp(26px,2.2vw,36px)}
  .page-id-85 .parcours-ligne{position:relative;display:flex;gap:40px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;
    scrollbar-width:none;padding:8px 0 4px;
    background:repeating-linear-gradient(90deg,var(--terre) 0 8px,transparent 8px 15px) 0 59px / 100% 2px no-repeat local}
  .page-id-85 .parcours-ligne::-webkit-scrollbar{display:none}
  .page-id-85 .parcours-ligne > .parcours{display:contents}
  .page-id-85 .parcours-ligne > .parcours::before,.page-id-85 .parcours-ligne > .parcours::after{display:none}
  .page-id-85 .parcours-ligne .station{flex:0 0 calc((100% - 80px) / 3);min-width:0;padding-bottom:0;scroll-snap-align:none}
  .page-id-85 .parcours-ligne .station > p:not(.station-num){margin-bottom:6px}
}
/* tablette : deux étapes visibles, gares centrées au-dessus de leur texte (au lieu de la liste verticale) */
@media (min-width:700.02px) and (max-width:1140px){
  .page-id-85 .parcours-ligne .station{flex-basis:calc((100% - 40px) / 2);display:flex;flex-direction:column;align-items:center;text-align:center}
  .page-id-85 .parcours-ligne .station::after{left:calc(50% - 19px)}
  .page-id-85 .parcours-ligne .station .station-num{left:calc(50% + 22px)}
  .page-id-85 .parcours-ligne .station > .station-num + h3{margin-top:26px}
}

/* ==========================================================================
   Retouches de contenu (novembre 2026)
   ========================================================================== */
/* Accueil : la section « Mes services » est retirée ; Mes destinations garde sa forme creuse vers
   « Pourquoi me faire confiance ? » (sans cette règle, elle prendrait la forme suivante dans l'ordre par défaut) */
.home .wp-block-post-content > section.destinations::after{-webkit-mask-image:url(assets/img/transitions/forme-creux.svg);mask-image:url(assets/img/transitions/forme-creux.svg)}

/* Accueil, « Vous vous reconnaissez ? » sur le fond vert de la charte (classe foret) : titres et textes clairs,
   cartes des obstacles sur papier, encadré « Ma solution » en vert nuit pour rester distinct de la section */
.home .casse-tete.foret{overflow:clip}  /* le titre de gauche reste fixe au défilement (overflow:hidden l'en empêchait) */
.home .casse-tete .pour-qui{color:var(--lin);border-top-color:rgba(167,194,188,.35)}
.home .casse-tete .obstacle{box-shadow:0 22px 40px -24px rgba(0,0,0,.45)}
.home .casse-tete .solution{background:var(--foret-nuit);box-shadow:inset 0 0 0 1.5px rgba(167,194,188,.22)}

/* Accueil, « Vous vous reconnaissez ? » : lien « Voir comment ça marche » plus visible (texte et flèche agrandis) */
.home .solution-tete > .lien-route{gap:12px;font-size:clamp(18px,1.2vw,20px)}
.home .solution-tete > .lien-route::after{width:24px;height:14px}

/* Accueil, « Pourquoi me faire confiance ? » : bouton terracotta vers les formules, sous les engagements */
.home .confiance-appel{margin-top:clamp(40px,3.6vw,60px)}

/* Mes services, Mes formules : billets plus aérés (sans tarif ni lien en bas) */
.page-id-85 .billet-accroche{margin-top:10px}
.page-id-85 .billet-corps{padding-top:34px;padding-bottom:38px}
.page-id-85 .billet-ligne{margin-bottom:26px;padding-bottom:20px}
.page-id-85 .billet-rubrique{margin-bottom:18px}
.page-id-85 .billet ul{gap:16px;margin-bottom:0}
.page-id-85 .billet li{line-height:1.55}

/* Mes services, Mes formules : phrase et bouton sous les billets (à la place de la mention des tarifs) */
.formules-appel{margin-top:clamp(44px,4vw,64px);text-align:center}
.formules-appel > p{max-width:780px;margin:0 auto;font:400 clamp(22px,1.7vw,28px)/1.35 var(--titre);color:var(--lin);text-wrap:balance}
.formules-appel > .wp-block-buttons{margin-top:26px}

@media (max-width:700px){
  .home .solution-tete > .lien-route{font-size:18px}
  .home .confiance-appel{margin-top:8px}
  .formules-appel{margin-top:16px}
  .formules-appel > p{font-size:20px}
}

/* ==========================================================================
   Destinations (novembre 2026) : « Mes destinations phares », focus « Mon expérience ».
   Chaque timbre porte un repère « Mon expérience » (.timbre-repere, lien vers sa page) et sa page
   (.timbre-focus > .focus-contenu : timbre miniature, tampon, surtitre, titre, texte, « Voir aussi »,
   photos), toutes dans le contenu de la page.
   Ordinateur (≥ 1141 px) : au survol, le timbre se retourne en grandissant jusqu'à couvrir les trois
   timbres ; le dos est une carte postale (texte à gauche ; timbre, tampon et photos à droite). app.js
   mesure le passage du timbre à la carte (--xl-*, classe xl-pret), pose a-focus sur la grille et
   est-focus sur le timbre ouvert (en-retour le temps qu'il se referme).
   Tablette et mobile : un toucher déroule la page sous le timbre.
   Sans script : les pages restent visibles sous chaque timbre.
   ========================================================================== */

/* Contenu de la page */
.timbre-focus .focus-surtitre{display:flex;align-items:center;gap:10px;margin:0;font:400 12px/1.3 var(--capitales);letter-spacing:.18em;text-transform:uppercase;color:var(--terre-texte)}
.timbre-focus .focus-surtitre::before{content:"";width:22px;flex:none;border-top:2px dashed var(--terre)}
.timbre-focus .focus-titre{margin:8px 0 0;font:400 clamp(24px,1.55vw,30px)/1.12 var(--titre);color:var(--foret)}
.timbre-focus .focus-texte{margin:12px 0 0;font-size:15.5px;line-height:1.55;color:var(--gris)}
.timbre-focus .focus-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0}
.timbre-focus .focus-photos figure{--p:-3deg;margin:0;padding:5px 5px 14px;background:#fff;box-shadow:0 10px 18px -10px rgba(17,45,36,.5);transform:rotate(var(--p))}
.timbre-focus .focus-photos figure:nth-child(2){--p:2.4deg}
.timbre-focus .focus-photos figure:nth-child(3){--p:-1.4deg}
.timbre-focus .focus-photos img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.timbre-focus :is(.focus-tampon,.focus-timbre,.focus-autres){display:none}

/* Repère « Mon expérience » sur la photo du timbre */
.timbres-phares .timbre-papier{position:relative}
.timbres-phares .timbre-papier > .timbre-repere{position:absolute;top:26px;right:26px;z-index:2;display:flex;margin:0;transition:opacity .3s, transform .3s}
.timbre-repere a{display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 7px;border-radius:99px;background:rgba(251,247,241,.95);
  box-shadow:0 8px 18px -10px rgba(17,45,36,.7);font:400 11.5px/1 var(--capitales);letter-spacing:.14em;text-transform:uppercase;color:var(--foret);text-decoration:none}
.timbre-repere a::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;
  background:linear-gradient(#fff 0 0) center/9px 2px no-repeat, linear-gradient(#fff 0 0) center/2px 9px no-repeat, var(--terre-bouton);transition:transform .35s}
.timbre-repere a:focus-visible{outline:2px dashed var(--terre);outline-offset:3px}

@media (min-width:1141px){
  .timbres-phares{position:relative}
  .timbres-phares .timbre-pays{position:relative;cursor:pointer;transition:transform .5s cubic-bezier(.3,.7,.2,1), opacity .4s, filter .4s}
  .timbres-phares .timbre-pays:is(.est-focus,.en-retour){z-index:3}
  .timbres-phares.a-focus .timbre-pays.est-focus{transform:none}
  .timbres-phares.a-focus .timbre-pays:not(.est-focus){opacity:.5;filter:drop-shadow(0 14px 16px rgba(17,45,36,.1)) saturate(.55)}
  .timbres-phares .est-focus .timbre-repere{opacity:0;transform:scale(.9)}
  /* la carte : hors du flux et invisible tant que le script ne l'a pas mesurée */
  .timbres-phares .timbre-focus{position:absolute;inset:0;margin:0;visibility:hidden}
  .timbres-phares.xl-pret :is(.timbre-papier,.timbre-focus){-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50%;
    transition:transform .9s cubic-bezier(.3,.7,.2,1)}
  .timbres-phares.xl-pret .timbre-papier{transform:perspective(2600px) translate(0px,0px) scale(1,1) rotateY(0deg)}
  .timbres-phares.xl-pret .est-focus .timbre-papier{transform:perspective(2600px) translate(var(--xl-mdx),var(--xl-mdy)) scale(var(--xl-isx),var(--xl-isy)) rotateY(-180deg)}
  .timbres-phares.xl-pret .timbre-focus{left:var(--xl-left);top:var(--xl-top);right:auto;bottom:auto;width:var(--xl-w);height:var(--xl-h);visibility:visible;
    padding:clamp(30px,2.4vw,46px) clamp(34px,2.8vw,54px);background:#fff;
    transform:perspective(2600px) translate(var(--xl-dx),var(--xl-dy)) scale(var(--xl-sx),var(--xl-sy)) rotateY(180deg);
    -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 10px) calc(100% - 10px) no-repeat, radial-gradient(circle 4px,#0000 97%,#000) -5px -5px/10px 10px round;
            mask:linear-gradient(#000 0 0) center/calc(100% - 10px) calc(100% - 10px) no-repeat, radial-gradient(circle 4px,#0000 97%,#000) -5px -5px/10px 10px round}
  .timbres-phares.xl-pret .est-focus .timbre-focus{transform:perspective(2600px) translate(0px,0px) scale(1,1) rotateY(0deg)}
  .timbres-phares.xl-pret .timbre-focus::after{content:"";position:absolute;inset:16px;border:1.5px dashed rgba(31,77,61,.16);pointer-events:none}
  .timbres-phares.xl-pret .focus-contenu{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;
    column-gap:clamp(32px,3vw,58px);height:100%;opacity:0;transition:opacity .15s}
  .timbres-phares.xl-pret .est-focus .focus-contenu{opacity:1;transition:opacity .4s .5s}
  .timbres-phares.xl-pret .focus-contenu > :is(.focus-surtitre,.focus-titre,.focus-texte,.focus-autres){grid-column:1}
  .timbres-phares.xl-pret .focus-titre{margin-top:12px;font-size:clamp(30px,2.3vw,44px)}
  .timbres-phares.xl-pret .focus-texte{margin-top:18px;font-size:var(--t-texte);line-height:1.62}
  /* côté droit de la carte : trait de séparation, timbre miniature et tampon en haut, photos en bas */
  .timbres-phares.xl-pret .focus-photos{grid-column:2;grid-row:1 / -1;align-content:end;gap:clamp(12px,1vw,18px);margin:0;
    padding-left:clamp(28px,2.6vw,50px);border-left:1.5px dashed rgba(31,77,61,.22)}
  .timbres-phares.xl-pret .focus-photos img{aspect-ratio:4/5}
  .timbres-phares.xl-pret .focus-timbre{position:absolute;top:0;right:0;display:block;width:clamp(80px,6vw,108px);margin:0;padding:6px 6px 8px;
    background:#fff;box-shadow:inset 0 0 0 1px rgba(31,77,61,.12);transform:rotate(4deg);
    -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 6px) calc(100% - 6px) no-repeat, radial-gradient(circle 2.5px,#0000 97%,#000) -3px -3px/6px 6px round;
            mask:linear-gradient(#000 0 0) center/calc(100% - 6px) calc(100% - 6px) no-repeat, radial-gradient(circle 2.5px,#0000 97%,#000) -3px -3px/6px 6px round}
  .timbres-phares.xl-pret .focus-timbre img{display:block;width:100%;height:auto;aspect-ratio:4/4.6;object-fit:cover}
  .timbres-phares.xl-pret .focus-tampon{position:absolute;z-index:1;top:22px;right:calc(clamp(80px,6vw,108px) - 12px);display:grid;place-content:center;
    width:104px;height:104px;margin:0;padding:0 8px;border:2px dashed rgba(200,100,69,.8);border-radius:50%;text-align:center;transform:rotate(-12deg);
    font:400 9px/1.3 var(--capitales);letter-spacing:.05em;text-transform:uppercase;color:var(--terre-texte)}
  .timbres-phares.xl-pret .focus-tampon strong{display:block;font-size:17px;font-weight:400;letter-spacing:.06em}
  .timbres-phares.xl-pret .focus-autres{display:flex;flex-wrap:wrap;align-items:center;align-self:end;gap:8px 12px;margin:0;
    font:400 11.5px/1.3 var(--capitales);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
  .timbres-phares.xl-pret .focus-autres a{padding:8px 14px;border:1.5px solid rgba(31,77,61,.25);border-radius:var(--rayon);
    color:var(--foret);text-decoration:none;transition:border-color .25s, color .25s}
  .timbres-phares.xl-pret .focus-autres a:hover{border-color:var(--terre);color:var(--terre-texte)}
  .timbres-phares.xl-pret .focus-photos figure{opacity:0;transform:translateY(14px) rotate(var(--p));transition:opacity .2s, transform .2s}
  .timbres-phares.xl-pret .est-focus .focus-photos figure{opacity:1;transform:rotate(var(--p));transition:opacity .45s var(--d,.6s), transform .6s var(--d,.6s)}
  .timbres-phares.xl-pret .focus-photos figure:nth-child(2){--d:.7s}
  .timbres-phares.xl-pret .focus-photos figure:nth-child(3){--d:.8s}
}

/* Tablette et mobile : la page se déroule sous le timbre */
@media (max-width:1140px){
  .timbres-phares .timbre-focus{display:grid;grid-template-rows:0fr;margin:-2px 8px 0;background:#fff;box-shadow:0 18px 30px -24px rgba(17,45,36,.5);
    transition:grid-template-rows .5s cubic-bezier(.3,.7,.2,1)}
  .timbres-phares .est-focus .timbre-focus{grid-template-rows:1fr}
  .timbres-phares .focus-contenu{min-height:0;overflow:hidden;padding:0 18px;border-top:2px dashed rgba(200,100,69,.45)}
  .timbres-phares .focus-contenu > .focus-surtitre{margin-top:20px}
  .timbres-phares .focus-contenu > .focus-photos{margin-bottom:22px}
  .timbres-phares .focus-titre{font-size:24px}
  .timbres-phares .focus-texte{font-size:15px}
  .timbres-phares .focus-photos{gap:10px}
  .timbres-phares .est-focus .timbre-repere a::before{transform:rotate(45deg)}
}
@media (max-width:700px){
  /* carte couchée : « Mon expérience » au pied de la colonne de texte */
  .timbres-phares .timbre-papier figure{grid-row:1 / 5}
  .timbres-phares .timbre-papier > .timbre-repere{position:static;grid-column:2;align-self:end;justify-self:start;margin-top:6px}
  .timbre-repere a{padding:0;background:none;box-shadow:none;font-size:11px;letter-spacing:.12em;color:var(--terre-texte)}
  .timbre-repere a::before{width:22px;height:22px}
}

/* Sans script : les pages restent lisibles sous chaque timbre */
@media (scripting:none){
  .timbres-phares .timbre-focus{position:static;display:block;visibility:visible;margin:-6px 8px 0;background:#fff}
  .timbres-phares .focus-contenu{padding:20px 18px 22px;border-top:2px dashed rgba(200,100,69,.45)}
  .timbres-phares .timbre-papier > .timbre-repere{display:none}
}

@media (prefers-reduced-motion:reduce){
  .timbres-phares :is(.timbre-pays,.timbre-papier,.timbre-focus,.focus-contenu,.focus-photos figure){transition-duration:.01s !important;transition-delay:0s !important}
}
