/* ---------- Polices hébergées sur le site (25/10/2026) : plus rapide que Google Fonts ---------- */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2");}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-latin-italic.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");}
/* ===== Trott'Odyssée — refonte épurée / vert & laiton ===== */

:root{
  /* -- vert profond, identité nature + sérieux -- */
  --forest: #12332A;
  --forest-dark: #0A211B;
  /* -- sauge raffiné, accent secondaire -- */
  --sage: #7C9884;
  --sage-light: #EEF3EF;
  /* -- papier -- */
  --cream: #FAF6EE;
  --paper: #FFFFFF;
  /* -- laiton, seule touche métallique, utilisée avec parcimonie -- */
  --amber: #A9834C;
  --amber-dark: #8C6B39;
  --gold: #E4C989;
  /* -- texte -- */
  --ink: #1B2420;
  --ink-soft: #57635C;
  --line: #E4DFD2;
  --radius: 14px;
  --shadow: 0 10px 26px rgba(10,25,20,.08);
  --shadow-lg: 0 26px 54px rgba(10,25,20,.16);

  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--forest-dark);
  line-height:1.14;
  margin:0 0 .5em;
  font-weight:600;
  letter-spacing:-0.01em;
  text-wrap:balance;
}
p{margin:0 0 1em;color:var(--ink-soft);max-width:60ch;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:100px 0;position:relative;}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-body);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber-dark);
  margin-bottom:16px;
}
.eyebrow::before{
  content:"";width:26px;height:1px;background:var(--amber);
  display:inline-block;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 30px;
  border-radius:8px;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:.02em;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-primary{background:var(--forest);color:#fff;}
.btn-primary:hover{background:var(--forest-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.btn-outline{border-color:var(--forest);color:var(--forest);}
.btn-outline:hover{background:var(--forest);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow);}

/* ---------- Header ---------- */
/* Aucune plaque/bande derrière le header : totalement transparent tant qu'on
   est sur le hero, le texte flotte directement sur la photo (juste une ombre
   portée sur les lettres pour la lisibilité). Redevient un bandeau plein,
   discret, une fois qu'on a scrollé au-delà du hero, pour rester lisible
   sur fond clair. */
header.site{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:transparent;
  transition:box-shadow .35s ease, background .35s ease, backdrop-filter .35s ease;
}
/* Le header est maintenant "fixed" (il ne réserve plus sa place dans le
   flux) : la section hero / page-hero qui suit démarre donc tout en haut
   de l'écran, derrière lui — c'est ce qui permet au bandeau de se fondre
   sur la photo au lieu de la pousser vers le bas. */
header.site.is-scrolled{
  background:rgba(250,246,238,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 8px 24px rgba(10,25,20,.07);
}
.nav{
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:28px;
  padding:20px 24px;max-width:1180px;margin:0 auto;
  position:relative;
}
.logo-real{flex:0 0 auto;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:21px;color:var(--forest-dark);}
.logo-mark{
  width:38px;height:38px;border-radius:8px;
  background:var(--forest);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;
}
.logo-real{display:flex;align-items:center;gap:10px;}
.logo-real a{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-chip{
  display:inline-flex;align-items:center;gap:10px;
  background:none;
  padding:0;border-radius:0;
}
.logo-chip img{mix-blend-mode:normal;}
.nav-links{display:flex;flex-wrap:nowrap;align-items:center;gap:24px;list-style:none;margin:0 0 0 auto;padding:0;flex:0 1 auto;min-width:0;}
.nav-links li{flex:0 0 auto;display:flex;align-items:center;}
.nav-links a{
  position:relative;font-weight:500;font-size:14px;letter-spacing:.01em;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5), 0 2px 10px rgba(0,0,0,.35);
  padding:8px 0;transition:color .3s ease;
  white-space:nowrap;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;
  background:var(--gold);transition:right .3s cubic-bezier(.2,.7,.3,1);
}
.nav-links a:hover::after, .nav-links a.active::after{right:0;}
.nav-links a:hover, .nav-links a.active{color:#fff;}
header.site.is-scrolled .nav-links a{color:var(--ink);text-shadow:none;}
header.site.is-scrolled .nav-links a::after{background:var(--amber);}
header.site.is-scrolled .nav-links a:hover, header.site.is-scrolled .nav-links a.active{color:var(--forest);}
.nav-cta{display:flex;align-items:center;gap:18px;flex:0 0 auto;}
.nav-cta .btn{padding:11px 20px;font-size:13.5px;white-space:nowrap;}
header.site:not(.is-scrolled) .nav-cta .btn-outline{
  border-color:rgba(255,255,255,.7);color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.4);
  box-shadow:0 1px 8px rgba(0,0,0,.15);
}
header.site:not(.is-scrolled) .nav-cta .btn-outline:hover{
  background:var(--forest);color:#fff;border-color:var(--forest);text-shadow:none;
}
@media(max-width:860px){.nav-links{display:none;}}

/* ---------- Sous-menu déroulant (nav) ---------- */
.has-dropdown{position:relative;}
.has-dropdown > a{display:flex;align-items:center;gap:5px;}
.has-dropdown > a::before{
  content:"";order:2;width:7px;height:7px;flex:0 0 auto;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .25s ease;
}
.has-dropdown:hover > a::before{transform:rotate(225deg) translateY(1px);}
.dropdown-menu{
  position:absolute;top:100%;left:50%;
  padding-top:16px;
  transform:translateX(-50%);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.has-dropdown:hover .dropdown-menu{
  opacity:1;visibility:visible;pointer-events:auto;
}
.dropdown-menu-inner{
  background:var(--cream);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:10px;
  min-width:216px;
  transform:translateY(6px);
  transition:transform .22s cubic-bezier(.2,.7,.3,1);
}
.has-dropdown:hover .dropdown-menu-inner{transform:translateY(0);}
.dropdown-menu a{
  display:block;
  padding:11px 14px;
  border-radius:9px;
  font-size:14px;font-weight:500;
  color:var(--ink) !important;
  text-shadow:none !important;
  white-space:nowrap;
  transition:background .2s ease, color .2s ease;
}
.dropdown-menu a::after{display:none !important;}
.dropdown-menu a:hover{background:var(--sage-light);color:var(--forest) !important;}

/* ---------- Lueur douce (sections sombres) ---------- */
/* Remplace l'ancienne texture topographique (cercles concentriques) par une
   lueur radiale unique, tres subtile, sans motif repete : plus sobre et actuel. */
.hero, .page-hero, .stats, .cta-banner, footer.site{
  background-color:var(--forest);
}
.hero::after, .page-hero::before, .page-hero.img-hero::after, .stats::before, .cta-banner::before, footer.site::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(ellipse 900px 560px at 100% -12%, rgba(255,255,255,.08), transparent 62%),
    radial-gradient(ellipse 700px 480px at -8% 108%, rgba(228,201,137,.06), transparent 60%);
}
.hero::after{z-index:1;}
.page-hero::before{z-index:0;}
.page-hero.img-hero::after{z-index:2;}
.stats::before, .cta-banner::before, footer.site::before{z-index:0;}
.stats, .cta-banner{overflow:hidden;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  /* plein écran : 100vh + 64px pour masquer complètement le bandeau I/II/III
     (qui remonte de 64px sur le hero) ; 100svh = hauteur réelle sur mobile */
  min-height:calc(100vh + 64px);
  min-height:calc(100svh + 64px);
  padding-bottom:64px;
  box-sizing:border-box;
  display:flex;align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(125deg, rgba(10,33,27,.92) 14%, rgba(10,33,27,.62) 55%, rgba(10,33,27,.34) 100%);
}
.hero-bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;transform:scale(1.02);animation:heroZoom 40s ease-in-out infinite alternate;will-change:transform;}
@keyframes heroZoom{from{transform:scale(1.0);}to{transform:scale(1.07);}}
@media (prefers-reduced-motion: reduce){.hero-bg{animation:none;transform:none;}}
.hero-content{position:relative;z-index:3;max-width:660px;padding:110px 24px;}
.hero .eyebrow{color:var(--gold);}
.hero .eyebrow::before{background:var(--gold);}
.hero h1{color:#fff;font-size:clamp(38px,5.4vw,62px);margin-bottom:22px;overflow:hidden;}
.hero p.lead{color:rgba(255,255,255,.86);font-size:18px;max-width:520px;}
.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}

/* ---------- Entrée choreographiée du hero (au chargement) ---------- */
.hero .word-reveal{
  display:inline-block;opacity:0;transform:translateY(115%);
  transition:opacity .7s ease, transform .7s cubic-bezier(.16,.8,.24,1);
}
.hero h1.is-ready .word-reveal{opacity:1;transform:translateY(0);}
.hero-intro{opacity:0;transform:translateY(14px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);}
.hero-intro.is-ready{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .hero .word-reveal{opacity:1;transform:none;transition:none;}
  .hero-intro{opacity:1;transform:none;transition:none;}
}
.hero-pillars{
  position:relative;z-index:2;
  display:flex;gap:0;
  border-top:1px solid rgba(255,255,255,.25);
  margin-top:60px;
}

/* ---------- Pillars strip ---------- */
.pillars{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg);margin-top:-64px;position:relative;z-index:5;
}
.pillar-card{
  background:var(--paper);padding:40px 32px;
  display:flex;gap:22px;align-items:stretch;
  transition:background .3s ease;
}
.pillar-card:hover{background:var(--sage-light);}
.pillar-card .num{
  font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--amber);font-size:34px;line-height:1;flex:0 0 auto;
  padding-right:20px;border-right:1px solid var(--line);
  align-self:flex-start;
}
.pillar-card > div{
  display:flex;flex-direction:column;flex:1 1 auto;
}
.pillar-card .tag{
  display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;
}
.pillar-card h3{margin:0 0 8px;font-size:21px;}
.pillar-card p{font-size:14.5px;margin-bottom:14px;}
.pillar-card a.link{
  font-weight:600;color:var(--forest);font-size:13.5px;
  display:inline-flex;align-items:center;gap:6px;
  border-bottom:1px solid transparent;padding-bottom:2px;
  transition:border-color .25s ease;
  margin-top:auto;align-self:flex-start;
}
.pillar-card a.link span{transition:transform .3s cubic-bezier(.2,.7,.3,1);display:inline-block;}
.pillar-card a.link:hover{border-color:var(--forest);}
.pillar-card:hover a.link span{transform:translateX(4px);}

/* ---------- Section headers ---------- */
.section-head{max-width:640px;margin-bottom:52px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ---------- Activities grid ---------- */
.cat-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.cat-tabs span{
  padding:8px 18px;border-radius:100px;background:var(--paper);
  border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-soft);
}
.cat-tabs a{
  padding:8px 18px;border-radius:100px;background:var(--paper);
  border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-soft);
  transition:border-color .2s ease, color .2s ease, transform .2s ease;
}
.cat-tabs a:hover{border-color:var(--univers,var(--amber));color:var(--forest-dark);transform:translateY(-1px);}
.cat-tabs a.more{border-style:dashed;border-color:var(--amber);color:var(--forest-dark);background:transparent;}
.cat-tabs a.more:hover{background:var(--paper);}
.grid-activities{columns:4 240px;column-gap:20px;}
@media(max-width:960px){.grid-activities{columns:2 220px;}}
.activity-card{
  position:relative;
  background:var(--paper);border-radius:10px;overflow:hidden;
  border:1px solid var(--line);transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease;
  break-inside:avoid;margin-bottom:20px;display:block;
}
.activity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.activity-card .img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sage-light);}
.grid-activities .activity-card:nth-child(3n+2) .img{aspect-ratio:3/4;}
.grid-activities .activity-card:nth-child(5n+4) .img{aspect-ratio:1/1;}
.catalog-grid{display:grid;columns:initial;grid-template-columns:repeat(4,1fr);gap:8px;}
@media(max-width:960px){.catalog-grid{grid-template-columns:repeat(2,1fr);}}
.catalog-grid .activity-card{break-inside:auto;margin-bottom:0;}
.catalog-grid .activity-card .img,
.catalog-grid .activity-card:nth-child(3n+2) .img,
.catalog-grid .activity-card:nth-child(5n+4) .img{aspect-ratio:3/4;}
.activity-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.activity-card:hover .img img{transform:scale(1.08);}
.activity-card .img::after{
  content:"";position:absolute;inset:0;
  background:rgba(9,22,18,.3);
  transition:background .35s ease;
}
.activity-card:hover .img::after{background:rgba(9,22,18,.14);}
.activity-card .body{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  padding:18px 16px;text-align:center;
}
.activity-card .body h4{
  font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:.03em;
  text-transform:uppercase;margin:0;color:#fff;line-height:1.35;
  text-shadow:0 2px 8px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.5);
}

