/* French program refresh: keep the existing visual language and improve scanability. */
.hero-audience,.hero-pricing{color:#e9e2f7;margin:12px 0 0;font-size:15px;line-height:1.55}
.hero-pricing{color:#ffdc7c;font-weight:700}
.section-subtitle{margin:12px auto 0;max-width:700px;color:var(--muted);line-height:1.65}
.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.program-card{min-width:0}
.program-card .program-top{display:block}
.program-top .price{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap;margin:22px 0 8px}
.program-top .price b{font-size:clamp(54px,5vw,70px);line-height:.95;letter-spacing:-3px;color:#4e40d4}
.program-top .price strong{font-size:25px;color:#4e40d4}
.program-top .price span{flex-basis:100%;font-size:16px;color:var(--muted);font-weight:600}
.program-frequency{font-size:13px!important;line-height:1.5;color:var(--muted);text-align:center}
.starter-card{border-color:#d8c8ff!important;background:linear-gradient(155deg,#fff,#faf7ff)!important}
.recommended-card{z-index:1;transform:translateY(-9px);border-color:#ffbf1f!important;background:linear-gradient(150deg,#211344,#47228c)!important;color:#fff!important;box-shadow:0 24px 55px rgba(57,25,125,.28)!important}
.recommended-card .program-top h3,.recommended-card .program-tagline,.recommended-card .program-frequency{color:#fff!important}
.recommended-card .program-top .price b,.recommended-card .program-top .price strong{color:#ffcf50}
.recommended-card .program-top .price span{color:#e3d9f7}
.recommended-card .program-card ul,.recommended-card li{color:#fff}
.recommended-card .card-badge{background:#ffca3a;color:#24163f}
.light-card{border-color:#cbb5ff!important}
.program-button{white-space:normal;line-height:1.35}
.how-it-works,.schedule{padding-top:76px;padding-bottom:76px;text-align:center}
.steps-grid,.schedule-grid,.age-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:left}
.steps-grid article,.schedule-grid article,.age-groups article{min-width:0;border:1px solid #e7def7;border-radius:18px;padding:25px;background:linear-gradient(145deg,#fff,#faf8ff);box-shadow:0 12px 30px rgba(47,19,99,.06)}
.steps-grid article>span{display:inline-grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#eee6ff;color:#6535c6;font-weight:800;margin-bottom:16px}
.steps-grid h3,.schedule-grid h3,.age-groups h3{font-size:19px;line-height:1.3;margin:0 0 10px;color:#211344}
.steps-grid p,.schedule-grid p,.age-groups p{font-size:14px;line-height:1.65;color:#667087;margin:8px 0 0}
.schedule-grid article>p:first-of-type{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#211344;font-size:15px}
.schedule-grid article>p:first-of-type span{font-weight:800;color:#6137be;white-space:nowrap}
.starter-schedule{background:#f4efff!important;border-color:#d6c7f5!important}
.age-groups{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0;padding-bottom:70px}
.age-groups article{border-top:3px solid #8050ee}
.final-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:55px;padding-bottom:55px;background:linear-gradient(110deg,#20113f,#532ca3);color:#fff;max-width:none!important}
.final-cta>div{max-width:760px}
.final-cta h2{font-size:clamp(27px,3.2vw,40px);line-height:1.15;margin:0}
.final-cta p{color:#e2d8f6;line-height:1.6;margin:14px 0 0}
.final-cta .button{flex:0 0 auto}
.faq-item.open .faq-answer{max-height:260px}
.starter-availability{border:1px solid #d7c9f4;background:#f7f3ff;border-radius:12px;padding:15px;color:#392568;font-weight:700;line-height:1.5}
@media(max-width:1000px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommended-card{transform:none}.program-grid .light-card{grid-column:1/-1}}
@media(max-width:800px){.steps-grid,.schedule-grid{grid-template-columns:1fr}.age-groups{padding-top:20px}.program-grid{grid-template-columns:1fr}.program-grid .light-card{grid-column:auto}.programs .program-card{min-height:0}.final-cta{align-items:flex-start;flex-direction:column}.how-it-works,.schedule{padding-top:58px;padding-bottom:58px}}
@media(max-width:540px){.hero-audience,.hero-pricing{font-size:14px}.program-top .price b{font-size:58px}.age-groups{grid-template-columns:1fr}.steps-grid article,.schedule-grid article,.age-groups article{padding:21px}.final-cta{gap:18px;padding:38px 20px}}
