/* /tarifs — plateforme tarifaire 2026–2027 dans le style de la home V29 « lumière » (docs/tarifs-v29/DESIGN.md, lot 10).
   Se charge après neoo-home-v29.css (jetons, en-tête, pied de page, boutons, titres, entrées) et neoo-solutions-v29.css
   (hero photo, FAQ, appel final) ; n’ajoute que les composants de la page (préfixe nt-). Généré par
   scripts/generate-neoo-tarifs.mjs ; pilotes neoo-home-v29.js (.is-in sur [data-v29-scene]) et neoo-tarifs.js.
   Compositions volontairement variées : portes d’entrée, tableau Lite, offre + simulateur Business, registre Finance,
   rail MSP, parcours Forge, scénario Commander, configurateur, comparateur, échelle Cloud. */

.nt-page [hidden] { display: none !important; }
.nt-page .nt-i { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.nt-page .v29-kicker span { font-weight: 700; }
.nt-section { position: relative; padding: clamp(96px, 13vh, 150px) 0; }
.nt-page main section[id], .nt-page main [id].nt-finance, .nt-page main [id].nt-msp, .nt-anchor, #inclus { scroll-margin-top: 136px; }
.nt-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; overflow: hidden; pointer-events: none; }
.nt-h2 { max-width: 15em; font-size: clamp(38px, 4vw, 64px); }
.nt-h2--sm { font-size: clamp(34px, 3.2vw, 52px); }
.nt-lead { margin: 22px 0 0; max-width: 48ch; color: #3b3f5c; font-size: clamp(18px, 1.4vw, 22px); line-height: 1.5; }
.nt-split-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; gap: clamp(32px, 5vw, 96px); }
.nt-split-head .nt-lead { margin: 0; }
.nt-glass { border-radius: 12px; background: var(--v29-glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 30px 70px -36px rgba(60, 40, 10, .5), 0 0 0 1px rgba(21, 23, 46, .05); }
.nt-checks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.nt-checks li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; }
.nt-checks .nt-i { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: rgba(34, 165, 101, .14); color: #17804a; stroke-width: 2.4; }
.nt-status { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; letter-spacing: .04em; line-height: 1.5; vertical-align: 2px; white-space: nowrap; }
.nt-status--available { background: rgba(34, 165, 101, .12); color: #17804a; }
.nt-status--coming_soon, .nt-status--internal_draft { background: rgba(196, 120, 20, .12); color: #8a5208; }
.nt-status--quote_only { background: rgba(75, 46, 242, .09); color: var(--v29-accent); }
.nt-status--legacy { background: rgba(21, 23, 46, .07); color: var(--v29-muted); }
.nt-business, .nt-cloud, .nt-config { overflow: clip; isolation: isolate; }
.nt-business__plate, .nt-cloud__plate, .nt-config__plate { height: min(980px, 115vh); bottom: auto !important; -webkit-mask-image: linear-gradient(transparent 0, #000 24%, #000 60%, transparent); mask-image: linear-gradient(transparent 0, #000 24%, #000 60%, transparent); }
.nt-business__plate { opacity: .7; transform: translate3d(0, calc(var(--p, 0) * 3%), 0) scale(1.05); }
.nt-cloud__plate img { object-position: 50% 30%; }
.nt-config__plate { opacity: .75; }
.nt-business::before, .nt-cloud::before, .nt-config::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--v29-cream) 0, rgba(251, 247, 241, .45) 22%, rgba(251, 247, 241, .7) 60%, var(--v29-cream) 92%); pointer-events: none; }

/* ---------- Hero ---------- */
.nt-hero__title { max-width: 12em; font-size: clamp(44px, 5vw, 82px); }
.nt-hero__lead { max-width: 40ch; }
.nt-reassure { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0; padding: 0; list-style: none; color: var(--v29-ink); font-size: 15px; letter-spacing: .02em; }
.nt-reassure li { display: inline-flex; align-items: center; gap: 9px; transition: opacity .7s var(--v29-ease) calc(var(--i) * .1s + .8s), transform .8s var(--v29-ease) calc(var(--i) * .1s + .8s); }
.nt-reassure .nt-i { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: rgba(255, 253, 249, .85); color: #17804a; stroke-width: 2.6; box-shadow: 0 0 0 1px rgba(34, 165, 101, .25); }
.v29-js .nt-hero:not(.is-in) .nt-reassure li { opacity: 0; transform: translateY(8px); }

/* ---------- Sommaire collant et vue filtrée ---------- */
.nt-jump { position: sticky; top: 0; z-index: 30; background: rgba(251, 247, 241, .9); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); box-shadow: 0 1px 0 var(--v29-line); transition: transform .5s var(--v29-ease); }
.nt-jump.is-under-header { transform: translateY(74px); }
.nt-jump__inner { display: flex; align-items: center; gap: 16px; }
.nt-jump ul { position: relative; display: flex; flex: 1; gap: 2px; min-width: 0; margin: 0; padding: 8px 0; overflow-x: auto; list-style: none; scrollbar-width: none; }
.nt-jump ul::-webkit-scrollbar { display: none; }
.nt-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; color: var(--v29-muted) !important; font-size: 15px; text-decoration: none; white-space: nowrap; transition: color .2s, background-color .25s; }
.nt-jump a:hover { color: var(--v29-accent) !important; }
.nt-jump a[aria-current="true"] { background: rgba(75, 46, 242, .09); color: var(--v29-accent) !important; }
.nt-jump a[href="#configurateur"] { box-shadow: inset 0 0 0 1.5px var(--v29-accent); color: var(--v29-ink) !important; }
.nt-jump a[href="#configurateur"]:hover, .nt-jump a[href="#configurateur"][aria-current="true"] { background: var(--v29-accent); color: #fff !important; }
.nt-focus { display: flex; flex: none; align-items: center; gap: 12px; margin: 0; padding: 6px 6px 6px 16px; border-radius: 999px; background: rgba(75, 46, 242, .08); color: var(--v29-muted); font-size: 14px; }
.nt-focus b { color: var(--v29-accent); font-weight: 500; }
.nt-page .nt-focus button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--v29-paper); color: var(--v29-ink); font: inherit; font-size: 13px; cursor: pointer; box-shadow: 0 0 0 1px var(--v29-line); }
.nt-page .nt-focus button:hover { color: var(--v29-accent); }

