/* Les 2 Drôles d’Oiseaux — héros vivants (voir provence.js). Palette de la maison : chaux #F3FAF5, sauge profond
   #008749, sauge #4EB625, moutarde #4AD504, sarcelle #18A5E6, bleu volet #9AD4F2, terre cuite #B4654A, encre #10262B. */
.pv-hote { position: relative; isolation: isolate; }
.pv-hote > .pv-defile { z-index: 0; }
.pv-defile { position: absolute; inset: 0; overflow: hidden; z-index: 2; pointer-events: none; background: #10262B; }
.pv-vue { position: absolute; inset: 0; opacity: 0; transition: opacity 1.7s cubic-bezier(.4, 0, .2, 1); }
.pv-vue.pv-on { opacity: 1; z-index: 2; }
.pv-vue.pv-sort { opacity: 0; z-index: 1; transition-duration: 1.9s; }
.pv-vue > img, .pv-vue > video { position: absolute; inset: -2%; width: 104%; height: 104%; object-fit: cover; will-change: transform; }
/* le lent mouvement de caméra, différent d'une image à l'autre */
.pv-on > img, .pv-on > video, .pv-sort > img, .pv-sort > video { animation: var(--pv-mouv) calc(var(--pv-duree, 6200ms) + 2400ms) cubic-bezier(.25, .1, .25, 1) both; }
.pv-m1 { --pv-mouv: pv-m1; } .pv-m2 { --pv-mouv: pv-m2; } .pv-m3 { --pv-mouv: pv-m3; } .pv-m4 { --pv-mouv: pv-m4; }
@keyframes pv-m1 { from { transform: scale(1.14) translate3d(-1.5%, 0, 0); } to { transform: scale(1.02) translate3d(1%, -.5%, 0); } }
@keyframes pv-m2 { from { transform: scale(1.02) translate3d(1%, 1%, 0); } to { transform: scale(1.13) translate3d(-1%, -1%, 0); } }
@keyframes pv-m3 { from { transform: scale(1.12) translate3d(1.5%, -1%, 0); } to { transform: scale(1.03) translate3d(-1.5%, .5%, 0); } }
@keyframes pv-m4 { from { transform: scale(1.06) translate3d(0, 1.5%, 0); } to { transform: scale(1.15) translate3d(0, -1%, 0); } }

/* le ciel qui passe : ombres de nuages et lumière chaude qui respire */
.pv-ciel { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.pv-nuage { position: absolute; width: 70vw; height: 46vh; border-radius: 50%; background: radial-gradient(closest-side, rgba(16, 38, 43, .30), rgba(16, 38, 43, 0)); filter: blur(30px); mix-blend-mode: multiply; animation: pv-nuage 46s linear infinite; }
.pv-nuage.n1 { top: 8%; left: -70vw; }
.pv-nuage.n2 { top: 46%; left: -70vw; width: 54vw; height: 36vh; animation-duration: 63s; animation-delay: -24s; opacity: .8; }
.pv-nuage.n3 { top: -12%; left: -70vw; width: 90vw; height: 50vh; animation-duration: 78s; animation-delay: -52s; opacity: .55; }
@keyframes pv-nuage { to { transform: translate3d(240vw, 6vh, 0); } }
.pv-soleil { position: absolute; right: -14vw; top: -22vh; width: 72vw; height: 72vw; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 214, 150, .42), rgba(255, 196, 120, .14) 52%, transparent); mix-blend-mode: screen; animation: pv-soleil 9s ease-in-out infinite alternate; }
@keyframes pv-soleil { from { opacity: .55; transform: scale(.96); } to { opacity: 1; transform: scale(1.05); } }

