:root{
  --noir:#1a1a1a;--gris-texte:#555;--gris-clair:#999;
  --serif:'EB Garamond',Georgia,serif;--display:'Cormorant Garamond',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--serif);color:var(--noir);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;}

/* HEADER */
header{display:flex;justify-content:space-between;align-items:center;padding:1.6rem 3.5rem;border-bottom:1px solid #eee;flex-wrap:wrap;gap:1.5rem;background:#fff;}
.brand-block{display:flex;align-items:center;gap:1.4rem;}
.logo-circle{width:82px;height:82px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;flex-shrink:0;}
.logo-circle span{color:#c8a95e;font-size:.5rem;letter-spacing:1px;text-transform:uppercase;font-weight:500;line-height:1.5;}
.logo-circle img{width:100%;height:100%;object-fit:cover;}
.brand-name{font-size:1.7rem;font-weight:500;letter-spacing:.3px;text-decoration:none;color:var(--noir);}
.brand-sub{font-size:.92rem;color:var(--gris-texte);margin-top:-2px;}
nav ul{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;}
nav a{text-decoration:none;color:var(--gris-texte);font-style:italic;font-size:1.05rem;padding:.5rem 0;border-top:1px solid #ccc;border-bottom:1px solid transparent;transition:color .3s,border-color .3s;}
nav a.active{color:#000;border-top:1px solid #000;border-bottom:1px solid #000;}
nav a:hover{color:#000;border-top-color:#000;border-bottom-color:#000;}

/* HERO */
/* Bande d'accueil reduite ET responsive : hauteur et badge s'adaptent a la taille de l'ecran */
.hero{position:relative;width:100%;aspect-ratio:3.05/1;overflow:hidden;}
.hero-img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-badge{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);background:rgba(5,5,5,.92);color:#fff;padding:clamp(.65rem,1.1vw,1rem) clamp(1.6rem,3.5vw,2.8rem);border-radius:50px;font-size:18px;letter-spacing:clamp(1px,.6vw,4px);font-weight:400;text-decoration:none;display:inline-block;transition:background .3s;white-space:nowrap;}
.hero-badge:hover{background:#222;}

/* SECTIONS */
section{padding:5rem 3.5rem;}
.wrap{max-width:1200px;margin:0 auto;}
h2.section-title{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin-bottom:3.5rem;letter-spacing:.5px;}
.intro-text{max-width:760px;margin:0 auto 3.5rem;text-align:center;color:var(--gris-texte);font-size:18px;line-height:1.8;}

/* 2 COLONNES */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1050px;margin:0 auto;}
.two-col .col{text-align:center;}
.two-col h3{font-family:var(--display);font-size:2rem;font-weight:500;margin-bottom:1.8rem;}
.two-col p{color:var(--gris-texte);margin-bottom:2.2rem;font-size:18px;line-height:1.8;}
.btn{display:inline-block;background:#0a0a0a;color:#fff;padding:.85rem 3rem;text-decoration:none;letter-spacing:1px;font-size:18px;transition:background .3s;}
.btn:hover{background:#333;}
.rule{border:none;border-top:1.5px solid var(--noir);max-width:1200px;margin:0 auto;}

/* HERO page voyages */
.voyages-hero{height:380px;background-size:cover;background-position:center 30%;padding:0;}

/* CARTES */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;align-items:start;}
.card{text-align:center;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding-bottom:2.5rem;}
.card-lift{transition:transform .4s ease;}
.card-img{width:100%;height:440px;object-fit:cover;display:block;margin-bottom:2rem;}
.card h3{font-family:var(--display);font-size:1.5rem;font-weight:500;line-height:1.2;white-space:nowrap;margin:0 0 2rem;}
.card p{color:var(--gris-texte);font-size:18px;line-height:1.8;max-width:300px;margin:0 auto;}
.card .voir{position:absolute;bottom:0;left:0;right:0;color:var(--noir);font-style:italic;border-bottom:1px solid var(--noir);padding-bottom:2px;width:max-content;margin:0 auto;opacity:0;transition:opacity .4s ease .1s;}
.card:hover .card-lift{transform:translateY(-3rem);}
.card:hover .voir{opacity:1;}
@media(max-width:850px){
  .hero{aspect-ratio:1.4/1;}
  .voyages-hero{height:260px;}
  .cards{grid-template-columns:1fr;}
  .card h3{white-space:normal;}
  .card-img{height:360px;}
}

/* INGÉNIERIE */
.eng-title{text-align:center;}
.eng-title h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:1rem;}
.eng-title .dash{width:44px;border-top:1px solid var(--noir);margin:0 auto 3.5rem;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem;}
.three-col .col{text-align:center;}
.three-col h3{font-family:var(--display);font-size:1.55rem;font-weight:500;margin-bottom:1.6rem;}
.three-col p{color:var(--gris-texte);font-size:18px;line-height:1.8;}

/* CONTACT */
.contact-title{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin-bottom:3.5rem;}
.contact-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;text-align:center;}
.contact-cols h3{font-family:var(--display);font-size:1.5rem;font-weight:500;margin-bottom:1.6rem;}
.contact-cols p{color:var(--gris-texte);margin-bottom:.3rem;}
.contact-cols a{color:var(--noir);text-decoration:underline;}
.baseline{text-align:center;color:var(--gris-texte);margin-top:4rem;font-size:1.05rem;}

/* FOOTER */
footer{background:#000;color:#fff;padding:4rem 3.5rem 2.5rem;}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:start;max-width:1200px;margin:0 auto;}
.foot-grid .fcol{display:flex;flex-direction:column;gap:1.2rem;}
.foot-grid .fcol:nth-child(1){align-items:flex-start;text-align:left;}
.foot-grid .fcol:nth-child(2){align-items:center;text-align:center;}
.foot-grid .fcol:nth-child(3){align-items:flex-end;text-align:right;}
.foot-name{font-family:var(--display);font-size:1.6rem;font-weight:500;color:#fff;text-decoration:none;line-height:1.2;}
.foot-sub{color:#bbb;font-size:.95rem;}
footer a{color:#ddd;text-decoration:none;}
footer a:hover{color:#fff;text-decoration:underline;}
.socials{display:flex;justify-content:center;gap:1rem;margin:0;}
.socials a{width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;}
.socials svg{width:15px;height:15px;fill:#000;}
.foot-links p{margin:0;}
.copyright{color:#888;font-size:.85rem;margin:0;}

/* RESPONSIVE */
@media(max-width:850px){
  header{padding:1.2rem 1.5rem;flex-direction:column;text-align:center;}
  nav ul{justify-content:center;gap:1.2rem;}
  section{padding:3rem 1.5rem;}
  h2.section-title,.eng-title h2,.contact-title{font-size:2.1rem;}
  .two-col,.cards,.three-col,.contact-cols,.foot-grid{grid-template-columns:1fr;gap:2.5rem;}
  .foot-grid .fcol:nth-child(2),.foot-grid .fcol:nth-child(3){text-align:center;}
}

/* ===== PAGE AGENCE ===== */
.agence-hero{height:340px;background-size:cover;background-position:center;}
/* Bandeau haut agence : fine bande qui s'adapte a la largeur (recadree au centre) */
.agence-bandeau{display:block;width:100%;height:clamp(220px,30vw,400px);object-fit:cover;object-position:center;}
@media(max-width:850px){.agence-bandeau{height:200px;}}
.histoire-title{text-align:center;}
.histoire-title h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:1rem;}
.histoire-title .dash{width:44px;border-top:1px solid var(--noir);margin:0 auto 3rem;}

/* Onglets */
.tabs{max-width:1100px;margin:0 auto;}
.intro-tabs-txt{max-width:900px;margin:0 auto 3rem;text-align:center;color:#333;font-size:18px;line-height:1.8;}
.intro-tabs-txt p{margin-bottom:1.2rem;}
.intro-tabs-txt p:last-child{margin-bottom:0;}
.tab-buttons{display:flex;justify-content:space-between;gap:1rem;border-bottom:1.5px solid #ccc;margin-bottom:3rem;flex-wrap:wrap;}
.tab-btn{background:none;border:none;font-family:var(--serif);font-size:1.15rem;color:var(--noir);padding:0 0 1rem;cursor:pointer;position:relative;flex:1;text-align:center;white-space:nowrap;}
.tab-btn::after{content:'';position:absolute;bottom:-1.5px;left:0;width:100%;height:2px;background:transparent;}
.tab-btn.active::after{background:var(--noir);}
.tab-btn.active{font-weight:500;}
.tab-panel{display:none;max-width:900px;margin:0 auto;}
.tab-panel.active{display:block;}
.tab-panel p{margin-bottom:1.8rem;color:#333;font-size:18px;line-height:1.8;}
.tab-panel h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:#111;margin:2rem 0 1rem;}
.tab-panel h3:first-child{margin-top:0;}
.tab-panel ul{margin:0 auto 1.8rem;color:#333;font-size:18px;line-height:1.8;text-align:center;list-style-position:inside;}
.tab-panel li{margin-bottom:.7rem;}
.cgv{max-width:900px;margin:0 auto;padding:4rem 3.5rem 5rem;}
.cgv h1{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin-bottom:1rem;}
.cgv .dash{width:44px;border-top:1px solid var(--noir);margin:0 auto 3rem;}
.cgv .intro{color:#333;font-size:18px;line-height:1.8;margin-bottom:3rem;text-align:center;}
.legal-body{text-align:center;}
.legal-body h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:#111;margin:2rem 0 1rem;}
.legal-body h3:first-child{margin-top:0;}
.legal-body p{margin-bottom:1.8rem;color:#333;font-size:18px;line-height:1.8;text-align:center;}
.legal-body ul{margin:0 auto 1.8rem;color:#333;font-size:18px;line-height:1.8;text-align:center;list-style-position:inside;}
.legal-body li{margin-bottom:.7rem;}

/* Équipe */
.equipe-title{text-align:center;}
.equipe-title h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:1rem;}
.equipe-title .dash{width:44px;border-top:1px solid var(--noir);margin:0 auto 3.5rem;}
.equipe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem 2rem;max-width:1200px;margin:0 auto;}
.membre{text-align:center;}
.membre img{width:170px;height:170px;border-radius:50%;object-fit:cover;margin-bottom:1.4rem;}
.membre p{font-size:1.15rem;color:#222;line-height:1.4;}

/* Bandeau photo entre sections */
.bandeau{width:100%;height:420px;object-fit:cover;display:block;}

@media(max-width:850px){
  .tab-buttons{gap:.5rem;}
  .tab-btn{font-size:.95rem;flex:1 0 45%;padding-bottom:.6rem;}
  .equipe-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1rem;}
  .membre img{width:130px;height:130px;}
  .histoire-title h2,.equipe-title h2{font-size:2.1rem;}
  .bandeau{height:220px;}
}

/* Intro agence */
.agence-intro{text-align:center;padding:5rem 3.5rem 3rem;}
.agence-intro h1{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:1rem;}
.agence-intro .sub{font-size:1.3rem;color:#333;margin-bottom:2.5rem;}
.agence-intro p{max-width:760px;margin:0 auto 1.6rem;color:#444;font-size:18px;line-height:1.8;text-align:center;}
@media(max-width:850px){.agence-intro{padding:2.5rem 1.5rem;}.agence-intro h1{font-size:2.2rem;}}

/* Cercles équipe cliquables */
.membre a{text-decoration:none;color:inherit;display:inline-block;}
.membre a img{transition:transform .3s,box-shadow .3s;}
.membre a:hover img{transform:scale(1.04);box-shadow:0 6px 18px rgba(0,0,0,.18);}
.membre a:hover p{text-decoration:underline;}

/* ===== PAGES SATELLITES ÉQUIPE (fond gris + blocs blancs) ===== */
body.satellite-page{background:#dcdcdc;}
body.satellite-page header{background:#fff;}
.bloc{background:#fff;max-width:1500px;margin:0 auto 2rem;}
.bloc:first-of-type{margin-top:2rem;}
.bloc-pad{padding:3.5rem 4rem;}

/* Bloc présentation : photo pleine hauteur à gauche + texte centré à droite */
.satellite{display:grid;grid-template-columns:42% 1fr;align-items:stretch;}
.satellite-img{width:100%;height:100%;max-height:400px;object-fit:cover;display:block;}
.satellite-img--face{object-position:center 20%;}
.satellite-img--full{object-fit:contain;background:#f4f4f2;max-height:520px;}
.satellite-txt{padding:2.5rem 3.5rem;display:flex;flex-direction:column;justify-content:center;}
.satellite-txt h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:1.4rem;text-align:center;}
.satellite-txt p{color:#333;font-size:18px;line-height:1.8;margin-bottom:1rem;text-align:center;}
.satellite-txt .btn-small{align-self:flex-end;background:#000;color:#fff;padding:.7rem 1.8rem;text-decoration:none;letter-spacing:1px;font-size:18px;margin-top:1.5rem;border:1px solid #000;}
.satellite-txt .btn-small:hover{background:#fff;color:#000;}

/* Direction (portraits ronds) */
.direction h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:3rem;text-align:center;}
.dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1050px;margin:0 auto;}
.dir-person{text-align:center;}
.dir-person img{width:210px;height:210px;border-radius:50%;object-fit:cover;margin-bottom:1.4rem;}
.dir-person p{font-size:1.1rem;line-height:1.7;letter-spacing:2px;color:#222;}
.dir-person a{text-decoration:none;color:inherit;}
.dir-person a:hover img{box-shadow:0 6px 18px rgba(0,0,0,.15);}

/* CTA bas : titre centré, texte gauche + bouton droite */
.cta-souverain .cta-head{text-align:center;margin-bottom:2.5rem;}
.cta-souverain h2{font-family:var(--display);font-size:50px;font-weight:500;}
.cta-row{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;}
.cta-row p{color:#333;line-height:1.8;max-width:520px;text-align:center;}
.cta-row .btn-small{background:#000;color:#fff;padding:.7rem 1.8rem;text-decoration:none;letter-spacing:1px;font-size:18px;border:1px solid #000;white-space:nowrap;}
.cta-row .btn-small:hover{background:#fff;color:#000;}

@media(max-width:850px){
  .bloc-pad,.satellite-txt{padding:2rem 1.5rem;}
  .satellite{grid-template-columns:1fr;min-height:0;}
  .satellite-img{height:280px;}
  .satellite-txt h2,.direction h2,.cta-souverain h2{font-size:2rem;}
  .satellite-txt .btn-small{align-self:center;}
  .dir-grid{grid-template-columns:1fr;gap:2.5rem;}
  .cta-row{grid-template-columns:1fr;}
  .cta-row .btn-small{justify-self:center;}
}

/* Barre d'onglets scrollable (beaucoup d'onglets) */
.tab-buttons-scroll{overflow-x:auto;flex-wrap:nowrap;}
.tab-buttons-scroll .tab-btn{flex:0 0 auto;padding-left:1rem;padding-right:1rem;}

/* Flèches navigation onglets */
.tabs-nav{position:relative;}
.tab-arrow{position:absolute;top:0;height:100%;width:36px;border:none;background:rgba(255,255,255,.95);cursor:pointer;font-size:1.4rem;color:#333;display:flex;align-items:center;justify-content:center;z-index:5;padding:0;}
.tab-arrow:hover{color:#000;}
.tab-arrow.left{left:0;}
.tab-arrow.right{right:0;}
.tab-arrow[hidden]{display:none;}
.tab-buttons-scroll{scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}
.tab-buttons-scroll::-webkit-scrollbar{display:none;}

/* ===== PAGE VENIR AU PÉROU ===== */
body.venir-page{background:#eaf1fb;}
body.venir-page header{background:#fff;}
.venir-section{max-width:1400px;margin:0 auto;padding:3.5rem 3.5rem 4rem;}
.venir-section h1{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin-bottom:3.5rem;}
.venir-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.venir-promesses{padding-left:1rem;}
.venir-promesses p{font-family:var(--serif);font-size:1.5rem;color:#1a1a1a;margin:0 0 3.2rem;line-height:1.4;}
.venir-promesses p:last-child{margin-bottom:0;}

.form-card{background:#fff;padding:3rem 3.5rem;}
.form-card h2{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin-bottom:2.5rem;}
.form-field{margin-bottom:2rem;}
.form-field label{display:block;font-size:1.05rem;color:#222;margin-bottom:1.2rem;}
.form-field input,.form-field textarea{width:100%;border:none;border-bottom:1px solid #333;background:transparent;padding:.4rem 0;font-family:var(--serif);font-size:1rem;color:#1a1a1a;outline:none;}
.form-field input:focus,.form-field textarea:focus{border-bottom-color:#000;}
.form-field textarea{min-height:90px;resize:vertical;}
.form-submit{display:block;width:100%;background:#0a0a0a;color:#fff;border:none;padding:1rem;letter-spacing:1px;font-family:var(--serif);font-size:1.05rem;cursor:pointer;transition:opacity .3s;margin-top:1rem;}
.form-submit:hover{opacity:.85;}
@media(max-width:850px){
  .venir-section{padding:2.5rem 1.5rem;}
  .venir-section h1{font-size:2.4rem;}
  .venir-grid{grid-template-columns:1fr;gap:2.5rem;}
  .venir-promesses p{font-size:1.25rem;margin-bottom:2rem;}
  .form-card{padding:2rem 1.5rem;}
}

/* ===== PAGE VOYAGES : espacement serré ===== */
.voyages-body{padding:2.5rem 3.5rem 4rem;max-width:1200px;margin:0 auto;}
.voyages-titre{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin:0 0 1.5rem;}
.voyages-intro{max-width:760px;margin:0 auto 3rem;text-align:center;color:var(--gris-texte);font-size:18px;line-height:1.8;}
@media(max-width:850px){
  .voyages-body{padding:2rem 1.5rem 3rem;}
  .voyages-titre{font-size:2rem;}
}

/* ===== PAGE CIRCUIT (itinéraire jour par jour) ===== */
.circuit-top{position:relative;padding:0 0 3rem;}
.circuit-top-img{width:100%;height:620px;object-fit:cover;display:block;}
.circuit-intro{position:relative;background:#fff;max-width:1500px;margin:-380px auto 0;padding:4rem 5rem 3.5rem;text-align:center;}
.circuit-intro h1{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:2.5rem;}
.circuit-intro h2{font-family:var(--display);font-size:50px;font-weight:500;margin:3rem 0 2rem;}
.circuit-intro p{color:#222;font-size:18px;line-height:1.8;margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto;text-align:center;}
.circuit-meta{max-width:1000px;margin:2.5rem auto 0;padding-top:0;padding-bottom:40px;border-bottom:1px solid #333;text-align:center;color:#333;font-size:18px;line-height:1.8;}

/* Étapes : photo plus petite, alternance, espaces réguliers */
.etapes{max-width:980px;margin:0 auto;padding:70px 28px 120px;}
.etape{display:grid;gap:76px;align-items:start;margin-bottom:150px;}
.etape:last-child{margin-bottom:0;}
.etape-img{width:100%;height:258px;object-fit:cover;display:block;margin-top:112px;}
.etape-txt{width:100%;text-align:center;}
.etape-txt h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:1.6rem;}
.etape-txt p{color:#333;font-size:18px;line-height:1.8;margin-bottom:1.4rem;}
.etape-txt .infos{margin-top:1.6rem;font-size:18px;color:#333;line-height:1.8;}
.etape-txt .infos a,.etape-txt .infos u{text-decoration:underline;}

/* Jours impairs : texte puis image à droite */
.etape:nth-child(odd){grid-template-columns:54% 1fr;}
.etape:nth-child(odd) .etape-txt{order:1;}
.etape:nth-child(odd) .etape-img{order:2;}

/* Jours pairs : image à gauche puis texte */
.etape:nth-child(even){grid-template-columns:1fr 54%;}
.etape:nth-child(even) .etape-img{order:1;}
.etape:nth-child(even) .etape-txt{order:2;}

/* 3 boutons encadrés */
.circuit-cta{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;padding:3rem 3.5rem 5rem;max-width:1400px;margin:0 auto;}
.circuit-cta a{flex:1;min-width:260px;max-width:400px;text-align:center;border:1px solid #000;padding:1.3rem 1rem;text-decoration:none;color:#000;letter-spacing:1px;font-size:18px;transition:all .3s;}
.circuit-cta a:hover{background:#000;color:#fff;}
.circuit-cta a .chev{margin-left:.4rem;}

@media(max-width:850px){
  .circuit-top-img{height:320px;}
  .circuit-intro{margin:-180px 1rem 0;padding:2rem 1.5rem;}
  .circuit-intro h1{font-size:2.1rem;}
  .circuit-meta{text-align:left;}
  .etapes{padding:2rem 1.5rem;}
  .etape{grid-template-columns:1fr !important;gap:1.5rem;margin-bottom:3rem;}
  .etape .etape-img,.etape .etape-txt{order:0 !important;width:100%;}
  .etape-img{height:230px;margin-top:0;}
  .etape-txt h2{font-size:1.8rem;}
  .circuit-cta{flex-direction:column;gap:1.2rem;padding:2rem 1.5rem 3rem;}
  .circuit-cta a{max-width:none;}
}

/* ===== PAGE CONDITIONS DE VENTE (styles via .cgv en haut + .tab-panel) ===== */

/* ===== EYEBROW CIRCUIT (nom de collection au-dessus du titre) ===== */
.circuit-eyebrow{font-family:var(--serif);font-style:italic;font-size:1.15rem;letter-spacing:3px;text-transform:uppercase;color:var(--gris-texte);text-align:center;margin-bottom:1rem;}

/* ===== PAGE GENESE / ARCHIVES DE VOYAGE ===== */
.archives-body{max-width:1200px;margin:0 auto;padding:2.5rem 3.5rem 150px;}
.archives-titre{font-family:var(--display);font-size:50px;font-weight:500;text-align:center;margin:0 0 1.8rem;}
.archives-intro{max-width:820px;margin:0 auto 3.5rem;text-align:center;color:var(--gris-texte);font-size:18px;line-height:1.8;}
.archives-intro p{margin-bottom:1.4rem;}
.archives-intro p:last-child{margin-bottom:0;}
.archives-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;}
.archive{text-decoration:none;color:inherit;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding-bottom:2.5rem;}
.archive-lift{transition:transform .4s ease;width:100%;}
.archive-media{overflow:hidden;}
.archive-media img{width:100%;height:440px;object-fit:cover;display:block;}
.archive h3{font-family:var(--display);font-size:1.6rem;font-weight:500;margin:1.6rem 0 .8rem;}
.archive p{color:var(--gris-texte);font-size:18px;line-height:1.8;max-width:300px;margin:0 auto;text-align:center;}
.archive .voir{position:absolute;bottom:0;left:0;right:0;color:var(--noir);font-style:italic;border-bottom:1px solid var(--noir);padding-bottom:2px;width:max-content;margin:0 auto;opacity:0;transition:opacity .4s ease .1s;}
.archive:hover .archive-lift{transform:translateY(-3rem);}
.archive:hover .voir{opacity:1;}
@media(max-width:850px){
  .archives-body{padding:2rem 1.5rem 100px;}
  .archives-titre{font-size:2.1rem;}
  .archives-grid{grid-template-columns:1fr;gap:2.5rem;}
  .archive-media img{height:360px;}
}

/* ===== BLOC JOUR PAR JOUR (titre centré / photo pleine largeur / texte dessous) ===== */
.trek-day{max-width:1400px;margin:0 auto;padding:4rem 3.5rem;text-align:center;}
.trek-day h2{font-family:var(--display);font-size:50px;font-weight:500;margin-bottom:2.5rem;}
.trek-day img{width:100%;max-width:1400px;height:auto;display:block;margin:0 auto 2.5rem;}
.trek-day p{max-width:1000px;margin:0 auto 1.5rem;line-height:1.8;color:#222;font-size:18px;text-align:center;}
.trek-day p:last-child{margin-bottom:0;}
@media(max-width:850px){
  .trek-day{padding:2.5rem 1.5rem;}
  .trek-day h2{font-size:2rem;}
}
.bio-story{max-width:1150px;margin:0 auto;padding:.5rem 4rem;}
.bio-story h2{font-family:var(--display);font-size:50px;font-weight:500;margin:0 0 1.8rem;}
.bio-story h3{font-family:var(--display);font-size:1.9rem;font-weight:500;margin:2.4rem 0 1.2rem;}
.bio-story h3:first-of-type{margin-top:0;}
.bio-story p{color:#333;font-size:18px;line-height:1.8;margin-bottom:1.2rem;}
.bio-story--center h2,.bio-story--center h3,.bio-story--center p{text-align:center;}
.bio-story--left h2,.bio-story--left h3,.bio-story--left p{text-align:center;}
@media(max-width:850px){
  .bio-story{padding:.5rem 1.5rem;}
  .bio-story h2{font-size:2rem;}
  .bio-story h3{font-size:1.5rem;}
}