/* ---------- 01 Besoins : six portes ---------- */
.nt-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 56px 0 0; padding: 0; border-top: 1px solid var(--v29-line); list-style: none; counter-reset: door; }
.nt-door { border-bottom: 1px solid var(--v29-line); }
.nt-door:not(:nth-child(3n + 1)) { border-left: 1px solid var(--v29-line); }
.nt-door a { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: start; gap: 6px 18px; height: 100%; padding: 34px 32px 34px 0; color: var(--v29-ink) !important; text-decoration: none; transition: background-color .3s var(--v29-ease); }
.nt-door:not(:nth-child(3n + 1)) a { padding-left: 32px; }
.nt-door a:hover { background: rgba(255, 253, 249, .7); }
.nt-door a:focus-visible { outline: 2px solid var(--v29-accent); outline-offset: -2px; }
.nt-door__icon { grid-row: 1 / span 4; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(75, 46, 242, .09); color: var(--v29-accent); font-size: 22px; transition: background-color .3s, color .3s; }
.nt-door a:hover .nt-door__icon { background: var(--v29-accent); color: #fff; }
.nt-door__title { font-size: clamp(22px, 1.8vw, 28px); font-weight: 300; letter-spacing: -.03em; line-height: 1.15; }
.nt-door__products { color: var(--v29-accent); font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.nt-door__text { color: var(--v29-muted); font-size: 16px; line-height: 1.5; }
.nt-door__price { margin-top: 10px; font-size: 16px; font-weight: 500; }
.nt-door__go { position: absolute; top: 34px; right: 24px; color: var(--v29-accent); opacity: 0; transform: translateX(-6px); transition: opacity .3s, transform .4s var(--v29-ease); }
.nt-door a:hover .nt-door__go { opacity: 1; transform: none; }

/* ---------- 02 Free · Lite · Lite Pro ---------- */
.nt-lite { margin-top: 56px; }
.nt-lite__table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.nt-lite__table th, .nt-lite__table td { padding: 14px 20px; border-bottom: 1px solid var(--v29-line); text-align: left; vertical-align: middle; }
.nt-lite__table tbody th { width: 28%; padding-left: 0; color: var(--v29-muted); font-size: 15px; font-weight: 400; }
.nt-lite__corner { border-bottom: 0 !important; }
.nt-lite__plan { position: relative; padding: 30px 24px 26px !important; border-bottom: 1px solid var(--v29-line); vertical-align: top !important; }
.nt-lite__plan.is-recommended, .nt-lite__cell.is-recommended { background: rgba(75, 46, 242, .045); }
.nt-lite__plan.is-recommended { border-radius: 14px 14px 0 0; box-shadow: inset 0 1.5px 0 var(--v29-accent), inset 1.5px 0 0 var(--v29-accent), inset -1.5px 0 0 var(--v29-accent); }
.nt-lite__cell.is-recommended { box-shadow: inset 1.5px 0 0 var(--v29-accent), inset -1.5px 0 0 var(--v29-accent); }
.nt-lite__table tbody tr:last-child .nt-lite__cell.is-recommended { border-radius: 0 0 14px 14px; box-shadow: inset 1.5px 0 0 var(--v29-accent), inset -1.5px 0 0 var(--v29-accent), inset 0 -1.5px 0 var(--v29-accent); }
.nt-lite__badge { position: absolute; top: -13px; left: 24px; padding: 4px 12px; border-radius: 999px; background: var(--v29-accent); color: #fff; font-size: 12px; font-weight: 500; letter-spacing: .06em; }
.nt-lite__name { display: block; font-size: clamp(22px, 1.9vw, 30px); font-weight: 300; letter-spacing: -.035em; }
.nt-lite__tagline { display: block; margin-top: 4px; color: var(--v29-muted); font-size: 14px; font-weight: 400; }
.nt-lite__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 18px; }
.nt-lite__price strong { font-size: clamp(40px, 3.6vw, 58px); font-weight: 300; letter-spacing: -.055em; line-height: 1; }
.nt-lite__price small { color: var(--v29-muted); font-size: 14px; font-weight: 400; }
.nt-lite__cta { margin-top: 20px; }
.nt-lite__cell { font-size: 15px; }
.nt-lite__cell .nt-i { width: 20px; height: 20px; margin-right: 10px; padding: 3px; border-radius: 50%; vertical-align: -5px; stroke-width: 2.4; }
.nt-lite__cell--yes .nt-i { background: rgba(34, 165, 101, .14); color: #17804a; }
.nt-lite__cell--no { color: var(--v29-soft); }
.nt-lite__cell--no .nt-i { background: rgba(21, 23, 46, .06); color: var(--v29-soft); }
.nt-lite__cell--partial .nt-i { background: rgba(196, 120, 20, .12); color: #8a5208; }
.nt-lite__cell--up { color: var(--v29-muted); }
.nt-lite__cell--up .nt-i { background: rgba(75, 46, 242, .1); color: var(--v29-accent); }
.nt-lite__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 56px; margin-top: 36px; color: var(--v29-muted); font-size: 16px; line-height: 1.6; }
.nt-lite__notes p { margin: 0; }
.nt-lite__notes .v29-link { margin-left: 4px; }
.nt-lite__fair, .nt-lite__legacy { color: var(--v29-soft); font-size: 14px; }
.nt-lite__legacy { padding-left: 14px; border-left: 2px solid var(--v29-line); }

/* ---------- 03 Neoo Business ---------- */
.nt-business__layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: start; gap: clamp(32px, 5vw, 88px); margin-top: 56px; }
.nt-business__offer { padding: clamp(32px, 3.4vw, 50px); border-radius: 14px; background: var(--v29-paper); box-shadow: 0 0 0 1.5px var(--v29-accent), 0 30px 70px -40px rgba(75, 46, 242, .45); }
.nt-business__label { margin: 0; color: var(--v29-accent); font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.nt-business__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 16px 0 0; }
.nt-business__price strong { font-size: clamp(64px, 6.4vw, 104px); font-weight: 300; letter-spacing: -.06em; line-height: .95; }
.nt-business__price span { color: var(--v29-muted); font-size: 19px; }
.nt-business__pack { margin-top: 26px; }
.nt-business__pack li { font-size: 17px; }
.nt-business__note { margin: 14px 0 0; color: var(--v29-soft); font-size: 14px; }
.nt-business__extra { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--v29-line); color: var(--v29-muted); font-size: 16px; line-height: 1.55; }
.nt-business__statement { margin: 22px 0 0; font-size: clamp(20px, 1.6vw, 25px); font-weight: 300; letter-spacing: -.02em; line-height: 1.3; }
.nt-business__eligible { margin-top: 22px; }
.nt-business__eligible .v29-micro { color: var(--v29-ink); font-weight: 500; }
.nt-business__eligible ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0 0; padding: 0; list-style: none; }
.nt-business__eligible li { display: grid; gap: 2px; padding: 16px 18px; border-radius: 10px; background: #f6f1ea; }
.nt-business__eligible b { font-size: 15px; font-weight: 500; }
.nt-business__eligible span { color: var(--v29-accent); font-size: 15px; }
.nt-business__eligible small { color: var(--v29-soft); font-size: 13px; line-height: 1.45; }
.nt-business__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.nt-sim { padding: 34px 34px 28px; }
.nt-sim__title { margin: 0; font-size: clamp(24px, 2vw, 30px); font-weight: 300; letter-spacing: -.03em; }
.nt-sim__billing { margin-top: 18px; }
.nt-sim__control { margin-top: 24px; }
.nt-sim__control label { display: flex; align-items: baseline; justify-content: space-between; color: var(--v29-muted); font-size: 15px; }
.nt-sim__control output { color: var(--v29-ink); font-size: 26px; font-weight: 300; font-variant-numeric: tabular-nums; }
.nt-sim__control input[type="range"] { width: 100%; height: 32px; margin: 8px 0 0; accent-color: var(--v29-accent); cursor: pointer; }
.nt-sim__total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 14px 0 0; }
.nt-sim__total span { width: 100%; color: var(--v29-muted); font-size: 14px; }
.nt-sim__total strong { color: var(--v29-accent); font-size: clamp(48px, 4.2vw, 68px); font-weight: 300; font-variant-numeric: tabular-nums; letter-spacing: -.055em; line-height: 1; }
.nt-sim__total small { color: var(--v29-muted); font-size: 16px; }
.nt-sim__detail { margin: 8px 0 0; color: var(--v29-muted); font-size: 14px; }
.nt-sim__detail b { color: #17804a; font-weight: 500; }
.nt-sim__table { width: 100%; margin-top: 22px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.nt-sim__table caption { padding-bottom: 8px; color: var(--v29-soft); font-size: 13px; text-align: left; }
.nt-sim__table th, .nt-sim__table td { padding: 9px 4px; border-top: 1px solid var(--v29-line); font-size: 15px; text-align: right; }
.nt-sim__table th:first-child { text-align: left; }
.nt-sim__table thead th { color: var(--v29-soft); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.nt-sim__table tbody th { font-weight: 400; }
.nt-sim__table tr.is-current th, .nt-sim__table tr.is-current td { color: var(--v29-accent); font-weight: 500; }
.nt-sim .v29-link { margin-top: 18px; }
.nt-business__includes { margin-top: 56px; padding-top: 34px; border-top: 1px solid var(--v29-line); }
.nt-business__includes .v29-micro { color: var(--v29-ink); font-weight: 500; }
.nt-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 28px; margin: 24px 0 0; padding: 0; list-style: none; }
.nt-groups li { display: flex; align-items: flex-start; gap: 12px; }
.nt-groups p { display: grid; gap: 4px; margin: 0; padding-top: 2px; }
.nt-groups b { font-size: 16px; font-weight: 400; }
.nt-groups small { color: var(--v29-soft); font-size: 14px; line-height: 1.45; }
.nt-groups__icon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--v29-paper); color: var(--v29-accent); font-size: 18px; box-shadow: 0 0 0 1px var(--v29-line); }
.nt-business__licence { margin: 28px 0 0; font-size: clamp(20px, 1.6vw, 25px); font-weight: 300; letter-spacing: -.02em; }

