.cal-modal{display:none;position:fixed;inset:0;background:#423e5cbf;backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center;padding:1rem}.cal-modal.open{display:flex}.cal-modal-inner{position:relative;background:var(--snow);border-radius:var(--radius);padding:2rem 1.8rem 1.6rem;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;animation:calUp .25s ease}@keyframes calUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cal-close{position:absolute;top:.8rem;right:.8rem;width:32px;height:32px;border-radius:50%;background:transparent;color:var(--independence);border:1px solid rgba(66,62,92,.15);cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:background var(--transition),border-color var(--transition)}.cal-close:hover{background:var(--yellow);border-color:var(--yellow)}.cal-title{font-family:var(--font-title);font-size:1.4rem;color:var(--independence);margin:0 0 1rem;padding-right:2rem}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.cal-nav-btn{width:34px;height:34px;border-radius:50%;background:var(--cultured);color:var(--independence);border:none;cursor:pointer;font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.cal-nav-btn:hover{background:var(--yellow)}.cal-month-label{font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--independence);text-transform:capitalize}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cal-weekdays span{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#7a7490;padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--independence);border-radius:4px;position:relative;background:transparent;transition:background var(--transition)}.cal-day-other{color:#423e5c38}.cal-day-today{font-weight:700;outline:1.5px solid var(--independence);outline-offset:-2px}.cal-day-event{background:var(--yellow);color:var(--independence);font-weight:700;cursor:help}.cal-day-event:hover{background:#ffc84a}.cal-day-past.cal-day-event{background:#fcba3659;color:#423e5c99}.cal-legend{display:flex;align-items:center;gap:8px;margin-top:1.2rem;font-size:.78rem;color:#5a5470;line-height:1.4}.cal-marker{display:inline-block;width:14px;height:14px;background:var(--yellow);border-radius:3px;flex-shrink:0}.cal-empty{margin-top:1rem;text-align:center;font-size:.85rem;color:#7a7490;font-style:italic}.cal-day.cal-day-event{font-family:inherit;padding:0;border:none}.cal-day.cal-day-event:focus-visible{outline:2px solid var(--independence);outline-offset:-2px}.cal-subscribe{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(66,62,92,.1)}.cal-sub-title{font-size:.82rem;font-weight:700;color:var(--independence);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}.cal-sub-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.cal-sub-btn{background:var(--independence);color:var(--snow);padding:.55rem 1rem;border-radius:var(--radius);font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:background var(--transition)}.cal-sub-btn:hover{background:#2e2a42}.cal-sub-link{font-size:.8rem;color:var(--independence);border-bottom:1px solid rgba(66,62,92,.3);padding-bottom:1px;text-decoration:none}.cal-sub-link:hover{border-color:var(--yellow);color:var(--yellow)}.cal-sub-hint{font-size:.72rem;color:#7a7490;margin-top:.5rem;line-height:1.4}.cal-popover{display:none;position:absolute;background:var(--snow);border:1px solid rgba(66,62,92,.15);border-radius:var(--radius);padding:1rem 1rem .9rem;box-shadow:0 12px 32px #0003;width:260px;max-width:calc(100vw - 4rem);z-index:210;transform:translate(-50%)}.cal-popover.open{display:block;animation:popFade .18s ease}@keyframes popFade{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.cal-pop-close{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:transparent;border:none;cursor:pointer;color:#7a7490;font-size:.78rem;line-height:1;display:flex;align-items:center;justify-content:center}.cal-pop-close:hover{color:var(--independence);background:var(--cultured)}.cal-pop-title{font-family:var(--font-body);font-size:.92rem;font-weight:700;color:var(--independence);margin:0 1.2rem .2rem 0;line-height:1.3}.cal-pop-date{font-size:.78rem;color:#7a7490;margin-bottom:.8rem;text-transform:capitalize}.cal-pop-actions{display:flex;flex-direction:column;gap:.4rem}.cal-pop-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .8rem;border-radius:var(--radius);font-family:var(--font-body);font-size:.82rem;font-weight:600;background:var(--cultured);color:var(--independence);border:1px solid rgba(66,62,92,.1);cursor:pointer;text-decoration:none;transition:background var(--transition),border-color var(--transition)}.cal-pop-btn:hover{background:var(--snow);border-color:var(--yellow)}.cal-pop-btn-primary{background:var(--yellow);color:var(--independence);border-color:var(--yellow)}.cal-pop-btn-primary:hover{background:#ffc84a;border-color:#ffc84a}@media(max-width:480px){.cal-modal-inner{padding:1.5rem 1.2rem 1.2rem}.cal-title{font-size:1.2rem}.cal-popover{width:220px}}.hero-cours[data-astro-cid-jzmwj7ei]{padding:calc(72px + 5rem) 0 5rem}.hero-cours[data-astro-cid-jzmwj7ei] h1[data-astro-cid-jzmwj7ei]{font-size:clamp(2.5rem,5vw,4rem);color:var(--snow);margin:1rem 0 1.5rem}.hero-adresse[data-astro-cid-jzmwj7ei]{display:flex;align-items:center;gap:.6rem;color:var(--snow-60);font-size:.95rem;flex-wrap:wrap}.hero-adresse[data-astro-cid-jzmwj7ei] svg[data-astro-cid-jzmwj7ei]{flex-shrink:0}.adresse-link[data-astro-cid-jzmwj7ei]{color:var(--yellow);font-weight:500;margin-left:.5rem;transition:opacity var(--transition)}.adresse-link[data-astro-cid-jzmwj7ei]:hover{opacity:.8}.carte[data-astro-cid-jzmwj7ei]{padding:var(--section-padding)}.carte-inner[data-astro-cid-jzmwj7ei]{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:center}.carte-adresse-bloc[data-astro-cid-jzmwj7ei]{margin-top:1.2rem;font-size:1rem;line-height:1.8;color:#5a5470}.carte-adresse-bloc[data-astro-cid-jzmwj7ei] strong[data-astro-cid-jzmwj7ei]{color:var(--independence)}.carte-map[data-astro-cid-jzmwj7ei]{height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 24px #423e5c1f;z-index:0}@media(max-width:820px){.carte-inner[data-astro-cid-jzmwj7ei]{grid-template-columns:1fr}.carte-map[data-astro-cid-jzmwj7ei]{height:280px}}.planning-grid[data-astro-cid-jzmwj7ei]{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;row-gap:1rem;margin-top:3rem}.jour-header[data-astro-cid-jzmwj7ei]{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--yellow)}.jour-header[data-astro-cid-jzmwj7ei] h3[data-astro-cid-jzmwj7ei]{font-size:1.6rem;color:var(--independence)}.cours-item[data-astro-cid-jzmwj7ei]{display:flex;gap:1.2rem}.cours-timeline[data-astro-cid-jzmwj7ei]{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:.35rem}.cours-dot[data-astro-cid-jzmwj7ei]{width:12px;height:12px;border-radius:50%;background:var(--yellow);border:2px solid var(--independence);flex-shrink:0}.cours-line[data-astro-cid-jzmwj7ei]{width:2px;flex:1;margin-bottom:-1rem;background:#423e5c1f;margin:4px 0;min-height:1.5rem}.cours-card[data-astro-cid-jzmwj7ei]{background:var(--snow);border:1px solid rgba(66,62,92,.08);border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.2rem;flex:1;display:flex;flex-direction:column;transition:box-shadow var(--transition),transform var(--transition)}.cours-card[data-astro-cid-jzmwj7ei]:hover{box-shadow:0 4px 20px #423e5c1a;transform:translateY(-2px)}.cours-card-header[data-astro-cid-jzmwj7ei]{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;flex-wrap:wrap}.cours-horaire[data-astro-cid-jzmwj7ei]{font-family:var(--font-title);font-size:1.1rem;color:var(--independence)}.cours-niveau-badge[data-astro-cid-jzmwj7ei]{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--yellow);color:var(--independence);padding:.25rem .7rem;border-radius:2px;white-space:nowrap}.cours-desc[data-astro-cid-jzmwj7ei]{font-size:.88rem;color:#5a5470;line-height:1.65;margin-bottom:1rem;flex:1}.cours-footer[data-astro-cid-jzmwj7ei]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.cours-profs[data-astro-cid-jzmwj7ei]{display:flex;flex-wrap:wrap;gap:.4rem}.cours-prof[data-astro-cid-jzmwj7ei]{font-size:.75rem;font-weight:500;color:var(--independence);background:#423e5c12;padding:.2rem .6rem;border-radius:2px}.cours-prerequis[data-astro-cid-jzmwj7ei]{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--independence);opacity:.5}.planning-note[data-astro-cid-jzmwj7ei]{display:flex;align-items:flex-start;gap:1rem;margin-top:2.5rem;padding:1.2rem 1.6rem;background:#fcba361a;border:1px solid rgba(252,186,54,.3);border-radius:var(--radius);color:var(--independence)}.planning-note[data-astro-cid-jzmwj7ei] svg[data-astro-cid-jzmwj7ei]{flex-shrink:0;margin-top:.1rem}.planning-note[data-astro-cid-jzmwj7ei] p[data-astro-cid-jzmwj7ei]{font-size:.9rem;line-height:1.65}.planning-note[data-astro-cid-jzmwj7ei] strong[data-astro-cid-jzmwj7ei]{font-weight:600}.stages-grid[data-astro-cid-jzmwj7ei]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.stage-card[data-astro-cid-jzmwj7ei]{background:var(--snow);border:1px solid rgba(66,62,92,.08);border-radius:var(--radius);padding:2rem 1.6rem;transition:box-shadow var(--transition),transform var(--transition);font-family:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;display:flex;flex-direction:column}.stage-card[data-astro-cid-jzmwj7ei]:hover{box-shadow:0 4px 20px #423e5c1a;transform:translateY(-2px);border-color:var(--yellow)}.stage-card[data-astro-cid-jzmwj7ei]:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.stage-icon[data-astro-cid-jzmwj7ei]{font-size:2rem;margin-bottom:1rem}.stage-card[data-astro-cid-jzmwj7ei] h3[data-astro-cid-jzmwj7ei]{font-size:1.2rem;color:var(--independence);margin-bottom:.8rem}.stage-card[data-astro-cid-jzmwj7ei] p[data-astro-cid-jzmwj7ei]{font-size:.9rem;color:#5a5470;line-height:1.7;font-weight:300}.stage-card[data-astro-cid-jzmwj7ei] strong[data-astro-cid-jzmwj7ei]{color:var(--independence);font-weight:600}.stage-link[data-astro-cid-jzmwj7ei]{display:inline-block;margin-top:1rem;font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--independence);border-bottom:2px solid var(--yellow);padding-bottom:2px;align-self:flex-start;transition:color var(--transition)}.stage-card[data-astro-cid-jzmwj7ei]:hover .stage-link[data-astro-cid-jzmwj7ei]{color:var(--yellow)}@media(max-width:820px){.stages-grid[data-astro-cid-jzmwj7ei]{grid-template-columns:1fr}}.tarifs-intro[data-astro-cid-jzmwj7ei]{color:#5a5470;margin-top:.8rem;font-size:.95rem}.tarifs-grid[data-astro-cid-jzmwj7ei]{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2.5rem}.tarif-card[data-astro-cid-jzmwj7ei]{background:var(--snow);border-radius:var(--radius);padding:1.8rem 1.2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.3rem;border:1px solid rgba(66,62,92,.08);transition:box-shadow var(--transition),transform var(--transition)}.tarif-card[data-astro-cid-jzmwj7ei]:hover{box-shadow:0 4px 20px #423e5c1a;transform:translateY(-2px)}.tarif-prix[data-astro-cid-jzmwj7ei]{font-family:var(--font-title);font-size:2.2rem;color:var(--independence);line-height:1}.tarif-detail[data-astro-cid-jzmwj7ei]{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow);font-weight:600}.tarif-label[data-astro-cid-jzmwj7ei]{font-size:.82rem;color:#5a5470;font-weight:500;margin-top:.5rem;text-align:center;line-height:1.4}@media(max-width:820px){.planning-grid[data-astro-cid-jzmwj7ei]{grid-template-columns:1fr}.planning-grid[data-astro-cid-jzmwj7ei]>[data-astro-cid-jzmwj7ei]{order:var(--mobile-order, 0)}.tarifs-grid[data-astro-cid-jzmwj7ei]{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.tarifs-grid[data-astro-cid-jzmwj7ei]{grid-template-columns:1fr}}