/* repère du diaporama : 01 / 05, traits, légende */
.pv-repere { position: absolute; z-index: 30; right: clamp(16px, 3.2vw, 48px); top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; gap: 12px; color: #fff; font: 500 11px/1.2 Jost, 'Helvetica Neue', sans-serif; letter-spacing: .18em; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); pointer-events: auto; }
.pv-num b { font: 400 22px/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .02em; margin-right: 2px; }
.pv-traits { display: flex; flex-direction: column; gap: 6px; }
.pv-traits button { width: 34px; height: 14px; padding: 0; border: 0; background: none; cursor: pointer; display: flex; align-items: center; justify-content: flex-end; }
.pv-traits i { display: block; height: 2px; width: 18px; background: rgba(255, 255, 255, .45); border-radius: 2px; position: relative; overflow: hidden; transition: width .5s; }
.pv-traits .pv-actif i { width: 34px; }
.pv-traits .pv-actif i::after { content: ""; position: absolute; inset: 0; background: #4AD504; transform-origin: left; animation: pv-trait var(--pv-duree, 6200ms) linear both; }
.pv-traits .pv-vu i { background: rgba(255, 255, 255, .8); }
@keyframes pv-trait { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.pv-leg { max-width: 220px; text-align: right; font: italic 400 15px/1.3 'Cormorant Garamond', Georgia, serif; letter-spacing: .01em; opacity: 0; transform: translateY(8px); }
.pv-leg.pv-leg-on { animation: pv-leg 1.1s .5s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes pv-leg { to { opacity: .95; transform: none; } }
@media (max-width: 760px) {
  .pv-repere { top: auto; bottom: 92px; transform: none; flex-direction: row; align-items: center; gap: 10px; }
  .pv-traits { flex-direction: row; } .pv-traits button { width: 22px; justify-content: center; } .pv-traits i { width: 14px; } .pv-traits .pv-actif i { width: 22px; }
  .pv-leg, .pv-num { display: none; }
}

/* le titre arrive mot à mot, puis le reste */
.pv-mot { display: inline-block; overflow: hidden; vertical-align: top; padding: .06em .02em .14em; margin: -.06em -.02em -.14em; }
.pv-mot-i { display: inline-block; transform: translate3d(0, 105%, 0) rotate(3deg); opacity: 0; filter: blur(10px); }
.pv-titre.pv-go .pv-mot-i { animation: pv-mot 1.25s cubic-bezier(.16, .84, .26, 1) both; animation-delay: calc(180ms + var(--i) * 75ms); }
@keyframes pv-mot { 60% { filter: blur(0); } to { transform: none; opacity: 1; filter: blur(0); } }
.pv-monte { opacity: 0; translate: 0 26px; }
.pv-monte.pv-go { animation: pv-monte 1.1s cubic-bezier(.2, .75, .25, 1) both; animation-delay: var(--d, 600ms); }
@keyframes pv-monte { to { opacity: 1; translate: 0 0; } }

/* les cigales */
.pv-cigales { position: fixed; z-index: 80; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px 9px 12px; border: 1px solid rgba(0, 135, 73, .25); border-radius: 999px; background: rgba(255, 255, 255, .86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #008749; font: 500 11px/1 Jost, sans-serif; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; box-shadow: 0 6px 24px rgba(16, 38, 43, .12); }
.pv-ondes { display: inline-flex; align-items: center; gap: 2px; height: 14px; }
.pv-ondes i { width: 2px; height: 5px; border-radius: 2px; background: #4AD504; }
.pv-joue .pv-ondes i { background: #18A5E6; }
.pv-joue .pv-ondes i { animation: pv-onde .9s ease-in-out infinite alternate; }
.pv-joue .pv-ondes i:nth-child(2) { animation-delay: .2s; } .pv-joue .pv-ondes i:nth-child(3) { animation-delay: .4s; } .pv-joue .pv-ondes i:nth-child(4) { animation-delay: .1s; }
@keyframes pv-onde { to { height: 14px; } }

/* version à plusieurs accueils : la barre s'anime (un accueil s'allume à son tour) */
.pv-barre { box-shadow: 0 10px 40px rgba(16, 38, 43, .18), 0 0 0 1px rgba(78, 182, 37, .35); }
.pv-barre .vsel-titre { color: #10262B !important; font-weight: 600 !important; }
.pv-barre a { transition: background .6s, color .6s, transform .6s; }
.pv-barre a.pv-lueur { background: rgba(74, 213, 4, .22); transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .pv-mot-i, .pv-monte { opacity: 1 !important; transform: none !important; translate: none !important; filter: none !important; animation: none !important; }
  .pv-nuage, .pv-soleil, .pv-on > img, .pv-on > video { animation: none !important; }
}

/* ── Lisibilité (06/11, retours d'Alexis) ─────────────────────────────────── */
/* un voile doux sur les images du héros : le haut pour le menu, la gauche et le bas pour le texte */
.pv-defile::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none;
  background: linear-gradient(180deg, rgba(16, 38, 43, .5) 0%, rgba(16, 38, 43, .12) 24%, rgba(16, 38, 43, 0) 42%, rgba(16, 38, 43, .18) 72%, rgba(16, 38, 43, .5) 100%),
              linear-gradient(90deg, rgba(16, 38, 43, .42) 0%, rgba(16, 38, 43, .16) 45%, rgba(16, 38, 43, 0) 70%); }
.pv-actif-heros h1, .pv-actif-heros h1 *, .pv-actif-heros p, .pv-actif-heros [class*="surtitre"], .pv-actif-heros [class*="kicker"] { text-shadow: 0 2px 22px rgba(8, 30, 38, .45), 0 1px 3px rgba(8, 30, 38, .3); }
/* menus plus grands, avec une ombre légère quand ils passent sur une image */
.tete-barre .nav > a, .tete-barre .nav .deroule > button, .tete-menu, .tete-cta { font-size: clamp(11.5px, .9vw, 13.5px) !important; }
.entete a, .entete button, .tete-barre a, .tete-barre button, .tete a, .tete button { text-shadow: 0 1px 12px rgba(8, 30, 38, .28); }
/* textes courants un peu plus grands */
main p:not([class]), .sec p:not([class]), section p:not([class]) { font-size: max(16.5px, 1em); line-height: 1.7; }

/* ── Titres de héros vivants : relief, flottement, vague, reflet, parallaxe ─ */
.pv-actif-heros h1, h1.pv-relief { translate: calc(var(--pv-mx, 0) * -16px) calc(var(--pv-my, 0) * -10px + var(--pv-sy, 0) * 110px); opacity: calc(1 - var(--pv-sy, 0) * .75); will-change: translate; }
h1.pv-relief { text-shadow: 0 1px 1px rgba(8, 30, 38, .28), 0 6px 16px rgba(8, 30, 38, .32), 0 22px 60px rgba(8, 30, 38, .42) !important; }
h1.pv-relief em, h1.pv-relief i { text-shadow: 0 1px 1px rgba(8, 30, 38, .28), 0 6px 16px rgba(8, 30, 38, .3), 0 0 46px rgba(232, 200, 140, .35) !important; }
.pv-titre.pv-fini .pv-mot-i { opacity: 1; filter: none; transform: none; animation: pv-flotte 7s ease-in-out infinite; animation-delay: calc(var(--i) * -.55s); }
@keyframes pv-flotte { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -.055em, 0); } }
.pv-titre.pv-vague .pv-mot-i { animation: pv-vague 1.35s cubic-bezier(.3, .7, .2, 1) both; animation-delay: calc(var(--i) * 60ms); }
@keyframes pv-vague { 0% { transform: none; } 38% { transform: translate3d(0, -.16em, 0); text-shadow: 0 18px 40px rgba(8, 30, 38, .5); } 100% { transform: none; } }
h1.pv-reflet::after { content: ""; position: absolute; inset: -8% -4%; pointer-events: none; background: linear-gradient(100deg, transparent 30%, rgba(255, 238, 205, .55) 48%, rgba(255, 238, 205, .2) 54%, transparent 70%); background-size: 260% 100%; mix-blend-mode: overlay; animation: pv-reflet 2.2s cubic-bezier(.4, 0, .2, 1) both; }
@keyframes pv-reflet { from { background-position: 120% 0; opacity: 1; } to { background-position: -40% 0; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pv-actif-heros h1, h1.pv-relief { translate: none; opacity: 1; } h1.pv-reflet::after { display: none; } }

@media (max-width: 1320px) { .entete-nav a { font-size: 10.8px !important; letter-spacing: .08em !important; } .entete-nav ul { gap: 12px !important; } }

/* theme:origine */