/* Bascules segmentées. */
.nt-seg { display: inline-flex; gap: 4px; min-width: 0; margin: 0; padding: 4px; border: 0; border-radius: 999px; background: rgba(21, 23, 46, .06); }
.nt-seg label { position: relative; cursor: pointer; }
.nt-seg input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.nt-seg span { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 18px; border-radius: 999px; color: var(--v29-muted); font-size: 15px; transition: background-color .25s, color .25s, box-shadow .25s; }
.nt-seg span i { color: #17804a; font-size: 12px; font-style: normal; font-weight: 500; letter-spacing: .04em; }
.nt-seg input:checked + span { background: var(--v29-paper); color: var(--v29-ink); box-shadow: 0 2px 10px -3px rgba(21, 23, 46, .25); }
.nt-seg input:focus-visible + span { outline: 2px solid var(--v29-accent); outline-offset: 2px; }

/* ---------- 04 Finance : registre ---------- */
.nt-finance { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: clamp(32px, 5vw, 96px); }
.nt-ledger { padding: 10px 0 0; }
.nt-ledger__list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--v29-ink); }
.nt-ledger__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 26px 0; border-bottom: 1px solid var(--v29-line); }
.nt-ledger__name { margin: 0; font-size: clamp(21px, 1.7vw, 26px); font-weight: 300; letter-spacing: -.025em; }
.nt-ledger__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin-top: 14px; }
.nt-ledger__items li { font-size: 14.5px; }
.nt-ledger__price { display: grid; justify-items: end; align-content: start; gap: 2px; margin: 0; text-align: right; }
.nt-ledger__price strong { font-size: clamp(40px, 3.4vw, 54px); font-weight: 300; letter-spacing: -.05em; line-height: 1; }
.nt-ledger__price span { color: var(--v29-muted); font-size: 14px; white-space: nowrap; }
.nt-ledger__soon { margin: 18px 0 0; color: var(--v29-muted); font-size: 15px; }
.nt-ledger__maat { margin-top: 26px; padding: 26px 28px; border-radius: 12px; background: #f6f1ea; }
.nt-ledger__maat p { margin: 10px 0 0; color: var(--v29-muted); font-size: 15px; line-height: 1.55; }
.nt-ledger__maat .nt-ledger__name { margin: 0; color: var(--v29-ink); font-size: clamp(20px, 1.6vw, 24px); line-height: 1.3; }
.nt-ledger__maat b { color: var(--v29-ink); font-weight: 500; }
.nt-ledger__maat .v29-link { margin-top: 14px; }

/* ---------- 05 MSP : rail ---------- */
.nt-msp { margin-top: clamp(96px, 13vh, 150px); padding-top: clamp(64px, 8vh, 96px); border-top: 1px solid var(--v29-line); }
.nt-msp-toggle { margin-top: 36px; }
.nt-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 26px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--v29-ink); }
.nt-rail__level { padding: 26px 24px 28px; }
.nt-rail__level:first-child { padding-left: 0; }
.nt-rail__level + .nt-rail__level { border-left: 1px solid var(--v29-line); }
.nt-rail__level.is-recommended { background: linear-gradient(180deg, rgba(75, 46, 242, .07), transparent 70%); box-shadow: inset 0 3px 0 var(--v29-accent); }
.nt-rail__level h3 { margin: 0; font-size: 20px; font-weight: 400; letter-spacing: -.015em; }
.nt-rail__price { display: grid; gap: 4px; margin: 16px 0 0; }
.nt-rail__price strong { font-size: clamp(38px, 3.2vw, 50px); font-weight: 300; letter-spacing: -.05em; line-height: 1; }
.nt-rail__price span { color: var(--v29-muted); font-size: 14px; }
.nt-rail__cadence { margin: 10px 0 0; color: var(--v29-soft); font-size: 13.5px; line-height: 1.45; }
.nt-rail__quote { margin: 16px 0 0; font-size: 28px; font-weight: 300; letter-spacing: -.03em; }
.nt-rail__level ul { display: grid; gap: 7px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--v29-line); list-style: none; color: var(--v29-muted); font-size: 14.5px; line-height: 1.4; }
.nt-rail__level li::before { content: "·"; margin-right: 8px; color: var(--v29-accent); font-weight: 700; }
.nt-msp [data-nt-msp-price="monthly"], .nt-msp:has(input[value="monthly"]:checked) [data-nt-msp-price="annual"] { display: none; }
.nt-msp:has(input[value="monthly"]:checked) [data-nt-msp-price="monthly"] { display: block; }
.nt-rail__note { max-width: 80ch; margin: 22px 0 0; color: var(--v29-soft); font-size: 14px; line-height: 1.55; }
.nt-rail__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 26px; }

