/* V20 — Living Experience : animations visibles, légères et facultatives */
:root{--v20-gold:#d8bb7c;--v20-ink:#17140f;--v20-glow:rgba(216,187,124,.34)}

/* Barre de lecture/navigation */
.v20-progress{position:fixed;z-index:9999;left:0;top:0;width:100%;height:3px;pointer-events:none;background:transparent}
.v20-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#9c7139,#ead7a2);box-shadow:0 0 14px rgba(225,201,148,.46);transition:width .08s linear}

/* Hero vivant */
.hero{isolation:isolate;overflow:hidden}
.hero-media{transform:scale(1.035);animation:v20HeroBreath 13s ease-in-out infinite alternate;will-change:transform,filter}
.hero::before{content:"";position:absolute;z-index:1;inset:-28%;pointer-events:none;background:
 radial-gradient(circle at var(--v20-x,28%) var(--v20-y,34%),rgba(236,216,164,.19),transparent 24%),
 radial-gradient(circle at 78% 70%,rgba(155,112,53,.11),transparent 25%);
 animation:v20Aura 12s ease-in-out infinite alternate;mix-blend-mode:screen}
.hero::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 22%,rgba(255,246,218,.085) 45%,transparent 68%);transform:translateX(-115%);animation:v20LightSweep 10s 1.4s ease-in-out infinite}
.hero-content{z-index:4}
.hero .eyebrow,.hero h1,.hero-copy,.hero-signature,.hero-actions,.hero-proof{opacity:0;transform:translateY(22px);animation:v20HeroReveal .9s cubic-bezier(.2,.75,.2,1) forwards}
.hero .eyebrow{animation-delay:.15s}.hero h1{animation-delay:.35s}.hero-copy{animation-delay:.58s}.hero-signature{animation-delay:.75s}.hero-actions{animation-delay:.88s}.hero-proof{animation-delay:1.05s}
.v20-particles{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}
.v20-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#f2db9d;box-shadow:0 0 12px 3px rgba(232,205,144,.26);opacity:0;animation:v20Float var(--duration) var(--delay) ease-in-out infinite}

/* Sections plus vivantes */
.v20-reveal{opacity:0;transform:translateY(32px) scale(.985);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1)}
.v20-reveal.v20-visible{opacity:1;transform:none}
.v20-reveal[data-v20-delay="1"]{transition-delay:.08s}.v20-reveal[data-v20-delay="2"]{transition-delay:.16s}.v20-reveal[data-v20-delay="3"]{transition-delay:.24s}
.section-heading h2{background:linear-gradient(105deg,currentColor 15%,#a77a3f 51%,currentColor 86%);background-size:210% auto;background-clip:text;-webkit-background-clip:text;animation:v20TitleShimmer 9s linear infinite}

/* Cartes interactives */
.service-card,.seo-card,.v15-card,.v15-feature-grid article,.premium-reassurance article,.local-card{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s,border-color .45s}
.service-card::after,.seo-card::after,.v15-card::after,.v15-feature-grid article::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,245,215,.22),transparent 34%);opacity:0;transition:opacity .35s}
.service-card:hover::after,.seo-card:hover::after,.v15-card:hover::after,.v15-feature-grid article:hover::after{opacity:1}
.service-card:hover,.seo-card:hover,.v15-card:hover,.v15-feature-grid article:hover{box-shadow:0 28px 72px rgba(39,31,18,.15),0 0 0 1px rgba(211,181,118,.15)}

/* Boutons et liens */
.btn,.nav-cta,.booking-float{transition:transform .28s,box-shadow .28s,background .28s,color .28s}
.btn:hover,.nav-cta:hover,.booking-float:hover{box-shadow:0 13px 34px rgba(139,99,43,.22),0 0 0 4px rgba(223,196,137,.08)}
.btn:active,.nav-cta:active,.booking-float:active{transform:translateY(1px) scale(.985)}

/* Témoignages : mouvement discret */
.testimonial.active{animation:v20Testimonial .7s cubic-bezier(.2,.75,.2,1) both}

/* Ambiance sonore facultative */
.v20-sound{position:fixed;z-index:2300;right:22px;bottom:92px;display:flex;align-items:center;gap:9px;border:1px solid rgba(218,190,130,.34);border-radius:999px;background:rgba(23,20,15,.88);color:#fff;padding:10px 14px;box-shadow:0 14px 40px rgba(0,0,0,.25);backdrop-filter:blur(14px);cursor:pointer;font:600 10px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;transition:.28s}
.v20-sound:hover{transform:translateY(-2px);border-color:#ddc58e}.v20-sound[aria-pressed="true"]{background:#d5b978;color:#17140f}.v20-sound-icon{font-size:15px}.v20-sound-waves{display:flex;align-items:center;gap:2px;height:14px}.v20-sound-waves i{display:block;width:2px;height:4px;background:currentColor;border-radius:2px}.v20-sound[aria-pressed="true"] .v20-sound-waves i{animation:v20Wave .8s ease-in-out infinite alternate}.v20-sound-waves i:nth-child(2){animation-delay:.15s!important}.v20-sound-waves i:nth-child(3){animation-delay:.3s!important}
.v20-toast{position:fixed;z-index:2400;right:22px;bottom:145px;max-width:280px;padding:12px 15px;border-radius:14px;background:rgba(23,20,15,.94);color:#fff;font:400 12px/1.5 var(--sans);box-shadow:0 18px 45px rgba(0,0,0,.27);opacity:0;transform:translateY(8px);pointer-events:none;transition:.3s}.v20-toast.show{opacity:1;transform:none}

/* Intro longue rendue réellement visible */
.opening{display:grid!important;opacity:1;visibility:visible;z-index:10000}
.opening.hide{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@keyframes v20HeroBreath{0%{transform:scale(1.035) translate3d(0,0,0);filter:saturate(.92)}100%{transform:scale(1.085) translate3d(-.7%,.5%,0);filter:saturate(1.06)}}
@keyframes v20Aura{to{transform:translate3d(4%,-3%,0) scale(1.08);opacity:.75}}
@keyframes v20LightSweep{0%,34%{transform:translateX(-115%)}55%,100%{transform:translateX(115%)}}
@keyframes v20HeroReveal{to{opacity:1;transform:none}}
@keyframes v20Float{0%{opacity:0;transform:translate3d(0,24px,0) scale(.65)}25%{opacity:.7}65%{opacity:.36}100%{opacity:0;transform:translate3d(var(--drift),-115px,0) scale(1.25)}}
@keyframes v20TitleShimmer{to{background-position:-210% center}}
@keyframes v20Testimonial{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes v20Wave{to{height:14px}}

@media(max-width:760px){.v20-sound{right:14px;bottom:84px;padding:9px 11px}.v20-sound-label{display:none}.hero::after{animation-duration:13s}.v20-particle:nth-child(n+13){display:none}}
@media(prefers-reduced-motion:reduce){.hero-media,.hero::before,.hero::after,.v20-particle,.section-heading h2{animation:none!important}.hero .eyebrow,.hero h1,.hero-copy,.hero-signature,.hero-actions,.hero-proof,.v20-reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.v20-sound{display:none}}
