/* Appel de positionnement : composants partagés des pages publiques. */
.ns-positionnement,.ns-positionnement-ribbon,.ns-guide-link{box-sizing:border-box;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.ns-positionnement *,.ns-positionnement-ribbon *,.ns-guide-link *{box-sizing:border-box}
.ns-positionnement{padding:52px 22px;background:#f2eaf7;color:#241238;scroll-margin-top:110px}
.ns-positionnement__inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.65fr);align-items:center;gap:36px}
.ns-positionnement__kicker{display:block;margin:0 0 12px;color:#76508b;font-size:.77rem;line-height:1.5;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.ns-positionnement h2{margin:0 0 16px!important;color:#241238!important;font:500 clamp(1.9rem,3.6vw,3.1rem)/1.1 Georgia,"Times New Roman",serif!important;letter-spacing:-.025em}
.ns-positionnement p{margin:0 0 14px;color:#55465f;font-size:1rem;line-height:1.7;max-width:760px}
.ns-positionnement__action{text-align:center;min-width:0}.ns-positionnement__price{display:block;margin-bottom:14px;color:#241238;font:500 2.4rem/1.2 Georgia,serif}
.ns-positionnement .ns-positionnement__button,.ns-positionnement-ribbon .ns-positionnement__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:14px 21px;border:1px solid #32154b;border-radius:99px;background:#32154b;color:#fff!important;text-align:center;text-decoration:none!important;font:750 .9rem/1.4 Inter,ui-sans-serif,system-ui,sans-serif;transition:background .18s}
.ns-positionnement .ns-positionnement__button:hover,.ns-positionnement-ribbon .ns-positionnement__button:hover{background:#4c2567;color:#fff!important}
.ns-positionnement .ns-positionnement__terms{max-width:860px;margin:22px auto 0;color:#64566b;font-size:.78rem;line-height:1.6}
.ns-positionnement .ns-positionnement__aside{margin-top:10px;font-size:.81rem;line-height:1.5}
.ns-positionnement--compact{margin:40px auto;padding:34px 28px;border:1px solid #dfd1e6;border-radius:26px;max-width:1160px}
.ns-positionnement--compact h2{font-size:clamp(1.65rem,3vw,2.5rem)!important}
.ns-positionnement-ribbon{position:relative;z-index:45;border-bottom:1px solid #dacee0;background:linear-gradient(110deg,#ece7fa,#f9eadd 60%,#eef2e5);color:#28163c}
.ns-positionnement-ribbon__inner{max-width:1220px;margin:auto;padding:14px 22px;display:flex;gap:22px;align-items:center;justify-content:space-between}
.ns-positionnement-ribbon__copy{min-width:0}.ns-positionnement-ribbon__title{display:block;color:#28163c;font-size:1.02rem;font-weight:800;line-height:1.4}
.ns-positionnement-ribbon__description{display:block;margin-top:3px;color:#58465f;font-size:.88rem;line-height:1.5}
.ns-positionnement-ribbon__terms{margin:5px 0 0;color:#65566b;font-size:.73rem;line-height:1.5}
.ns-positionnement-ribbon .ns-positionnement__button{flex-shrink:0;padding:11px 18px;font-size:.82rem}
.ns-positionnement :is(a,button):focus-visible,.ns-positionnement-ribbon a:focus-visible,.ns-guide-link a:focus-visible{outline:3px solid #976338;outline-offset:4px}
.ns-guide-link{max-width:1160px;margin:30px auto;padding:28px;border:1px solid #d8dfd4;border-radius:24px;background:#f0f4ec;color:#303b32}
.ns-guide-link strong{display:block;margin-bottom:8px;font-size:1.15rem;line-height:1.4}.ns-guide-link p{margin:0 0 12px;line-height:1.7;color:#526052}
.ns-guide-link a{color:#392249;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.ns-positionnement-nav-link{font-weight:750!important}
.mobile-menu .ns-positionnement-nav-link{color:#4e2a66!important}
.site-footer .ns-positionnement-nav-link{color:#f1d6e7!important}
@media(max-width:760px){.ns-positionnement{padding:36px 20px}.ns-positionnement__inner{grid-template-columns:minmax(0,1fr);gap:20px}.ns-positionnement__action{text-align:left}.ns-positionnement__price{font-size:2rem;margin-bottom:10px}.ns-positionnement h2{font-size:clamp(1.75rem,7.5vw,2.3rem)!important}.ns-positionnement--compact{padding:28px 22px;margin:30px 14px}.ns-positionnement-ribbon__inner{padding:15px 18px;gap:12px;align-items:flex-start;flex-wrap:wrap}.ns-positionnement-ribbon__copy{flex:1 1 260px}.ns-positionnement-ribbon__title{font-size:.96rem}.ns-positionnement-ribbon .ns-positionnement__button{min-height:46px}.ns-guide-link{margin:24px 14px;padding:23px}}
@media(prefers-reduced-motion:reduce){.ns-positionnement__button{transition:none!important}}
