/* Signature Neya : lumière, profondeur et rythme. Les contenus restent visibles sans JS. */
.nm-hero{scroll-margin-top:100px;position:relative;isolation:isolate;overflow:clip;background:linear-gradient(120deg,#f5f8fc 15%,#edf4ff 65%,#f9fbff)}
.nm-hero-stage{position:relative;z-index:1;display:grid}
.nm-hero-panel{position:relative;scroll-margin-top:110px;grid-area:1/1;align-self:start;min-width:0}
/* Tous les panneaux reservent leur hauteur des le premier rendu. */
.nm-hero-stage>.nm-hero-panel[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.nm-hero-controls[aria-hidden="true"]{visibility:hidden}
.nm-hero .np-hero-grid{position:relative}
.nm-hero .np-hero-copy{position:relative;z-index:2}
.nm-hero .np-hero-media{isolation:isolate}
.nm-hero .np-hero-media>img{position:relative;z-index:1;box-shadow:0 35px 75px -45px #123e7d88}
.nm-hero .np-hero-media figcaption,.nm-hero .np-photo-note{z-index:2}
.nm-hero .np-hero-media:before{content:'';position:absolute;inset:-25px -25px 20px;border:1px solid #9ebbe35c;border-radius:220px 220px 30px 30px;transform:rotate(7deg);z-index:-1;pointer-events:none}
.nm-hero .np-hero-media:after{content:'';position:absolute;width:260px;height:260px;right:-75px;top:20%;background:radial-gradient(circle,#9dc0f07a,transparent 70%);z-index:-2;pointer-events:none}
.nm-campaign h2{font-family:var(--font-serif);font-size:clamp(3rem,5.3vw,5.4rem);font-weight:500;line-height:1.02;letter-spacing:-1.4px;color:#102d50;margin:0 0 26px}
.nm-campaign-price strong{font-size:2.1rem}
.nm-campaign-period{font-size:.78rem;color:#465a70}
.nm-campaign-benefit{display:inline-block;padding:10px 14px;border:1px solid #b7cce8;border-radius:5px;background:#ffffffb3;color:#174eae}
.nm-campaign-media{align-self:center}
.nm-campaign-media>img{object-position:center}
.nm-hero-controls{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.nm-hero-tabs{display:flex;gap:28px;max-width:100%;border-bottom:1px solid #bccfe6}
.nm-hero-tabs button{max-width:260px;text-wrap:balance;position:relative;display:flex;align-items:center;gap:12px;min-height:52px;background:transparent;border:0;padding:12px 4px;color:#526276;font:500 .75rem/1.5 var(--font-sans);cursor:pointer}
.nm-tab-number{font-size:.6rem;letter-spacing:1px;color:#6c82a0}
.nm-hero-tabs button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#174eae;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.nm-hero-tabs button[aria-selected=true]{color:#174eae;font-weight:600}
.nm-hero-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.nm-hero-arrows{display:flex;gap:10px}
.nm-hero-arrows button{width:46px;height:46px;display:grid;place-items:center;border:1px solid #afc5e3;border-radius:50%;background:#ffffff80;color:#174eae;cursor:pointer;transition:background .2s,transform .3s}
.nm-hero-arrows button:hover{background:#fff;transform:scale(1.06)}
.nm-hero-arrows [data-hero-prev] svg{transform:rotate(180deg)}
.nm-ambient{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.nm-ambient:before{content:'';position:absolute;inset:-20%;background:radial-gradient(ellipse at 74% 48%,#a6c5f13d,transparent 43%),radial-gradient(ellipse at 10% 25%,#ffffffb3,transparent 35%);transform:translate3d(var(--nm-glow-x,0px),var(--nm-glow-y,0px),0)}
.nm-ambient canvas{display:block;width:100%;height:100%;opacity:.75}
.nm-orbit{position:absolute;width:730px;aspect-ratio:1;top:calc(45% - 365px);right:calc(24% - 365px);border:1px solid #93b5df29;border-radius:50%;transform:rotate(-25deg) scaleX(.72);pointer-events:none}
.nm-orbit:before,.nm-orbit:after{content:'';position:absolute;inset:35px;border:1px solid #93b5df26;border-radius:50%}
.nm-orbit:after{inset:75px}
.nm-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.nm-word{display:inline-block}
.nm-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#174eae,#80ace6);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:5}
.nm-enabled .np-family,.nm-enabled .np-offer-card,.nm-enabled .np-care-card{position:relative;transform:perspective(1100px) rotateX(var(--nm-rx,0deg)) rotateY(var(--nm-ry,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s}
.nm-enabled .nm-tilting{transition:box-shadow .4s,border-color .4s}
.nm-enabled .np-family:hover,.nm-enabled .np-offer-card:hover,.nm-enabled .np-care-card:hover{border-color:#9eb9df;box-shadow:0 24px 60px -32px #123e7d55}
.nm-enabled .np-family:after,.nm-enabled .np-offer-card:after,.nm-enabled .np-care-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--nm-mx,50%) var(--nm-my,0%),#b8d6ff24,transparent 70%);opacity:0;transition:opacity .4s}
.nm-enabled .nm-tilting:after{opacity:1}
.nm-enabled .np-hero-media{transform:perspective(1200px) rotateX(var(--nm-rx,0deg)) rotateY(var(--nm-ry,0deg));transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.nm-enabled .np-hero-media.nm-tilting{transition:transform .12s linear}
.nm-enabled .np-actions>a{translate:var(--nm-bx,0px) var(--nm-by,0px);transition:translate .4s cubic-bezier(.2,.8,.2,1),background .2s,color .2s,box-shadow .3s}
.nm-enabled .np-actions>a:hover{box-shadow:0 10px 30px -16px #174eae88}
.nm-enabled .btn-cta .neya-icon,.nm-enabled .np-text-link .neya-icon{transition:translate .35s cubic-bezier(.2,.8,.2,1)}
.nm-enabled .btn-cta:hover .neya-icon{translate:2px -2px}
.nm-enabled .np-text-link:hover .neya-icon{translate:4px 0}
.nm-enabled .np-family-image,.nm-enabled .np-offer-media,.nm-enabled .np-care-media{isolation:isolate}
.nm-enabled .nm-photo-depth{scale:1.07;translate:0 var(--nm-photo-y,0px)}
.nm-enabled .np-final{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 120%,#2562b7,#113b78 70%)}
.nm-enabled .np-final:before{content:'';position:absolute;width:800px;height:800px;left:calc(50% - 400px);top:30%;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 60px #ffffff06,0 0 0 120px #ffffff04;z-index:-1;pointer-events:none}
/* Les états réduits s'appliquent aussi lors d'un changement de préférence en cours de visite. */
@media(max-width:760px){
 .nm-hero .np-hero-media:before{inset:-12px -12px 10px;border-radius:150px 150px 20px 20px}
 .nm-hero .np-hero-media:after{width:170px;height:170px;right:-35px}
 .nm-hero-controls{padding-top:12px;margin-bottom:24px;gap:10px}
 .nm-hero-tabs{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
 .nm-hero-controls{flex-wrap:wrap}
 .nm-hero-arrows{display:none}
 .nm-hero-tabs button{font-size:.66rem;gap:7px;justify-content:center;overflow-wrap:anywhere;min-height:58px}
 .nm-hero-arrows{gap:6px}
 .nm-hero-arrows button{width:44px;height:44px}
 .nm-tab-number{display:none}
 .nm-campaign h2{font-size:clamp(2.65rem,11vw,4rem)}
 .nm-campaign .np-price{margin-bottom:12px}
 .nm-orbit{width:420px;right:calc(50% - 210px);top:0}
}
@media(prefers-reduced-motion:reduce){
 .nm-ambient canvas,.nm-progress{display:none}
 .nm-enabled .np-family,.nm-enabled .np-offer-card,.nm-enabled .np-care-card,.nm-enabled .np-hero-media{transform:none!important}
 .nm-enabled .np-actions>a,.nm-enabled .nm-photo-depth{translate:none!important;scale:1}
 .nm-ambient:before{transform:none}
}
@media print{.nm-ambient,.nm-hero-controls,.nm-progress{display:none!important}.nm-enabled *{transform:none!important;translate:none!important;scale:1!important}}

/* Halo de souris limité au hero ; aucun remplacement du curseur système. */
.nm-pointer-halo{display:none;position:absolute;top:0;left:0;width:88px;height:88px;border:1px solid #427dcc33;border-radius:50%;background:radial-gradient(circle,#77a7ed19,transparent 72%);box-shadow:0 0 32px 8px #77a7ed12;pointer-events:none;z-index:4;opacity:0;transform:translate3d(-200px,-200px,0);transition:opacity .18s}
@media(hover:hover) and (pointer:fine) and (min-width:1025px) and (prefers-reduced-motion:no-preference){.nm-enabled .nm-pointer-halo{display:block}.nm-pointer-halo.is-visible{opacity:1}}
@media print{.nm-pointer-halo{display:none!important}}
