@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,300;9..144,400&display=swap');
:root{--paper:#f3f0e9;--ink:#172521;--muted:#65716a;--line:#d5d8ce;--accent:#c2a279;--blue:#009fe3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Manrope,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--blue)}button{cursor:pointer}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:300;line-height:1.04;margin:0 0 22px}h1{font-size:clamp(52px,8vw,116px)}h2{font-size:clamp(38px,5vw,72px)}h3{font-size:30px}p{margin:0 0 20px}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted)}header{position:absolute;top:0;left:0;width:100%;z-index:20;padding:26px 4vw;display:flex;align-items:center;gap:32px;color:white;border-bottom:1px solid #ffffff30}.brand{font-size:26px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.brand small{font-size:10px;letter-spacing:.2em;margin-left:8px}header nav{display:flex;gap:26px;margin-left:auto;font-size:12px}.gallery-link{font-size:12px;border:1px solid #ffffff70;padding:10px 16px}.hero{height:100svh;min-height:620px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(#0008,transparent 35%,#0008)}.hero-copy{--hero-copy-bottom:9vh;position:absolute;bottom:var(--hero-copy-bottom);left:7vw;z-index:2}.hero-copy p{max-width:450px}.hero-copy>.eyebrow{transform:translateY(-78px)}.hero-copy>.arrow-link{height:28px;margin-left:clamp(5.6px,.9vw,12.6px);transform:translateY(calc(var(--hero-copy-bottom) - 48px))}/* Viseur caméra conservé depuis la version précédente. */
.viewfinder{position:absolute;inset:0;z-index:3;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.vf-corner{position:absolute;width:22px;height:22px;opacity:.85;filter:drop-shadow(0 1px 3px #0009)}
.vf-tl{top:130px;left:4vw;border-top:2px solid #fffffff2;border-left:2px solid #fffffff2}
.vf-tr{top:130px;right:4vw;border-top:2px solid #fffffff2;border-right:2px solid #fffffff2}
.vf-bl{bottom:32px;left:4vw;border-bottom:2px solid #fffffff2;border-left:2px solid #fffffff2}
.vf-br{bottom:32px;right:4vw;border-bottom:2px solid #fffffff2;border-right:2px solid #fffffff2}
.vf-rec,.vf-meta,.vf-tc{position:absolute;color:white;background:#0f121466;backdrop-filter:blur(4px);padding:5px 9px;border-radius:3px;letter-spacing:.08em}
.vf-rec{top:148px;left:calc(4vw + 16px);display:flex;align-items:center;gap:6px;font-size:11px}
.vf-dot{width:7px;height:7px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 6px #ff4d4de6;animation:vfBlink 1.6s ease-in-out infinite}
@keyframes vfBlink{0%,100%{opacity:1}50%{opacity:.25}}
.vf-meta{top:148px;right:calc(4vw + 16px);font-size:10px;letter-spacing:.1em}
.vf-tc{bottom:48px;right:calc(4vw + 16px);height:28px;font-size:11px;opacity:.9}
.vf-focus{position:absolute;left:50%;top:45%;width:112px;height:112px;border:1px solid #ffffffd9;box-shadow:0 0 0 9999px #14181b24;opacity:0;transform:translate(-50%,-50%);transition:opacity .25s ease}
.vf-focus:before,.vf-focus:after{content:'';position:absolute;background:#ffffffe6}
.vf-focus:before{left:50%;top:-7px;width:1px;height:13px;transform:translateX(-50%)}
.vf-focus:after{top:50%;left:-7px;height:1px;width:13px;transform:translateY(-50%)}
.hero.vf-active .vf-focus{opacity:1}
@media(max-width:720px){.vf-meta{display:none}.vf-focus{width:80px;height:80px}}
@media(hover:none){.vf-focus{opacity:.8}}
.hero-copy h1{font-size:clamp(50px,8vw,112px);max-width:900px;min-height:2.08em;transform:translateY(56px)}.arrow-link{display:inline-flex;gap:38px;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:12px;letter-spacing:.04em}.section-head{padding:85px 7vw 35px;display:flex;justify-content:space-between;gap:30px;align-items:end}.section-head h2{margin-bottom:0}.vertical-slider{height:77svh;min-height:500px;max-height:900px;position:relative;margin:0 4vw;overflow:hidden;background:#182722}.slides{height:100%;overflow:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none}.slides::-webkit-scrollbar{display:none}.slide{position:relative;height:100%;scroll-snap-align:start;overflow:hidden;color:white}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07161255,transparent 58%),linear-gradient(0deg,#07161244,transparent 58%)}.slide-copy{position:absolute;z-index:1;left:5vw;bottom:7vh;max-width:630px;padding-right:50px}.slide-copy h2{font-size:clamp(43px,6.5vw,90px)}.slide-copy p{max-width:420px}.slider-controls{position:absolute;right:22px;top:50%;transform:translateY(-50%);z-index:3;display:grid;gap:9px}.slider-controls button{width:42px;height:42px;background:#142b2ab0;color:white;border:1px solid #ffffff60;border-radius:50%;font-size:11px}.slider-controls button[aria-pressed=true]{background:white;color:var(--ink)}.scroll-note{padding:14px 4vw;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.universe{padding:100px 7vw;display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center;border-bottom:1px solid var(--line)}.universe.reverse>figure{order:2}.universe figure{margin:0}.universe img{width:100%;height:530px;object-fit:cover;display:block}.universe .copy>p{max-width:480px}.packs{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.packs button{background:none;border:1px solid #aab7ac;padding:9px 15px;color:var(--ink);font-size:11px}.packs button[aria-pressed=true]{background:var(--ink);color:white}.pack-detail{font-size:13px;max-width:490px;min-height:90px}.portrait{padding:0 7vw 90px;display:grid;grid-template-columns:.7fr 1fr;gap:7vw;align-items:center}.portrait img{width:100%;height:440px;object-fit:cover}.contact{padding:110px 7vw;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact h2{max-width:500px}.contact p{max-width:440px}.contact a{border-bottom:1px solid #849387}footer{padding:24px 4vw;display:flex;justify-content:space-between;gap:20px;font-size:11px}.review{position:fixed;bottom:8px;right:10px;z-index:50;background:#e8dfcdec;color:#4c4538;font:10px system-ui;padding:6px 9px;border-radius:2px}.skip{position:absolute;top:-70px;left:15px;z-index:70;background:white;padding:15px}.skip:focus{top:10px}.page-shell{max-width:1180px;margin:auto;padding:55px 6vw 90px}.solid-header{position:relative;color:var(--ink);border-color:var(--line)}.solid-header .gallery-link{border-color:var(--line)}.panel{background:#fffdf8;border:1px solid var(--line);padding:28px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.button,button.primary{display:inline-flex;justify-content:center;align-items:center;gap:16px;background:var(--ink);color:white;border:1px solid var(--ink);padding:13px 22px;min-height:48px;text-decoration:none}.button.secondary{background:none;color:var(--ink);border-color:var(--line)}input,select{width:100%;background:white;border:1px solid #b7c4bc;padding:13px;color:var(--ink)}label{display:block;margin:17px 0 7px}input[type=checkbox]{width:19px;height:19px}.check{display:flex;gap:12px;align-items:start}.notice{padding:14px 18px;border-left:3px solid var(--accent);background:#eae4d8;font-size:13px;margin:20px 0}.error{background:#ffeded;color:#942828;padding:13px;margin-bottom:20px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}button:disabled{opacity:.45;cursor:not-allowed}.qr{width:min(100%,320px);background:white;padding:16px}.code{font-size:24px;letter-spacing:.16em;font-family:monospace;overflow-wrap:anywhere}.session{border-bottom:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:15px}.tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.amount{font-family:Fraunces,Georgia,serif;font-size:42px}.photo-stage{position:relative;background:#eee;overflow:hidden}.photo-stage img{width:100%;display:block;max-height:600px;object-fit:contain}.watermark{position:absolute;inset:0;display:grid;place-items:center;color:white;letter-spacing:.3em;text-shadow:0 1px 6px #000;pointer-events:none}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{border:1px solid var(--line);padding:13px;text-align:left;background:#fffdf8;color:var(--ink)}.option.active{outline:2px solid var(--ink);outline-offset:-2px}.option strong,.option small{display:block}.option small{font-size:11px}.caption{font-size:12px;color:var(--muted);margin-top:12px}.texture-paper:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(20deg,#a2886015 0 1px,transparent 1px 3px);mix-blend-mode:multiply}.texture-canvas:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#fff4 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#0002 0 1px,transparent 1px 4px)}.texture-fold:after{content:'';position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 40deg at 65% 30%,transparent,#eee4,transparent,#0001,transparent)}.texture-frame{padding:30px;background:#fcfaf5;border:1px solid #ddd}.compare{position:relative;overflow:hidden}.compare .compare-after{position:absolute;inset:0;width:100%;clip-path:inset(0 50% 0 0)}.compare img{width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:850px){.hero-copy>.eyebrow{transform:translateY(-38px)}header{padding:20px 5vw;flex-wrap:wrap;gap:12px}.brand{font-size:23px}header nav{order:3;width:100%;gap:17px;overflow-x:auto;white-space:nowrap;padding:7px 0}.gallery-link{margin-left:auto}.hero{min-height:600px}.hero-copy{--hero-copy-bottom:10vh}.universe,.portrait,.contact{grid-template-columns:1fr;gap:32px;padding:65px 6vw}.universe.reverse>figure{order:0}.universe img{height:400px}.portrait img{height:380px}.section-head{padding:65px 6vw 24px;display:block}.section-head .fine{margin-top:16px}.vertical-slider{height:72svh;min-height:500px}.slide-copy{bottom:40px;left:7vw;max-width:85%}.slide-copy p{font-size:13px}.slider-controls{right:12px}.slider-controls button{width:34px;height:34px}.grid{grid-template-columns:1fr}.page-shell{padding:35px 6vw 70px}footer{flex-wrap:wrap}.panel{padding:22px}.solid-header nav{display:none}}@media(prefers-reduced-motion:reduce){html,.slides{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Mouvement du ciel seul : la photographie de base reste intacte. */
.hero-sky{position:absolute;inset:0;pointer-events:none;opacity:0;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0px,#000 var(--sky-fade-start,0px),transparent var(--sky-fade-end,0px));mask-image:linear-gradient(to bottom,#000 0px,#000 var(--sky-fade-start,0px),transparent var(--sky-fade-end,0px))}
.hero-sky.ready{opacity:1}
.hero-sky img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%;transform-origin:50% 0;animation:nmxCloudDrift 14s ease-in-out infinite alternate;animation-play-state:paused}
.hero.sky-running .hero-sky img{animation-play-state:running}
@keyframes nmxCloudDrift{from{transform:translateX(-1.1%) scaleX(1.03)}to{transform:translateX(1.1%) scaleX(1.03)}}
.hero-motion-toggle{position:absolute;top:145px;left:calc(4vw + 94px);z-index:4;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #ffffff45;border-radius:3px;background:#0f121466;color:#fff;font-size:13px;line-height:1}
.hero-motion-toggle[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.hero-sky,.hero-motion-toggle{display:none!important}}

@media(max-width:850px){.hero-copy h1{transform:translateY(16px)}}

/* Voilier : photo panoramique continue, sans voile sombre. */
.slide--events:after{background:linear-gradient(90deg,#07161226,transparent 48%),linear-gradient(0deg,#0716121a,transparent 45%)}
.slide--portraits:after{background:none}
.slide--yachting>img{display:block;object-position:72% center}
.slide--yachting:after{background:none}
.slide--yachting .slide-copy{color:#172521}
.slide--yachting .slide-copy>p,.slide--yachting .arrow-link{color:#d6c6ab;text-shadow:0 1px 3px #272015b3}
.slide--yachting .slide-copy>p:not(.eyebrow),.slide--yachting .arrow-link{font-weight:600;text-shadow:0 1px 2px #241a12,0 0 5px #241a12cc}
.slide--yachting .slide-copy>p:not(.eyebrow){font-size:16px;line-height:1.7}
.slide--yachting .arrow-link{font-size:13px}
@media(min-width:851px){
  .slide--yachting .slide-copy{width:34%;max-width:420px;padding-right:20px}
}

/* Retour au Hero, accessible au clavier et sur mobile. */
.back-top-wrap{display:flex;justify-content:center;padding:24px;background:#f3efe5;color:#223834}
.back-top{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:8px 20px;font-size:13px;letter-spacing:.06em}
.back-top>span:first-child{font-size:28px;line-height:1}
.back-top:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#hero{scroll-margin-top:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

.section-return{padding:8px 24px 24px}

/* Le film immobilier montre le mouvement dès l'arrivée dans la rubrique. */
.slide .property-film{display:block;width:100%;height:100%;object-fit:cover}
#immobilier>figure{position:relative}
#immobilier .property-film{display:block;width:100%;height:530px;object-fit:cover}
.property-film-toggle{position:absolute;right:14px;bottom:14px;padding:10px 14px;min-height:44px;border:1px solid #ffffff80;border-radius:22px;background:#223834e6;color:#fff;font:12px system-ui}
@media(max-width:850px){#immobilier .property-film{height:auto;aspect-ratio:16/10}}

/* Menu simple : soulignement discret au survol et au clavier. */
header nav>a{position:relative}
header nav>a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;opacity:0;transform:scaleX(.45);transform-origin:center;transition:transform .22s ease,opacity .22s ease}
header nav>a:hover::after,header nav>a:focus-visible::after{opacity:.7;transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){header nav>a::after{transition:none}}

/* Un seul bloc de texte fluide : la signature reste au-dessus du titre. */
.hero-copy{bottom:48px;left:7vw;right:7vw;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.hero-copy>.eyebrow{transform:none;margin:0 0 clamp(28px,9svh,90px);max-width:100%;line-height:1.65}
.hero-copy h1{transform:none;min-height:0;margin:0;max-width:min(900px,100%);font-size:clamp(44px,8vw,112px)}
.hero-copy>.arrow-link{transform:none;flex-shrink:0;height:auto;min-height:28px;margin:clamp(28px,9svh,90px) 0 0 clamp(5.6px,.9vw,12.6px)}
@media(max-width:850px){.hero-copy{bottom:48px}.hero-copy>.eyebrow{margin-bottom:clamp(28px,7svh,62px)}.hero-copy>.arrow-link{margin-top:clamp(28px,7svh,62px)}}

.hero-copy>.eyebrow{font-size:12px;letter-spacing:.16em}
@media(max-width:480px){.hero-copy>.eyebrow{font-size:11px;letter-spacing:.12em}}

/* Signature indépendante du titre : position initiale près de l'horizon. */
.hero>.hero-signature{position:absolute;top:48%;left:7vw;right:7vw;z-index:2;margin:0;font-size:12px;letter-spacing:.16em;line-height:1.65;color:white}
/* Conserver l'emplacement du titre et du lien après extraction de la signature. */
.hero-copy::before{content:"";display:block;height:calc(19.8px + clamp(28px,9svh,90px))}
@media(max-width:850px){.hero-copy::before{height:calc(19.8px + clamp(28px,7svh,62px))}}
@media(max-width:480px){.hero>.hero-signature{font-size:11px;letter-spacing:.12em}.hero-copy::before{height:calc(18.15px + clamp(28px,7svh,62px))}}

/* Indications légèrement rentrées dans les angles du viseur. */
.vf-rec{top:164px;left:calc(4vw + 32px)}
.vf-meta{top:164px;right:calc(4vw + 32px)}
.vf-tc{bottom:64px;right:calc(4vw + 32px)}
.hero-motion-toggle{top:161px;left:calc(4vw + 110px)}
.hero-copy>.arrow-link{position:relative;left:12px;top:-16px}

/* Titre légèrement remonté, indépendamment des autres repères. */
.hero-copy h1{transform:translate(-1px,-28px)}

/* Signature calée sur l'horizon réel, lien aligné sur la hampe du R. */
.hero>.hero-signature{top:var(--hero-signature-top,44%)}
.hero-copy>.arrow-link{margin-left:0;left:clamp(4px,.65vw,9px)}

/* Alignement validé : signature et invitation sur la hampe du R. */
.hero>.hero-signature{left:calc(7vw + clamp(4px,.65vw,9px) - 3px)}
.hero-copy>.arrow-link{margin-left:0;left:clamp(4px,.65vw,9px)}

/* Alignement optique sur la hampe du R, après mesure du glyphe Fraunces. */
.hero-copy>.arrow-link{left:calc(clamp(44px,8vw,112px) * .11 - 1px);margin-left:0}

/* Retrait identique sur les deux axes depuis chaque angle du viseur. */
.vf-rec{top:162px;left:calc(4vw + 32px)}
.hero-motion-toggle{top:162px;left:calc(4vw + 110px)}
.vf-meta{top:162px;right:calc(4vw + 32px)}
.vf-tc{bottom:64px;right:calc(4vw + 32px)}
.hero-copy>.arrow-link{left:calc(32px - 3vw);top:-16px;margin-left:0}

/* Indications calées sur les extrémités des branches de 22 px du viseur. */
.vf-rec{top:152px;left:calc(4vw + 22px)}
.hero-motion-toggle{top:152px;left:calc(4vw + 100px)}
.vf-meta{top:152px;right:calc(4vw + 22px)}
.vf-tc{bottom:54px;right:calc(4vw + 22px)}
.hero-copy>.arrow-link{left:calc(22px - 3vw);top:-6px;margin-left:0}

/* Bords des indications alignés au bout des branches horizontales. */
.vf-rec{left:calc(4vw + 22px)}
.vf-meta,.vf-tc{right:calc(4vw + 22px)}
.hero-motion-toggle{left:calc(4vw + 100px)}
.hero-copy>.arrow-link{left:calc(22px - 3vw);padding-left:0;padding-right:0}
/* Les fonds commencent à l'aplomb des bouts de branches ; texte sans retrait latéral. */
.vf-rec,.vf-meta,.vf-tc{padding-left:0;padding-right:0}

/* REC : conserver la respiration du badge sans décaler son contenu. */
.vf-rec{padding:5px 9px;left:calc(4vw + 13px)}

/* Timecode et territoires : respiration restaurée, texte toujours aligné. */
.vf-meta,.vf-tc{padding-left:9px;padding-right:9px;right:calc(4vw + 13px)}

/* Logo NMX original retrouvé, à côté du nom. */
header .brand{display:inline-flex;align-items:center;gap:4px}header .brand-logo{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0}header .brand>span{white-space:nowrap}
@media(max-width:850px){header .brand-logo{width:56px;height:56px}}

/* Badges aérés, bords alignés aux extrémités des angles de 22 px. */
.vf-rec{top:152px;left:calc(4vw + 22px);padding:5px 9px}
.vf-meta{top:152px;right:calc(4vw + 22px);padding:5px 9px}
.vf-tc{bottom:54px;right:calc(4vw + 22px);padding:5px 9px}
.hero-motion-toggle{top:152px;left:calc(4vw + 100px)}
.hero-copy>.arrow-link{left:calc(22px - 3vw);top:-6px;margin-left:0}
@media(max-width:480px){header{gap:8px}header .brand{font-size:21px}header .brand-logo{width:48px;height:48px}header .gallery-link{font-size:11px;padding:10px 12px}}

/* Logo : respiration discrète, sans déplacement de la navigation. */
@keyframes nmxLogoBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
header .brand-logo{animation:nmxLogoBreath 4.8s ease-in-out infinite;transform-origin:center}
header .brand:hover .brand-logo{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){header .brand-logo{animation:none;transform:none}}

/* REC et pause : même format et même ligne de base. */
.vf-rec{height:28px;box-sizing:border-box;line-height:18px}
.hero-motion-toggle{top:152px;height:28px;width:28px;box-sizing:border-box;border-radius:3px;background:#0f121466;backdrop-filter:blur(4px);border:1px solid #ffffff45;font-size:13px}

/* Signature sur l’eau alignée horizontalement avec l’invitation. */
.hero>.hero-signature{left:calc(4vw + 22px)}

/* Même contour visuel pour REC et pause. */
.hero-motion-toggle{border:0;height:28px;min-height:28px;max-height:28px;border-radius:3px;display:flex;align-items:center;justify-content:center;padding:5px 0;line-height:18px}
.hero-motion-toggle[hidden]{display:none}

/* Titre aligné sur PROD de la signature, hauteur conservée. */
.hero-copy h1{transform:translate(var(--hero-title-x,-1px),-28px)}

/* Un peu d’air entre le logo et le nom NMX PROD. */
header .brand{gap:14px}

/* Centre du logo à l’aplomb du milieu du segment horizontal haut gauche. */
header .brand{position:relative;left:-21px}
@media(max-width:850px){header .brand{left:calc(-1vw - 17px)}}
@media(max-width:480px){header .brand{left:calc(-1vw - 13px)}}

/* Un trait lumineux partagé suit les rubriques du menu. */
header nav{position:relative}
header nav>a::after{display:none}
.menu-light{position:absolute;left:0;top:0;height:1px;width:1px;pointer-events:none;background:#f3f0e9;box-shadow:-12px 0 10px #f3f0e966,0 0 5px #ffffff55;transform-origin:left center;will-change:transform,width;opacity:.85}
@media(max-width:850px){header nav{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.menu-light{box-shadow:none;will-change:auto}}

/* Essai sur la flèche d’entrée : double éclat doux puis repos. */
@keyframes nmxArrowPulse{0%,12%,32%,100%{opacity:.65;transform:translateY(0) scale(1);text-shadow:none}18%,26%{opacity:1;transform:translateY(3px) scale(1.16);text-shadow:0 0 5px #fff9,0 0 10px #ffffff55}22%{opacity:.8;transform:translateY(1px) scale(1.04);text-shadow:0 0 3px #fff6}}
.hero-copy>.arrow-link>span{display:inline-block;animation:nmxArrowPulse 4.6s ease-in-out infinite;transform-origin:center}
@media(prefers-reduced-motion:reduce){.hero-copy>.arrow-link>span{animation:none;opacity:1}}

/* Sur écran tactile, aucun viseur persistant sur les menus. */
@media(hover:none),(prefers-reduced-motion:reduce){.hero .vf-focus{opacity:0!important}}