/* ---------- Feature split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:stretch;}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:32px;}}
.split img{border-radius:10px;box-shadow:var(--shadow);width:100%;height:100%;object-fit:cover;}

/* ---------- Photo mosaic (activity pages) ---------- */
.photo-mosaic{display:grid;gap:14px;margin-top:8px;}
.photo-mosaic a{display:block;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);}
.photo-mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.photo-mosaic a:hover img{transform:scale(1.05);}
.photo-mosaic.count-2{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr;height:360px;}
.photo-mosaic.count-3{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;height:420px;}
.photo-mosaic.count-3 a.big{grid-row:1 / span 2;}
.photo-mosaic.count-many{grid-template-columns:repeat(3,1fr);}
.photo-mosaic.count-many a{aspect-ratio:4/3;}
.photo-mosaic.count-many:has(a:nth-child(4):last-child){grid-template-columns:repeat(2,1fr);}
@media(max-width:760px){
  .photo-mosaic.count-2,.photo-mosaic.count-3{grid-template-columns:1fr;height:auto;}
  .photo-mosaic.count-3 a.big{grid-row:auto;}
  .photo-mosaic.count-2 a,.photo-mosaic.count-3 a{aspect-ratio:4/3;}
  .photo-mosaic.count-many{grid-template-columns:repeat(2,1fr);}
}

/* ---------- Scroll reveal (sobre) ---------- */
.reveal{
  opacity:0;transform:translateY(18px);
  transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1);
  transition-delay:var(--reveal-delay,0ms);
}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* Galerie photo : chaque image entre depuis son côté (gauche / bas / droite) */
.mosaic-reveal{
  opacity:0;
  transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1);
  transition-delay:var(--reveal-delay,0ms);
}
.mosaic-reveal.from-left{transform:translateX(-48px);}
.mosaic-reveal.from-right{transform:translateX(48px);}
.mosaic-reveal.from-bottom{transform:translateY(32px);}
.mosaic-reveal.is-visible{opacity:1;transform:translate(0,0);}
@media (prefers-reduced-motion: reduce){.mosaic-reveal{opacity:1;transform:none;transition:none;}}


/* trait qui se dessine sous l'eyebrow quand la section apparaît */
.section-head .eyebrow::before{
  transform-origin:left center;transform:scaleX(0);
  transition:transform .6s cubic-bezier(.2,.7,.3,1) .15s;
}
.section-head.is-visible .eyebrow::before{transform:scaleX(1);}

