/* Offres essentielles : une phrase, un schéma, une action. */
.offres-essentielles { background:#f5f5f7; }
.offer-overview { position:relative; padding:114px 0 52px; background:radial-gradient(ellipse at 50% 15%,#fff,transparent 78%); }
.offer-overview>.cadre { position:relative; max-width:1080px; }
.offer-back { position:absolute; left:24px; top:0; display:inline-flex; align-items:center; gap:7px; min-height:28px; font-size:11px; color:#6a6e76; }
.offer-back .ico { width:12px; height:12px; transform:rotate(180deg); }
.offer-back:hover { color:#1d1d1f; }
.offer-title { text-align:center; }
.offer-name { display:flex; align-items:center; justify-content:center; gap:12px; min-height:28px; font-size:12px; font-weight:500; color:#59626b; }
.offer-status { padding:4px 9px; border:1px solid #e2e7e4; border-radius:99px; font-size:9px; font-weight:400; color:#65705d; background:#f0f3eb; }
.offer-title h1 { max-width:24ch; margin:14px auto 0; font-size:clamp(38px,4.3vw,58px); line-height:1.06; font-weight:500; letter-spacing:-.05em; }
.offer-intro { max-width:54ch; margin:17px auto 0; color:#687079; font-size:15px; line-height:1.6; text-wrap:balance; }
.offer-map { margin:32px auto 0; padding:24px 32px; border:1px solid #ffffffed; border-radius:32px; background:linear-gradient(135deg,#ffffffba,#ffffff75); box-shadow:inset 0 1px 0 #fff,0 20px 50px -35px #30465e33; scroll-margin-top:106px; }
.map-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:72px; margin:0; padding:0; list-style:none; }
.map-node { position:relative; min-width:0; text-align:center; }
.map-node:not(:last-child)::before { content:''; position:absolute; height:1px; left:calc(100% + 5px); width:62px; top:66px; background:linear-gradient(90deg,#dae2e9,#b9c9d7); }
.map-node:not(:last-child)::after { content:''; position:absolute; left:calc(100% + 61px); top:63px; width:7px; height:7px; border-top:1px solid #b9c9d7; border-right:1px solid #b9c9d7; transform:rotate(45deg); }
.map-visual { height:132px; display:flex; align-items:center; justify-content:center; }
.map-caption { position:relative; margin-top:18px; }
.map-caption strong { font-size:17px; font-weight:500; letter-spacing:-.025em; }
.map-caption p { margin-top:6px; font-size:11px; color:#737b83; line-height:1.5; }
.map-number { display:none; }
.map-app { display:grid; place-items:center; width:106px; height:106px; border:1px solid #fff; border-radius:30px; background:linear-gradient(145deg,#fff,#dceaf4); box-shadow:inset 0 2px 2px #fff,inset 0 -3px 4px #ffffffa6,0 14px 24px -16px #36567066; }
.map-app img { width:86px; height:86px; }
.offer-formations .map-app { background:linear-gradient(145deg,#fff,#f2dfd2); }
.offer-consultants .map-app { background:linear-gradient(145deg,#fff,#dfeee4); }
.offer-nikibot .map-app { background:linear-gradient(145deg,#fff,#e9edce); }
.map-stack { display:grid; gap:7px; width:180px; }
.map-chip { display:flex; align-items:center; gap:11px; min-height:34px; padding:8px 14px; background:#fff; border:1px solid #e8ecf0; border-radius:11px; box-shadow:0 5px 12px -10px #30465e33; color:#637383; font-size:11px; }
.map-chip .ico { width:15px; height:15px; color:#7890a3; }
.map-sheet { width:204px; padding:15px 17px; border:1px solid #e5eaf0; border-radius:16px; background:#fff; box-shadow:0 8px 20px -18px #30465e44; text-align:left; }
.map-sheet-title { display:block; margin-bottom:11px; font-size:8px; font-weight:500; letter-spacing:.08em; color:#798793; }
.map-sheet>span:not(.map-sheet-title) { display:flex; gap:8px; align-items:center; font-size:10px; line-height:1.5; padding-block:4px; color:#5c6974; }.map-sheet i { font-style:normal; }.map-sheet .ico { width:12px;height:12px;color:#829c8b;flex:none; }
.map-lesson { width:190px; padding:17px; background:#fff; border:1px solid #e8ecf0; border-radius:16px; display:grid; justify-items:center; gap:11px; }
.map-concept { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:#aa8875; background:#f6eee8; }.map-concept .ico { width:16px;height:16px;fill:none;stroke:currentColor; }
.map-lesson>span:not(.map-concept) { font-size:9px;color:#727b83; }.map-progress { height:3px;width:100%;background:#edf0f3;border-radius:99px;overflow:hidden; }.map-progress i { display:block; width:43%;height:100%;background:#d8b9a6; }
.map-workflow { display:flex; position:relative; gap:18px; padding-bottom:30px; }.map-workflow>span { position:relative; display:grid;place-items:center;width:48px;height:48px;border:1px solid #e2eae6;border-radius:15px;background:#fff;color:#6c8a78; }.map-workflow>span:not(:last-of-type)::after { content:'';position:absolute;left:100%;top:50%;width:19px;border-top:1px solid #cfddd5; }.map-workflow .ico { width:21px;height:21px; }.map-workflow small { position:absolute;bottom:0;left:0;right:0;font-size:10px;color:#6b7f73; }
.map-reply { width:204px; padding:15px 17px; border:1px solid #e5eaf0; border-radius:16px;background:#fff;text-align:left; }.map-reply>span { color:#7c858d;font-size:9px; }.map-reply strong { display:block;margin:9px 0;color:#53616c;font-size:12px;font-weight:500; }.map-reply>i { display:block;width:100%;height:4px;margin-top:5px;border-radius:3px;background:#edf0f2; }.map-reply>i:last-of-type { width:73%; }.map-reply small { display:flex;align-items:center;gap:5px;margin-top:13px;color:#7b8b75;font-size:8px; }.map-reply small .ico { width:11px;height:11px; }
.offer-main-action { text-align:center; margin-top:27px; }.offer-main-action .btn { min-height:46px;gap:12px;font-size:13px; }.offer-main-action .btn>.ico { width:14px;height:14px; }.offer-facts { display:flex;justify-content:center;flex-wrap:wrap;gap:7px 18px;margin-top:16px;color:#727981;font-size:10px; }.offer-facts>span+span::before { content:'·';margin-right:18px;color:#b0b7bf; }
/* Les précisions sont accessibles à la demande. */
.offer-options { padding:0 0 38px; }.offer-options>.cadre,.offer-questions>.cadre { max-width:1000px; }
.offer-disclosure { overflow:hidden; border:1px solid #e1e6eb; border-radius:22px; background:#ffffffa6; scroll-margin-top:110px; }
.offer-disclosure>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:82px; padding:24px 28px; cursor:pointer; list-style:none; }.offer-disclosure>summary::-webkit-details-marker { display:none; }.offer-disclosure>summary>strong { font-size:16px;font-weight:500;letter-spacing:-.02em; }.disclosure-action { display:flex;align-items:center;gap:12px;flex:none;font-size:11px;color:#6c7e8d; }.disclosure-action .ico { width:13px;height:13px;transform:rotate(90deg);transition:transform .2s; }.offer-disclosure[open] .disclosure-action .ico { transform:rotate(-90deg); }.offer-disclosure>summary:hover { background:#f7f9fb; }.offer-disclosure[open]>summary { border-bottom:1px solid #e5e9ed; }
.offer-disclosure-body { padding:28px; }.offer-example { display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:20px; }.example-input,.example-output { display:flex;align-items:center;gap:12px;min-height:92px;padding:24px;border:1px solid #e3e8ed;border-radius:17px;background:#fff;color:#596775;font-size:14px;line-height:1.5; }.example-input>.ico { flex:none;width:23px;height:23px;color:#7890a3; }.example-output { background:#edf3f6;border-color:#e6edf2; }.example-arrow { text-align:center;color:#9aaaba;font-size:22px; }.offer-note { margin-top:22px;text-align:center;color:#78818b;font-size:11px;line-height:1.6; }
.access-levels { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.access-levels>div { display:grid;justify-items:center;padding:24px 10px;border:1px solid #e3e8ed;border-radius:18px;background:#fff; }.access-levels .ico { width:24px;height:24px;margin-bottom:16px;color:#7b8c9a; }.access-levels strong { font-size:15px;font-weight:500; }.access-levels span { margin-top:7px;font-size:11px;color:#737b83; }
.offer-questions { padding:28px 0 20px; }.offer-questions h2,.offer-options h2 { font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.035em;margin-bottom:24px; }.offer-questions .faq-list { display:block; }.offer-questions .faq-list details { background:transparent;border:0;border-bottom:1px solid #dfe3e8;border-radius:0; }.offer-questions .faq-list summary { min-height:64px;padding:22px 36px 22px 0;font-size:14px; }.offer-questions .faq-list summary::after { right:5px;top:17px;font-size:22px; }.offer-questions .faq-answer { max-width:66ch;padding-bottom:22px;font-size:14px;line-height:1.65; }.offer-questions .content-review { max-width:1000px;margin:18px auto 0;padding-inline:24px;font-size:9px;line-height:1.5;color:#7c838b; }
.offer-bottom { padding:38px 0 66px; }.offer-bottom>.cadre { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 28px; }.offer-bottom .btn { min-height:46px;font-size:13px;gap:10px; }.offer-bottom>.cadre>a:not(.btn) { display:flex;align-items:center;gap:8px;color:#6d7c88;font-size:12px; }.offer-bottom .ico { width:14px;height:14px; }
.offer-collective { padding:0 0 36px; }.offer-collective>.cadre { display:flex;align-items:center;gap:17px;max-width:1000px; }.offer-collective img { width:48px;height:48px;object-fit:cover;object-position:center 25%;border-radius:50%; }.offer-collective strong { display:block;font-size:13px;font-weight:500; }.offer-collective p>span { display:block;margin-top:5px;font-size:11px;color:#737b83; }.offer-collective a { margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;color:#61798c; }.offer-collective .ico { width:13px;height:13px; }
/* Formation : choisir un format, puis ouvrir le vrai module si souhaité. */
.offer-formations+.offer-options { padding-top:34px; }.offer-options h2 { text-align:center;margin-bottom:30px; }.offer-courses { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.offer-course { display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;border:1px solid #e2e7eb;border-radius:24px;background:#ffffffbf; }.offer-course-icon { display:grid;place-items:center;width:42px;height:42px;margin-bottom:23px;border-radius:14px;background:#f1f3f6;color:#7b8996; }.offer-course-icon .ico { width:21px;height:21px; }.offer-course>small { font-size:10px;color:#79828b; }.offer-course h3 { margin-top:9px;font-size:21px;font-weight:500;line-height:1.2;letter-spacing:-.03em; }.offer-course>p { margin-top:12px;font-size:13px;color:#727981;line-height:1.65; }.offer-course .course-duration { display:block;margin-top:20px;padding:0;border:0;background:none;color:#536576;font-size:12px; }.offer-course>a { display:flex;align-items:center;gap:8px;padding-top:24px;margin-top:auto;font-size:11px;color:#526e83; }.offer-course>a .ico { width:13px;height:13px; }
.offer-learning { margin-top:24px; }.offer-learning>summary { padding:26px 28px; }.offer-learning>summary>span:first-child { display:grid;gap:8px; }.offer-learning summary small { color:#7f8d79;font-size:9px;letter-spacing:.05em; }.offer-learning summary strong { font-size:22px;font-weight:500;letter-spacing:-.03em; }.offer-learning summary>span>span { color:#737b83;font-size:11px; }.offer-learning>.offer-disclosure-body { padding:0; }.offer-learning .training-workbench { border:0;border-radius:0;box-shadow:none; }.offer-learning .training-workbench-top { background:#f6f8fa; }.offer-learning .training-workbench-top>a { color:#60788c; }.offer-learning .training-workbench-footer { padding:22px 28px; }.offer-learning .training-workbench-footer>p { font-size:12px; }.offer-learning .training-workbench-footer>a { font-size:12px; }.offer-program { padding:22px 28px;border-top:1px solid #e4e9ed; }.offer-program>summary { display:flex;align-items:center;justify-content:space-between;font-size:13px;cursor:pointer;list-style:none; }.offer-program>summary::-webkit-details-marker { display:none; }.offer-program>summary .ico { width:13px;height:13px;transform:rotate(90deg); }.offer-program[open]>summary .ico { transform:rotate(-90deg); }.offer-program .training-lesson { border-color:#e2e7ed; }.offer-program .training-lesson-intro { font-size:12px; }.offer-program .training-lesson h3 { font-size:17px; }
@media (max-width:899px) {
 .offer-overview { padding-top:112px; }.offer-back { position:static;margin-bottom:18px; }.offer-title h1 { font-size:44px; }.offer-map { padding:24px; }.map-path { gap:36px; }.map-node:not(:last-child)::before { left:calc(100% + 2px);width:32px; }.map-node:not(:last-child)::after { left:calc(100% + 29px); }.map-stack,.map-sheet,.map-reply,.map-lesson { width:100%;max-width:180px; }.map-sheet,.map-reply { padding:14px 12px; }.map-caption strong { font-size:16px; }.map-caption p { font-size:10px; }.map-workflow { gap:9px; }.map-workflow>span { width:39px;height:42px;border-radius:12px; }.map-workflow>span:not(:last-of-type)::after { width:10px; }.offer-course { padding:22px; }.offer-course h3 { font-size:19px; }
}
@media (max-width:640px) {
 .offer-overview { padding:94px 0 36px; }.offer-back { font-size:10px;margin-bottom:15px; }.offer-name { font-size:11px;gap:8px; }.offer-status { font-size:8px;padding:4px 7px; }.offer-title h1 { font-size:36px;line-height:1.07;letter-spacing:-.05em;margin-top:11px; }.offer-intro { max-width:34ch;margin-top:14px;font-size:13px;line-height:1.6; }
 .offer-map { margin-top:25px;padding:12px 20px;border-radius:26px; }.map-path { grid-template-columns:1fr;gap:0; }.map-node { display:grid;grid-template-columns:104px minmax(0,1fr);gap:22px;align-items:center;text-align:left;padding:15px 0; }.map-node+.map-node { border-top:1px solid #e6ebf0; }.map-node::before,.map-node::after { display:none; }.map-visual { height:76px; }.map-caption { margin:0; }.map-caption strong { font-size:16px; }.map-caption p { font-size:10px;margin-top:5px; }.map-number { display:block;margin-bottom:7px;color:#9ba6b0;font-size:8px; }.map-app { width:72px;height:72px;border-radius:22px; }.map-app img { width:58px;height:58px; }
 .map-stack { width:104px;gap:4px; }.map-chip { padding:5px 8px;min-height:23px;gap:7px;font-size:8px;border-radius:7px; }.map-chip .ico { width:11px;height:11px; }.map-sheet { width:104px;padding:8px;border-radius:11px; }.map-sheet-title { margin-bottom:6px;font-size:5px;letter-spacing:.02em; }.map-sheet>span:not(.map-sheet-title) { gap:4px;font-size:6px;padding-block:2px; }.map-sheet .ico { width:8px;height:8px; }.map-reply { width:104px;padding:9px;border-radius:11px; }.map-reply>span { font-size:5.5px; }.map-reply strong { font-size:8px;margin:5px 0; }.map-reply>i { height:3px;margin-top:3px; }.map-reply small { font-size:5px;gap:3px;margin-top:7px; }.map-reply small .ico { width:7px;height:7px; }.map-lesson { width:104px;padding:10px;border-radius:11px;gap:7px; }.map-lesson>span:not(.map-concept) { font-size:6px; }.map-concept { width:25px;height:25px; }.map-concept .ico { width:11px;height:11px; }.map-workflow { gap:5px;padding-bottom:20px; }.map-workflow>span { width:30px;height:30px;border-radius:9px; }.map-workflow>span:not(:last-of-type)::after { width:6px; }.map-workflow .ico { width:15px;height:15px; }.map-workflow small { font-size:6px; }
 .offer-main-action { margin-top:23px; }.offer-main-action .btn { min-height:46px;max-width:100%;font-size:12px; }.offer-facts { gap:7px 10px;font-size:9px;margin-top:15px; }.offer-facts>span+span::before { margin-right:10px; }
 .offer-options { padding-bottom:22px; }.offer-disclosure { border-radius:20px; }.offer-disclosure>summary { min-height:78px;padding:22px;gap:12px; }.offer-disclosure>summary>strong { font-size:15px;max-width:21ch; }.disclosure-action { font-size:0;gap:0; }.disclosure-action .ico { width:14px;height:14px; }.offer-disclosure-body { padding:22px; }.offer-example { grid-template-columns:1fr;gap:12px; }.example-input,.example-output { min-height:72px;padding:20px;font-size:13px; }.example-arrow { transform:rotate(90deg);font-size:19px; }.offer-note { margin-top:18px;font-size:10px; }.access-levels { grid-template-columns:1fr;gap:9px; }.access-levels>div { grid-template-columns:24px 1fr;justify-items:start;gap:5px 14px;text-align:left;padding:18px; }.access-levels .ico { grid-row:1/3;align-self:center;margin:0;width:21px;height:21px; }.access-levels strong { font-size:14px; }.access-levels span { grid-column:2;margin:0;font-size:11px; }
 .offer-questions { padding-top:27px; }.offer-questions h2,.offer-options h2 { font-size:26px;margin-bottom:17px; }.offer-questions .faq-list summary { font-size:13px; }.offer-questions .faq-answer { font-size:13px; }.offer-questions .content-review { padding-inline:22px;font-size:8px;margin-top:15px; }.offer-bottom { padding:24px 0 46px; }.offer-bottom>.cadre { flex-direction:column;gap:22px; }.offer-collective { padding:10px 0 22px; }.offer-collective>.cadre { flex-wrap:wrap;gap:13px; }.offer-collective img { width:42px;height:42px; }.offer-collective strong { font-size:12px; }.offer-collective p>span { font-size:10px; }.offer-collective a { margin:0 0 0 55px;font-size:11px; }
 .offer-formations+.offer-options { padding-top:24px; }.offer-courses { grid-template-columns:1fr;gap:12px; }.offer-course { display:grid;grid-template-columns:42px 1fr;gap:0 17px;padding:22px;border-radius:22px; }.offer-course-icon { grid-row:1/4;margin:0; }.offer-course>small,.offer-course h3,.offer-course>p,.offer-course .course-duration,.offer-course>a { grid-column:2; }.offer-course h3 { font-size:20px;margin-top:7px; }.offer-course>p { font-size:12px;margin-top:10px; }.offer-course .course-duration { margin-top:14px;font-size:11px; }.offer-course>a { padding-top:18px;font-size:11px; }.offer-learning>summary { padding:24px 22px; }.offer-learning summary strong { font-size:21px;line-height:1.2; }.offer-learning .training-workbench-top { padding:16px; }.offer-learning .training-workbench-footer { padding:20px;gap:16px; }.offer-program { padding:20px; }
}
@media (max-width:359px) {
 .offer-overview { padding-top:88px; }.offer-title h1 { font-size:29px; }.map-node { padding-block:12px; }.offer-intro { font-size:12px; }.offer-map { padding-inline:14px; }.map-node { grid-template-columns:88px minmax(0,1fr);gap:14px; }.map-stack,.map-sheet,.map-reply,.map-lesson { width:88px; }.map-caption strong { font-size:14px; }.map-caption p { font-size:9px; }.map-workflow { gap:4px; }.map-workflow>span { width:26px;height:28px; }.offer-facts { font-size:8px;gap:7px; }.offer-facts>span+span::before { margin-right:7px; }.offer-collective strong { font-size:11px; }
}
/* Lecture guidée : un seul mouvement utile à la fois, puis un schéma au repos. */
.map-motion { --map-accent:#829caf; padding-bottom:10px; }
.offer-formations .map-motion { --map-accent:#ba9d88; }
.offer-consultants .map-motion { --map-accent:#8aa695; }
.offer-nikibot .map-motion { --map-accent:#9da77f; }
.map-controls { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:10px; }
.map-controls[hidden] { display:none; }
.map-steps { display:flex; gap:4px; }
.map-step,.map-toggle { appearance:none; border:0; background:transparent; color:#707b84; cursor:pointer; }
.map-step { display:grid; place-items:center; width:34px; height:32px; padding:0; border-radius:9px; }
.map-step>span { display:block; overflow:hidden; width:25px; height:3px; border-radius:3px; background:#e1e6eb; }
.map-step i { display:block; width:100%; height:100%; border-radius:inherit; background:var(--map-accent); transform:scaleX(var(--map-progress,0)); transform-origin:left; }
.map-step[aria-pressed=true]>span { background:#cdd7df; }
.map-toggle { display:flex; align-items:center; justify-content:flex-start; gap:6px; min-width:90px; min-height:32px; padding:0 9px; border-radius:99px; font:inherit; font-size:10px; }
.map-toggle svg { width:15px; height:15px; flex:none; }
.map-toggle path { display:none; }
.map-toggle[data-action=pause] .map-pause,.map-toggle[data-action=play] .map-play,.map-toggle[data-action=replay] .map-replay { display:block; }
.map-step:hover,.map-toggle:hover { background:#eaf0f4; color:#293e4b; }
.map-step:focus-visible,.map-toggle:focus-visible { outline:2px solid #7895ad; outline-offset:3px; }
@media (min-width:641px) {
 .map-motion .map-visual { height:112px; }
 .map-motion .map-caption { margin-top:14px; }
 .map-motion .map-node:not(:last-child)::before { top:56px; }
 .map-motion .map-node:not(:last-child)::after { top:53px; }
}
@media (prefers-reduced-motion:no-preference) {
 .map-motion .map-visual { transition:opacity .65s ease,transform .8s cubic-bezier(.22,1,.36,1); }
 .map-motion .is-pending .map-visual { opacity:.28; transform:translateY(5px) scale(.98); }
 .map-motion .map-node::before { transform-origin:left; }
 .map-motion .is-pending::before { transform:scaleX(0); }
 .map-motion .is-pending::after { opacity:0; }
 .map-motion .is-current::before { animation:map-link .8s cubic-bezier(.4,0,.2,1) 1s both; }
 .map-motion .is-current::after { animation:map-arrive .3s ease 1.5s both; }
 .map-motion .is-current .map-chip,
 .map-motion .is-current .map-sheet>span:not(.map-sheet-title),
 .map-motion .is-current .map-workflow>span,
 .map-motion .is-current .map-reply>strong,
 .map-motion .is-current .map-reply>i,
 .map-motion .is-current .map-reply>small { animation:map-detail .75s cubic-bezier(.22,1,.36,1) var(--map-delay,0ms) both; }
 .map-motion .is-current .map-app { animation:map-focus 1.4s cubic-bezier(.22,1,.36,1) both; }
 .map-motion .map-progress i { width:100%; transform-origin:left; }
 .map-motion .is-current .map-progress i { animation:map-link 1.4s cubic-bezier(.4,0,.2,1) .15s both; }
 .map-motion .is-pending .map-progress i { transform:scaleX(0); }
 .map-motion .is-current .map-reply>small { animation-delay:1s; }
 .map-motion[data-motion=paused] .is-current::before,
 .map-motion[data-motion=paused] .is-current::after,
 .map-motion[data-motion=paused] .is-current * { animation-play-state:paused !important; }
 .map-motion[data-manual=true] .is-current::before,
 .map-motion[data-manual=true] .is-current::after,
 .map-motion[data-manual=true] .is-current * { animation:none !important; }
 .offer-disclosure[open] .example-input,
 .offer-disclosure[open] .access-levels>div { animation:map-detail .7s cubic-bezier(.22,1,.36,1) both; }
 .offer-disclosure[open] .example-arrow { animation:map-arrive .5s ease .35s both; }
 .offer-disclosure[open] .example-output { animation:map-detail .8s cubic-bezier(.22,1,.36,1) .55s both; }
 .offer-disclosure[open] .access-levels>div:nth-child(2) { animation-delay:.15s; }
 .offer-disclosure[open] .access-levels>div:nth-child(3) { animation-delay:.3s; }
 @keyframes map-detail { from { opacity:.15; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
 @keyframes map-focus { 0% { transform:translateY(5px) scale(.94); } 65% { transform:translateY(-2px) scale(1.025); } 100% { transform:translateY(0) scale(1); } }
 @keyframes map-link { from { transform:scaleX(0); } to { transform:scaleX(1); } }
 @keyframes map-arrive { from { opacity:0; } to { opacity:1; } }
}
@media (max-width:640px) {
 .map-motion { padding-bottom:3px; }
 .map-motion .map-node { padding-block:12px; }
 .map-controls { margin-top:0; gap:12px; }
 .map-step { width:36px; height:40px; }
 .map-toggle { min-height:40px; }
 .map-motion .map-number { transition:color .5s ease; }
 .map-motion .is-current .map-number { color:#526b80; }
}
@media (prefers-reduced-motion:reduce) {
 .disclosure-action .ico,.map-motion .map-number { transition:none; }
 .map-motion .map-visual { opacity:1; transform:none; }
 .map-motion .map-controls { display:none; }
 .map-motion { padding-bottom:24px; }
}
@media (max-width:640px) and (prefers-reduced-motion:reduce) { .map-motion { padding-bottom:12px; } }
/* Prochaines sessions des filières (25/10/2026), lues dans NIKITOS par assets/js/sessions-filieres.js. */
.offer-sessions[hidden],.offer-sessions [hidden] { display:none; }
.offer-sessions { padding-top:24px; }.offer-sessions .offer-sessions-intro { max-width:560px;margin:-14px auto 28px;text-align:center;font-size:14px;color:#727981;line-height:1.6; }.offer-course .session-places { color:#2f6b4f; font-weight:500; }.offer-course .session-places.is-full { color:#8a4b5c; }.offer-sessions-repli { max-width:560px;margin:0 auto;padding:24px 28px;border:1px solid #e2e7eb;border-radius:24px;background:#ffffffbf;text-align:center;font-size:14px;color:#536576;line-height:1.6; }.offer-sessions-repli a { color:#526e83;text-decoration:underline; }