/* ---------- 06 Forge ---------- */
.nt-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 56px; }
.nt-path { display: flex; flex-direction: column; gap: 14px; padding: clamp(30px, 3vw, 44px); border-radius: 14px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-path--standalone { background: #f3efff; box-shadow: 0 0 0 1px rgba(75, 46, 242, .2); }
.nt-path > p { margin: 0; color: var(--v29-muted); font-size: 16px; line-height: 1.55; }
.nt-path .nt-path__label { color: var(--v29-accent); font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.nt-path h3 { margin: 0; font-size: clamp(26px, 2.2vw, 34px); font-weight: 300; letter-spacing: -.035em; line-height: 1.12; }
.nt-path .nt-path__requires { display: flex; align-items: flex-start; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--v29-line); color: var(--v29-ink); font-size: 15px; }
.nt-path__requires .nt-i { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: rgba(75, 46, 242, .1); color: var(--v29-accent); stroke-width: 2.2; }
.nt-path--standalone .nt-path__requires .nt-i { background: rgba(34, 165, 101, .14); color: #17804a; }
.nt-path .v29-link { align-self: flex-start; }
.nt-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nt-chips li { padding: 7px 14px; border-radius: 999px; background: rgba(255, 253, 249, .9); box-shadow: 0 0 0 1px var(--v29-line); font-size: 14px; }
.nt-steps { margin-top: 40px; padding: clamp(28px, 3vw, 42px); border-radius: 14px; background: #f6f1ea; }
.nt-steps__title { margin: 0; font-size: clamp(22px, 1.8vw, 28px); font-weight: 300; letter-spacing: -.025em; }
.nt-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); margin: 26px 0 0; padding: 0; list-style: none; }
.nt-steps__item p { margin: 8px 0 0; color: var(--v29-muted); font-size: 15px; line-height: 1.55; }
.nt-steps .nt-steps__label { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--v29-accent); font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.nt-steps__label span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--v29-accent); color: #fff; font-size: 13px; letter-spacing: 0; }
.nt-steps__item h4 { margin: 12px 0 0; font-size: 21px; font-weight: 400; letter-spacing: -.015em; }
.nt-steps .nt-steps__free { display: inline-block; padding: 5px 12px; border-radius: 999px; background: rgba(34, 165, 101, .12); color: #17804a; font-size: 14px; font-weight: 500; }
.nt-steps .nt-steps__sub { color: var(--v29-ink); font-weight: 500; }
.nt-steps .nt-steps__note { color: var(--v29-soft); font-size: 13.5px; }
.nt-steps__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.nt-steps__price strong { color: var(--v29-ink); font-size: 40px; font-weight: 300; letter-spacing: -.05em; line-height: 1.1; }
.nt-packs { margin: 10px 0 0; padding: 0; list-style: none; }
.nt-packs li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 9px 0; border-top: 1px solid rgba(21, 23, 46, .1); font-size: 15px; }
.nt-packs b { font-size: 19px; font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nt-packs b small { color: var(--v29-soft); font-size: 13px; }
.nt-steps__try { margin-top: 28px; }

/* ---------- 07 Neoo Commander ---------- */
.nt-commander__layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: clamp(32px, 5vw, 80px); margin-top: 48px; }
.nt-chat { margin: 0; padding: 30px 32px 28px; }
.nt-chat figcaption { color: var(--v29-ink); font-weight: 500; }
.nt-chat__prompt { display: flex; align-items: center; gap: 14px; margin: 18px 0 0; padding: 16px 20px; border-radius: 14px 14px 4px 14px; background: var(--v29-ink); color: #fff; font-size: 17px; line-height: 1.4; }
.nt-chat__prompt span { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, .14); font-size: 16px; }
.nt-chat__steps { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: step; }
.nt-chat__steps li, .nt-chat__approve { transition: opacity .6s var(--v29-ease) calc(var(--i) * .55s + .5s), transform .7s var(--v29-ease) calc(var(--i) * .55s + .5s); }
.nt-chat__steps li { display: grid; gap: 2px; padding: 14px 18px; border-radius: 4px 14px 14px 14px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-chat__steps b { color: var(--v29-accent); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.nt-chat__steps span { font-size: 15.5px; line-height: 1.45; }
.nt-chat__approve { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 18px 0 0; }
.nt-chat__button { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 999px; background: var(--v29-accent); color: #fff; font-size: 15px; }
.nt-chat__approve small { color: var(--v29-soft); font-size: 13.5px; }
.v29-js .nt-commander:not(.is-in) .nt-chat__steps li, .v29-js .nt-commander:not(.is-in) .nt-chat__approve { opacity: 0; transform: translateY(10px); }
.nt-commander__offer { padding: clamp(28px, 3vw, 40px); border-radius: 14px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-commander__offer > p { margin: 0; }
.nt-commander__plan { color: var(--v29-accent); font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.nt-commander__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 12px !important; }
.nt-commander__price strong { font-size: clamp(56px, 5vw, 80px); font-weight: 300; letter-spacing: -.055em; line-height: 1; }
.nt-commander__price span { color: var(--v29-muted); font-size: 17px; }
.nt-commander__tag { margin-top: 10px !important; font-size: 17px; }
.nt-commander__requires { display: flex; align-items: center; gap: 12px; margin-top: 18px !important; padding: 12px 16px; border-radius: 10px; background: rgba(75, 46, 242, .07); font-size: 15px; }
.nt-commander__requires .nt-i { color: var(--v29-accent); font-size: 20px; }
.nt-commander__where { margin-top: 22px !important; color: var(--v29-ink); font-weight: 500; }
.nt-commander__availability { margin: 10px 0 0; padding: 0; list-style: none; }
.nt-commander__availability li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--v29-line); font-size: 15px; }
.nt-commander__availability b { font-weight: 400; }
.nt-commander__availability span { color: var(--v29-muted); font-size: 14px; text-align: right; }
.nt-commander__availability .nt-i { width: 22px; height: 22px; padding: 4px; border-radius: 50%; stroke-width: 2.4; }
.nt-commander__availability .is-yes .nt-i { background: rgba(34, 165, 101, .14); color: #17804a; }
.nt-commander__availability .is-partial .nt-i { background: rgba(196, 120, 20, .12); color: #8a5208; }
.nt-commander__availability .is-no .nt-i { background: rgba(21, 23, 46, .06); color: var(--v29-soft); }
.nt-commander__can { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin-top: 22px; }
.nt-commander__can li { font-size: 14.5px; }
.nt-commander__fair { margin-top: 18px !important; color: var(--v29-soft); font-size: 13px; line-height: 1.5; }
.nt-commander__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 24px; }

/* ---------- 08 Configurateur ---------- */
.nt-config__fallback { margin: 40px 0 0; padding: 22px 26px; border-radius: 12px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); color: var(--v29-muted); }
.nt-config__fallback a { color: var(--v29-accent) !important; }
.nt-config__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, 420px); align-items: start; gap: 32px; margin-top: 56px; }
.nt-config__wizard { display: grid; gap: 18px; min-width: 0; }
.nt-step { padding: 30px 32px 32px; border-radius: 12px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-step fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.nt-step__legend, .nt-step__title { display: block; margin: 0; padding: 0; font-size: 22px; font-weight: 400; letter-spacing: -.015em; line-height: 1.3; }
.nt-step__note { margin: 10px 0 0; color: var(--v29-muted); font-size: 16px; line-height: 1.55; }
.nt-step__note:empty { display: none; }
.nt-step__note--muted { color: var(--v29-soft); font-size: 14px; }
.nt-pick-grid { display: grid; gap: 12px; min-width: 0; margin: 18px 0 0; padding: 0; border: 0; }
.nt-pick-grid--objective, .nt-pick-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nt-pick-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nt-pick-grid--sizes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nt-pick-grid--packs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nt-pick-grid--guidance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nt-field__legend { grid-column: 1 / -1; margin-bottom: 4px; padding: 0; color: var(--v29-muted); font-size: 15px; line-height: 1.45; }
.nt-pick { position: relative; display: grid; align-content: start; gap: 4px; padding: 16px 18px; border-radius: 10px; background: #fffdf9; box-shadow: inset 0 0 0 1px var(--v29-line); cursor: pointer; transition: box-shadow .25s, background-color .25s; }
.nt-pick input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.nt-pick:hover { box-shadow: inset 0 0 0 1px rgba(75, 46, 242, .45); }
.nt-pick:has(input:checked) { background: rgba(75, 46, 242, .045); box-shadow: inset 0 0 0 1.5px var(--v29-accent), 0 14px 30px -22px rgba(75, 46, 242, .6); }
.nt-pick:has(input:focus-visible) { outline: 2px solid var(--v29-accent); outline-offset: 3px; }
.nt-pick--objective { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px; }
.nt-pick--compact { padding: 12px 14px; }
.nt-pick__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(75, 46, 242, .1); color: var(--v29-accent); font-size: 19px; }
.nt-pick:has(input:checked) .nt-pick__icon { background: var(--v29-accent); color: #fff; }
.nt-pick__name { font-size: 16px; line-height: 1.3; }
.nt-pick__audience { color: var(--v29-soft); font-size: 13px; }
.nt-pick__meta { color: var(--v29-muted); font-size: 13.5px; line-height: 1.4; }
.nt-pick__meta b { color: var(--v29-ink); font-weight: 500; }
.nt-scenarios { padding: 6px 2px; }
.nt-scenarios .v29-micro { color: var(--v29-muted); }
.nt-scenarios ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.nt-scenarios a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); color: var(--v29-ink) !important; font-size: 14px; text-decoration: none; transition: box-shadow .2s, color .2s; }
.nt-scenarios a:hover { box-shadow: 0 0 0 1px var(--v29-accent); color: var(--v29-accent) !important; }
.nt-grid-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.nt-grid-fields--single { grid-template-columns: minmax(0, 1fr); }
.nt-grid-fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nt-grid-fields > .nt-step__note { grid-column: 1 / -1; margin: 0; }
.nt-grid-fields + .nt-pick-grid { margin-top: 26px; }
.nt-field label { display: block; margin-bottom: 8px; color: var(--v29-muted); font-size: 15px; }
.nt-stepper { display: inline-flex; align-items: stretch; overflow: hidden; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px var(--v29-line); }
.nt-stepper button { display: grid; place-items: center; width: 48px; min-height: 48px; padding: 0; border: 0; background: transparent; color: var(--v29-accent); font-size: 20px; cursor: pointer; transition: background-color .2s; }
.nt-stepper button:hover { background: rgba(75, 46, 242, .08); }
.nt-stepper input { width: 88px; padding: 0; border: 0; border-inline: 1px solid var(--v29-line); background: transparent; color: var(--v29-ink); font: inherit; font-size: 20px; font-variant-numeric: tabular-nums; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.nt-stepper input::-webkit-outer-spin-button, .nt-stepper input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.nt-stepper input:focus-visible { outline: 2px solid var(--v29-accent); outline-offset: -2px; border-radius: 0; }
.nt-stepper:has(input[aria-invalid="true"]) { box-shadow: inset 0 0 0 1.5px #b42318; }
.nt-field__hint { margin: 8px 0 0; color: var(--v29-soft); font-size: 14px; }
.nt-field__error { margin: 8px 0 0; color: #b42318; font-size: 14px; }
.nt-storage { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--v29-line); }
.nt-storage > .nt-step__note:first-child { margin-top: 0; }
.nt-switch { display: flex; align-items: center; gap: 14px; margin-top: 16px; cursor: pointer; }
.nt-switch input { position: relative; flex: none; width: 48px; height: 28px; margin: 0; border-radius: 999px; background: rgba(21, 23, 46, .2); cursor: pointer; -webkit-appearance: none; appearance: none; transition: background-color .25s; }
.nt-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(21, 23, 46, .3); transition: transform .3s var(--v29-ease); }
.nt-switch input:checked { background: var(--v29-accent); }
.nt-switch input:checked::after { transform: translateX(20px); }
.nt-switch input:focus-visible { outline: 2px solid var(--v29-accent); outline-offset: 3px; }
.nt-switch span { display: grid; gap: 2px; }
.nt-switch b { font-size: 16px; font-weight: 400; }
.nt-switch small { color: var(--v29-soft); font-size: 13.5px; }
.nt-notice { margin-top: 18px; padding: 18px 20px; border-radius: 10px; background: rgba(75, 46, 242, .06); }
.nt-notice p { margin: 0 0 14px; color: var(--v29-ink); font-size: 15px; line-height: 1.5; }
.nt-step--fold summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; }
.nt-step--fold summary::-webkit-details-marker { display: none; }
.nt-step--fold summary .v29-i { width: 36px; height: 36px; padding: 9px; border-radius: 50%; color: var(--v29-accent); box-shadow: inset 0 0 0 1px var(--v29-line); transition: transform .35s var(--v29-ease), background-color .25s, color .25s; }
.nt-step--fold[open] summary .v29-i { transform: rotate(45deg); background: var(--v29-accent); color: #fff; box-shadow: none; }
.nt-step--fold summary:hover .nt-step__title { color: var(--v29-accent); }

.nt-summary { position: sticky; top: 150px; }
.nt-summary__card { max-height: calc(100vh - 170px); overflow: auto; padding: 26px 26px 22px; border-radius: 12px; background: var(--v29-glass); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 30px 70px -36px rgba(60, 40, 10, .5), 0 0 0 1.5px rgba(75, 46, 242, .4); scrollbar-width: thin; }
.nt-summary__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nt-summary__head h3 { margin: 0; color: var(--v29-ink); font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.nt-summary__close { display: none; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 23, 46, .06); font-size: 20px; cursor: pointer; }
.nt-summary__plan { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 17px; }
.nt-total { display: grid; gap: 6px; margin: 14px 0 0; }
.nt-total > span { color: var(--v29-muted); font-size: 14px; }
.nt-total b { font-size: clamp(46px, 3.8vw, 62px); font-weight: 300; font-variant-numeric: tabular-nums; letter-spacing: -.055em; line-height: 1; }
.nt-total small { color: var(--v29-muted); font-size: 17px; letter-spacing: 0; }
.nt-summary__per-user, .nt-summary__year { margin: 8px 0 0; font-size: 14.5px; line-height: 1.45; }
.nt-summary__year { color: var(--v29-muted); }
.nt-summary__saving { margin: 4px 0 0; color: #17804a; font-size: 14px; }
.nt-summary__invalid { margin: 8px 0 0; color: #b42318; font-size: 14px; }
.nt-summary__group { margin-top: 18px; }
.nt-summary__label { margin: 0; color: var(--v29-ink); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.nt-summary__group ul { margin: 8px 0 0; padding: 0; border-top: 1px solid var(--v29-line); list-style: none; }
.nt-summary__group li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--v29-line); font-size: 14.5px; }
.nt-summary__group li span { display: grid; gap: 2px; }
.nt-summary__group small { color: var(--v29-soft); font-size: 12.5px; }
.nt-summary__group b { font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nt-summary__variable li { display: block; color: var(--v29-muted); font-size: 13.5px; }
.nt-summary__muted { margin: 8px 0 0; color: var(--v29-soft) !important; font-size: 14px; }
.nt-summary__blocked { margin-top: 18px; padding: 14px 16px; border-radius: 10px; background: rgba(180, 35, 24, .06); }
.nt-summary__blocked ul { display: grid; gap: 10px; margin: 8px 0 0; padding: 0; list-style: none; }
.nt-summary__blocked li { display: grid; gap: 2px; font-size: 14px; }
.nt-summary__blocked span { color: var(--v29-muted); font-size: 13.5px; }
.nt-page .nt-summary__blocked button { justify-self: start; margin-top: 4px; padding: 0; border: 0; background: none; color: var(--v29-accent); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.nt-summary__transition { margin-top: 14px; padding: 16px; border-radius: 10px; background: rgba(75, 46, 242, .07); }
.nt-summary__transition p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.45; }
.nt-summary__vat { margin: 16px 0 0; color: var(--v29-soft); font-size: 12.5px; line-height: 1.45; }
.nt-summary__status { margin: 6px 0 0; color: #17804a; font-size: 14px; }
.nt-summary__status:empty { display: none; }
.nt-summary__actions { display: grid; gap: 10px; margin-top: 18px; }
.nt-summary__actions .v29-btn, .nt-summary__contact .v29-btn { width: 100%; justify-content: center; }
.nt-summary__tools { display: flex; flex-wrap: wrap; gap: 4px 16px; padding-top: 4px; }
.nt-page .nt-summary__tools button, .nt-page .nt-summary__tools a { min-height: 40px; padding: 0; border: 0; background: none; color: var(--v29-accent) !important; font: inherit; font-size: 14.5px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; cursor: pointer; }
.nt-drawer { display: none; }

/* ---------- 09 Comparateur ---------- */
.nt-compare__controls { display: grid; justify-items: start; gap: 16px; margin-top: 44px; }
.nt-compare__picks { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.nt-compare__picks legend { width: 100%; margin-bottom: 8px; padding: 0; color: var(--v29-muted); font-size: 14px; }
.nt-chip-check { position: relative; cursor: pointer; }
.nt-chip-check input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.nt-chip-check span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: var(--v29-paper); box-shadow: inset 0 0 0 1px var(--v29-line); color: var(--v29-muted); font-size: 14px; transition: background-color .2s, color .2s, box-shadow .2s; }
.nt-chip-check input:checked + span { background: var(--v29-accent); color: #fff; box-shadow: none; }
.nt-chip-check input:focus-visible + span { outline: 2px solid var(--v29-accent); outline-offset: 2px; }
.nt-compare__max { margin: 0; color: #8a5208; font-size: 14px; }
.nt-compare__legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 28px 0 0; padding: 0; list-style: none; color: var(--v29-muted); font-size: 13.5px; }
.nt-compare__legend li { display: inline-flex; align-items: center; gap: 8px; }
.nt-compare__scroll { margin-top: 18px; overflow-x: auto; border-radius: 12px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-compare__scroll:focus-visible { outline: 2px solid var(--v29-accent); outline-offset: 3px; }
.nt-compare__table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15px; }
.is-filtered .nt-compare__table { min-width: 0; }
.nt-compare__table th, .nt-compare__table td { padding: 12px 18px; border-bottom: 1px solid var(--v29-line); text-align: left; vertical-align: top; }
.nt-compare__table thead th { position: sticky; top: 0; background: #f6f1ea; font-size: 16px; font-weight: 500; }
.nt-compare__table tbody th { width: 24%; color: var(--v29-muted); font-weight: 400; }
.nt-compare__table td { line-height: 1.4; }
.nt-compare__table td span { display: inline-grid; gap: 2px; }
.nt-compare__table td small { color: var(--v29-soft); font-size: 12.5px; }
.nt-compare__table .nt-i, .nt-compare__legend .nt-i { width: 20px; height: 20px; margin-right: 8px; padding: 3px; border-radius: 50%; vertical-align: top; stroke-width: 2.4; }
.nt-cmp--included .nt-i { background: rgba(34, 165, 101, .14); color: #17804a; }
.nt-cmp--option .nt-i { background: rgba(75, 46, 242, .1); color: var(--v29-accent); }
.nt-cmp--upgrade .nt-i { background: rgba(75, 46, 242, .06); color: var(--v29-accent); }
.nt-cmp--unavailable { color: var(--v29-soft); }
.nt-cmp--unavailable .nt-i { background: rgba(21, 23, 46, .06); color: var(--v29-soft); }
.nt-cmp--soon .nt-i, .nt-cmp--confirm .nt-i { background: rgba(196, 120, 20, .12); color: #8a5208; }
.nt-compare__relation { max-width: 80ch; margin: 22px 0 0; color: var(--v29-muted); font-size: 15px; line-height: 1.6; }

/* ---------- 10 Cloud et options ---------- */
.nt-scale-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 16px; margin: 56px 0 0; padding: 0; list-style: none; }
.nt-size { display: flex; flex-direction: column; padding: 26px 24px 22px; border-radius: 12px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-size--s { box-shadow: 0 0 0 1.5px var(--v29-accent); }
.nt-size__audience { margin: 0; color: var(--v29-accent); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.nt-size h3 { margin: 10px 0 0; font-size: 28px; font-weight: 300; letter-spacing: -.035em; }
.nt-size__benefit { margin: 10px 0 0; color: var(--v29-muted); font-size: 15px; line-height: 1.5; }
.nt-size__prices { margin: auto 0 0; padding-top: 18px; }
.nt-size__prices div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 10px; padding: 9px 0; border-top: 1px solid var(--v29-line); }
.nt-size__prices dt { color: var(--v29-soft); font-size: 13px; }
.nt-size__prices dd { margin: 0; font-size: 15px; }
.nt-size__prices b { font-size: 21px; font-weight: 400; letter-spacing: -.02em; }
.nt-size__specs { margin-top: 8px; color: var(--v29-soft); font-size: 13px; }
.nt-size__specs summary { min-height: 32px; cursor: pointer; color: var(--v29-muted); }
.nt-size__specs p { margin: 4px 0 0; }
.nt-cloud__storage { max-width: 80ch; margin: 28px 0 0; font-size: 16px; line-height: 1.6; }
.nt-cloud__hint { max-width: 80ch; margin: 10px 0 0; color: var(--v29-soft); font-size: 14px; line-height: 1.55; }
.nt-options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-top: 56px; }
.nt-option-card { padding: 32px 34px 30px; border-radius: 12px; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line); }
.nt-option-card--packs { background: #f6f1ea; box-shadow: none; }
.nt-option-card > p { margin: 14px 0 0; color: var(--v29-muted); font-size: 16px; line-height: 1.55; }
.nt-option-card__label { display: flex; align-items: center; gap: 12px; margin: 0 !important; color: var(--v29-muted) !important; font-size: 13px !important; letter-spacing: .16em; text-transform: uppercase; }
.nt-option-card__label span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(75, 46, 242, .1); color: var(--v29-accent); font-size: 18px; }
.nt-option-card h3 { margin: 18px 0 0; font-size: clamp(24px, 2vw, 30px); font-weight: 300; letter-spacing: -.035em; line-height: 1.15; }
.nt-option-card--packs h3 { margin-top: 0; }
.nt-option-card__note { color: var(--v29-soft) !important; font-size: 14px !important; }
.nt-option-card .v29-link { margin-top: 18px; }
.nt-services__table { margin: 18px 0 0; padding: 0; list-style: none; }
.nt-services__table li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 11px 0; border-top: 1px solid var(--v29-line); font-size: 15.5px; }
.nt-services__table span i { display: block; color: var(--v29-soft); font-size: 13px; font-style: normal; }
.nt-services__table b { font-weight: 500; text-align: right; white-space: nowrap; }
.nt-services__table b i { color: var(--v29-soft); font-size: 13px; font-style: normal; font-weight: 400; }

/* ---------- 11 Partenaires ---------- */
.nt-partners__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; gap: clamp(32px, 5vw, 96px); }
.nt-partners__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 34px 0 30px; }
.nt-partners__list div { padding: 14px 0; border-top: 1px solid var(--v29-line); }
.nt-partners__list dt { font-size: 16px; }
.nt-partners__list dd { margin: 4px 0 0; color: var(--v29-muted); font-size: 14.5px; line-height: 1.5; }
.nt-fiduciary { padding: 34px 34px 30px; }
.nt-fiduciary__icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0; border-radius: 50%; background: var(--v29-accent); color: #fff; font-size: 24px; }
.nt-fiduciary__icon .nt-i { width: 24px; height: 24px; }
.nt-fiduciary h3 { margin: 18px 0 0; font-size: clamp(26px, 2.2vw, 32px); font-weight: 300; letter-spacing: -.035em; }
.nt-fiduciary > p { margin: 12px 0 18px; color: var(--v29-muted); font-size: 16px; line-height: 1.55; }
.nt-fiduciary .v29-link { margin-top: 20px; }

/* ---------- FAQ et appel final ---------- */
.nt-faq { padding-top: 0; }
.nt-faq .v29s-h2 { font-size: clamp(34px, 3vw, 48px); }
.nt-faq__head { position: sticky; top: 170px; align-self: start; }
.nt-faq__filter { margin: 18px 0 0; color: var(--v29-muted); font-size: 15px; }
.nt-faq__filter b { color: var(--v29-accent); font-weight: 500; }
.nt-final .v29-final__title { max-width: 15em; }
.nt-final .v29-kicker { margin: 0 0 18px; color: var(--v29-muted); font-size: 14px; }
.nt-final > div:first-child > p:not(.v29-kicker) { max-width: 60ch; }
.nt-final__recap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-top: 18px !important; padding: 14px 18px; border-radius: 10px; background: rgba(255, 253, 249, .8); color: var(--v29-ink) !important; font-size: 16px !important; }
.nt-final__recap b { font-weight: 500; }
.nt-final__recap a { color: var(--v29-accent) !important; }
.v29-page .nt-final__primary { color: #fff !important; }
.nt-final__actions { max-width: 420px; }

/* ---------- Bouton collant (mobile) ---------- */
.nt-sticky { display: none; }

/* ---------- Adaptatif ---------- */
@media (max-width: 1180px) {
  .nt-rail, .nt-scale-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-rail__level:nth-child(3) { padding-left: 0; border-left: 0; }
  .nt-rail__level:nth-child(n + 3) { border-top: 1px solid var(--v29-line); }
  .nt-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-pick-grid--sizes, .nt-pick-grid--packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-pick-grid--objective { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .nt-split-head, .nt-business__layout, .nt-finance, .nt-commander__layout, .nt-partners__layout, .nt-paths, .nt-options { grid-template-columns: minmax(0, 1fr); }
  .nt-split-head { gap: 22px; }
  .nt-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-door:not(:nth-child(3n + 1)) { border-left: 0; }
  .nt-door:nth-child(even) { border-left: 1px solid var(--v29-line); }
  .nt-door a, .nt-door:not(:nth-child(3n + 1)) a { padding: 28px 24px 28px 0; }
  .nt-door:nth-child(even) a { padding-left: 24px; }
  .nt-steps ol { grid-template-columns: minmax(0, 1fr); }
  .nt-faq__head { position: static; }
  .nt-lite__notes { grid-template-columns: minmax(0, 1fr); }
  .nt-config__layout { grid-template-columns: minmax(0, 1fr); }
  .nt-config { padding-bottom: calc(clamp(96px, 13vh, 150px) + 72px); }
  .nt-summary { position: fixed; inset: 0; z-index: 90; display: none; padding: 86px 16px calc(96px + env(safe-area-inset-bottom)); overflow: auto; overscroll-behavior: contain; background: rgba(21, 23, 46, .45); }
  .nt-summary.nt-summary--open { display: block; }
  .nt-summary__card { width: min(100%, 560px); max-height: none; margin-inline: auto; background: var(--v29-paper); }
  .nt-summary__close { display: grid; }
  body.nt-drawer-lock { overflow: hidden; }
  body.nt-drawer-lock .nt-config { z-index: 100; }
  .nt-drawer { display: block; position: fixed; inset: auto 0 0; z-index: 95; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(251, 247, 241, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 -1px 0 var(--v29-line); }
  .nt-page .nt-drawer__toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 54px; padding: 0 20px; border: 0; border-radius: 10px; background: var(--v29-accent); color: #fff; font-size: 16px; cursor: pointer; }
  .nt-drawer__toggle b { font-size: 20px; font-weight: 400; font-variant-numeric: tabular-nums; }
  .nt-jump__inner { flex-wrap: wrap; gap: 0; }
  .nt-focus { margin-bottom: 8px; }
}
@media (max-width: 860px) {
  .nt-section { padding: 76px 0; }
  .nt-page main section[id], .nt-anchor { scroll-margin-top: 128px; }
  .nt-hero__title { font-size: clamp(40px, 11vw, 58px); }
  .nt-reassure { gap: 10px 20px; font-size: 14px; }
  .nt-jump a { min-height: 40px; padding: 0 12px; font-size: 14px; }
  .nt-doors { grid-template-columns: minmax(0, 1fr); margin-top: 36px; }
  .nt-door:nth-child(even) { border-left: 0; }
  .nt-door a, .nt-door:nth-child(even) a, .nt-door:not(:nth-child(3n + 1)) a { padding: 22px 0; }
  .nt-door__go { right: 0; opacity: 1; transform: none; }
  /* Tableau Lite en mobile : chaque fonction devient une ligne titrée, trois valeurs dessous. */
  .nt-lite { margin-top: 36px; }
  .nt-lite__table, .nt-lite__table thead, .nt-lite__table tbody { display: block; }
  .nt-lite__table thead tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .nt-lite__corner { display: none !important; }
  .nt-lite__plan { padding: 22px 10px 16px !important; border-radius: 12px !important; background: var(--v29-paper); box-shadow: 0 0 0 1px var(--v29-line) !important; }
  .nt-lite__plan.is-recommended { box-shadow: 0 0 0 1.5px var(--v29-accent) !important; }
  .nt-lite__badge { left: 10px; font-size: 11px; }
  .nt-lite__name { font-size: 18px; }
  .nt-lite__tagline { font-size: 12.5px; }
  .nt-lite__price strong { font-size: 30px; }
  .nt-lite__price small { font-size: 11.5px; }
  .nt-lite__cta { min-height: 40px; padding: 0 10px; font-size: 13px; }
  .nt-lite__table tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 8px; padding: 10px 0; border-bottom: 1px solid var(--v29-line); }
  .nt-lite__table tbody th { grid-column: 1 / -1; width: auto; padding: 0 0 6px; border: 0; color: var(--v29-ink); font-size: 14px; font-weight: 500; }
  .nt-lite__table tbody td { padding: 0 6px; border: 0; background: none !important; box-shadow: none !important; font-size: 13.5px; }
  .nt-lite__cell .nt-i { width: 16px; height: 16px; margin-right: 5px; padding: 2px; vertical-align: -3px; }
  .nt-lite__plan { vertical-align: top; }
  .nt-lite__table thead th { display: flex; flex-direction: column; }
  .nt-lite__cta { margin-top: auto; padding-top: 0; }
  .nt-lite__price { margin: 14px 0 16px; }
  .nt-business__offer, .nt-path, .nt-steps, .nt-commander__offer, .nt-option-card, .nt-fiduciary { padding: 26px 20px; }
  .nt-business__eligible ul, .nt-ledger__items, .nt-commander__can, .nt-partners__list { grid-template-columns: minmax(0, 1fr); }
  .nt-sim { padding: 26px 20px 22px; }
  .nt-groups { grid-template-columns: minmax(0, 1fr); }
  .nt-ledger__row { grid-template-columns: minmax(0, 1fr); }
  .nt-ledger__price { justify-items: start; text-align: left; }
  .nt-ledger__maat { padding: 22px 20px; }
  .nt-rail, .nt-scale-strip { grid-template-columns: minmax(0, 1fr); }
  .nt-rail__level, .nt-rail__level:first-child { padding: 22px 0; border-left: 0 !important; }
  .nt-rail__level + .nt-rail__level { border-top: 1px solid var(--v29-line); }
  .nt-rail__level.is-recommended { padding-inline: 16px; }
  .nt-chat { padding: 24px 18px; }
  .nt-step { padding: 24px 18px 26px; }
  .nt-pick-grid--objective, .nt-pick-grid--two, .nt-pick-grid--three, .nt-pick-grid--guidance { grid-template-columns: minmax(0, 1fr); }
  .nt-grid-fields, .nt-grid-fields--three { grid-template-columns: minmax(0, 1fr); }
  .nt-services__table li { flex-wrap: wrap; }
  .nt-final__actions { max-width: none; }
  .nt-final__actions .v29-btn { width: 100%; }
  .nt-sticky:not([hidden]) { position: fixed; inset: auto 0 0; z-index: 80; display: flex; align-items: center; gap: 14px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(251, 247, 241, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 -1px 0 var(--v29-line); }
  .nt-sticky .v29-btn { flex: 1 0 auto; min-height: 50px; padding: 0 18px; white-space: nowrap; }
  .nt-sticky span { color: var(--v29-muted); font-size: 13px; line-height: 1.3; }
}
@media (max-width: 420px) {
  .nt-seg span { padding: 0 13px; }
  .nt-pick-grid--sizes, .nt-pick-grid--packs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .v29-js .nt-hero:not(.is-in) .nt-reassure li, .v29-js .nt-commander:not(.is-in) .nt-chat__steps li, .v29-js .nt-commander:not(.is-in) .nt-chat__approve { opacity: 1; transform: none; }
  .nt-chat__steps li, .nt-chat__approve, .nt-reassure li, .nt-jump, .nt-door__go { transition: none; }
}
