/* Couche premium partagée : alignée sur la page de vente du Cercle Stelair */
:root{--c-viv:#12a094;--c-viv-lt:#35c3b6}
a{color:inherit}a:hover{color:var(--c-gold)}
body::after{content:"";position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44NScgbnVtT2N0YXZlcz0nMycvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJyBmaWx0ZXI9J3VybCgjbiknLz48L3N2Zz4=")}
.pm-prog{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--c-gold),var(--c-viv));z-index:60;transition:width .1s linear}
/* sections sombres : halo or + turquoise, ciel étoilé */
section.ink{background-image:radial-gradient(ellipse at 14% 0%,rgba(18,160,148,0.12),transparent 46%),radial-gradient(ellipse at 90% 100%,rgba(177,138,78,0.12),transparent 52%);overflow:hidden}
.pm-sky{position:absolute;inset:0;pointer-events:none;z-index:0}
.pm-sky i{position:absolute;width:2px;height:2px;background:#f4efe7;opacity:.5}
.pm-sky i.g{background:var(--c-gold);width:3px;height:3px;animation:pmTwk 5s ease-in-out infinite}
.pm-sky i.t{background:var(--c-viv-lt);width:3px;height:3px;box-shadow:0 0 8px rgba(53,195,182,0.9);animation:pmTwk 6s ease-in-out infinite}
@keyframes pmTwk{0%,100%{opacity:.25}50%{opacity:.9}}
:where(section.ink>*:not(.pm-sky)){position:relative}
/* labels : marqueur turquoise */
.label::after{background:linear-gradient(90deg,var(--c-gold),var(--c-viv))}
.h-display em,.h-title em{font-style:italic;color:var(--c-gold)}
/* boutons CTA : premium, lumineux, pulsants */
.btn:not(.btn--ghost){position:relative;overflow:visible;z-index:1;padding:20px 42px;min-height:60px;font-size:12px;letter-spacing:0.2em;background:linear-gradient(135deg,#d9bb82,#b18a4e 48%,#9c7842);border-color:#d9bb82;color:#201a12;box-shadow:0 16px 34px -16px rgba(177,138,78,0.75),inset 0 1px 0 rgba(255,255,255,0.4);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,filter .4s ease}
.btn:not(.btn--ghost)::before{content:"";position:absolute;inset:-4px;z-index:-1;border:1px solid rgba(177,138,78,0.55);animation:pmRing 3.4s cubic-bezier(.25,.6,.3,1) infinite}
@keyframes pmRing{0%{opacity:.85;transform:scale(1)}70%{opacity:0;transform:scale(1.16)}100%{opacity:0}}
.btn:not(.btn--ghost)::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,0.55) 48%,transparent 64%);background-size:260% 100%;background-position:-60% 0;animation:pmShine 4.6s ease-in-out infinite;pointer-events:none}
@keyframes pmShine{0%,62%{background-position:-60% 0}92%,100%{background-position:160% 0}}
.btn:not(.btn--ghost):hover{transform:translateY(-3px);filter:saturate(1.12);background:linear-gradient(135deg,#e2c48a,#b18a4e 48%,#9c7842);color:#201a12;box-shadow:0 24px 46px -16px rgba(177,138,78,0.9),0 0 0 1px rgba(232,210,163,0.8),inset 0 1px 0 rgba(255,255,255,0.5)}
.btn:not(.btn--ghost):hover::after{animation-duration:1.4s}
.btn--ghost{border-color:rgba(177,138,78,0.6);transition:border-color .4s ease,box-shadow .4s ease,color .4s ease,transform .4s ease}
.btn--ghost:hover{background:transparent;color:var(--c-viv-lt);border-color:var(--c-viv-lt);box-shadow:0 0 0 4px rgba(18,160,148,0.14),0 0 28px rgba(53,195,182,0.35);transform:translateY(-2px)}
.nav__links a.nav__cta{position:relative;border-color:var(--c-gold);box-shadow:0 0 0 0 rgba(18,160,148,0.5);animation:pmNav 3.4s ease-out infinite}
@keyframes pmNav{0%{box-shadow:0 0 0 0 rgba(18,160,148,0.45)}70%,100%{box-shadow:0 0 0 10px rgba(18,160,148,0)}}
.pm-prog~.nav,.nav{transition:background .4s ease,backdrop-filter .4s ease}
/* reveal plus doux */
.reveal{transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.card{transition:border-color .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.card:hover{border-color:var(--c-gold);box-shadow:0 30px 60px -36px rgba(36,30,25,0.45)}
.ink .card:hover{box-shadow:0 30px 60px -30px rgba(18,160,148,0.5)}
.footer{background-image:radial-gradient(ellipse at 50% 0%,rgba(18,160,148,0.08),transparent 60%)}
@media (max-width:620px){.btn:not(.btn--ghost){padding:18px 28px;min-height:56px;letter-spacing:0.16em}}
@media (prefers-reduced-motion:reduce){.btn::before,.btn::after,.nav__cta,.pm-sky i{animation:none!important}}
