/* ════════════════════════════════════════════════════════════════
   REFONTE 2026 — couche commune pour les pages intérieures.
   Chargée en dernier (juste avant </head>) : harmonise les anciens
   gabarits avec l'accueil sans toucher au contenu. Pas de couleur
   de texte imposée aux titres (certains sont sur fond sombre).
   ════════════════════════════════════════════════════════════════ */

/* Angles nets, comme l'accueil */
:root{--radius:3px;--r:3px}

/* ── Titres de section ───────────────────────────────────── */
h2.section-title,h2.sec-title,.sec-h,.section-title{
  font-family:var(--fd);font-weight:300;letter-spacing:-.005em;line-height:1.08;
  font-size:clamp(2rem,4.2vw,3.3rem)}
h2.section-title em,h2.sec-title em,.sec-h em,.section-title em{font-style:italic}
/* pages pilier et articles : h2 sans classe dans le contenu */
.content-wrap>h2,.article-body h2,.legal-content h2,.content h2{
  font-family:var(--fd);font-weight:300;letter-spacing:-.005em;line-height:1.12;
  font-size:clamp(1.75rem,3.3vw,2.6rem);margin-bottom:.7em}
.content-wrap>h3,.article-body h3{font-family:var(--fd);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.25}

/* ── Sur-titres ──────────────────────────────────────────── */
.section-tag,.lbl{display:inline-flex;align-items:center;gap:14px;font-family:var(--fb);font-weight:400;
  font-size:.72rem;letter-spacing:.3em;text-transform:uppercase}
.section-tag::before,.lbl::before{content:'';width:32px;height:1px;background:currentColor;opacity:.6;flex:none}

/* ── Boutons ─────────────────────────────────────────────── */
.btn-v,.btn-primary,.btn-white,.btn-ghost,.btn-outline,.btn-g,.cta-block a.btn,.btn-submit,.btn-step-next{
  border-radius:2px!important;font-family:var(--fb);font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  font-size:.72rem;min-height:52px;padding-left:28px;padding-right:28px;display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .5s cubic-bezier(.16,1,.3,1),color .5s cubic-bezier(.16,1,.3,1),border-color .5s,transform .5s cubic-bezier(.16,1,.3,1)}
.btn-v:hover,.btn-primary:hover,.btn-white:hover,.btn-ghost:hover,.btn-outline:hover,.btn-g:hover{transform:translateY(-2px)}

/* ── Pages pilier : bannière photo ───────────────────────── */
.hero-banner{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;
  min-height:min(78vh,720px);min-height:min(78svh,720px);
  padding:150px clamp(20px,5vw,56px) clamp(56px,9vh,96px)!important;overflow:hidden;background:#1A1814}
.hero-banner::before{content:'';position:absolute;inset:0;z-index:-2;background:var(--r-hb,url('/images/village-drone-soir.webp')) center/cover no-repeat;
  animation:r-settle 9s cubic-bezier(.2,.6,.2,1) both}
.hero-banner::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(20,18,15,.88) 0%,rgba(20,18,15,.45) 45%,rgba(20,18,15,.15) 75%),linear-gradient(to right,rgba(20,18,15,.35),rgba(20,18,15,0) 60%)}
.hero-banner h1{font-family:var(--fd);font-weight:300!important;color:#fff!important;text-align:left;letter-spacing:-.005em!important;
  font-size:clamp(2.1rem,4.8vw,4.2rem)!important;line-height:1.06!important;max-width:1000px!important;margin:0 0 22px!important;
  animation:r-up 1.2s cubic-bezier(.16,1,.3,1) .25s both}
.hero-banner .hero-sub{font-family:var(--fb)!important;font-style:normal!important;font-weight:300;font-size:clamp(.95rem,1.6vw,1.1rem)!important;
  line-height:1.7;color:rgba(247,243,236,.85)!important;max-width:620px!important;margin:0!important;text-align:left;
  animation:r-up 1.2s cubic-bezier(.16,1,.3,1) .45s both}
.hero-banner>*{width:100%;max-width:1240px}
.hero-banner .content-wrap{padding:0!important;margin:0!important;max-width:1240px!important}
.hero-banner .tag,.hero-banner .section-tag{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;background:none!important;padding:0!important;border:0!important;
  font-family:var(--fb);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(247,243,236,.85)!important;animation:r-up 1.2s cubic-bezier(.16,1,.3,1) .1s both}
.hero-banner .tag::before{content:'';width:32px;height:1px;background:currentColor;opacity:.7}
.hero-banner h1 em{font-style:italic;color:#E4CFA6!important}
@media (orientation:portrait){.hero-banner::before{background-image:var(--r-hb-m,var(--r-hb,url('/images/village-drone-soir-mobile.webp')))}}
@media (min-width:1300px){.hero-banner{padding-left:calc((100vw - 1240px) / 2 + 56px)!important}}

/* ── Chiffres clés des pages pilier ─────────────────────── */
.key-figures{border-top:1px solid rgba(26,24,20,.12);border-bottom:1px solid rgba(26,24,20,.12);border-radius:0!important;background:none!important;box-shadow:none!important}
.key-fig{background:none!important;box-shadow:none!important;border-radius:0!important}
.key-fig-num{font-family:var(--fd)!important;font-weight:300!important;font-size:clamp(2.2rem,4vw,3.4rem)!important;line-height:1!important}
.key-fig-label{font-size:.66rem!important;letter-spacing:.22em!important;text-transform:uppercase}
.intro-highlight{font-family:var(--fd);font-weight:300;font-size:clamp(1.25rem,2.2vw,1.65rem)!important;line-height:1.55!important}

/* ── En-tête des articles et pages légales ──────────────── */
.article-hero,.legal-hero,.blog-hero{padding-top:clamp(130px,16vw,190px)!important}
.article-hero h1,.legal-hero h1,.blog-hero h1{font-family:var(--fd);font-weight:300!important;letter-spacing:-.005em;
  font-size:clamp(2.1rem,4.8vw,3.8rem)!important;line-height:1.08!important;max-width:900px;margin-left:auto;margin-right:auto;
  animation:r-up 1.2s cubic-bezier(.16,1,.3,1) .2s both}
.article-body p,.article-body li{font-size:1.02rem;line-height:1.85}

/* ── Photos : léger zoom au survol (bureau) ─────────────── */
@media (hover:hover){
  .photo-item img,.seminaire-feature img,.g-item img,.espace-photo img,.formule img,.rando-card img,.pilier-card img{transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
}

@media (max-width:767px){
  .hero-banner{min-height:72svh;padding-top:120px!important;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
  .hero-banner h1{font-size:clamp(1.9rem,8vw,2.5rem)!important}
}
@media (prefers-reduced-motion:reduce){
  .hero-banner::before,.hero-banner h1,.hero-banner .hero-sub,.article-hero h1,.legal-hero h1,.blog-hero h1{animation:none!important}
}

/* ── Correctifs d'affichage (2026-09-25) ── */
/* titres : lignes équilibrées, plus de mot seul en fin de titre */
h1,h2,h3{text-wrap:balance}
/* l'ouverture r-hero ne prend pas le padding générique « section » de certaines pages */
section.r-hero{padding:0}
/* faits de l'ouverture : sur téléphone, pas de ✦ en début de ligne */
@media(max-width:767px){
  .r-hero-facts{gap:8px 18px}
  .r-hero-facts li+li::before{display:none}
}
/* titres d'ouverture posés sur photo : légère ombre pour la lisibilité */
.r-hero h1{text-shadow:0 1px 18px rgba(20,18,15,.45)}