/* ---------- Stats ---------- */
.stats{
  color:#fff;border-radius:var(--radius);
  padding:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;
}
.stats .stat{position:relative;z-index:1;}
.stats .stat b{display:block;font-family:var(--font-display);font-weight:500;font-size:38px;color:#fff;font-variant-numeric:tabular-nums;}
.stats .stat span{color:rgba(255,255,255,.68);font-size:12.5px;letter-spacing:.03em;}

/* ---------- Page hero (sous-pages) ---------- */
.page-hero{
  position:relative;
  background:linear-gradient(125deg, var(--forest-dark) 0%, var(--forest) 100%);
  color:#fff;
  padding:104px 0 24px;
  min-height:395px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.page-hero .container{width:100%;}
.page-hero .topo{z-index:0;}
.page-hero .container{position:relative;z-index:3;}
.page-hero h1{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:8px 0 6px;}
.page-hero .back-pill{margin-bottom:10px;}
.page-hero .breadcrumb{margin-bottom:9px;}
.page-hero .badge{margin-bottom:8px;}
.page-hero p{margin-bottom:0;}

/* ---------- Page hero — variante photo ---------- */
.page-hero.img-hero{background:var(--forest-dark);}
.page-hero .hero-bg-img{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.0);
  animation:heroZoom 40s ease-in-out infinite alternate;
}
@media (prefers-reduced-motion: reduce){.page-hero .hero-bg-img{animation:none;transform:none;}}
/* Une vidéo de fond n'a pas besoin du zoom CSS en plus : elle bouge déjà */
.page-hero video.hero-bg-img{animation:none;background:var(--forest-dark);}

.page-hero.img-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(125deg, rgba(10,33,27,.94) 10%, rgba(10,33,27,.70) 55%, rgba(10,33,27,.40) 100%);
}

.breadcrumb{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:18px;}
.breadcrumb a{color:rgba(255,255,255,.85);}
.breadcrumb a:hover{color:#fff;text-decoration:underline;}

/* Bouton retour vers la page catégorie (AlturismoEvent / Business / Aventure) */
.back-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px 8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:rgba(255,255,255,.92);
  font-size:13.5px;font-weight:600;letter-spacing:.01em;
  text-decoration:none;
  margin-bottom:20px;
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.back-pill svg{flex:none;transition:transform .25s ease;}
.back-pill:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);}
.back-pill:hover svg{transform:translateX(-3px);}
.back-pill:active{transform:scale(.97);}
@media (prefers-reduced-motion: reduce){.back-pill, .back-pill svg{transition:none;}}


.badge{
  display:inline-block;padding:6px 14px;border-radius:100px;
  font-size:12px;font-weight:600;letter-spacing:.03em;
  background:var(--sage-light);color:var(--forest);margin-bottom:14px;
}

/* ---------- Card generique ---------- */
.card{
  background:var(--paper);border:1px solid var(--line);
  border-radius:10px;box-shadow:var(--shadow);
  padding:36px;
}
.card h3{margin-top:0;}

/* ---------- Price box ---------- */
.price-box{
  background:var(--sage-light);border-radius:10px;
  padding:20px 24px;margin-top:20px;
}
.price{font-family:var(--font-display);font-weight:600;font-size:28px;color:var(--forest-dark);}
.price small{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--ink-soft);}

/* ---------- Spec table ---------- */
.spec-table{width:100%;border-collapse:collapse;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table tr:last-child{border-bottom:none;}
.spec-table td{padding:14px 4px;font-size:14.5px;color:var(--ink-soft);}
.spec-table td:first-child{font-weight:600;color:var(--ink);width:45%;}

/* ---------- CTA banner ---------- */
.cta-banner{
  border-radius:var(--radius);color:#fff;
  padding:60px;text-align:center;position:relative;
}
.cta-banner .eyebrow, .cta-banner h2, .cta-banner p, .cta-banner .btn{position:relative;z-index:1;}
.cta-banner h2{color:#fff;margin-bottom:12px;}
.cta-banner p{color:rgba(255,255,255,.8);max-width:520px;margin-left:auto;margin-right:auto;}
.cta-banner .btn-primary{margin-top:16px;background:#fff;color:var(--forest);}
.cta-banner .btn-primary:hover{background:var(--gold);color:var(--forest-dark);}

/* ---------- Logos row (defilement auto) ---------- */
.logos-row{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logos-track{
  display:flex;align-items:center;gap:44px;width:max-content;
  animation:logosScroll 90s linear infinite;
}
.logos-row:hover .logos-track{animation-play-state:paused;}
.logos-track img{
  height:210px;width:auto;object-fit:contain;flex:0 0 auto;mix-blend-mode:multiply;
  border-radius:var(--radius);
  transition:transform .3s ease;
}
.logos-track img:hover{transform:scale(1.06);}
@keyframes logosScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .logos-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;}
}
@media(max-width:760px){.logos-track img{height:150px;}.logos-track{gap:30px;}}

/* Titre "Ils nous ont fait confiance" — un peu plus imposant que les autres titres de section */
.logos-head h2{font-size:clamp(26px,3.2vw,34px);}

/* ---------- Footer ---------- */
footer.site{
  color:rgba(255,255,255,.8);
  padding:64px 0 0;margin-top:40px;position:relative;overflow:hidden;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:48px;position:relative;z-index:1;
}
footer.site h4{color:#fff;font-family:var(--font-body);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;}
footer.site ul{list-style:none;margin:0;padding:0;}
footer.site li{margin-bottom:11px;}
footer.site a{color:rgba(255,255,255,.7);font-size:14px;transition:color .2s;}
footer.site a:hover{color:var(--gold);}
.footer-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  border-top:1px solid rgba(255,255,255,.12);
  padding:22px 24px;font-size:12.5px;color:rgba(255,255,255,.48);
  position:relative;z-index:1;
}
@media(max-width:860px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .page-hero{padding:100px 0 20px;min-height:460px;}
  .pillar-card{flex-direction:column;gap:12px;}
  .pillar-card .num{border-right:none;padding-right:0;}
}

/* =====================================================================
   Animations au défilement — ajouts (17/09/2026)
   Sauvegarde avant modif : _avant-scroll-anims-20260917-0819/
   3 ajouts, pensés pour se combiner avec les reveals existants :
   A) rideau éditorial sur les titres de section (h2)
   B) cascade en profondeur pour les cartes (pillars + activités)
   (la respiration flou->net sur les photos et la barre de progression
   ont été retirées le 17/09 : jugées datées / inutiles)
===================================================================== */

/* ---------- A. Rideau éditorial (titres de section) ---------- */
.section-head h2{
  clip-path:inset(0 0 100% 0);
  transform:translateY(8%);
  transition:clip-path .9s cubic-bezier(.22,.68,.14,1) .1s, transform .9s cubic-bezier(.22,.68,.14,1) .1s;
}
.section-head.is-visible h2{clip-path:inset(0 0 0% 0);transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .section-head h2{clip-path:none;transform:none;transition:none;}
}

/* ---------- B. Cascade en profondeur (cartes) ---------- */
.pillar-card.reveal, .activity-card.reveal{
  transform:translateY(26px) scale(.96);
  transition:opacity .7s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.16,.8,.24,1);
  transition-delay:var(--reveal-delay,0ms);
}
.pillar-card.reveal.is-visible, .activity-card.reveal.is-visible{transform:translateY(0) scale(1);}
@media (prefers-reduced-motion: reduce){
  .pillar-card.reveal, .activity-card.reveal{transform:none;transition:none;}
}


/* ---------- Barre prix pleine largeur sur vignette (structures-gonflables) ---------- */
.activity-card .price-bar{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  background:linear-gradient(0deg, rgba(10,25,20,.82) 0%, rgba(10,25,20,0) 100%);
  padding:26px 14px 10px;
  display:flex;justify-content:center;
  pointer-events:none;
}
.activity-card .price-bar span{
  color:var(--gold);font-weight:700;font-size:13px;letter-spacing:.01em;
}

/* ---------- Lien « Catalogue complet » (accueil) : texte interactif ---------- */
.btn-catalogue{
  display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;margin:44px auto 0;padding:6px 2px;
  font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.6vw,30px);letter-spacing:.01em;color:var(--forest);
  background:linear-gradient(var(--amber),var(--amber)) left bottom/0 2px no-repeat;
  padding-bottom:8px;transition:background-size .45s cubic-bezier(.2,.7,.3,1), color .3s ease;
}
.btn-catalogue .arrow{display:inline-block;color:var(--amber);font-family:var(--font-body,inherit);font-size:.9em;transition:transform .35s cubic-bezier(.2,.7,.3,1);}
.btn-catalogue:hover,.btn-catalogue:focus-visible{color:var(--amber-dark);background-size:100% 2px;}
.btn-catalogue:hover .arrow,.btn-catalogue:focus-visible .arrow{transform:translateX(8px);}

