/* ===== TEST : DA claire NASGLASS (blanc/menthe, émeraude, jaune signal, encre vert nuit) =====
   Le héros animé (scène scroll) reste sombre ; tout le reste passe en clair. */
:root,.content.theme-nasglass,.content{--bg:#f6fbf8;--bg-soft:#e8faf3;--text:#04241b;--muted:rgba(4,36,27,.66);--line:rgba(4,36,27,.10);--accent:#00b884;--accent-deep:#008f67;--sig:#00b884}
.content,.content.theme-nasglass{background:linear-gradient(180deg,#ffffff,#f1faf6 40%,#e8faf3)!important;color:var(--text)}
body{background:linear-gradient(180deg,#ffffff,#f1faf6 40%,#e8faf3);color:var(--text)}
body::after{opacity:.025}
/* sections : fonds clairs, halos menthe/jaune */
main section:not(.scene),.content section{color:var(--text)}
.glow-section::before{background:radial-gradient(50% 40% at 50% 0%,rgba(0,184,132,.12),transparent 70%)}
.title{color:var(--text)}.title em{color:var(--accent);font-style:normal}
.lede{color:var(--muted)}.eyebrow{color:var(--accent-deep)}
/* le héros sombre garde ses textes clairs */
.scroll-track .title,.scroll-track .lede,.scroll-track .eyebrow{color:#fff}.scroll-track .title em{color:#02d59d}.scroll-track .lede{color:rgba(236,246,242,.82)}.scroll-track .eyebrow{color:#7dffcf}
/* mot clé surligné jaune dans les grands titres hors héros */
section:not(.scene) .title--hero em,.ngp .title em{background:linear-gradient(transparent 62%,rgba(2,213,157,.28) 62%);color:var(--accent-deep);padding:0 .05em}
/* cartes : blanches, ombre douce */
.stat,.ngp-vs__col,.ngp-tl li,.zone,.faq-local,details,.step,.review-card,.card,.service-card,.panel--glass,.contact-card,.form-card{background:#fff!important;border:1px solid rgba(4,36,27,.08)!important;box-shadow:0 14px 40px rgba(4,36,27,.08);color:var(--text)}
.stat__num{color:var(--accent)}.stat__label{color:var(--muted)}
.zone{color:var(--text)}.zone:hover{background:#e8faf3!important}
/* comparatif */
.ngp-vs__col li{color:var(--muted)}.ngp-vs__col--new{background:linear-gradient(160deg,#e8faf3,#fff 70%)!important;border-color:rgba(0,184,132,.5)!important}
.ngp-vs__col--new li,.ngp-vs__col--new b{color:var(--text)}.ngp-vs__tag{background:rgba(4,36,27,.06);color:var(--muted)}
.ngp-vs__col--new .ngp-vs__tag{background:var(--accent);color:#fff}
/* simulateur */
.ngp-sim__box{background:#fff;border:1px solid rgba(4,36,27,.08);box-shadow:0 30px 90px rgba(4,36,27,.12)}
.ngp-q__t{color:var(--text)}.ngp-q__o button{color:var(--text);background:#f3f8f6;border-color:rgba(4,36,27,.12)}
.ngp-q__o button[aria-pressed="true"]{background:linear-gradient(120deg,#00b884,#02d59d);color:#fff;box-shadow:0 8px 22px rgba(0,184,132,.35)}
.ngp-sim__res{background:#04241b}
/* étapes */
.ngp-tl p{color:var(--muted)}.ngp-tl::before{background:linear-gradient(90deg,transparent,rgba(0,184,132,.6),transparent)}
.ngp-fine{color:var(--muted)}
/* boutons */
.btn--primary{background:linear-gradient(120deg,#00b884,#02d59d);color:#03140d}
.btn--ghost{color:var(--text);border-color:rgba(4,36,27,.2)}
.scroll-track .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}
/* menu : verre clair */
.nav{background:rgba(255,255,255,.72);border-color:rgba(4,36,27,.08);box-shadow:0 10px 40px rgba(4,36,27,.10)}
.nav.is-scrolled{background:rgba(255,255,255,.88)}
.nav::before{background:linear-gradient(110deg,rgba(0,184,132,.5),rgba(4,36,27,.04) 40%,rgba(0,184,132,.35))}
.nav__links{background:rgba(4,36,27,.04);border-color:rgba(4,36,27,.06)}
.nav__links a{color:rgba(4,36,27,.7)}.nav__links a:hover{color:#04241b;background:rgba(4,36,27,.06)}
.nav__phone{color:#04241b;border-color:rgba(4,36,27,.14)}
.nav__burger{background:rgba(4,36,27,.06);border-color:rgba(4,36,27,.1)}.nav__burger span{background:#04241b}
.nav__brand{background:#04241b;border-radius:14px;padding:4px 10px}
/* formulaire / footer */
input,select,textarea{background:#fff!important;color:var(--text)!important;border-color:rgba(4,36,27,.15)!important}
.site-footer{background:#04241b;color:#eaf7f1}.site-footer *{border-color:rgba(255,255,255,.1)}
/* barre mobile et pied de page restent sombres : textes clairs */
.mobile-cta__btn{color:#eaf7f1}
.site-footer,.site-footer a,.site-footer p,.site-footer h4,.site-footer li,.site-footer span{color:rgba(234,247,241,.78)}
.site-footer h4{color:#fff}.site-footer a:hover{color:#02d59d}

/* ===== Parcours cadeau ===== */
.ngq__box{max-width:880px;margin:0 auto;background:#fff;border-radius:34px;padding:clamp(22px,4vw,48px);box-shadow:0 40px 110px rgba(4,36,27,.14);border:1px solid rgba(4,36,27,.06);position:relative;overflow:hidden}
.ngq__box::before{content:"";position:absolute;inset:-30% -10% auto auto;width:60%;height:60%;background:radial-gradient(circle,rgba(2,213,157,.18),transparent 70%);pointer-events:none}
.ngq__head .title{margin:.25em 0 .5em}
.ngq__bar{height:8px;border-radius:99px;background:#e8f3ee;overflow:hidden}.ngq__bar i{display:block;height:100%;width:6%;border-radius:99px;background:linear-gradient(90deg,#00b884,#02d59d);transition:width .5s cubic-bezier(.22,.8,.3,1)}
.ngq__meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 18px;font-size:14px;font-weight:700;color:var(--muted)}
.ngq__gift{background:#e8faf3;color:#04241b;border-radius:99px;padding:6px 12px;animation:ngqPop .45s cubic-bezier(.3,1.6,.5,1)}
.ngq__s{display:none;border:0;margin:0;padding:0;min-width:0}.ngq__s.is-on{display:block;animation:ngqIn .45s cubic-bezier(.22,.8,.3,1)}
@keyframes ngqIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes ngqPop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.ngq__s legend{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;color:#04241b;margin-bottom:6px;padding:0}
.ngq__hint{margin:0 0 14px;color:var(--muted);font-size:15px}
.ngq__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:14px}
.ngq__opts button,.ngq__gifts button{font:inherit;cursor:pointer;border:2px solid rgba(4,36,27,.10);background:#f7fbf9;color:#04241b;border-radius:20px;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.ngq__opts button{display:flex;align-items:center;gap:12px;padding:18px;font-weight:800;font-size:17px;text-align:left}
.ngq__opts button span{font-size:26px}
.ngq__opts button:hover,.ngq__gifts button:hover{transform:translateY(-3px);border-color:rgba(0,184,132,.6);box-shadow:0 12px 30px rgba(0,184,132,.18);background:#fff}
.ngq__opts button[aria-pressed="true"],.ngq__gifts button[aria-pressed="true"]{border-color:#00b884;background:#e8faf3;box-shadow:0 0 0 4px rgba(0,184,132,.15)}
.ngq__gifts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:10px}
.ngq__gifts button{padding:0;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.ngq__gifts img{width:100%;aspect-ratio:1;object-fit:contain;padding:10px;box-sizing:border-box;mix-blend-mode:multiply}.ngq__gifts img.cv{object-fit:cover;padding:0;mix-blend-mode:normal}
.ngq__fuel{display:grid;place-items:center;aspect-ratio:1;font-style:normal;font:800 30px Sora;color:#fff;background:linear-gradient(135deg,#04241b,#0b4a37 55%,#02d59d)}
.ngq__gifts b{display:block;padding:10px 6px 12px;font-size:14px;line-height:1.2;background:#04241b;color:#fff}.ngq__gifts b small{display:block;color:#7dffcf;font-size:12px}
.ngq__s label{display:block;font-weight:800;font-size:14px;color:#04241b;margin-top:12px}
.ngq__s input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:16px 18px;border-radius:16px;border:2px solid rgba(4,36,27,.12)!important;font:inherit;font-size:17px;transition:border-color .2s,box-shadow .2s}
.ngq__s input:focus{outline:0;border-color:#00b884!important;box-shadow:0 0 0 4px rgba(0,184,132,.15)}
.ngq__s input.bad{border-color:#ff5a5a!important}
.ngq__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ngq__ok{display:flex!important;gap:10px;align-items:flex-start;font-weight:600!important;color:var(--muted)!important;margin-top:16px!important}.ngq__ok input{margin-top:3px;width:20px;height:20px;accent-color:#00b884}.ngq__ok input.bad{outline:2px solid #ff5a5a}
.ngq__nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:12px}
.ngq__back{background:none;border:0;color:var(--muted);font-weight:700;cursor:pointer;padding:10px 0;margin-top:12px}
.ngq__err{color:#d93636;font-weight:700;font-size:14px;margin:10px 0 0}
.ngq__hp{position:absolute;left:-9999px}
.ngq__done{text-align:center;padding:10px 0}.ngq__done h3{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);margin:14px 0 8px;color:#04241b}.ngq__done p{color:var(--muted);font-size:17px;max-width:560px;margin:0 auto 22px;line-height:1.55}
.ngq__check{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#00b884,#02d59d);color:#fff;font-size:42px;font-weight:800;box-shadow:0 18px 40px rgba(0,184,132,.35);animation:ngqPop .6s cubic-bezier(.3,1.6,.5,1)}
.ngq__call{display:block;margin-top:14px;font-weight:700;color:#008f67}
.ngq__trust{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;font-size:14px;font-weight:700;color:var(--muted)}
.ngq__box.is-done .ngq__confetti{position:absolute;inset:0;pointer-events:none;background:
 radial-gradient(circle,#02d59d 3px,transparent 4px) 10% 20%/40px 40px,radial-gradient(circle,#00b884 3px,transparent 4px) 80% 10%/56px 56px,radial-gradient(circle,#7dffcf 3px,transparent 4px) 50% 60%/48px 48px;opacity:.5;animation:ngqConf 2.5s ease-out forwards}
@keyframes ngqConf{from{transform:translateY(-40px);opacity:.8}to{transform:translateY(30px);opacity:0}}
@media (max-width:760px){.ngq__gifts{grid-template-columns:repeat(2,1fr)}.ngq__gifts button:first-child{grid-column:1/-1}.ngq__gifts button:first-child .ngq__fuel{aspect-ratio:3}.ngq__row{grid-template-columns:1fr}.ngq__opts{grid-template-columns:1fr 1fr}.ngq__opts button{flex-direction:column;text-align:center;padding:16px 10px}}
/* objection */
.ngw__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.ngw__c{background:#fff;border-radius:24px;padding:26px 22px;box-shadow:0 14px 40px rgba(4,36,27,.08);border:1px solid rgba(4,36,27,.06)}
.ngw__c b{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e8faf3;color:#008f67;font:800 18px Sora}
.ngw__c h3{font-family:var(--font-display);font-size:19px;margin:14px 0 8px;color:#04241b;line-height:1.25}.ngw__c p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
@media (max-width:1000px){.ngw__grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.ngw__grid{grid-template-columns:1fr}}
/* bouton cadeau */
.ngp-g__cta{display:block;text-align:center;padding:11px 8px;font-weight:800;font-size:14px;background:linear-gradient(120deg,#00b884,#02d59d);color:#fff}
.ngq__head .title{font-size:clamp(28px,3.4vw,42px);line-height:1.08}
/* héros émeraude : accents en vert nuit, panneau verre teinté */
.scroll-track .title em{color:#04241b!important}
.scroll-track .eyebrow{color:#04241b!important;opacity:.85}
.scroll-track .lede{color:rgba(255,255,255,.92)!important}
.scroll-track .panel--glass{background:rgba(4,36,27,.30)!important;border:1px solid rgba(255,255,255,.25)!important;backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,60,44,.3)}
.scene__veil{background:linear-gradient(rgba(0,70,50,.35),rgba(0,70,50,0) 22%,rgba(0,70,50,0) 72%,rgba(0,70,50,.4))!important}
.scroll-track .btn--primary{background:#fff;color:#04241b}
.scroll-track .panel--glass .title em,.scroll-track .panel--glass .eyebrow{color:#7dffcf!important;opacity:1}

/* ===== Espace pro ===== */
.pro{color:#04241b}.pro em{font-style:normal;color:#00b884}
.pro-tag{display:inline-block;font:800 13px var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#008f67}
.pro h1{font-family:var(--font-display);font-weight:800;font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-.035em;margin:.3em 0 .35em}
.pro h2{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.03em;margin:.25em 0 0}
.pro-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:64px 20px 56px;max-width:1180px;margin:0 auto}
.pro-lede{font-size:19px;line-height:1.6;color:rgba(4,36,27,.72);max-width:620px}.pro-lede b{color:#04241b}
.pro-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:24px}
.pro-dl{font-weight:800;color:#008f67;padding:12px 6px}
.pro-mini{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-weight:700;font-size:15px;color:rgba(4,36,27,.7)}
.pro-hero__vis{position:relative}.pro-hero__vis img{width:100%;border-radius:22px;box-shadow:0 40px 100px rgba(4,36,27,.22);transform:perspective(1200px) rotateY(-8deg) rotateX(3deg);transition:transform .6s}
.pro-hero__vis:hover img{transform:perspective(1200px) rotateY(0) rotateX(0)}
.pro-badge{position:absolute;left:-22px;bottom:40px;background:linear-gradient(135deg,#00b884,#02d59d);color:#fff;border-radius:22px;padding:16px 20px;font:800 38px var(--font-display);line-height:1;box-shadow:0 20px 50px rgba(0,184,132,.4);animation:proFloat 4s ease-in-out infinite}
.pro-badge small{display:block;font:700 13px var(--font-body);margin-top:4px;opacity:.9}
@keyframes proFloat{50%{transform:translateY(-10px)}}
.pro-band{background:#04241b;color:#fff;padding:34px 0}
.pro-band__in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:0 auto;padding:0 20px}
.pro-band b{display:block;font:800 clamp(30px,3.4vw,44px) var(--font-display);color:#02d59d;letter-spacing:-.03em}.pro-band span{font-size:15px;color:rgba(234,247,241,.75)}
.pro-sec{padding:80px 20px 20px;max-width:1180px;margin:0 auto}
.pro-head{text-align:center;max-width:760px;margin:0 auto 38px}
.pro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pro-card{background:#fff;border-radius:26px;padding:30px 26px;border:1px solid rgba(4,36,27,.07);box-shadow:0 18px 50px rgba(4,36,27,.08);transition:transform .3s,box-shadow .3s}
.pro-card:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(4,36,27,.14)}
.pro-card--hl{background:linear-gradient(160deg,#e8faf3,#fff 65%);border-color:rgba(0,184,132,.45)}
.pro-ic{font-size:34px}.pro-card h3{font:800 24px var(--font-display);margin:12px 0 8px}.pro-card p{color:rgba(4,36,27,.7);font-size:16px;line-height:1.55;margin:0 0 14px}
.pro-card ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.pro-card li{position:relative;padding-left:28px;font-weight:700;font-size:15px}
.pro-card li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#00b884;color:#fff;font-size:12px;display:grid;place-items:center}
.pro-how{padding:90px 0 20px}
.pro-steps{list-style:none;padding:0 20px;margin:0 auto;max-width:1180px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.pro-steps li{background:#fff;border-radius:24px;padding:28px 24px;border:1px solid rgba(4,36,27,.07);box-shadow:0 14px 40px rgba(4,36,27,.07)}
.pro-steps b{font:800 40px var(--font-display);color:transparent;-webkit-text-stroke:1.5px #00b884}.pro-steps h3{font:800 21px var(--font-display);margin:8px 0}.pro-steps p{margin:0;color:rgba(4,36,27,.7);line-height:1.55}
.pro-faq{max-width:820px;margin:0 auto;display:grid;gap:12px}.pro-faq details{border-radius:18px;padding:18px 22px}.pro-faq summary{cursor:pointer}
.pro-form-sec{padding:90px 20px 100px}
.pro-formbox{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;border-radius:34px;overflow:hidden;box-shadow:0 40px 110px rgba(4,36,27,.18)}
.pro-formbox__l{background:radial-gradient(70% 60% at 0% 0%,rgba(2,213,157,.35),transparent 70%),#04241b;color:#fff;padding:44px 38px}
.pro-formbox__l h2{color:#fff}.pro-formbox__l em{color:#02d59d}.pro-formbox__l p{color:rgba(234,247,241,.8);font-size:17px;line-height:1.55;margin:14px 0 22px}
.pro-alt{display:block;font-weight:800;color:#fff;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}
.pro-f{background:#fff;padding:40px 38px;position:relative}
.pro-f__q{font:800 18px var(--font-display);margin:0 0 10px}
.pro-f__ch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.pro-f__ch button{font:inherit;font-weight:800;font-size:14px;padding:10px 14px;border-radius:12px;border:2px solid rgba(4,36,27,.12);background:#f5faf8;color:#04241b;cursor:pointer}
.pro-f__ch button[aria-pressed="true"]{border-color:#00b884;background:#e8faf3}
.pro-f label{display:block;font-weight:800;font-size:14px;margin-top:12px}
.pro-f input:not([type=checkbox]),.pro-f select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:14px 16px;border-radius:14px;border:2px solid rgba(4,36,27,.12)!important;font:inherit;font-size:16px}
.pro-f input.bad{border-color:#ff5a5a!important}
.pro-f__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pro-f .btn{margin-top:18px;width:100%;justify-content:center}
.pro-f__msg{font-weight:700;font-size:14px;margin:10px 0 0}.pro-f__msg.err{color:#d93636}
.pro-ok{text-align:center;padding:40px 0}.pro-ok span{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#00b884,#02d59d);color:#fff;font-size:38px;font-weight:800}.pro-ok h3{font:800 28px var(--font-display);margin:14px 0 6px}.pro-ok p{color:rgba(4,36,27,.7);margin:0 0 20px}
@media (max-width:900px){.pro-hero,.pro-formbox{grid-template-columns:1fr}.pro-hero__vis{order:-1;max-width:420px;margin:0 auto}.pro-badge{left:0}.pro-cards,.pro-steps{grid-template-columns:1fr}.pro-band__in{grid-template-columns:1fr 1fr}.pro-f__row{grid-template-columns:1fr}.pro-f,.pro-formbox__l{padding:30px 22px}}

/* ===== Menu aux couleurs du logo : noir profond, émeraude, argent chromé ===== */
.nav{background:linear-gradient(180deg,rgba(10,22,18,.92),rgba(3,10,8,.90))!important;border:0!important;
 box-shadow:0 14px 44px rgba(3,20,15,.35),inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.6)!important;backdrop-filter:blur(18px) saturate(160%)}
.nav.is-scrolled{background:linear-gradient(180deg,rgba(8,18,15,.96),rgba(2,8,6,.95))!important}
.nav::before{background:linear-gradient(100deg,#02d59d 0%,rgba(2,213,157,.15) 18%,#e9eef0 38%,#8d979b 50%,#f4f7f8 62%,rgba(2,213,157,.15) 82%,#02d59d 100%)!important;opacity:.9}
.nav__brand{background:none!important;padding:0!important}
.nav__logo{filter:drop-shadow(0 0 10px rgba(2,213,157,.35))}
.nav__links{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important}
.nav__links a{color:#c9d3d6!important;letter-spacing:.02em}
.nav__links a:hover{color:#fff!important;background:rgba(2,213,157,.12)!important}
.nav__links a[aria-current="page"]{color:#03140d!important;background:linear-gradient(120deg,#00b884,#02d59d 60%,#7dffcf)!important;box-shadow:0 4px 18px rgba(2,213,157,.4)}
.nav__phone{color:#f1f5f6!important;border:1px solid transparent!important;background:linear-gradient(#071510,#071510) padding-box,linear-gradient(110deg,#8d979b,#f4f7f8 45%,#8d979b) border-box!important}
.nav__phone:hover{background:linear-gradient(#0b2019,#0b2019) padding-box,linear-gradient(110deg,#02d59d,#f4f7f8 50%,#02d59d) border-box!important}
.nav__cta{background:linear-gradient(120deg,#00a87a,#02d59d 55%,#7dffcf)!important;color:#03140d!important;box-shadow:0 6px 24px rgba(2,213,157,.45),inset 0 1px 0 rgba(255,255,255,.5)!important}
.nav__burger{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.14)!important}.nav__burger span{background:#f1f5f6!important}

/* ===== Avis Google lisibles sur fond clair ===== */
.reviews-marquee .review,.review{background:#fff!important;border:1px solid rgba(4,36,27,.08)!important;box-shadow:0 14px 40px rgba(4,36,27,.08)!important;color:#04241b!important}
.reviews-marquee .review p,.review p{color:rgba(4,36,27,.78)!important}
.review footer,.review footer strong,.review footer b{color:#04241b!important}
.review footer small{color:rgba(4,36,27,.55)!important}
.reviews-marquee .review::before{color:rgba(0,184,132,.18)!important}
.review__avatar{background:linear-gradient(135deg,#00b884,#02d59d)!important;color:#fff!important}
.rm-score__note{background:linear-gradient(180deg,#04241b 30%,#00b884)!important;-webkit-background-clip:text!important;background-clip:text!important}
.rm-score__count{color:rgba(4,36,27,.65)!important}.rm-score__count b{color:#04241b!important}
.reviews-marquee .eyebrow{color:#008f67!important}
.reviews-marquee .btn--ghost{background:linear-gradient(120deg,#00b884,#02d59d)!important;color:#fff!important;border:0!important;box-shadow:0 12px 30px rgba(0,184,132,.3)}

/* ===== Animations x3 ===== */
.fx-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#00b884,#7dffcf);z-index:2147483001}
.fx-r{opacity:0;transform:translateY(34px) scale(.985);filter:blur(6px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s}
.fx-r.fx-in{opacity:1;transform:none;filter:none}
.fx-w,.title em{display:inline-block;opacity:0;transform:translateY(.45em);filter:blur(8px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s}
.fx-in .fx-w,.fx-in em,.title.fx-in .fx-w,.title.fx-in em{opacity:1;transform:none;filter:none}
.scroll-track .fx-w,.scroll-track .title em{opacity:1;transform:none;filter:none}
.stat,.zone,.ngw__c,.pro-card,.review{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.fx-glow{position:fixed;left:0;top:0;width:400px;height:400px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(2,213,157,.12),transparent 65%);transition:transform .25s ease-out}
.btn--primary{position:relative;overflow:hidden}.btn--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45),transparent 70%);transform:translateX(-120%);transition:transform .7s}.btn--primary:hover::after{transform:translateX(120%)}
@media (prefers-reduced-motion:reduce){.fx-r,.fx-w,.title em{opacity:1!important;transform:none!important;filter:none!important}}

/* ===== Vague 2 : composants « waouh » ===== */
.fx-pop{opacity:0;transform:translateY(40px) scale(.94) rotateX(8deg);filter:blur(8px);transition:opacity .85s cubic-bezier(.16,1,.3,1) var(--d,0ms),transform .85s cubic-bezier(.16,1,.3,1) var(--d,0ms),filter .85s var(--d,0ms)}
.fx-pop-in>.fx-pop{opacity:1;transform:none;filter:none}
.reviews-marquee__track>.fx-pop{opacity:1;transform:none;filter:none}
/* reflet qui traverse les cartes au survol */
.stat,.ngw__c,.pro-card,.review,.zone,.ngq__opts button,.ngq__gifts button,.ngp-vs__col,.ngp-tl li{position:relative;overflow:hidden}
.stat::after,.ngw__c::after,.pro-card::after,.review::after,.ngp-vs__col::after,.ngp-tl li::after{content:"";position:absolute;inset:-40% auto -40% -60%;width:40%;background:linear-gradient(100deg,transparent,rgba(2,213,157,.16),rgba(255,255,255,.55),transparent);transform:skewX(-18deg) translateX(0);transition:transform 1s cubic-bezier(.16,1,.3,1);pointer-events:none}
.stat:hover::after,.ngw__c:hover::after,.pro-card:hover::after,.review:hover::after,.ngp-vs__col:hover::after,.ngp-tl li:hover::after{transform:skewX(-18deg) translateX(420%)}
/* bordure lumineuse animée sur les composants clés */
.ngq__box,.ngp-vs__col--new,.pro-formbox{position:relative}
.ngq__box::after,.ngp-vs__col--new::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,#02d59d 80%,#7dffcf 85%,transparent 95%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fxSpin 5s linear infinite;pointer-events:none}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes fxSpin{to{--a:360deg}}
/* icônes et numéros qui rebondissent à l'apparition */
.fx-pop-in .ngw__c b,.fx-pop-in .ngp-tl span,.fx-pop-in .pro-ic{animation:fxBounce .9s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--d,0ms) + .25s)}
@keyframes fxBounce{from{transform:scale(.3) rotate(-12deg);opacity:0}to{transform:none;opacity:1}}
/* cadeaux : lévitation au survol + parallaxe */
.ngp-g__pic img,.pro-hero__vis img{transform:translateY(var(--py,0));transition:transform .2s linear}
.ngp-g:hover .ngp-g__pic img{transform:translateY(calc(var(--py,0px) - 10px)) scale(1.06);transition:transform .5s cubic-bezier(.16,1,.3,1)}
/* bandeau défilant */
.fx-strip{position:relative;z-index:11;overflow:hidden;background:#04241b;padding:16px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.fx-strip__t{display:flex;gap:28px;width:max-content;animation:fxMarq 38s linear infinite;align-items:center}
.fx-strip span{font:800 18px var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#eafff6;white-space:nowrap}
.fx-strip i{font-style:normal;color:#02d59d}
@keyframes fxMarq{to{transform:translateX(-50%)}}
/* boutons : transition fluide pour l'effet magnétique */
.btn,.nav__cta{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s}
/* titres : soulignement émeraude qui se dessine */
.content section .title em{background:linear-gradient(transparent 64%,rgba(2,213,157,.28) 64%) no-repeat 0 0/0% 100%;transition:background-size 1s cubic-bezier(.16,1,.3,1) .4s,opacity .7s,transform .7s,filter .7s}
.content section .title.fx-in em{background-size:100% 100%}
@media (prefers-reduced-motion:reduce){.fx-pop{opacity:1!important;transform:none!important;filter:none!important}.fx-strip__t,.ngq__box::after,.ngp-vs__col--new::after{animation:none}}

/* ===== Vague 3 ===== */
.fx-spot{--mx:50%;--my:50%}
.fx-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(2,213,157,.16),transparent 60%);opacity:0;transition:opacity .3s;z-index:0}
.fx-spot:hover::before{opacity:1}
.fx-spot>*{position:relative;z-index:1}
.fx-dots{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.8}
.content,.site-footer{position:relative;z-index:2}
.content section{background-color:transparent}
.fx-ring{position:fixed;left:0;top:0;width:36px;height:36px;border-radius:50%;border:2px solid rgba(2,213,157,.7);pointer-events:none;z-index:2147483002;transition:width .25s,height .25s,margin .25s,background .25s;mix-blend-mode:multiply}
.fx-ring.is-hot{width:64px;height:64px;margin:-14px 0 0 -14px;background:rgba(2,213,157,.12)}
.fx-wipe{clip-path:inset(0 100% 0 0 round 20px);transform:scale(1.08);transition:clip-path 1.1s cubic-bezier(.77,0,.18,1),transform 1.4s cubic-bezier(.16,1,.3,1)}
.fx-wipe.fx-wipe-in{clip-path:inset(0 0 0 0 round 20px);transform:none}
/* fond de sections : maillage de dégradés qui bouge doucement */
.ngp,.glow-section{background:radial-gradient(40% 50% at var(--gx,20%) 30%,rgba(2,213,157,.10),transparent 70%),radial-gradient(40% 50% at 80% var(--gy,70%),rgba(0,184,132,.08),transparent 70%);animation:fxMesh 14s ease-in-out infinite alternate}
@property --gx{syntax:"<percentage>";inherits:false;initial-value:20%}
@property --gy{syntax:"<percentage>";inherits:false;initial-value:70%}
@keyframes fxMesh{to{--gx:75%;--gy:25%}}
@media (prefers-reduced-motion:reduce){.fx-wipe{clip-path:none!important;transform:none!important}.fx-dots,.fx-ring{display:none}.ngp,.glow-section{animation:none}}
@media (max-width:900px){.fx-ring{display:none}}
article .title em,article .fx-w{opacity:1!important;transform:none!important;filter:none!important}
/* Intro accueil : logo + reflet, puis rideau qui se lève (scroll-video.js) */
#loader.ngi{background:radial-gradient(120% 80% at 50% 45%,#0a3a2b 0%,#04241b 45%,#020d09 100%);overflow:visible;border-radius:0 0 50% 50%/0 0 0 0;will-change:transform}
.ngi-seen #loader{display:none}
.ngi__glow{position:absolute;left:50%;top:46%;width:min(120vw,900px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(0,184,132,.28),transparent 60%);filter:blur(20px);animation:ngiGlow 2.4s ease-out both;pointer-events:none}
.ngi__inner{position:relative;width:min(380px,94vw)}
.ngi__logo{position:relative;width:min(72vw,clamp(260px,24vw,400px));margin:0 auto 22px;animation:ngiLogo 1s cubic-bezier(.16,1,.3,1) .1s both}
.ngi .loader__img{display:block;mix-blend-mode:normal;filter:drop-shadow(0 0 24px rgba(0,184,132,.35));width:100%;margin:0}
.ngi .loader__mono,.ngi .loader__logo,.ngi .loader__pct{display:none}
.ngi__sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:150% 0;mix-blend-mode:overlay;
  -webkit-mask:url(/assets/logo-intro.webp) center/100% 100% no-repeat;mask:url(/assets/logo-intro.webp) center/100% 100% no-repeat;animation:ngiSheen 1.1s cubic-bezier(.65,0,.35,1) .55s both}
.ngi__track{width:min(180px,46vw);height:2px;margin:0 auto;background:rgba(255,255,255,.1);animation:ngiFade .6s ease .45s both}
.ngi #loader-bar{background:linear-gradient(90deg,#00b884,#7dffcf);box-shadow:0 0 12px #00e39b}
.ngi__tag{margin:16px 0 0;text-align:center;font:600 11px/1.4 Manrope,system-ui,sans-serif;letter-spacing:.22em;white-space:nowrap;text-transform:uppercase;color:rgba(214,255,239,.72);animation:ngiTag .9s cubic-bezier(.16,1,.3,1) .6s both}
.ngi__edge{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,transparent,#00e39b 20%,#c9fff0 50%,#00e39b 80%,transparent);box-shadow:0 0 24px 4px rgba(0,227,155,.55);opacity:0;border-radius:inherit;pointer-events:none}
@keyframes ngiGlow{from{opacity:0;scale:.6}}
@keyframes ngiLogo{from{opacity:0;scale:.9;filter:blur(14px)}}
@keyframes ngiSheen{to{background-position:-50% 0}}
@keyframes ngiFade{from{opacity:0}}
@keyframes ngiTag{from{opacity:0;letter-spacing:.45em;filter:blur(4px)}}
@media (prefers-reduced-motion:reduce){.ngi__glow,.ngi__logo,.ngi__sheen,.ngi__track,.ngi__tag{animation:none}}
/* Transitions entre pages : une par rubrique (page-transition.js choisit, head.js pose html[data-ngpt]) */
.ngpt,html.ngpt-in::after{position:fixed;inset:0;z-index:2147483646;pointer-events:none;
  background:url(/assets/logo-intro.webp) center/clamp(150px,24vw,260px) auto no-repeat,radial-gradient(120% 80% at 50% 45%,#0a3a2b 0%,#04241b 45%,#020d09 100%)}
html.ngpt-in::after{content:"";animation:.75s cubic-bezier(.7,0,.3,1) .12s both}
.ngpt{animation:.5s cubic-bezier(.7,0,.3,1) both}
/* 1. Rideau qui monte (accueil) */
.ngpt--curtain{border-top:2px solid #00e39b;box-shadow:0 -8px 40px rgba(0,227,155,.45);animation-name:ngCurUp}
html[data-ngpt=curtain]::after{border-bottom:2px solid #00e39b;box-shadow:0 8px 40px rgba(0,227,155,.45);animation-name:ngCurAway}
@keyframes ngCurUp{from{transform:translateY(102%);border-radius:50% 50% 0 0/18vh 18vh 0 0}to{transform:none;border-radius:0}}
@keyframes ngCurAway{to{transform:translateY(-102%);border-radius:0 0 50% 50%/0 0 18vh 18vh}}
/* 2. Essuie-glace (services) : demi-plan qui pivote autour du bas de l'écran */
.ngpt--wiper,html[data-ngpt=wiper]::after{inset:auto;left:calc(50% - 250vmax);top:calc(100% - 250vmax);width:500vmax;height:250vmax;transform-origin:50% 100%;
  background:radial-gradient(60vmax 60vmax at 50% 100%,#0a3a2b,#04241b 60%,#020d09);border-bottom:3px solid #7dffcf;box-shadow:0 0 40px rgba(0,227,155,.6)}
.ngpt--wiper{animation-name:ngWipeIn;animation-duration:.6s}
html[data-ngpt=wiper]::after{animation-name:ngWipeOut;animation-duration:.85s}
@keyframes ngWipeIn{from{transform:rotate(180deg)}to{transform:rotate(0)}}
@keyframes ngWipeOut{from{transform:rotate(0)}to{transform:rotate(-180deg)}}
/* 3. Portes qui se ferment puis s'ouvrent (assurance) */
.ngpt--split{animation-name:ngSplitIn}
html[data-ngpt=split]::after{animation-name:ngSplitOut}
@keyframes ngSplitIn{from{clip-path:polygon(0 0,100% 0,100% 0%,0 0%,0 100%,100% 100%,100% 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 50.5%,0 50.5%,0 49.5%,100% 49.5%,100% 100%,0 100%)}}
@keyframes ngSplitOut{from{clip-path:polygon(0 0,100% 0,100% 50.5%,0 50.5%,0 49.5%,100% 49.5%,100% 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 0%,0 0%,0 100%,100% 100%,100% 100%,0 100%)}}
/* 4. Cercle depuis le doigt (zones) */
.ngpt--iris{animation-name:ngIrisIn;animation-duration:.6s}
html[data-ngpt=iris]::after{animation-name:ngIrisOut}
@keyframes ngIrisIn{from{clip-path:circle(0 at var(--ngx,50%) var(--ngy,50%))}to{clip-path:circle(150vmax at var(--ngx,50%) var(--ngy,50%))}}
@keyframes ngIrisOut{from{clip-path:circle(150vmax at 50% 50%)}to{clip-path:circle(0 at 50% 50%)}}
/* 5. Glissé latéral (avis) */
.ngpt--slide{border-left:2px solid #00e39b;box-shadow:-8px 0 40px rgba(0,227,155,.45);animation-name:ngSlideIn}
html[data-ngpt=slide]::after{border-right:2px solid #00e39b;box-shadow:8px 0 40px rgba(0,227,155,.45);animation-name:ngSlideOut}
@keyframes ngSlideIn{from{transform:translateX(102%)}to{transform:none}}
@keyframes ngSlideOut{to{transform:translateX(-102%)}}
/* 6. Stores (FAQ) */
.ngpt--blinds{animation-name:ngBlindIn}
html[data-ngpt=blinds]::after{animation-name:ngBlindOut}
@keyframes ngBlindIn{from{clip-path:polygon(0.0% 100%,0.0% 0,0.00% 0,0.00% 100%,12.5% 100%,12.5% 0,12.50% 0,12.50% 100%,25.0% 100%,25.0% 0,25.00% 0,25.00% 100%,37.5% 100%,37.5% 0,37.50% 0,37.50% 100%,50.0% 100%,50.0% 0,50.00% 0,50.00% 100%,62.5% 100%,62.5% 0,62.50% 0,62.50% 100%,75.0% 100%,75.0% 0,75.00% 0,75.00% 100%,87.5% 100%,87.5% 0,87.50% 0,87.50% 100%)}to{clip-path:polygon(0.0% 100%,0.0% 0,12.60% 0,12.60% 100%,12.5% 100%,12.5% 0,25.10% 0,25.10% 100%,25.0% 100%,25.0% 0,37.60% 0,37.60% 100%,37.5% 100%,37.5% 0,50.10% 0,50.10% 100%,50.0% 100%,50.0% 0,62.60% 0,62.60% 100%,62.5% 100%,62.5% 0,75.10% 0,75.10% 100%,75.0% 100%,75.0% 0,87.60% 0,87.60% 100%,87.5% 100%,87.5% 0,100.10% 0,100.10% 100%)}}
@keyframes ngBlindOut{from{clip-path:polygon(0.0% 100%,0.0% 0,12.60% 0,12.60% 100%,12.5% 100%,12.5% 0,25.10% 0,25.10% 100%,25.0% 100%,25.0% 0,37.60% 0,37.60% 100%,37.5% 100%,37.5% 0,50.10% 0,50.10% 100%,50.0% 100%,50.0% 0,62.60% 0,62.60% 100%,62.5% 100%,62.5% 0,75.10% 0,75.10% 100%,75.0% 100%,75.0% 0,87.60% 0,87.60% 100%,87.5% 100%,87.5% 0,100.10% 0,100.10% 100%)}to{clip-path:polygon(0.0% 100%,0.0% 0,0.00% 0,0.00% 100%,12.5% 100%,12.5% 0,12.50% 0,12.50% 100%,25.0% 100%,25.0% 0,25.00% 0,25.00% 100%,37.5% 100%,37.5% 0,37.50% 0,37.50% 100%,50.0% 100%,50.0% 0,50.00% 0,50.00% 100%,62.5% 100%,62.5% 0,62.50% 0,62.50% 100%,75.0% 100%,75.0% 0,75.00% 0,75.00% 100%,87.5% 100%,87.5% 0,87.50% 0,87.50% 100%)}}
/* 7. Balayage en biais (guides) */
.ngpt--diag{animation-name:ngDiagIn}
html[data-ngpt=diag]::after{animation-name:ngDiagOut}
@keyframes ngDiagIn{from{clip-path:polygon(0 0,0% 0,-35% 100%,0 100%)}to{clip-path:polygon(0 0,135% 0,100% 100%,0 100%)}}
@keyframes ngDiagOut{from{clip-path:polygon(0% 0,100% 0,100% 100%,-35% 100%)}to{clip-path:polygon(135% 0,100% 0,100% 100%,100% 100%)}}
@media (prefers-reduced-motion:reduce){html.ngpt-in::after{display:none}}