/* ---------- Réseaux sociaux (pied de page) ---------- */
.footer-social{display:flex;gap:16px;margin-top:26px;}
.footer-social a,footer.site .footer-social a{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;
  color:#fff;border:0;box-shadow:0 6px 16px rgba(0,0,0,.28);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, filter .3s ease;
}
.footer-social a svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.footer-social a.soc-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.footer-social a.soc-linkedin{background:#0A66C2;}
.footer-social a.soc-facebook{background:#1877F2;}
.footer-social a:hover,footer.site .footer-social a:hover{color:#fff;transform:translateY(-4px) scale(1.06);box-shadow:0 12px 24px rgba(0,0,0,.4);filter:brightness(1.08);}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:960px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease;}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.blog-card-img{aspect-ratio:4/3;overflow:hidden;background:var(--sage-light);}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.blog-card:hover .blog-card-img img{transform:scale(1.06);}
.blog-card-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.blog-card time{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);}
.blog-card h3{font-size:20px;line-height:1.3;margin:10px 0 10px;color:var(--ink);}
.blog-card p{font-size:14.5px;color:var(--ink-soft);margin:0 0 18px;}
.blog-more{margin-top:auto;font-weight:600;font-size:14px;color:var(--forest);}
.blog-more span{display:inline-block;transition:transform .3s ease;}
.blog-card:hover .blog-more span{transform:translateX(6px);}
.post-section{padding:64px 0 90px;}
.post{max-width:800px;}
.post-fig{margin:0 0 34px;}
.post-fig img{width:100%;height:auto;border-radius:var(--radius);display:block;box-shadow:var(--shadow);}
.post-cover{margin-bottom:44px;}
.post-body h2{font-size:clamp(26px,3vw,32px);margin:52px 0 16px;}
.post-body h3{font-size:clamp(21px,2.4vw,24px);margin:38px 0 12px;}
.post-body p{font-size:17px;line-height:1.75;color:var(--ink);margin:0 0 18px;max-width:none;}
.post-body ul,.post-body ol{margin:0 0 22px;padding-left:24px;font-size:17px;line-height:1.75;}
.post-body li{margin-bottom:8px;}
.post-body .post-fig{margin:40px 0;}
.post-back{margin-top:36px;}

/* =====================================================================
   RESPONSIVE / MOBILE (24/09/2026)
   Menu burger, colonnes empilées, aucun débordement horizontal.
===================================================================== */
html,body{max-width:100%;overflow-x:hidden;}
@supports (overflow:clip){html,body{overflow-x:clip;}}
img,video,iframe,svg,canvas{max-width:100%;}
img,video{height:auto;}
.hero-bg,.hero-bg-img,.photo-mosaic img,.card img,.logo-real img{height:auto;}
.hero-bg,.page-hero .hero-bg-img,.photo-mosaic img{height:100%;}
.logo-real img{height:56px;}
h1,h2,h3,h4,p,li,a,.btn{overflow-wrap:break-word;word-wrap:break-word;}
.split>*,.grid>*,.footer-grid>*{min-width:0;}
table{max-width:100%;}

/* Bouton burger (injecté par site.js) : caché sur grand écran */
.nav-toggle{display:none;}

@media(max-width:1024px){
  .nav{gap:12px;padding:14px 20px;}
  .nav-toggle{
    display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:46px;height:46px;margin-left:auto;padding:0;
    background:transparent;border:0;border-radius:12px;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .nav-toggle span{
    display:block;width:24px;height:2px;border-radius:2px;background:#fff;
    box-shadow:0 1px 4px rgba(0,0,0,.45);
    transition:transform .3s ease, opacity .2s ease, background .3s ease;
  }
  header.site.is-scrolled .nav-toggle span,
  header.site.nav-open .nav-toggle span{background:var(--ink);box-shadow:none;}
  header.site.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.site.nav-open .nav-toggle span:nth-child(2){opacity:0;}
  header.site.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  header.site.nav-open{
    background:var(--cream);box-shadow:0 8px 24px rgba(10,25,20,.10);
  }
  .nav-cta{margin-left:0;}

  /* Panneau de menu déroulant sous la barre */
  .nav-links{
    display:none;
    position:absolute;top:100%;left:0;right:0;margin:0;
    flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;
    padding:8px 20px 24px;
    background:var(--cream);
    border-top:1px solid var(--line);
    box-shadow:0 18px 30px rgba(10,25,20,.14);
    max-height:calc(100vh - 78px);max-height:calc(100dvh - 78px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  }
  header.site.nav-open .nav-links{display:flex;}
  .nav-links li{display:block;flex:0 0 auto;border-bottom:1px solid var(--line);}
  .nav-links a,
  header.site.is-scrolled .nav-links a{
    display:block;padding:15px 4px;font-size:17px;font-weight:600;
    color:var(--ink);text-shadow:none;white-space:normal;
  }
  .nav-links a::after{display:none;}
  .nav-links .has-dropdown > a{display:block;}
  .nav-links .has-dropdown > a::before{display:none;}
  .nav-links a:hover,.nav-links a.active{color:var(--forest);}
  /* Sous-menus toujours dépliés, en retrait */
  .dropdown-menu{
    position:static;transform:none;padding:0 0 10px;
    opacity:1;visibility:visible;pointer-events:auto;
  }
  .dropdown-menu-inner{
    background:transparent;box-shadow:none;border-radius:0;min-width:0;padding:0 0 0 14px;
    transform:none;border-left:2px solid var(--gold);
  }
  .dropdown-menu a{padding:10px 12px;font-size:15px;font-weight:500;white-space:normal;}
  .nav-links li.nav-mobile-cta{border-bottom:0;padding-top:18px;}
  .nav-links li.nav-mobile-cta a.btn{
    display:block;text-align:center;padding:14px 20px;color:#fff !important;font-size:16px;
  }
  html.nav-lock{overflow:hidden;}
}
/* Le bouton "Demande de devis" du bandeau passe dans le menu sur petit écran */
@media(max-width:640px){
  .nav-cta{display:none;}
}
@media(min-width:641px){
  .nav-links li.nav-mobile-cta{display:none;}
}

/* ---------- Tablette / smartphone : colonnes empilées ---------- */
@media(max-width:860px){
  .container{padding:0 20px;}
  .split,.grid-2,.grid-3,.grid-4,.two-col,.three-col{grid-template-columns:1fr !important;}
  .stats-grid,.pillars{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  body{font-size:16px;}
  .container{padding:0 18px;}
  section{padding-top:56px;padding-bottom:56px;}
  h1{font-size:clamp(28px,8vw,38px);line-height:1.15;}
  h2{font-size:clamp(24px,6.6vw,32px);line-height:1.2;}
  h3{font-size:clamp(19px,5.2vw,23px);}
  .hero-content{padding:100px 20px 90px;max-width:100%;}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px;}
  .hero-actions .btn{width:100%;text-align:center;justify-content:center;}
  .page-hero{min-height:380px;padding:92px 0 24px;}
  .btn{max-width:100%;white-space:normal;text-align:center;}
  .card{padding:24px !important;}
  .catalog-grid,.grid-activities.catalog-grid{grid-template-columns:repeat(2,1fr) !important;gap:10px;}
  .catalog-grid .activity-card .body{padding:10px 10px 12px;}
  .catalog-grid .activity-card h4{font-size:14px;line-height:1.25;}
  .catalog-grid .activity-card .label,.catalog-grid .activity-card .img .label{font-size:11px;letter-spacing:.06em;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;padding:20px 18px;}
  .stats-grid,.pillars{grid-template-columns:1fr;}
  .cta-banner{padding:44px 20px;}
  .logos-track img{height:110px;}
  .mosaic-reveal.from-left,.mosaic-reveal.from-right{transform:translateY(32px);}
  .mosaic-reveal.is-visible{transform:translate(0,0);}
  /* formulaires : un champ par ligne */
  form div[style*="display:flex"]{flex-direction:column !important;}
  form input,form select,form textarea{width:100%;max-width:100%;min-width:0;font-size:16px;box-sizing:border-box;}
  form .btn{align-self:stretch !important;}
}
@media(max-width:860px){
  .stats{grid-template-columns:1fr 1fr;padding:36px 24px;gap:28px 16px;}
  .stats .stat b{font-size:clamp(22px,6vw,32px);}
}
/* grilles à 3 colonnes définies en ligne : 2 colonnes sur tablette/mobile, 1 sur très petit écran */
@media(max-width:860px){
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr) !important;height:auto !important;}
}
@media(max-width:640px){
  [style*="minmax(280px,1fr)"]{grid-template-columns:1fr !important;}
}

/* Catalogue / photos : toujours 2 par ligne sur mobile */
@media(max-width:760px){
  .grid-activities{columns:2;column-gap:10px;}
  .photo-mosaic.count-2,.photo-mosaic.count-3{grid-template-columns:repeat(2,1fr);gap:10px;}
  .photo-mosaic.count-3 a.big{grid-column:1 / -1;grid-row:auto;}
  .photo-mosaic.count-3 a.big{aspect-ratio:16/10;}
  .photo-mosaic.count-many{grid-template-columns:repeat(2,1fr);gap:10px;}
}

/* Bandeau logos : saisissable à la souris / au doigt */
.logos-row{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;}
.logos-row.is-dragging{cursor:grabbing;}
.logos-track img{-webkit-user-drag:none;user-drag:none;pointer-events:none;}

/* ---------- Carrousel de visuels (page seminaire) ---------- */
.slides-row{
  display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 4px 22px;margin:0 -4px;list-style:none;
  scrollbar-width:thin;scrollbar-color:var(--amber) transparent;-webkit-overflow-scrolling:touch;
}
.slides-row li{flex:0 0 min(78vw,310px);scroll-snap-align:start;}
.slides-row img{
  width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;
  border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);
}
.slides-nav{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap;}
.slides-nav button{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);
  color:var(--forest);font-size:18px;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease;
}
.slides-nav button:hover{background:var(--sage-light);border-color:var(--sage);}
.slides-nav .btn{margin-left:auto;margin-top:0;}
@media(max-width:640px){.slides-nav .btn{margin-left:0;width:100%;justify-content:center;}}

/* ---------- Duo de photos decalees ---------- */
.photo-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;align-self:center;padding:14px 8px 18px;}
.split .photo-duo img{
  width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
  transition:rotate .5s cubic-bezier(.2,.7,.3,1), scale .5s cubic-bezier(.2,.7,.3,1);
}
.split .photo-duo img:first-child{rotate:-2.5deg;}
.split .photo-duo img:last-child{rotate:2deg;margin-top:72px;}
.split .photo-duo img:hover{rotate:0deg;scale:1.03;}
@media(max-width:640px){.photo-duo{gap:14px;}.split .photo-duo img:last-child{margin-top:40px;}}
@media (prefers-reduced-motion: reduce){.split .photo-duo img{transition:none;}}
.split .photo-duo.is-left img:first-child{rotate:2deg;margin-top:72px;}
.split .photo-duo.is-left img:last-child{rotate:-2.5deg;margin-top:0;}
.split .photo-duo.is-left img:hover{rotate:0deg;}
@media(max-width:860px){.split .photo-duo.is-left{order:2;}}
@media(max-width:640px){.split .photo-duo.is-left img:first-child{margin-top:40px;}.split .photo-duo.is-left img:last-child{margin-top:0;}}
a.badge.badge-more{
  background:var(--paper);border:1.5px solid var(--forest);color:var(--forest);
  display:inline-flex;align-items:center;gap:8px;font-weight:600;
  box-shadow:0 4px 12px rgba(10,25,20,.08);
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
a.badge.badge-more .arrow{display:inline-block;transition:transform .25s ease;}
a.badge.badge-more:hover,a.badge.badge-more:focus-visible{
  background:var(--forest);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(10,25,20,.2);
}
a.badge.badge-more:hover .arrow,a.badge.badge-more:focus-visible .arrow{transform:translateX(4px);}
@media (prefers-reduced-motion: reduce){a.badge.badge-more,a.badge.badge-more .arrow{transition:none;}}

/* ---------- Sections rapprochees ---------- */
section.tight-bottom{padding-bottom:48px;}
section.tight-top{padding-top:36px;}
@media(max-width:640px){section.tight-bottom{padding-bottom:32px;}section.tight-top{padding-top:24px;}}

/* ---------- Logos des 3 univers (accueil) ---------- */
.pillar-card.has-logo{flex-direction:column;gap:18px;padding:34px 28px 36px;}
.pillar-card.has-logo > .pillar-head{flex-direction:row;flex:0 0 auto;align-items:center;gap:16px;}
.pillar-card .pillar-logo{width:128px;height:128px;flex:0 0 auto;display:block;margin-left:-8px;}
.pillar-head > div{min-width:0;}
.pillar-card.has-logo .tag{margin-bottom:8px;line-height:1.5;}
@media(min-width:861px){.pillar-card.has-logo .tag{min-height:3em;display:flex;align-items:flex-end;}.pillar-card.has-logo .pillar-head > div{align-self:flex-start;margin-top:26px;}}
@media(max-width:1100px) and (min-width:861px){.pillar-card.has-logo .pillar-head > div{margin-top:14px;}}
.pillar-card.has-logo h3{margin:0;font-size:20px;}
.pillar-card.has-logo p{margin-bottom:6px;}
@media(max-width:1100px) and (min-width:861px){.pillar-card .pillar-logo{width:104px;height:104px;}}
@media(max-width:400px){.pillar-card .pillar-logo{width:112px;height:112px;}}

/* ---------- Couleur et logo par univers (Business / Event / Aventure) ---------- */
body.univers-business{--amber:#2E4A63;--amber-dark:#2E4A63;--gold:#B4CCE2;--univers:#2E4A63;}
body.univers-event{--amber:#D97B3F;--amber-dark:#B5591F;--gold:#F4B88F;--univers:#D97B3F;}
body.univers-aventure{--amber:#4C6B24;--amber-dark:#4C6B24;--gold:#BFD79A;--univers:#4C6B24;}
body[class*="univers-"] .page-hero .eyebrow,
body[class*="univers-"] .cta-banner .eyebrow{color:var(--gold) !important;}
body[class*="univers-"] .page-hero .eyebrow::before,
body[class*="univers-"] .cta-banner .eyebrow::before{background:var(--gold);}
body[class*="univers-"] .page-hero{border-bottom:4px solid var(--univers);}
body[class*="univers-"] .section-head h2::after,
body[class*="univers-"] .split h2::after{
  content:"";display:block;width:44px;height:3px;border-radius:2px;background:var(--univers);margin-top:14px;
}
.univers-mark{
  display:flex;align-items:center;margin-left:4px;padding-left:14px;
  border-left:1px solid rgba(255,255,255,.35);transition:border-color .3s ease;
}
header.site.is-scrolled .univers-mark{border-left-color:var(--line);}
.univers-mark img{width:72px;height:72px;margin:-8px 0;display:block;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.univers-mark:hover img{transform:scale(1.06);}
@media(max-width:640px){.univers-mark{padding-left:10px;}.univers-mark img{width:64px;height:64px;margin:-4px 0;}}

/* ---------- Accueil : titres des 3 univers a leur couleur ---------- */
.pillars .pillar-card:nth-child(1) h3{color:#2E4A63;}
.pillars .pillar-card:nth-child(2) h3{color:#D97B3F;}
.pillars .pillar-card:nth-child(3) h3{color:#4C6B24;}

/* ---------- Logo Alturismo (menu et pied de page) ---------- */
.logo-real img.site-logo{width:auto;height:66px;margin:-5px 0;display:block;}
.logo-chip img.site-logo{width:auto;height:62px;display:block;}
@media(max-width:640px){.logo-real img.site-logo{height:58px;margin:-1px 0;}}
header.site .site-logo.logo-on-light{display:none;}
header.site.is-scrolled .site-logo.logo-on-light{display:block;}
header.site.is-scrolled .site-logo.logo-on-dark{display:none;}
body[class*="univers-"] .section-head.center h2::after{margin-left:auto;margin-right:auto;}

/* ---------- Page Teambuilding : formules ---------- */
.format-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.format-nav a{
  display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:100px;
  border:1px solid var(--line);background:var(--paper);color:var(--forest);
  font-weight:600;font-size:14px;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;
}
.format-nav a:hover{border-color:var(--univers,var(--forest));transform:translateY(-2px);}
.format-nav a.is-star{background:var(--univers,var(--forest));border-color:var(--univers,var(--forest));color:#fff;}
[id="olympiades"],[id="haka"],[id="batucada"],[id="escape-game"],[id="rallye-velo"],[id="arbre-de-noel"]{scroll-margin-top:110px;}

.featured{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);padding:52px 48px 46px;position:relative;overflow:hidden;
}
.featured::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--univers,var(--forest));}
.star-badge{
  display:inline-block;padding:7px 16px;border-radius:100px;background:var(--univers,var(--forest));color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;
}
.featured-head{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:end;}
.featured-head h2{font-size:clamp(26px,3vw,36px);margin:0 0 14px;}
.featured-head p{max-width:none;}
.featured-side{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.facts li{padding:7px 14px;border-radius:100px;background:var(--sage-light);color:var(--forest);font-size:13px;font-weight:600;}
.oly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;}
.oly-tile{display:block;color:inherit;}
.oly-tile .ph{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--sage-light);margin-bottom:12px;}
.oly-tile .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1);}
a.oly-tile:hover .ph img{transform:scale(1.06);}
.oly-tile h3{font-family:var(--font-body);font-size:15.5px;font-weight:700;margin:0 0 4px;color:var(--forest-dark);}
a.oly-tile h3::after{content:" \2192";color:var(--univers,var(--amber));font-weight:600;}
.oly-tile p{font-size:14px;margin:0;max-width:none;line-height:1.5;}
.oly-more{margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:15px;max-width:none;}

.format-steps{list-style:none;margin:22px 0 22px;padding:0;counter-reset:step;display:grid;gap:14px;}
.format-steps li{counter-increment:step;position:relative;padding-left:46px;font-size:15.5px;color:var(--ink-soft);}
.format-steps li::before{
  content:counter(step);position:absolute;left:0;top:1px;width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--univers,var(--forest));color:var(--univers,var(--forest));
  font-weight:700;font-size:13.5px;display:flex;align-items:center;justify-content:center;
}
.format-steps strong{color:var(--ink);font-weight:600;}
@media(min-width:861px){.split.reverse > :first-child{order:2;}}
@media(max-width:960px){
  .featured{padding:38px 28px 34px;}
  .featured-head{grid-template-columns:1fr;gap:22px;align-items:start;}
  .oly-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .featured{padding:30px 20px 28px;}
  .oly-grid{gap:14px;margin-top:28px;}
  .format-nav a{padding:9px 14px;font-size:13.5px;}
}

/* ---------- Trio de photos decalees ---------- */
.photo-trio{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;align-self:center;padding:14px 8px 18px;}
.photo-trio .col{display:grid;gap:20px;margin-top:44px;}
.split .photo-trio img{
  width:100%;height:auto;object-fit:cover;display:block;
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
  transition:rotate .5s cubic-bezier(.2,.7,.3,1), scale .5s cubic-bezier(.2,.7,.3,1);
}
.split .photo-trio > img{aspect-ratio:3/4;rotate:-2.5deg;}
.split .photo-trio .col img{aspect-ratio:4/3;}
.split .photo-trio .col img:first-child{rotate:2deg;}
.split .photo-trio .col img:last-child{rotate:-1.5deg;}
.split .photo-trio img:hover{rotate:0deg;scale:1.03;}
@media(max-width:640px){.photo-trio{gap:14px;}.photo-trio .col{gap:14px;margin-top:28px;}}
@media (prefers-reduced-motion: reduce){.split .photo-trio img{transition:none;}}

/* ---------- Deux photos paysage superposees ---------- */
.photo-stack{display:flex;flex-direction:column;align-self:center;padding:12px 8px 16px;}
.split .photo-stack img{
  width:76%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
  transition:rotate .5s cubic-bezier(.2,.7,.3,1), scale .5s cubic-bezier(.2,.7,.3,1);
}
.split .photo-stack img:first-child{rotate:-2deg;align-self:flex-start;}
.split .photo-stack img:last-child{rotate:2deg;align-self:flex-end;margin-top:-38px;position:relative;}
.split .photo-stack img:hover{rotate:0deg;scale:1.03;}
@media(max-width:640px){.split .photo-stack img{width:80%;}.split .photo-stack img:last-child{margin-top:-26px;}}
@media (prefers-reduced-motion: reduce){.split .photo-stack img{transition:none;}}

/* ---------- Olympiades : sans cadre, activites en defilement horizontal ---------- */
.featured{background:none;border:0;box-shadow:none;padding:0;overflow:visible;border-radius:0;}
.featured::before{display:none;}
.oly-grid{
  display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 4px 20px;margin:40px -4px 0;
  scrollbar-width:thin;scrollbar-color:var(--univers,var(--amber)) transparent;-webkit-overflow-scrolling:touch;
}
.oly-grid .oly-tile{flex:0 0 min(70vw,262px);scroll-snap-align:start;}
.oly-nav{margin-top:4px;}
.oly-more{border-top:0;padding-top:0;margin-top:22px;}
@media(max-width:960px){.featured{padding:0;}}
@media(max-width:640px){.featured{padding:0;}.oly-grid{gap:14px;margin-top:28px;}}

/* ---------- Olympiades : fleches laterales, sans barre de defilement ---------- */
.oly-carousel{position:relative;margin-top:40px;}
.oly-carousel .oly-grid{margin-top:0;padding-bottom:6px;scrollbar-width:none;-ms-overflow-style:none;}
.oly-carousel .oly-grid::-webkit-scrollbar{display:none;}
.oly-arrow{
  position:absolute;top:104px;transform:translateY(-50%);z-index:3;
  width:52px;height:52px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:var(--paper);color:var(--univers,var(--forest));
  box-shadow:0 8px 22px rgba(10,25,20,.20),0 0 0 1px rgba(10,25,20,.06);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,color .25s ease,transform .25s ease,opacity .25s ease,box-shadow .25s ease;
}
.oly-arrow svg{width:22px;height:22px;display:block;}
.oly-arrow.prev{left:-26px;}
.oly-arrow.next{right:-26px;}
.oly-arrow:hover,.oly-arrow:focus-visible{background:var(--univers,var(--forest));color:#fff;transform:translateY(-50%) scale(1.08);box-shadow:0 12px 28px rgba(10,25,20,.28);}
.oly-arrow[disabled]{opacity:0;pointer-events:none;}
@media(max-width:1260px){.oly-arrow.prev{left:-12px;}.oly-arrow.next{right:-12px;}}
@media(max-width:640px){
  .oly-carousel{margin-top:28px;}
  .oly-arrow{width:44px;height:44px;}
  .oly-arrow svg{width:19px;height:19px;}
  .oly-arrow.prev{left:-8px;}.oly-arrow.next{right:-8px;}
}
@media (prefers-reduced-motion: reduce){.oly-arrow{transition:none;}}

/* ---------- Olympiades : defilement a la souris ---------- */
@media (pointer:fine){.oly-carousel .oly-grid{cursor:grab;}}
.oly-carousel .oly-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none;-webkit-user-select:none;}
.oly-carousel .oly-grid img{-webkit-user-drag:none;user-select:none;}

/* ---------- Bloc avec photos plus grandes que le texte ---------- */
@media(min-width:861px){
  .split.photos-wide{grid-template-columns:1.5fr 1fr;gap:56px;}
  .split.photos-wide .photo-trio{gap:24px;padding:14px 4px 18px;}
  .split.photos-wide .photo-trio .col{gap:24px;}
  .split.photos-wide.photos-right{grid-template-columns:1fr 1.5fr;}
}

/* ---------- Accueil : bouton "Decouvrir" a la couleur de chaque univers ---------- */
.pillars .pillar-card:nth-child(1){--pc-btn:#2E4A63;}
.pillars .pillar-card:nth-child(2){--pc-btn:#C4682C;}
.pillars .pillar-card:nth-child(3){--pc-btn:#4C6B24;}
.pillars .pillar-card.has-logo a.link{background:var(--pc-btn);color:#fff;font-size:14.5px;padding:10px 18px;border-radius:100px;border-bottom:0;transition:filter .25s ease;}
.pillars .pillar-card.has-logo a.link:hover{filter:brightness(.9);}
.pillars .pillar-card.has-logo p{margin-bottom:16px;}

/* ---------- Carrousel d'animations du catalogue (photos en hauteur, cartes cliquables) ---------- */
.oly-carousel.is-portrait .oly-tile .ph{aspect-ratio:3/4;}
.oly-carousel.is-portrait .oly-arrow{top:180px;}
.oly-carousel.is-portrait .oly-tile h3{font-size:16.5px;}
/* ---------- Trois encarts cote a cote ---------- */
.steps-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}
@media(max-width:860px){.steps-3{grid-template-columns:1fr;gap:14px;}}
.steps-3 .card{padding:28px;border-top:3px solid var(--univers,var(--forest));}
.steps-3 .card h3{font-size:18px;margin-bottom:8px;}
.steps-3 .card p{margin:0;font-size:15px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px;}
.chips .badge{margin:0;}

/* ---------- Bandeau roulant de logos sur tuiles blanches (page Aventure) ---------- */
.logos-track.is-tiles{gap:22px;padding:10px 0 24px;animation-duration:45s;}
.logos-track.is-tiles .logo-tile{flex:0 0 auto;width:190px;height:130px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 16px rgba(10,25,20,.07);display:flex;align-items:center;justify-content:center;padding:18px;}
.logos-track.is-tiles img{height:auto;width:auto;max-width:100%;max-height:100%;border-radius:0;}
@media(max-width:760px){.logos-track.is-tiles{gap:14px;}.logos-track.is-tiles .logo-tile{width:150px;height:104px;padding:14px;}}

/* ---------- Page Aventure : trois sections aux mises en page distinctes ---------- */
/* 1. Deux types d'installation : deux grandes photos avec le texte par-dessus */
.duo-photo{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.duo-photo .dp{position:relative;border-radius:var(--radius);overflow:hidden;min-height:400px;display:flex;align-items:flex-end;box-shadow:var(--shadow-lg);background:var(--forest-dark);}
.duo-photo .dp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none;transition:transform .9s cubic-bezier(.2,.7,.3,1);}
.duo-photo .dp:hover img{transform:scale(1.04);}
.duo-photo .dp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,33,27,0) 22%,rgba(10,33,27,.55) 55%,rgba(10,33,27,.92) 100%);}
.duo-photo .dp-body{position:relative;z-index:1;padding:30px 32px 32px;}
.duo-photo .dp-body .eyebrow{color:var(--gold);margin-bottom:8px;}
.duo-photo .dp-body .eyebrow::before{background:var(--gold);}
.duo-photo .dp-body h3{color:#fff;font-size:25px;margin:0 0 8px;}
.duo-photo .dp-body p{color:rgba(255,255,255,.88);margin:0;font-size:15.5px;max-width:46ch;}
@media(max-width:760px){.duo-photo{grid-template-columns:1fr;gap:18px;}.duo-photo .dp{min-height:330px;}.duo-photo .dp-body{padding:24px 22px 26px;}}
@media (prefers-reduced-motion: reduce){.duo-photo .dp img{transition:none;}}
/* 2. Nos interventions : bandeau sombre avec grands numeros */
section.band-dark{background:var(--forest);position:relative;overflow:hidden;}
section.band-dark .section-head h2{color:#fff;}
section.band-dark .section-head .eyebrow{color:var(--gold);}
section.band-dark .section-head .eyebrow::before{background:var(--gold);}
body[class*="univers-"] section.band-dark .section-head h2::after{background:var(--gold);}
.num-row{display:grid;grid-template-columns:repeat(4,1fr);}
.num-row .ni{padding:4px 28px;border-left:1px solid rgba(255,255,255,.16);}
.num-row .ni:first-child{border-left:0;padding-left:0;}
.num-row .ni:last-child{padding-right:0;}
.num-row .n{display:block;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:48px;line-height:1;color:var(--gold);margin-bottom:18px;}
.num-row h3{color:#fff;font-size:19px;margin:0 0 8px;}
.num-row p{color:rgba(255,255,255,.78);font-size:15px;margin:0;}
@media(max-width:960px){.num-row{grid-template-columns:1fr 1fr;row-gap:38px;}.num-row .ni:nth-child(odd){border-left:0;padding-left:0;}.num-row .ni:nth-child(even){padding-right:0;}}
@media(max-width:560px){.num-row{grid-template-columns:1fr;row-gap:0;}.num-row .ni{border-left:0;padding:24px 0;border-top:1px solid rgba(255,255,255,.16);}.num-row .ni:first-child{border-top:0;padding-top:0;}.num-row .n{font-size:40px;margin-bottom:12px;}}
/* 3. Qualite et securite : titre a gauche, liste a coches a droite */
.quali{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start;}
.quali .section-head{margin-bottom:0;}
.check-list{list-style:none;margin:0;padding:0;}
.check-list li{display:grid;grid-template-columns:46px 1fr;gap:20px;align-items:start;padding:24px 0;border-top:1px solid var(--line);}
.check-list li:first-child{border-top:0;padding-top:4px;}
.check-list .ck{width:46px;height:46px;border-radius:50%;background:var(--univers,var(--forest));color:#fff;display:flex;align-items:center;justify-content:center;}
.check-list .ck svg{width:20px;height:20px;display:block;}
.check-list h3{font-size:19px;margin:2px 0 4px;}
.check-list p{margin:0;font-size:15.5px;}
@media(max-width:860px){.quali{grid-template-columns:1fr;gap:26px;}}

/* ---------- Page construction accrobranche ---------- */
.tyro-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;padding:10px 6px 0;}
.tyro-trio figure{margin:0;}
.tyro-trio img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:var(--radius);box-shadow:var(--shadow-lg);transition:rotate .5s cubic-bezier(.2,.7,.3,1),scale .5s cubic-bezier(.2,.7,.3,1);}
.tyro-trio figure:nth-child(1) img{rotate:-2.5deg;}
.tyro-trio figure:nth-child(2){margin-top:56px;}
.tyro-trio figure:nth-child(2) img{rotate:1.8deg;}
.tyro-trio figure:nth-child(3) img{rotate:-1.5deg;}
.tyro-trio figure:hover img{rotate:0deg;scale:1.03;}
.tyro-trio figcaption{padding:18px 6px 0;font-size:15px;color:var(--ink-soft);line-height:1.55;}
.tyro-trio figcaption b{display:block;font-family:var(--font-display);font-weight:500;font-size:21px;color:var(--ink);margin-bottom:4px;}
.trio-more{margin:34px 0 0;font-size:15.5px;}
.trio-more a:not(.btn){color:var(--univers,var(--forest));font-weight:600;border-bottom:1.5px solid currentColor;}
@media(max-width:860px){
  .tyro-trio{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:12px 6px 18px;margin:0 -6px;-webkit-overflow-scrolling:touch;}
  .tyro-trio figure{scroll-snap-align:start;}
  .tyro-trio figure:nth-child(2){margin-top:24px;}
}
@media (prefers-reduced-motion: reduce){.tyro-trio img{transition:none;}}
.tick-list{list-style:none;margin:6px 0 22px;padding:0;}
.tick-list li{position:relative;padding:7px 0 7px 30px;color:var(--ink);font-size:15.5px;}
.tick-list li::before{content:"";position:absolute;left:2px;top:13px;width:14px;height:8px;border-left:2.5px solid var(--univers,var(--forest));border-bottom:2.5px solid var(--univers,var(--forest));transform:rotate(-45deg);}
.faq-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start;}
.faq-wrap .section-head{margin-bottom:0;}
.faq details{border-top:1px solid var(--line);}
.faq details:last-child{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-weight:600;font-size:16.5px;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--univers,var(--forest));transition:transform .25s ease;}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq details p{margin:0 0 20px;font-size:15.5px;}
@media(max-width:860px){.faq-wrap{grid-template-columns:1fr;gap:26px;}}

/* ---------- Vidéo verticale dans un bloc texte + image ---------- */
.split-video{display:block;width:min(100%,380px);height:auto;aspect-ratio:4/5;object-fit:cover;justify-self:center;align-self:center;border-radius:var(--radius);box-shadow:var(--shadow-lg);background:var(--forest-dark);}
@media(max-width:860px){.split-video{width:min(86%,340px);}}
@media(max-width:860px){.split-video.is-left{order:2;}}
.split:has(> .split-video) > div{align-self:center;}

/* ---------- Bandeau vidéo immersif ---------- */
section.video-band{position:relative;overflow:hidden;background:var(--forest-dark);padding:96px 0;}
.video-band .vb-bg{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;filter:blur(30px) brightness(.42) saturate(1.15);transform:scale(1.05);}
.video-band .vb-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;}
.video-band .vb-text h2{color:#fff;font-size:clamp(30px,3.6vw,44px);}
.video-band .vb-text .eyebrow{color:var(--gold);}
.video-band .vb-text .eyebrow::before{background:var(--gold);}
.video-band .vb-text p{color:rgba(255,255,255,.84);font-size:17px;}
.video-band .vb-text .btn-primary{margin-top:10px;background:#fff;color:var(--forest);}
.video-band .vb-text .btn-primary:hover{background:var(--gold);color:var(--forest-dark);}
.video-band .vb-video{width:min(100%,420px);border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.45);outline:6px solid rgba(255,255,255,.12);outline-offset:0;}
body[class*="univers-"] .video-band .vb-text h2::after{background:var(--gold);}
@media(max-width:860px){section.video-band{padding:64px 0;}.video-band .vb-inner{grid-template-columns:1fr;gap:36px;}.video-band .vb-video{justify-self:center;width:min(88%,360px);}}

/* Étapes numérotées sur fond clair */
section.steps-light .num-row .ni{border-left-color:var(--line);}
section.steps-light .num-row .n{color:var(--univers,var(--amber));}
section.steps-light .num-row h3{color:var(--ink);}
section.steps-light .num-row p{color:var(--ink-soft);}
@media(max-width:560px){section.steps-light .num-row .ni{border-top-color:var(--line);}}
.tyro-trio.is-four{grid-template-columns:repeat(4,1fr);gap:22px;}
.tyro-trio.is-four figure:nth-child(4) img{rotate:2.2deg;}
.tyro-trio.is-four figure:nth-child(4){margin-top:36px;}
@media(max-width:860px){.tyro-trio.is-four{grid-template-columns:none;}.tyro-trio.is-four figure:nth-child(4){margin-top:0;}}

/* ---------- Lien Retour catalogue (fiches du catalogue) ---------- */
.back-catalogue{margin-top:64px;display:flex;justify-content:flex-start;}
.back-link{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15.5px;letter-spacing:.01em;}
.back-link .bl-ico{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--univers,var(--forest));color:var(--univers,var(--forest));display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .3s ease,color .3s ease,transform .3s cubic-bezier(.2,.7,.3,1);}
.back-link .bl-ico svg{width:17px;height:17px;}
.back-link .bl-txt{background:linear-gradient(currentColor,currentColor) left bottom/0% 1.5px no-repeat;padding-bottom:3px;transition:background-size .35s cubic-bezier(.2,.7,.3,1);}
.back-link:hover .bl-ico,.back-link:focus-visible .bl-ico{background:var(--univers,var(--forest));color:#fff;transform:translateX(-4px);}
.back-link:hover .bl-txt,.back-link:focus-visible .bl-txt{background-size:100% 1.5px;}
@media(max-width:640px){.back-catalogue{margin-top:44px;}}
@media (prefers-reduced-motion: reduce){.back-link .bl-ico,.back-link .bl-txt{transition:none;}}

/* ---------- Photo seule penchée dans un bloc texte + image ---------- */
.split img.split-photo-tilt{width:min(100%,360px);height:auto;aspect-ratio:3/4;object-fit:cover;justify-self:center;align-self:center;rotate:-2deg;border-radius:var(--radius);box-shadow:var(--shadow-lg);transition:rotate .5s cubic-bezier(.2,.7,.3,1);}
.split img.split-photo-tilt:hover{rotate:0deg;}
.split:has(> .split-photo-tilt) > div{align-self:center;}
@media(max-width:860px){.split img.split-photo-tilt{order:2;width:min(80%,320px);}}
@media (prefers-reduced-motion: reduce){.split img.split-photo-tilt{transition:none;}}

/* Paragraphe centré sous un titre centré */
.section-head.center p{margin-left:auto;margin-right:auto;}

/* Encadres pleine largeur : texte sur toute la largeur */
.container > .card p{max-width:none;}

/* ---------- Menu téléphone : chaque univers a sa couleur, en discret (25/10/2026) ---------- */
@media(max-width:1024px){
  .nav-links li.has-dropdown:has(> a[href="/solutionsévénementiels"]){--u:#2E4A63;--u-tag:"Entreprises";}
  .nav-links li.has-dropdown:has(> a[href="/animations-locations-sportives"]){--u:#D97B3F;--u-tag:"Grand public";}
  .nav-links li.has-dropdown:has(> a[href="/construction-acrobranche-tyrolienne"]){--u:#4C6B24;--u-tag:"Construction & entretien";}
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])){
    background:linear-gradient(90deg, color-mix(in srgb, var(--u) 7%, transparent), transparent 75%);
  }
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])) > a{position:relative;padding-left:20px;}
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])) > a::before{
    display:block;content:"";position:absolute;left:4px;top:23px;
    width:8px;height:8px;border-radius:50%;background:var(--u);border:0;transform:none;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--u) 18%, transparent);
  }
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])) > a::after{
    display:block;content:var(--u-tag);position:static;height:auto;background:none;
    margin-top:2px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--u);opacity:.85;
  }
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])) .dropdown-menu-inner{border-left-color:color-mix(in srgb, var(--u) 55%, transparent);margin-left:8px;}
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])) .dropdown-menu a:hover{color:var(--u) !important;background:color-mix(in srgb, var(--u) 8%, transparent);}
}
/* Menu téléphone : flèche pour montrer que le titre de l'univers est cliquable */
@media(max-width:1024px){
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])){position:relative;}
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"])) > a{padding-right:40px;}
  .nav-links li.has-dropdown:is(:has(> a[href="/solutionsévénementiels"]),:has(> a[href="/animations-locations-sportives"]),:has(> a[href="/construction-acrobranche-tyrolienne"]))::after{
    content:"";position:absolute;right:12px;top:22px;pointer-events:none;
    width:9px;height:9px;border-top:1.5px solid var(--u);border-right:1.5px solid var(--u);
    transform:rotate(45deg);opacity:.75;
  }
}

/* Téléphone (25/10/2026) : le titre du haut de l'accueil s'affiche tout de suite */
@media(max-width:860px){.hero .word-reveal{opacity:1;transform:none;transition:none;}}
