:root {
    --fs-navy: #17143a;
    --fs-purple: #6c4cf1;
    --fs-purple-dark: #5137c9;
    --fs-coral: #ff6b57;
    --fs-amber: #ffb02e;
    --fs-blue: #2f75ff;
    --fs-cream: #fff8f3;
    --fs-lilac: #f4f1ff;
    --fs-sky: #eef6ff;
    --fs-ink: #242238;
    --fs-muted: #68657a;
    --fs-line: #e6e2ef;
    --fs-white: #ffffff;
    --fs-shadow: 0 18px 50px rgba(23, 20, 58, .10);
    --fs-radius: 24px;
}

.family-seo, .family-seo * { box-sizing: border-box; }
.family-seo { color: var(--fs-ink); background: var(--fs-white); font-family: inherit; line-height: 1.62; }
.family-seo a { color: inherit; }
.family-seo [hidden] { display: none !important; }
.fs-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.fs-narrow { width: min(820px, calc(100% - 32px)); }
.fs-section { padding: 76px 0; scroll-margin-top: 90px; }
.fs-section--tight { padding: 44px 0; }
.fs-section--muted { background: var(--fs-lilac); }
.fs-section--programs { background: var(--fs-cream); }
.fs-section--local { background: var(--fs-sky); }
.fs-kicker, .fs-eyebrow { margin: 0 0 10px; color: var(--fs-purple-dark); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
.fs-section h2 { margin: 0 0 16px; color: var(--fs-navy); font-size: clamp(1.75rem, 3vw, 2.65rem); line-height: 1.12; letter-spacing: -.035em; }
.fs-section h3 { color: var(--fs-navy); line-height: 1.25; }
.fs-section-heading { max-width: 800px; margin-bottom: 32px; }
.fs-section-heading > p:last-child { color: var(--fs-muted); font-size: 1.05rem; }
.fs-section-heading--horizontal { max-width: none; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 30px; }
.fs-section-heading--horizontal > p { margin: 0; }

.fs-hero { position: relative; overflow: hidden; background: var(--fs-navy); color: var(--fs-white); padding: 34px 0 74px; }
.fs-hero::before, .fs-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.fs-hero::before { width: 420px; height: 420px; right: -120px; top: -220px; background: rgba(108, 76, 241, .44); }
.fs-hero::after { width: 250px; height: 250px; left: -130px; bottom: -150px; background: rgba(255, 107, 87, .24); }
.fs-hero__inner { position: relative; z-index: 1; }
.fs-hero__layout { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(300px,.72fr); gap: 44px; align-items: center; }
.fs-hero__copy { min-width: 0; }
.fs-hero__visual { margin: 0; min-width: 0; transform: rotate(1deg); }
.fs-hero__visual img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; border: 1px solid rgba(255,255,255,.24); border-radius: 24px; box-shadow: 0 24px 70px rgba(7,4,28,.36); }
.fs-hero .fs-eyebrow { color: #c9beff; }
.fs-hero h1 { max-width: 800px; margin: 18px 0; color: var(--fs-white); font-size: clamp(2.25rem, 4.9vw, 4.3rem); line-height: .99; letter-spacing: -.058em; }
.fs-hero__lede { max-width: 850px; margin: 0; color: #e7e3f3; font-size: clamp(1.03rem, 2vw, 1.24rem); }
.fs-breadcrumbs { margin-bottom: 28px; font-size: .88rem; }
.fs-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fs-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; color: #938daa; }
.fs-breadcrumbs a { color: #d8d3e8; text-decoration: none; }
.fs-breadcrumbs a:hover { text-decoration: underline; }
.fs-breadcrumbs span { color: var(--fs-white); }
.fs-badges, .fs-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0 0; padding: 0; list-style: none; }
.fs-badges li { padding: 7px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.08); color: #f7f5ff; font-size: .84rem; font-weight: 700; }
.fs-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.fs-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 18px; border: 1px solid transparent; border-radius: 13px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.fs-button:hover { transform: translateY(-1px); }
.fs-button:focus-visible, .family-seo button:focus-visible, .family-seo a:focus-visible, .family-seo summary:focus-visible, .family-seo input:focus-visible { outline: 3px solid var(--fs-amber); outline-offset: 3px; }
.fs-button--primary { background: var(--fs-coral); color: #1d1223 !important; box-shadow: 0 10px 26px rgba(255,107,87,.25); }
.fs-button--primary:hover { background: #ff806f; }
.fs-button--secondary { border-color: var(--fs-purple); color: var(--fs-purple-dark) !important; background: var(--fs-white); }
.fs-hero .fs-button--secondary { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.09); color: var(--fs-white) !important; }
.fs-button--accent { background: var(--fs-amber); color: #241a08 !important; white-space: nowrap; }
.fs-button--light { background: var(--fs-white); color: var(--fs-navy) !important; }

.fs-quick-answer { display: grid; grid-template-columns: .8fr 1.2fr; gap: 36px; padding: 32px; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-white); box-shadow: var(--fs-shadow); }
.fs-quick-answer h2 { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.fs-quick-answer > div > p:last-child { color: var(--fs-muted); }
.fs-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.fs-quick-card { padding: 18px; border-radius: 16px; background: var(--fs-lilac); }
.fs-quick-card h3 { margin: 0 0 7px; font-size: 1rem; }
.fs-quick-card p { margin: 0; color: var(--fs-muted); font-size: .94rem; }

.fs-decision-grid, .fs-matrix-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.fs-decision-grid article, .fs-matrix-grid article { padding: 23px; border: 1px solid var(--fs-line); border-radius: 18px; background: var(--fs-white); }
.fs-decision-grid span, .fs-matrix-grid span { display: block; color: var(--fs-purple-dark); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.fs-decision-grid h3, .fs-matrix-grid h3 { margin: 9px 0; font-size: 1.12rem; }
.fs-decision-grid p, .fs-matrix-grid p { margin: 0; color: var(--fs-muted); font-size: .92rem; }

.fs-two-columns { display: grid; grid-template-columns: .78fr 1.22fr; gap: 54px; align-items: start; }
.fs-two-columns--balanced { grid-template-columns: repeat(2, minmax(0,1fr)); }
.fs-editorial-note { padding: 16px 18px; border-left: 4px solid var(--fs-coral); background: var(--fs-white); border-radius: 0 12px 12px 0; font-size: .93rem !important; }
.fs-method-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fs-method-grid article { padding: 22px; border-radius: 17px; background: var(--fs-white); box-shadow: 0 9px 25px rgba(23,20,58,.06); }
.fs-method-grid h3 { margin: 0 0 8px; font-size: 1.03rem; }
.fs-method-grid p { margin: 0; color: var(--fs-muted); font-size: .93rem; }

.fs-filters { margin-bottom: 28px; padding: 24px; border: 1px solid var(--fs-line); border-radius: 20px; background: var(--fs-cream); }
.fs-filters__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; }
.fs-filters__head h3 { margin: 0 0 5px; }
.fs-filters__head p { margin: 0; color: var(--fs-muted); }
.fs-filter-reset { padding: 7px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--fs-purple-dark); font-weight: 800; cursor: pointer; }
.fs-filter-groups { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-top: 22px; }
.fs-filter-groups fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.fs-filter-groups legend { margin-bottom: 8px; color: var(--fs-navy); font-size: .84rem; font-weight: 850; }
.fs-filter-groups fieldset > div { display: flex; flex-wrap: wrap; gap: 6px; }
.fs-filter-groups button { padding: 7px 10px; border: 1px solid #d7d0e9; border-radius: 999px; background: var(--fs-white); color: var(--fs-ink); font: inherit; font-size: .78rem; cursor: pointer; }
.fs-filter-groups button[aria-pressed="true"] { border-color: var(--fs-purple); background: var(--fs-purple); color: var(--fs-white); }
.fs-result-count { margin: 18px 0 0; color: var(--fs-muted); font-size: .9rem; }
.fs-result-count strong { color: var(--fs-navy); }

.fs-activity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.fs-activity-card { min-width: 0; padding: 25px; border: 1px solid var(--fs-line); border-radius: 20px; background: var(--fs-white); box-shadow: 0 9px 28px rgba(23,20,58,.055); }
.fs-activity-card__top { display: grid; grid-template-columns: 43px 1fr; gap: 13px; }
.fs-number { display: inline-flex; width: 43px; height: 43px; align-items: center; justify-content: center; border-radius: 13px; background: var(--fs-lilac); color: var(--fs-purple-dark); font-weight: 900; }
.fs-activity-card h3 { margin: 0 0 8px; font-size: 1.26rem; }
.fs-activity-card__top p { margin: 0; color: var(--fs-muted); }
.fs-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 20px 0 12px; }
.fs-facts div { padding: 10px; border-radius: 11px; background: var(--fs-cream); }
.fs-facts dt, .fs-age-card dt, .fs-top-idea-grid dt { color: var(--fs-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.fs-facts dd, .fs-age-card dd, .fs-top-idea-grid dd { margin: 2px 0 0; color: var(--fs-navy); font-size: .84rem; font-weight: 750; }
.fs-material { margin: 11px 0; font-size: .9rem; }
.fs-tags { margin-top: 12px; }
.fs-tags li { padding: 5px 9px; border-radius: 999px; background: var(--fs-sky); color: #244b88; font-size: .72rem; font-weight: 750; }
.fs-activity-card details { margin-top: 17px; border-top: 1px solid var(--fs-line); }
.fs-activity-card summary { padding-top: 15px; color: var(--fs-purple-dark); font-weight: 850; cursor: pointer; }
.fs-activity-card__details { padding-top: 12px; }
.fs-activity-card__details h4 { margin: 18px 0 6px; color: var(--fs-navy); }
.fs-activity-card__details ol { padding-left: 20px; }
.fs-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.fs-detail-grid p, .fs-safety-inline { margin: 0; padding: 12px; border-radius: 12px; background: var(--fs-lilac); font-size: .88rem; }
.fs-safety-inline { margin-top: 12px; background: #fff3e4; }
.fs-empty-state { margin-top: 20px; padding: 22px; border: 1px dashed var(--fs-coral); border-radius: 15px; background: #fff5f2; text-align: center; }

.fs-offer-inline { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 25px; border-radius: 18px; background: var(--fs-navy); color: var(--fs-white); }
.fs-offer-inline__label { display: block; margin-bottom: 3px; color: #c9beff; font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fs-trust-notice { margin-top: 24px; padding: 18px 20px; border: 1px solid #d9d3ea; border-radius: 15px; background: var(--fs-lilac); }
.fs-trust-notice p { margin: 4px 0 0; color: var(--fs-muted); }
.fs-section--offer { background: var(--fs-navy); color: var(--fs-white); }
.fs-offer { display: grid; grid-template-columns: 1.08fr .92fr; gap: 45px; align-items: center; }
.fs-offer h2, .fs-offer h3 { color: var(--fs-white); }
.fs-offer .fs-eyebrow { color: #c9beff; }
.fs-offer__intro { color: #e4dfef; font-size: 1.08rem; }
.fs-check-list, .fs-cross-list { margin: 20px 0 0; padding: 0; list-style: none; }
.fs-check-list li, .fs-cross-list li { position: relative; padding-left: 29px; margin: 9px 0; }
.fs-check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--fs-amber); font-weight: 950; }
.fs-check-list--dark li::before { color: var(--fs-purple); }
.fs-cross-list li::before { content: "×"; position: absolute; left: 2px; top: -1px; color: var(--fs-coral); font-weight: 950; font-size: 1.2rem; }
.fs-offer__caveat { padding: 12px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; color: #dcd6ed; font-size: .88rem; }
.fs-offer__choice { padding: 28px; border-radius: 22px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.17); }
.fs-offer__choice h3 { margin-top: 0; }
.fs-age-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.fs-age-button { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; background: var(--fs-white); color: var(--fs-navy) !important; font-weight: 850; text-decoration: none; }
.fs-age-button:hover { background: var(--fs-amber); border-color: var(--fs-amber); }
.fs-offer__secondary { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; align-items: flex-start; }
.fs-text-link { color: var(--fs-purple-dark) !important; font-weight: 850; text-underline-offset: 4px; }
.fs-text-link--light { color: var(--fs-white) !important; }
.fs-offer__note { color: #dcd6ed; font-size: .85rem; }

.fs-program-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px; }
.fs-program-card { padding: 25px; border: 1px solid #eadfda; border-radius: 20px; background: var(--fs-white); }
.fs-program-card__head { display: flex; justify-content: space-between; gap: 14px; }
.fs-program-card__head h3 { margin: 0 0 5px; }
.fs-program-card__head p { margin: 0; color: var(--fs-muted); font-size: .88rem; }
.fs-program-card__head > span { height: fit-content; padding: 5px 9px; border-radius: 999px; background: var(--fs-lilac); color: var(--fs-purple-dark); font-size: .74rem; font-weight: 850; white-space: nowrap; }
.fs-program-card ol { position: relative; margin: 22px 0 0; padding: 0; list-style: none; }
.fs-program-card li { display: grid; grid-template-columns: 80px 1fr; gap: 10px; padding: 11px 0; border-top: 1px solid var(--fs-line); }
.fs-program-card time { color: var(--fs-purple-dark); font-size: .78rem; font-weight: 850; }
.fs-program-card li p { margin: 0; font-size: .9rem; }

.fs-local { display: grid; grid-template-columns: 1.25fr .75fr; gap: 45px; align-items: center; padding: 34px; border: 1px solid #cbdffa; border-radius: 23px; background: var(--fs-white); }
.fs-local h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
.fs-local__links { display: flex; flex-direction: column; gap: 14px; align-items: stretch; }
.fs-city-form { margin-top: 22px; }
.fs-city-form label { display: block; margin-bottom: 7px; font-weight: 850; }
.fs-city-form__row { display: flex; gap: 10px; }
.fs-city-form input { min-width: 0; flex: 1; min-height: 48px; padding: 11px 14px; border: 1px solid #c9c3d8; border-radius: 12px; font: inherit; }
.fs-form-message { min-height: 1.2em; margin: 7px 0 0; color: #9d311f; font-size: .84rem; }
.fs-chip-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.fs-chip-links a { padding: 8px 12px; border-radius: 999px; background: var(--fs-lilac); color: var(--fs-purple-dark); font-weight: 800; text-decoration: none; }

.fs-list-panel { padding: 29px; border: 1px solid var(--fs-line); border-radius: 21px; background: var(--fs-white); }
.fs-list-panel--warning { background: var(--fs-cream); }
.fs-safety-box { display: grid; grid-template-columns: .8fr 1.2fr; gap: 35px; padding: 30px; border-left: 6px solid var(--fs-amber); border-radius: 17px; background: #fff9e8; }
.fs-safety-box ul { margin: 0; }
.fs-safety-box a { color: #714d00; font-weight: 800; }
.fs-faq details { margin-bottom: 11px; border: 1px solid var(--fs-line); border-radius: 15px; background: var(--fs-white); }
.fs-faq summary { padding: 18px 50px 18px 19px; color: var(--fs-navy); font-weight: 850; cursor: pointer; }
.fs-faq details > div { padding: 0 19px 18px; color: var(--fs-muted); }
.fs-faq details > div p { margin: 0; }
.fs-related-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.fs-related-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 16px; border: 1px solid var(--fs-line); border-radius: 13px; text-decoration: none; font-weight: 750; }
.fs-related-links a:hover { border-color: var(--fs-purple); background: var(--fs-lilac); }
.fs-editorial-signoff { margin-top: 35px; padding-top: 22px; border-top: 1px solid var(--fs-line); color: var(--fs-muted); font-size: .88rem; }
.fs-editorial-signoff strong { color: var(--fs-navy); margin-right: 13px; }
.fs-editorial-signoff p { margin: 7px 0 0; }

.fs-age-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.fs-age-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--fs-line); border-radius: 20px; background: var(--fs-white); box-shadow: 0 10px 30px rgba(23,20,58,.06); }
.fs-age-card__age { width: fit-content; padding: 6px 10px; border-radius: 999px; background: var(--fs-lilac); color: var(--fs-purple-dark); font-weight: 900; }
.fs-age-card h3 { margin: 15px 0 8px; }
.fs-age-card > p { color: var(--fs-muted); }
.fs-age-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: auto 0 0; }
.fs-age-card dl div { padding: 10px; border-radius: 11px; background: var(--fs-cream); }
.fs-age-card__status { min-height: 3.2em; margin: 13px 0 !important; color: var(--fs-purple-dark) !important; font-size: .78rem; font-weight: 800; }
.fs-top-idea-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.fs-top-idea-grid article { padding: 23px; border: 1px solid var(--fs-line); border-radius: 18px; }
.fs-top-idea-grid h3 { margin-top: 0; }
.fs-top-idea-grid article > p { color: var(--fs-muted); }
.fs-top-idea-grid dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.fs-top-idea-grid dl div { padding: 8px; border-radius: 10px; background: var(--fs-lilac); }
.fs-age-note { padding: 11px; border-left: 3px solid var(--fs-purple); background: var(--fs-lilac); font-size: .82rem; }

.fs-sticky-offer { position: fixed; z-index: 999; left: 50%; bottom: 14px; transform: translateX(-50%); display: none; width: min(620px, calc(100% - 24px)); align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 17px; background: var(--fs-navy); color: var(--fs-white); box-shadow: 0 18px 45px rgba(12,9,35,.3); }
.fs-sticky-offer > div { flex: 1; min-width: 0; }
.fs-sticky-offer strong, .fs-sticky-offer span { display: block; }
.fs-sticky-offer span { color: #d6d0e7; font-size: .78rem; }
.fs-sticky-offer a { padding: 9px 12px; border-radius: 10px; background: var(--fs-amber); color: #241a08; font-weight: 850; text-decoration: none; white-space: nowrap; }
.fs-sticky-offer button { border: 0; background: transparent; color: var(--fs-white); font-size: 1.4rem; cursor: pointer; }

.family-seo-bridge { width: min(1180px, calc(100% - 32px)); margin: 44px auto; display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; align-items: center; padding: 28px; border: 1px solid #ddd6f3; border-radius: 22px; background: #f4f1ff; color: #242238; box-sizing: border-box; }
.family-seo-bridge * { box-sizing: border-box; }
.family-seo-bridge__copy > span { color: #5137c9; font-size: .74rem; font-weight: 900; letter-spacing: .08em; }
.family-seo-bridge h2 { margin: 6px 0; color: #17143a; font-size: clamp(1.45rem, 2.5vw, 2.05rem); line-height: 1.15; }
.family-seo-bridge p { margin: 0; color: #68657a; }
.family-seo-bridge__links { display: flex; flex-wrap: wrap; gap: 9px; }
.family-seo-bridge__links a { padding: 9px 12px; border: 1px solid #d0c6ef; border-radius: 999px; background: #fff; color: #5137c9; font-weight: 800; text-decoration: none; }
.family-seo-bridge__links .family-seo-bridge__cta { border-color: #ff6b57; background: #ff6b57; color: #1d1223; }

@media (max-width: 980px) {
    .fs-hero__layout { grid-template-columns: 1fr; }
    .fs-hero__visual { width: min(760px, 100%); transform: none; }
    .fs-quick-answer, .fs-two-columns, .fs-offer, .fs-local, .fs-safety-box, .family-seo-bridge { grid-template-columns: 1fr; }
    .fs-decision-grid, .fs-matrix-grid, .fs-age-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-program-grid, .fs-top-idea-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-filter-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-related-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
    .fs-shell, .fs-narrow { width: min(100% - 22px, 1180px); }
    .fs-section { padding: 52px 0; }
    .fs-section--tight { padding: 32px 0; }
    .fs-hero { padding: 24px 0 52px; }
    .fs-hero h1 { font-size: clamp(2.05rem, 10.5vw, 3.35rem); }
    .fs-hero__layout { gap: 30px; }
    .fs-hero__visual img { border-radius: 17px; }
    .fs-section-heading--horizontal, .fs-activity-grid, .fs-program-grid, .fs-top-idea-grid, .fs-age-card-grid, .fs-decision-grid, .fs-matrix-grid, .fs-two-columns--balanced, .fs-method-grid, .fs-quick-grid { grid-template-columns: 1fr; }
    .fs-quick-answer, .fs-local { padding: 22px; }
    .fs-filter-groups { grid-template-columns: 1fr; }
    .fs-filters__head { flex-direction: column; }
    .fs-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-detail-grid, .fs-related-links { grid-template-columns: 1fr; }
    .fs-city-form__row { flex-direction: column; }
    .fs-program-card li { grid-template-columns: 70px 1fr; }
    .fs-age-buttons { grid-template-columns: 1fr; }
    .fs-offer-inline { flex-direction: column; align-items: flex-start; }
    .fs-sticky-offer { display: flex; }
    .family-seo-bridge { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .family-seo *, .family-seo-bridge * { scroll-behavior: auto !important; transition: none !important; }
}

@media print {
    .fs-hero__actions, .fs-filters, .fs-section--offer, .fs-sticky-offer, .family-seo-bridge { display: none !important; }
    .fs-section { padding: 24px 0; }
    .fs-activity-grid, .fs-program-grid { display: block; }
    .fs-activity-card, .fs-program-card { break-inside: avoid; margin-bottom: 14px; box-shadow: none; }
}

/* Sélection commerciale réelle — Premium Final */
.fs-featured-products { margin-top: 46px; padding-top: 38px; border-top: 1px solid rgba(255,255,255,.18); }
.fs-featured-products__heading { display: grid; grid-template-columns: 1fr .86fr; gap: 34px; align-items: end; margin-bottom: 24px; }
.fs-featured-products__heading h3 { margin: 0; color: var(--fs-white); font-size: clamp(1.55rem,2.6vw,2.25rem); line-height: 1.12; }
.fs-featured-products__heading > p { margin: 0; color: #ddd8ec; }
.fs-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.fs-product-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: var(--fs-white); color: var(--fs-ink); box-shadow: 0 18px 42px rgba(4,3,20,.23); }
.fs-product-card__visual { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #eae6f4; }
.fs-product-card__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 24%; transition: transform .24s ease; }
.fs-product-card__visual:hover img { transform: scale(1.025); }
.fs-product-card__visual > span { position: absolute; left: 12px; bottom: 12px; padding: 6px 10px; border-radius: 999px; background: rgba(23,20,58,.92); color: var(--fs-white); font-size: .78rem; font-weight: 900; box-shadow: 0 5px 18px rgba(0,0,0,.2); }
.fs-product-card__body { flex: 1; display: flex; flex-direction: column; padding: 20px; }
.fs-product-card__universe { margin: 0 0 6px !important; color: var(--fs-purple-dark) !important; font-size: .76rem !important; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.fs-product-card h4 { margin: 0 0 9px; color: var(--fs-navy); font-size: 1.14rem; line-height: 1.2; }
.fs-product-card__body > p:not(.fs-product-card__universe) { margin: 0 0 15px; color: var(--fs-muted); font-size: .9rem; }
.fs-product-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: auto 0 15px; }
.fs-product-card dl div { padding: 9px 10px; border-radius: 10px; background: var(--fs-lilac); }
.fs-product-card dt { color: var(--fs-muted); font-size: .69rem; font-weight: 800; text-transform: uppercase; }
.fs-product-card dd { margin: 2px 0 0; color: var(--fs-navy); font-size: .86rem; font-weight: 900; }
.fs-product-card .fs-button { width: 100%; }
.fs-product-disclaimer { margin: 16px 0 0; color: #cfc8df; font-size: .79rem; text-align: center; }

@media (max-width: 980px) {
    .fs-featured-products__heading { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 720px) {
    .fs-product-grid { grid-template-columns: 1fr; }
    .fs-product-card { display: grid; grid-template-columns: 112px minmax(0,1fr); }
    .fs-product-card__visual { height: 100%; min-height: 230px; aspect-ratio: auto; }
    .fs-product-card__visual > span { left: 7px; bottom: 7px; padding: 5px 7px; font-size: .68rem; }
    .fs-product-card__body { padding: 16px; }
    .fs-product-card dl { grid-template-columns: 1fr; }
}

/* V4 — ressources réelles synchronisées */
.fs-real-resources{border-top:1px solid rgba(15,23,42,.08)}.fs-real-block{margin-top:32px}.fs-real-block>h3{font-size:1.35rem;margin:0 0 16px}.fs-real-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fs-real-card{display:grid;grid-template-columns:120px 1fr;overflow:hidden;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}.fs-real-card img{width:120px;height:100%;min-height:128px;object-fit:cover}.fs-real-card>div{padding:16px}.fs-real-card span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#d81b60}.fs-real-card h4{font-size:1rem;line-height:1.3;margin:6px 0 8px}.fs-real-card h4 a{color:inherit;text-decoration:none}.fs-real-card p{font-size:.9rem;line-height:1.5;margin:0;color:#52606d}.fs-real-block--commercial{padding:24px;border-radius:22px;background:linear-gradient(135deg,#fff4f8,#f5f2ff)}@media(max-width:980px){.fs-real-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.fs-real-grid{grid-template-columns:1fr}.fs-real-card{grid-template-columns:96px 1fr}.fs-real-card img{width:96px;min-height:112px}}

/* ========================================================================== */
/* V5 DESIGN — refonte visuelle inspirée de la maquette validée               */
/* ========================================================================== */
.fs-design-v5{
    --fs-v5-navy:#101a45;
    --fs-v5-blue:#2046a8;
    --fs-v5-coral:#ff3d69;
    --fs-v5-coral-dark:#e91e56;
    --fs-v5-peach:#fff3ef;
    --fs-v5-pink:#fff2f6;
    --fs-v5-cream:#fff8ee;
    --fs-v5-surface:#fbfbfe;
    --fs-v5-line:#e8e9f1;
    --fs-v5-muted:#62677b;
    --fs-v5-shadow:0 14px 40px rgba(20,30,72,.08);
    background:#fff;
    color:#18203d;
}
.fs-design-v5 .fs-page-shell{padding-top:18px;padding-bottom:50px}
.fs-design-v5>.fs-shell>.fs-breadcrumbs{margin:0 0 18px;color:#7a8094}
.fs-design-v5>.fs-shell>.fs-breadcrumbs a{color:#6d7387}
.fs-design-v5>.fs-shell>.fs-breadcrumbs span{color:#202744}
.fs-design-v5 .fs-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:26px;align-items:start}
.fs-design-v5 .fs-page-main{min-width:0}
.fs-design-v5 .fs-page-grid .fs-shell{width:100%;margin:0}
.fs-design-v5 .fs-page-main .fs-section{padding:34px 0;background:transparent}
.fs-design-v5 .fs-page-main .fs-section:first-of-type{padding-top:28px}
.fs-design-v5 .fs-section-heading{margin-bottom:20px;max-width:760px}
.fs-design-v5 .fs-section-heading--compact h2{font-size:clamp(1.55rem,2.6vw,2.15rem);letter-spacing:-.025em}
.fs-design-v5 .fs-section-heading--compact>p:last-child{font-size:.96rem;color:var(--fs-v5-muted)}
.fs-design-v5 .fs-kicker,.fs-design-v5 .fs-eyebrow{color:var(--fs-v5-coral-dark);letter-spacing:.035em;font-size:.72rem}

/* Hero clair, photo dominante à droite */
.fs-design-v5 .fs-hero{padding:0;overflow:hidden;border:1px solid #ececf3;border-radius:24px;background:linear-gradient(90deg,#fff7f3 0%,#fff 48%,#fff 100%);color:#17203f;box-shadow:var(--fs-v5-shadow)}
.fs-design-v5 .fs-hero::before,.fs-design-v5 .fs-hero::after{display:none}
.fs-design-v5 .fs-hero__layout{display:grid;grid-template-columns:minmax(0,.96fr) minmax(340px,1.04fr);gap:0;align-items:stretch;min-height:346px}
.fs-design-v5 .fs-hero__copy{padding:34px 20px 28px 30px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.fs-design-v5 .fs-hero .fs-eyebrow{color:var(--fs-v5-coral-dark);margin-bottom:8px}
.fs-design-v5 .fs-hero h1{margin:0 0 16px;color:var(--fs-v5-navy);font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.06;letter-spacing:-.045em}
.fs-design-v5 .fs-hero__lede{margin:0;color:#555c71;font-size:.97rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.fs-design-v5 .fs-hero__actions{margin-top:22px;gap:10px}
.fs-design-v5 .fs-hero .fs-button{min-height:42px;padding:9px 14px;border-radius:999px;font-size:.87rem}
.fs-design-v5 .fs-hero .fs-button--primary{background:var(--fs-v5-coral);color:#fff!important;box-shadow:0 9px 22px rgba(255,61,105,.22)}
.fs-design-v5 .fs-hero .fs-button--secondary{background:#fff;color:var(--fs-v5-navy)!important;border-color:#d9dce8}
.fs-design-v5 .fs-hero__visual{margin:0;min-width:0;transform:none;position:relative;overflow:hidden}
.fs-design-v5 .fs-hero__visual::before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:34%;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.76) 42%,rgba(255,255,255,0) 100%);pointer-events:none}
.fs-design-v5 .fs-hero__visual img{display:block;width:100%;height:100%;min-height:346px;aspect-ratio:auto;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}
.fs-design-v5 .fs-hero-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0 12px 12px;background:#fff}
.fs-design-v5 .fs-hero-facts>div{padding:13px 12px;border:1px solid #ececf3;border-right:0;background:#fff}
.fs-design-v5 .fs-hero-facts>div:first-child{border-radius:14px 0 0 14px}
.fs-design-v5 .fs-hero-facts>div:last-child{border-right:1px solid #ececf3;border-radius:0 14px 14px 0}
.fs-design-v5 .fs-hero-facts dt{margin:0 0 3px;color:#7a8094;font-size:.68rem;font-weight:800}
.fs-design-v5 .fs-hero-facts dt span{color:var(--fs-v5-coral);margin-right:4px}
.fs-design-v5 .fs-hero-facts dd{margin:0;color:#192140;font-size:.78rem;font-weight:800;line-height:1.25}

/* Contraintes */
.fs-design-v5 .fs-section--decision{padding-bottom:18px}
.fs-design-v5 .fs-decision-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fs-design-v5 .fs-decision-grid article{padding:16px 13px;text-align:center;border:1px solid #eceaf0;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(30,39,84,.035)}
.fs-design-v5 .fs-decision-icon{display:grid!important;place-items:center;width:34px;height:34px;margin:0 auto 9px;border-radius:50%;background:#fff2f6!important;color:var(--fs-v5-coral)!important;font-size:1.1rem!important;letter-spacing:0!important}
.fs-design-v5 .fs-decision-need{color:#202744!important;font-size:.74rem!important;letter-spacing:0!important;text-transform:none!important;font-weight:900!important}
.fs-design-v5 .fs-decision-grid h3{margin:6px 0 4px;font-size:.89rem;line-height:1.25}
.fs-design-v5 .fs-decision-grid p{font-size:.76rem;line-height:1.45;color:#6d7387}

/* Filtres compacts */
.fs-design-v5 .fs-filters{margin:0 0 18px;padding:0;border:0;background:transparent}
.fs-design-v5 .fs-filters__head{align-items:center;margin-bottom:10px}
.fs-design-v5 .fs-filters__head h3{margin:0;font-size:.88rem;color:#2b3150}
.fs-design-v5 .fs-filter-reset{font-size:.76rem;color:var(--fs-v5-coral-dark)}
.fs-design-v5 .fs-filter-groups{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.fs-design-v5 .fs-filter-groups fieldset{display:flex;gap:6px;align-items:center}
.fs-design-v5 .fs-filter-groups legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-design-v5 .fs-filter-groups fieldset>div{display:flex;flex-wrap:wrap;gap:6px}
.fs-design-v5 .fs-filter-groups button{min-height:32px;padding:6px 12px;border:1px solid #e1e3ec;border-radius:999px;background:#fff;color:#2e3450;font-size:.74rem;font-weight:800;cursor:pointer}
.fs-design-v5 .fs-filter-groups button[aria-pressed="true"]{border-color:var(--fs-v5-coral);background:var(--fs-v5-coral);color:#fff;box-shadow:0 6px 16px rgba(255,61,105,.18)}
.fs-design-v5 .fs-result-count{margin:10px 0 0;color:#7b8193;font-size:.75rem}

/* Cartes d'idées */
.fs-design-v5 .fs-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.fs-design-v5 .fs-activity-card{padding:0;overflow:hidden;border:1px solid #e8e9ef;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(28,36,79,.055)}
.fs-design-v5 .fs-activity-card__visual{height:104px;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;background:linear-gradient(135deg,#1c285d,#355ec8);overflow:hidden}
.fs-design-v5 .fs-activity-card:nth-child(4n+2) .fs-activity-card__visual{background:linear-gradient(135deg,#5a2d62,#fb6d72)}
.fs-design-v5 .fs-activity-card:nth-child(4n+3) .fs-activity-card__visual{background:linear-gradient(135deg,#2b3e6c,#8c6ce6)}
.fs-design-v5 .fs-activity-card:nth-child(4n+4) .fs-activity-card__visual{background:linear-gradient(135deg,#253153,#f28a65)}
.fs-design-v5 .fs-activity-card__visual::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-20px;top:-20px;background:rgba(255,255,255,.13)}
.fs-design-v5 .fs-activity-card__visual>span{position:relative;z-index:1;font-size:1.85rem;font-weight:950;color:#fff;opacity:.92}
.fs-design-v5 .fs-activity-card__visual>strong{position:relative;z-index:1;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#273052;font-size:.64rem;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-design-v5 .fs-activity-card__body{padding:13px 13px 14px}
.fs-design-v5 .fs-activity-card h3{margin:0 0 6px;font-size:.94rem;line-height:1.25;color:#1b2343}
.fs-design-v5 .fs-activity-summary{margin:0;color:#656b7c;font-size:.75rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fs-design-v5 .fs-card-meta{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:10px;color:#7a8091;font-size:.64rem}
.fs-design-v5 .fs-tags{gap:5px;margin:9px 0 0}
.fs-design-v5 .fs-tags li{padding:4px 7px;border:0;border-radius:999px;background:#f3f4f8;color:#565d73;font-size:.61rem}
.fs-design-v5 .fs-activity-card details{margin-top:10px;border-top:1px solid #ececf2}
.fs-design-v5 .fs-activity-card summary{padding-top:10px;color:var(--fs-v5-coral-dark);font-size:.73rem;font-weight:900}
.fs-design-v5 .fs-activity-card__details{font-size:.76rem;line-height:1.5;color:#5d6375}
.fs-design-v5 .fs-activity-card__details h4{font-size:.8rem;margin:12px 0 5px}
.fs-design-v5 .fs-activity-card__details ol{padding-left:17px}
.fs-design-v5 .fs-trust-notice{margin-top:18px;border:1px solid #f1dfe5;border-radius:14px;background:#fff6f8}

/* Ressources réelles */
.fs-design-v5 .fs-real-resources{border-top:1px solid #eff0f4}
.fs-design-v5 .fs-real-block{margin-top:0}
.fs-design-v5 .fs-real-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fs-design-v5 .fs-real-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8e9ef;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(28,36,79,.045)}
.fs-design-v5 .fs-real-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:#f0f1f5}
.fs-design-v5 .fs-real-card img{width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .2s ease}
.fs-design-v5 .fs-real-card:hover img{transform:scale(1.025)}
.fs-design-v5 .fs-real-card__body{padding:12px;display:flex;flex-direction:column;flex:1}
.fs-design-v5 .fs-real-card span{font-size:.62rem;color:var(--fs-v5-coral-dark)}
.fs-design-v5 .fs-real-card h3{margin:5px 0 7px;font-size:.87rem;line-height:1.25;color:#1b2343}
.fs-design-v5 .fs-real-card p{font-size:.71rem;line-height:1.45;color:#697084;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fs-design-v5 .fs-real-card small{color:#73798c;font-size:.66rem}
.fs-design-v5 .fs-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:9px;color:var(--fs-v5-coral-dark);font-size:.7rem;font-weight:900;text-decoration:none}
.fs-design-v5 .fs-card-link--center{justify-content:center;margin:14px auto 0}
.fs-design-v5 .fs-real-block--secondary{margin-top:24px}
.fs-design-v5 .fs-real-block--secondary>h3{font-size:1.05rem;margin-bottom:10px}
.fs-design-v5 .fs-real-card--text{min-height:140px}

/* Programmes */
.fs-design-v5 .fs-section--programs{background:transparent}
.fs-design-v5 .fs-program-grid{gap:12px}
.fs-design-v5 .fs-program-card{padding:18px;border:1px solid #e9e8ef;border-radius:15px;background:linear-gradient(180deg,#fff,#fffafd)}
.fs-design-v5 .fs-program-card__head h3{font-size:.98rem}
.fs-design-v5 .fs-program-card__head>span{background:#fff0f4;color:var(--fs-v5-coral-dark)}
.fs-design-v5 .fs-program-card li{grid-template-columns:65px 1fr;padding:8px 0}
.fs-design-v5 .fs-program-card time{color:#38457c;font-size:.68rem}
.fs-design-v5 .fs-program-card li p{font-size:.73rem;line-height:1.4}

/* Réponse rapide + méthodo */
.fs-design-v5 .fs-quick-answer{grid-template-columns:.9fr 1.1fr;gap:18px;padding:22px;border:1px solid #e8e9ef;border-radius:18px;background:linear-gradient(135deg,#fff7fa,#f6f7ff);box-shadow:none}
.fs-design-v5 .fs-quick-answer h2{font-size:1.3rem}
.fs-design-v5 .fs-quick-answer>div>p:last-child{font-size:.83rem}
.fs-design-v5 .fs-quick-grid{gap:8px}
.fs-design-v5 .fs-quick-card{padding:12px;border:1px solid rgba(48,57,96,.06);background:#fff}
.fs-design-v5 .fs-quick-card h3{font-size:.79rem}
.fs-design-v5 .fs-quick-card p{font-size:.72rem}
.fs-design-v5 .fs-two-columns{grid-template-columns:.82fr 1.18fr;gap:22px}
.fs-design-v5 .fs-method-grid{gap:10px}
.fs-design-v5 .fs-method-grid article{padding:14px;border:1px solid #ebeaf1;border-radius:14px;box-shadow:none}
.fs-design-v5 .fs-method-grid h3{font-size:.82rem}
.fs-design-v5 .fs-method-grid p,.fs-design-v5 .fs-editorial-note{font-size:.73rem!important}

/* FAQ / related */
.fs-design-v5 .fs-section--avoid{padding-bottom:10px}
.fs-design-v5 .fs-avoid-box{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px;padding:20px;border:1px solid #f0e4e6;border-radius:17px;background:#fff8f7}
.fs-design-v5 .fs-avoid-box h2{font-size:1.18rem;margin:0}
.fs-design-v5 .fs-cross-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin:0}
.fs-design-v5 .fs-cross-list li{font-size:.72rem}
.fs-design-v5 .fs-faq{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.fs-design-v5 .fs-faq details{margin:0;border:1px solid #e8e9ef;border-radius:11px}
.fs-design-v5 .fs-faq summary{padding:12px 38px 12px 13px;font-size:.74rem}
.fs-design-v5 .fs-faq details>div{padding:0 13px 12px;font-size:.73rem}
.fs-design-v5 .fs-related-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fs-design-v5 .fs-related-links a{padding:11px 12px;border-radius:11px;font-size:.72rem;background:#fff}
.fs-design-v5 .fs-editorial-signoff{margin-top:12px;padding:10px 0;border:0;background:transparent;font-size:.68rem}

/* Sidebar */
.fs-design-v5 .fs-sidebar{min-width:0}
.fs-design-v5 .fs-sidebar__sticky{position:sticky;top:92px;display:flex;flex-direction:column;gap:14px}
.fs-design-v5 .fs-side-card{padding:18px;border:1px solid #ececf2;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(28,36,79,.045)}
.fs-design-v5 .fs-side-card h2{margin:0 0 8px;color:var(--fs-v5-navy);font-size:1.05rem;line-height:1.2}
.fs-design-v5 .fs-side-card>p{margin:0 0 12px;color:#62697d;font-size:.77rem;line-height:1.5}
.fs-design-v5 .fs-side-eyebrow{color:var(--fs-v5-coral-dark)!important;font-size:.72rem!important;font-weight:900!important}
.fs-design-v5 .fs-side-card--escape{background:linear-gradient(160deg,#fff2f6,#fff7f2)}
.fs-design-v5 .fs-side-cover-stack{height:155px;display:flex;align-items:center;justify-content:center;margin:4px 0 13px;overflow:hidden}
.fs-design-v5 .fs-side-cover-stack img{width:94px;height:142px;object-fit:cover;border-radius:8px;box-shadow:0 12px 25px rgba(35,24,44,.18);border:2px solid #fff}
.fs-design-v5 .fs-side-cover-stack img:nth-child(1){transform:rotate(-7deg) translateX(18px)}
.fs-design-v5 .fs-side-cover-stack img:nth-child(2){z-index:2;transform:translateY(-4px)}
.fs-design-v5 .fs-side-cover-stack img:nth-child(3){transform:rotate(7deg) translateX(-18px)}
.fs-design-v5 .fs-side-checks{margin:10px 0 14px;padding:0;list-style:none}
.fs-design-v5 .fs-side-checks li{position:relative;margin:7px 0;padding-left:20px;color:#454d65;font-size:.72rem;line-height:1.35}
.fs-design-v5 .fs-side-checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--fs-v5-coral);font-weight:950}
.fs-design-v5 .fs-side-checks--blue li::before{color:#3152b4}
.fs-design-v5 .fs-side-cta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:39px;padding:9px 12px;border-radius:10px;background:var(--fs-v5-coral);color:#fff!important;font-size:.74rem;font-weight:900;text-decoration:none}
.fs-design-v5 .fs-side-cta--light{background:#fff;color:var(--fs-v5-coral-dark)!important;border:1px solid #f1ccd6}
.fs-design-v5 .fs-side-card--mini{background:linear-gradient(150deg,#fff9ee,#fff5eb)}
.fs-design-v5 .fs-side-mini-image{width:100%;max-height:120px;object-fit:cover;border-radius:11px;margin:0 0 10px}
.fs-design-v5 .fs-side-card--products{background:#111f4b;border-color:#111f4b;color:#fff}
.fs-design-v5 .fs-side-card--products h2{color:#fff}
.fs-design-v5 .fs-side-products{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.fs-design-v5 .fs-side-product{display:grid;grid-template-columns:62px 1fr;gap:9px;align-items:center;padding:7px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.fs-design-v5 .fs-side-product img{width:62px;height:82px;object-fit:cover;border-radius:7px;background:#e9e9ef}
.fs-design-v5 .fs-side-product strong{display:block;color:#fff;font-size:.7rem;line-height:1.25}
.fs-design-v5 .fs-side-product small{display:block;margin-top:5px;color:#cfd6ef;font-size:.61rem}
.fs-design-v5 .fs-side-card--products .fs-side-cta{background:#ff526f}
.fs-design-v5 .fs-side-card--local{background:linear-gradient(150deg,#fff7f7,#f8f8ff)}
.fs-design-v5 .fs-side-card .fs-city-form{margin-top:10px}
.fs-design-v5 .fs-side-card .fs-city-form__row{display:flex;gap:0}
.fs-design-v5 .fs-side-card .fs-city-form input{min-height:39px;border-radius:10px 0 0 10px;border-color:#dde0ea;font-size:.72rem;padding:8px 10px}
.fs-design-v5 .fs-side-search{width:40px;border:1px solid #dde0ea;border-left:0;border-radius:0 10px 10px 0;background:#fff;color:#23336d;font-size:1rem;cursor:pointer}
.fs-design-v5 .fs-form-message{font-size:.64rem}
.fs-design-v5 .fs-side-card--tips{background:#f9faff}
.fs-design-v5 .fs-side-card--trust{background:#fff8f1}
.fs-design-v5 .fs-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Sticky mobile */
.fs-design-v5 .fs-sticky-offer{background:#111f4b;border-radius:14px}
.fs-design-v5 .fs-sticky-offer a{background:var(--fs-v5-coral);color:#fff}

@media(max-width:1100px){
    .fs-design-v5 .fs-page-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}
    .fs-design-v5 .fs-activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .fs-design-v5 .fs-real-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .fs-design-v5 .fs-hero__layout{grid-template-columns:minmax(0,.92fr) minmax(300px,1.08fr)}
}
@media(max-width:900px){
    .fs-design-v5 .fs-page-grid{grid-template-columns:1fr}
    .fs-design-v5 .fs-sidebar__sticky{position:static;display:grid;grid-template-columns:1fr 1fr}
    .fs-design-v5 .fs-side-card--products,.fs-design-v5 .fs-side-card--local{grid-column:span 1}
    .fs-design-v5 .fs-activity-grid,.fs-design-v5 .fs-real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .fs-design-v5 .fs-page-shell{width:min(100% - 18px,1180px);padding-top:10px}
    .fs-design-v5 .fs-hero__layout{grid-template-columns:1fr;min-height:0}
    .fs-design-v5 .fs-hero__visual{order:-1;height:220px}
    .fs-design-v5 .fs-hero__visual::before{display:none}
    .fs-design-v5 .fs-hero__visual img{min-height:220px;height:220px}
    .fs-design-v5 .fs-hero__copy{padding:22px 18px 18px}
    .fs-design-v5 .fs-hero h1{font-size:2rem}
    .fs-design-v5 .fs-hero__lede{-webkit-line-clamp:4;font-size:.87rem}
    .fs-design-v5 .fs-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 10px;gap:6px}
    .fs-design-v5 .fs-hero-facts>div,.fs-design-v5 .fs-hero-facts>div:first-child,.fs-design-v5 .fs-hero-facts>div:last-child{border:1px solid #ececf3;border-radius:10px}
    .fs-design-v5 .fs-hero-facts>div:last-child{grid-column:1/-1}
    .fs-design-v5 .fs-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fs-design-v5 .fs-activity-grid,.fs-design-v5 .fs-real-grid,.fs-design-v5 .fs-program-grid,.fs-design-v5 .fs-faq,.fs-design-v5 .fs-related-links{grid-template-columns:1fr}
    .fs-design-v5 .fs-activity-card{display:grid;grid-template-columns:104px minmax(0,1fr)}
    .fs-design-v5 .fs-activity-card__visual{height:100%;min-height:160px;align-items:flex-start;flex-direction:column}
    .fs-design-v5 .fs-sidebar__sticky{grid-template-columns:1fr}
    .fs-design-v5 .fs-avoid-box,.fs-design-v5 .fs-two-columns,.fs-design-v5 .fs-quick-answer{grid-template-columns:1fr}
    .fs-design-v5 .fs-cross-list{grid-template-columns:1fr}
}
.fs-design-v5{font-family:'Nunito','Raleway',Arial,sans-serif}
.fs-design-v5 h1,.fs-design-v5 h2,.fs-design-v5 h3,.fs-design-v5 h4{font-family:'Raleway','Nunito',Arial,sans-serif}


/* ============================================================
 * FAMILY SEO V5.1 — PREMIUM POLISH
 * Milieu + bas de page : lisibilité, hiérarchie, conversion
 * ============================================================ */

.fs-design-v5{
    --fs-premium-ink:#101a45;
    --fs-premium-blue:#173b88;
    --fs-premium-coral:#ff3d69;
    --fs-premium-soft:#f7f8fc;
    --fs-premium-line:#e7e9f2;
    --fs-premium-muted:#626b80;
    --fs-premium-shadow:0 18px 55px rgba(18,32,76,.085);
    --fs-premium-shadow-hover:0 26px 70px rgba(18,32,76,.14);
}

/* Respiration générale à partir du contenu principal */
.fs-design-v5 .fs-page-main .fs-section{
    padding:46px 0;
}
.fs-design-v5 .fs-page-main .fs-section + .fs-section{
    border-top:0;
}
.fs-design-v5 .fs-section-heading{
    max-width:840px;
    margin-bottom:26px;
}
.fs-design-v5 .fs-section-heading h2,
.fs-design-v5 .fs-section-heading--compact h2{
    margin-bottom:10px;
    color:var(--fs-premium-ink);
    font-size:clamp(1.72rem,2.7vw,2.35rem);
    line-height:1.12;
    letter-spacing:-.035em;
}
.fs-design-v5 .fs-section-heading>p:last-child,
.fs-design-v5 .fs-section-heading--compact>p:last-child{
    max-width:720px;
    margin-top:0;
    color:var(--fs-premium-muted);
    font-size:1rem;
    line-height:1.7;
}
.fs-design-v5 .fs-kicker,
.fs-design-v5 .fs-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px;
    font-size:.73rem;
    font-weight:900;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.fs-design-v5 .fs-kicker::before,
.fs-design-v5 .fs-eyebrow::before{
    content:"";
    width:18px;
    height:3px;
    border-radius:99px;
    background:var(--fs-premium-coral);
}

/* Les grosses zones du milieu deviennent de vrais panneaux premium */
.fs-design-v5 .fs-section--muted,
.fs-design-v5 .fs-real-resources,
.fs-design-v5 .fs-section--programs,
.fs-design-v5 .fs-section--local,
.fs-design-v5 .fs-section--faq,
.fs-design-v5 .fs-section--related,
.fs-design-v5 .fs-section--avoid,
.fs-design-v5 .fs-section--safety{
    position:relative;
    margin:14px 0;
    padding:34px;
    border:1px solid var(--fs-premium-line);
    border-radius:28px;
    background:#fff;
    box-shadow:0 12px 38px rgba(22,34,76,.045);
}
.fs-design-v5 .fs-section--muted,
.fs-design-v5 .fs-real-resources,
.fs-design-v5 .fs-section--faq{
    background:linear-gradient(180deg,#fbfcff 0%,#fff 100%);
}

/* Ressources / vrais articles : image dominante, texte lisible */
.fs-design-v5 .fs-real-resources{
    border-top:0;
}
.fs-design-v5 .fs-real-block{
    margin-top:0;
}
.fs-design-v5 .fs-real-block + .fs-real-block{
    margin-top:34px;
    padding-top:30px;
    border-top:1px solid var(--fs-premium-line);
}
.fs-design-v5 .fs-real-block>h3{
    margin:0 0 18px;
    color:var(--fs-premium-ink);
    font-size:1.28rem;
    line-height:1.25;
}
.fs-design-v5 .fs-real-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.fs-design-v5 .fs-real-card{
    display:flex;
    flex-direction:column;
    min-height:100%;
    overflow:hidden;
    border:1px solid #e7e9f1;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(19,31,72,.055);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fs-design-v5 .fs-real-card:hover{
    transform:translateY(-4px);
    border-color:#d9ddea;
    box-shadow:var(--fs-premium-shadow-hover);
}
.fs-design-v5 .fs-real-card__media,
.fs-design-v5 .fs-real-card>img{
    display:block;
    width:100%;
    height:165px;
    min-height:165px;
    object-fit:cover;
    background:#eef1f7;
}
.fs-design-v5 .fs-real-card__body,
.fs-design-v5 .fs-real-card>div{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:18px 18px 19px;
}
.fs-design-v5 .fs-real-card span{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:8px;
    padding:5px 8px;
    border-radius:999px;
    background:#fff1f5;
    color:#d92759;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.04em;
}
.fs-design-v5 .fs-real-card h4{
    margin:0 0 9px;
    color:var(--fs-premium-ink);
    font-size:1rem;
    line-height:1.34;
}
.fs-design-v5 .fs-real-card p{
    margin:0;
    color:#687086;
    font-size:.82rem;
    line-height:1.58;
}
.fs-design-v5 .fs-real-card .fs-card-link{
    margin-top:auto;
    padding-top:14px;
    color:#e22659;
    font-size:.76rem;
}

/* Programmes : vraies cartes éditoriales, plus de micro-texte */
.fs-design-v5 .fs-program-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.fs-design-v5 .fs-program-card{
    position:relative;
    overflow:hidden;
    padding:22px;
    border:1px solid #e5e8f0;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 28px rgba(18,30,70,.05);
}
.fs-design-v5 .fs-program-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,var(--fs-premium-coral),#ff8a63);
}
.fs-design-v5 .fs-program-card__head{
    margin-bottom:14px;
}
.fs-design-v5 .fs-program-card__head h3{
    color:var(--fs-premium-ink);
    font-size:1.08rem;
    line-height:1.25;
}
.fs-design-v5 .fs-program-card__head>span{
    padding:6px 9px;
    border-radius:999px;
    font-size:.68rem;
    font-weight:900;
}
.fs-design-v5 .fs-program-card li{
    grid-template-columns:72px minmax(0,1fr);
    gap:12px;
    padding:11px 0;
    border-color:#edf0f5;
}
.fs-design-v5 .fs-program-card time{
    color:#254381;
    font-size:.74rem;
    font-weight:900;
}
.fs-design-v5 .fs-program-card li p{
    color:#5f687d;
    font-size:.8rem;
    line-height:1.5;
}

/* Réponse rapide / méthode : plus éditorial, moins tableau technique */
.fs-design-v5 .fs-quick-answer{
    gap:28px;
    padding:30px;
    border:1px solid #e4e7f0;
    border-radius:24px;
    background:linear-gradient(135deg,#fff7fa 0%,#f6f8ff 100%);
    box-shadow:0 12px 36px rgba(19,31,72,.045);
}
.fs-design-v5 .fs-quick-answer h2{
    margin-bottom:10px;
    font-size:1.5rem;
    line-height:1.2;
}
.fs-design-v5 .fs-quick-answer>div>p:last-child{
    color:#606a80;
    font-size:.9rem;
    line-height:1.65;
}
.fs-design-v5 .fs-quick-grid{
    gap:12px;
}
.fs-design-v5 .fs-quick-card{
    padding:16px;
    border:1px solid #e6e9f1;
    border-radius:16px;
    background:rgba(255,255,255,.92);
    box-shadow:0 6px 16px rgba(18,30,70,.035);
}
.fs-design-v5 .fs-quick-card h3{
    color:var(--fs-premium-ink);
    font-size:.88rem;
}
.fs-design-v5 .fs-quick-card p{
    color:#6b7387;
    font-size:.78rem;
    line-height:1.5;
}
.fs-design-v5 .fs-two-columns{
    gap:30px;
}
.fs-design-v5 .fs-method-grid{
    gap:14px;
}
.fs-design-v5 .fs-method-grid article{
    padding:18px;
    border-radius:17px;
    background:#fff;
    box-shadow:0 7px 20px rgba(18,30,70,.035);
}
.fs-design-v5 .fs-method-grid h3{
    font-size:.92rem;
}
.fs-design-v5 .fs-method-grid p,
.fs-design-v5 .fs-editorial-note{
    color:#667086;
    font-size:.8rem!important;
    line-height:1.55!important;
}

/* Bloc à éviter : calme et premium */
.fs-design-v5 .fs-avoid-box{
    grid-template-columns:.8fr 1.2fr;
    gap:30px;
    padding:28px;
    border:1px solid #f0dfe4;
    border-radius:22px;
    background:linear-gradient(135deg,#fff9f8,#fff 65%);
}
.fs-design-v5 .fs-avoid-box h2{
    color:var(--fs-premium-ink);
    font-size:1.35rem;
    line-height:1.25;
}
.fs-design-v5 .fs-cross-list{
    gap:10px 20px;
}
.fs-design-v5 .fs-cross-list li{
    position:relative;
    padding-left:22px;
    color:#5f687b;
    font-size:.8rem;
    line-height:1.45;
}

/* FAQ : priorité absolue à la lecture */
.fs-design-v5 .fs-faq{
    grid-template-columns:1fr;
    gap:10px;
    max-width:880px;
}
.fs-design-v5 .fs-faq details{
    overflow:hidden;
    border:1px solid #e3e7ef;
    border-radius:15px;
    background:#fff;
    transition:border-color .2s ease,box-shadow .2s ease;
}
.fs-design-v5 .fs-faq details[open]{
    border-color:#d4d9e7;
    box-shadow:0 8px 24px rgba(20,33,75,.055);
}
.fs-design-v5 .fs-faq summary{
    padding:16px 48px 16px 17px;
    color:#202946;
    font-size:.84rem;
    font-weight:900;
    line-height:1.42;
}
.fs-design-v5 .fs-faq details>div{
    padding:0 17px 17px;
    color:#626c80;
    font-size:.81rem;
    line-height:1.65;
}

/* Liens connexes : cartes simples, pas annuaire compact */
.fs-design-v5 .fs-related-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.fs-design-v5 .fs-related-links a{
    position:relative;
    min-height:62px;
    padding:16px 42px 16px 16px;
    border:1px solid #e4e7ef;
    border-radius:15px;
    background:#fff;
    color:#27314f;
    font-size:.8rem;
    font-weight:800;
    line-height:1.35;
    box-shadow:0 5px 16px rgba(20,33,75,.03);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.fs-design-v5 .fs-related-links a::after{
    content:"→";
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    color:var(--fs-premium-coral);
    font-size:1.05rem;
}
.fs-design-v5 .fs-related-links a:hover{
    transform:translateY(-2px);
    border-color:#d7dce9;
    box-shadow:0 10px 28px rgba(20,33,75,.07);
}

/* Bloc local et offre : plus premium, CTA plus évident */
.fs-design-v5 .fs-local{
    padding:26px;
    border:1px solid #e4e7f0;
    border-radius:22px;
    background:linear-gradient(135deg,#f7f9ff,#fff 70%);
}
.fs-design-v5 .fs-local__links a{
    border-radius:999px;
    background:#fff;
    box-shadow:0 5px 14px rgba(18,30,70,.035);
}
.fs-design-v5 .fs-offer,
.fs-design-v5 .fs-offer-inline{
    border-radius:24px;
    box-shadow:var(--fs-premium-shadow);
}
.fs-design-v5 .fs-offer{
    border:0;
    background:linear-gradient(135deg,#101d49 0%,#173b88 62%,#254eaa 100%);
}
.fs-design-v5 .fs-offer h2,
.fs-design-v5 .fs-offer h3,
.fs-design-v5 .fs-offer p{
    color:#fff;
}
.fs-design-v5 .fs-offer .fs-button--accent,
.fs-design-v5 .fs-offer .fs-button--primary{
    background:var(--fs-premium-coral);
    color:#fff!important;
    box-shadow:0 12px 28px rgba(255,61,105,.28);
}

/* Signature éditoriale discrète */
.fs-design-v5 .fs-editorial-signoff{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid #eceef3;
    color:#8a90a0;
    font-size:.72rem;
    line-height:1.5;
}

/* Responsive : conserver la sensation premium sans tasser */
@media(max-width:1080px){
    .fs-design-v5 .fs-real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fs-design-v5 .fs-program-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .fs-design-v5 .fs-page-main .fs-section{padding:34px 0}
    .fs-design-v5 .fs-section--muted,
    .fs-design-v5 .fs-real-resources,
    .fs-design-v5 .fs-section--programs,
    .fs-design-v5 .fs-section--local,
    .fs-design-v5 .fs-section--faq,
    .fs-design-v5 .fs-section--related,
    .fs-design-v5 .fs-section--avoid,
    .fs-design-v5 .fs-section--safety{
        margin:10px 0;
        padding:22px 16px;
        border-radius:21px;
    }
    .fs-design-v5 .fs-real-grid,
    .fs-design-v5 .fs-related-links{grid-template-columns:1fr}
    .fs-design-v5 .fs-real-card{display:grid;grid-template-columns:112px minmax(0,1fr)}
    .fs-design-v5 .fs-real-card__media,
    .fs-design-v5 .fs-real-card>img{width:112px;height:100%;min-height:150px}
    .fs-design-v5 .fs-real-card__body,
    .fs-design-v5 .fs-real-card>div{padding:15px}
    .fs-design-v5 .fs-quick-answer,
    .fs-design-v5 .fs-avoid-box{padding:20px}
    .fs-design-v5 .fs-faq summary{font-size:.82rem}
}

/* ============================================================
 * FAMILY SEO V5.2 — PREMIUM EDITORIAL / LISIBILITE RENFORCEE
 * Cible: milieu + bas de page uniquement
 * ============================================================ */
.fs-design-v5{
  --fs52-ink:#111a3e;
  --fs52-blue:#173b88;
  --fs52-coral:#ff416c;
  --fs52-soft:#f7f8fc;
  --fs52-rose:#fff5f7;
  --fs52-warm:#fff9f3;
  --fs52-line:#e6e9f1;
  --fs52-muted:#5f687c;
  --fs52-shadow:0 18px 50px rgba(16,30,70,.08);
  --fs52-shadow-hover:0 28px 75px rgba(16,30,70,.14);
}

/* Plus de respiration générale sous la zone d'idées */
.fs-design-v5 .fs-page-main .fs-section{padding:58px 0}
.fs-design-v5 .fs-page-main .fs-section-heading{margin-bottom:30px}
.fs-design-v5 .fs-page-main .fs-section-heading h2{font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.08}
.fs-design-v5 .fs-page-main .fs-section-heading>p:last-child{font-size:1.02rem;line-height:1.72;color:var(--fs52-muted)}

/* Cartes d'idées : moins tassées, plus éditoriales */
.fs-design-v5 .fs-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fs-design-v5 .fs-activity-card{border-radius:20px;box-shadow:0 12px 34px rgba(18,31,72,.06)}
.fs-design-v5 .fs-activity-card__visual{height:132px;padding:16px}
.fs-design-v5 .fs-activity-card__body{padding:20px 20px 22px}
.fs-design-v5 .fs-activity-card h3{font-size:1.1rem;line-height:1.3;margin-bottom:9px}
.fs-design-v5 .fs-activity-summary{font-size:.9rem!important;line-height:1.62!important;color:#60697c!important}
.fs-design-v5 .fs-card-meta{font-size:.75rem;gap:7px 12px;margin-top:14px}
.fs-design-v5 .fs-tags li{font-size:.69rem;padding:5px 8px}
.fs-design-v5 .fs-activity-card summary{font-size:.82rem;padding-top:14px}
.fs-design-v5 .fs-activity-card__details{font-size:.84rem;line-height:1.62}

/* Vrais articles : 2 grandes colonnes, image plus présente */
.fs-design-v5 .fs-real-resources{padding:42px;background:linear-gradient(180deg,#f8f9fd 0%,#fff 100%)}
.fs-design-v5 .fs-real-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fs-design-v5 .fs-real-card{border-radius:22px;box-shadow:0 14px 38px rgba(18,31,72,.065)}
.fs-design-v5 .fs-real-card__media,.fs-design-v5 .fs-real-card>img{height:220px;min-height:220px}
.fs-design-v5 .fs-real-card__body,.fs-design-v5 .fs-real-card>div{padding:22px 22px 24px}
.fs-design-v5 .fs-real-card h3,.fs-design-v5 .fs-real-card h4{font-size:1.14rem;line-height:1.34;margin-bottom:10px}
.fs-design-v5 .fs-real-card p{font-size:.9rem;line-height:1.62;-webkit-line-clamp:4}
.fs-design-v5 .fs-real-card small{font-size:.75rem}
.fs-design-v5 .fs-real-card .fs-card-link{font-size:.84rem;padding-top:16px}

/* Programmes : véritables cartes premium lisibles */
.fs-design-v5 .fs-section--programs{padding:42px;background:linear-gradient(135deg,#fff9f3 0%,#fff 75%)}
.fs-design-v5 .fs-program-grid{grid-template-columns:1fr;gap:18px}
.fs-design-v5 .fs-program-card{padding:26px 28px;border-radius:22px;box-shadow:0 12px 32px rgba(20,32,72,.055)}
.fs-design-v5 .fs-program-card__head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:20px;margin-bottom:12px}
.fs-design-v5 .fs-program-card__head h3{font-size:1.2rem;line-height:1.25;margin-bottom:5px}
.fs-design-v5 .fs-program-card__head p{font-size:.88rem}
.fs-design-v5 .fs-program-card__head>span{font-size:.76rem;padding:7px 11px}
.fs-design-v5 .fs-program-card ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.fs-design-v5 .fs-program-card li{display:block;padding:14px;border:1px solid #edf0f5;border-radius:14px;background:#fbfcff}
.fs-design-v5 .fs-program-card time{display:block;margin-bottom:6px;font-size:.76rem}
.fs-design-v5 .fs-program-card li p{font-size:.84rem;line-height:1.55}

/* Méthode / réponses : plus de micro-texte */
.fs-design-v5 .fs-quick-answer{padding:34px;border-radius:26px}
.fs-design-v5 .fs-quick-answer h2{font-size:1.65rem}
.fs-design-v5 .fs-quick-answer>div>p:last-child{font-size:.95rem}
.fs-design-v5 .fs-quick-card{padding:18px}
.fs-design-v5 .fs-quick-card h3{font-size:.96rem}
.fs-design-v5 .fs-quick-card p{font-size:.84rem;line-height:1.58}
.fs-design-v5 .fs-method-grid article{padding:20px}
.fs-design-v5 .fs-method-grid h3{font-size:1rem}
.fs-design-v5 .fs-method-grid p,.fs-design-v5 .fs-editorial-note{font-size:.88rem!important;line-height:1.62!important}

/* Local : vrai bloc de conversion, moins tableau */
.fs-design-v5 .fs-section--local{padding:40px;background:linear-gradient(135deg,#f4f7ff,#fff 72%)}
.fs-design-v5 .fs-local{padding:32px;border-radius:24px;box-shadow:0 12px 30px rgba(19,31,72,.04)}
.fs-design-v5 .fs-local h2{font-size:1.75rem}
.fs-design-v5 .fs-local p{font-size:.94rem;line-height:1.65;color:var(--fs52-muted)}

/* FAQ : grande largeur + vraies questions éditoriales */
.fs-design-v5 .fs-section--faq{padding:40px}
.fs-design-v5 .fs-faq{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fs-design-v5 .fs-faq details{border-radius:16px;box-shadow:0 5px 15px rgba(19,31,72,.025)}
.fs-design-v5 .fs-faq summary{padding:18px 48px 18px 18px;font-size:.91rem;line-height:1.45}
.fs-design-v5 .fs-faq details>div{padding:0 18px 18px;font-size:.87rem;line-height:1.7}

/* Liens associés : 3 grosses cartes propres */
.fs-design-v5 .fs-section--related{padding:38px;background:#fafbfe}
.fs-design-v5 .fs-related-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fs-design-v5 .fs-related-links a{min-height:84px;padding:20px 48px 20px 20px;border-radius:18px;font-size:.88rem;line-height:1.45;box-shadow:0 8px 22px rgba(19,31,72,.035)}

/* Sidebar : plus premium, moins interminable */
.fs-design-v5 .fs-sidebar__sticky{top:88px;gap:18px}
.fs-design-v5 .fs-side-card{padding:21px;border-radius:20px;box-shadow:0 12px 34px rgba(18,31,72,.055)}
.fs-design-v5 .fs-side-card h2{font-size:1.13rem;line-height:1.28}
.fs-design-v5 .fs-side-card>p{font-size:.84rem;line-height:1.62}
.fs-design-v5 .fs-side-checks li{font-size:.78rem!important;line-height:1.5!important}
.fs-design-v5 .fs-side-card--tips{display:none}
.fs-design-v5 .fs-side-card--mini{order:3}
.fs-design-v5 .fs-side-card--products{order:2}
.fs-design-v5 .fs-side-card--local{order:4}

/* Éviter / sécurité : beaucoup plus lisible */
.fs-design-v5 .fs-section--avoid,.fs-design-v5 .fs-section--safety{padding:38px;background:linear-gradient(180deg,#fff,#fff9fa)}
.fs-design-v5 .fs-avoid-box{padding:30px}
.fs-design-v5 .fs-cross-list li{font-size:.88rem;line-height:1.58}

@media(max-width:1080px){
  .fs-design-v5 .fs-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-design-v5 .fs-real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-design-v5 .fs-program-card ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-design-v5 .fs-related-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .fs-design-v5 .fs-page-main .fs-section{padding:38px 0}
  .fs-design-v5 .fs-activity-grid,.fs-design-v5 .fs-real-grid,.fs-design-v5 .fs-faq,.fs-design-v5 .fs-related-links{grid-template-columns:1fr}
  .fs-design-v5 .fs-activity-card{display:block}
  .fs-design-v5 .fs-activity-card__visual{height:110px;min-height:0}
  .fs-design-v5 .fs-real-resources,.fs-design-v5 .fs-section--programs,.fs-design-v5 .fs-section--local,.fs-design-v5 .fs-section--faq,.fs-design-v5 .fs-section--related,.fs-design-v5 .fs-section--avoid,.fs-design-v5 .fs-section--safety{padding:24px 16px;border-radius:22px}
  .fs-design-v5 .fs-real-card{display:block}
  .fs-design-v5 .fs-real-card__media,.fs-design-v5 .fs-real-card>img{height:185px;min-height:185px}
  .fs-design-v5 .fs-program-card{padding:22px 18px}
  .fs-design-v5 .fs-program-card ol{grid-template-columns:1fr}
  .fs-design-v5 .fs-program-card__head{grid-template-columns:1fr}
  .fs-design-v5 .fs-sidebar__sticky{display:grid;grid-template-columns:1fr}
  .fs-design-v5 .fs-side-card--tips{display:none}
}


/* ============================================================
 * FAMILY SEO V5.3 — PREMIUM BORDERLESS / EDITORIAL 2026
 * Objectif : supprimer l'effet "cadre blanc dans cadre blanc"
 * Aucun changement HTML/PHP/SEO.
 * ============================================================ */

.fs-design-v5{
  --fs53-ink:#11182f;
  --fs53-navy:#152047;
  --fs53-blue:#2f57d4;
  --fs53-coral:#ff5a72;
  --fs53-page:#f6f7fb;
  --fs53-soft:#f2f4f9;
  --fs53-warm:#fff6f2;
  --fs53-rose:#fff1f5;
  --fs53-sky:#f1f5ff;
  --fs53-muted:#667085;
  --fs53-shadow:0 16px 42px rgba(21,32,71,.07);
  --fs53-shadow-hover:0 26px 68px rgba(21,32,71,.12);
  background:var(--fs53-page);
}

/* Le grand contenu n'est plus une grande boîte blanche. */
.fs-design-v5 .fs-page-main{
  background:transparent;
}
.fs-design-v5 .fs-page-main>.fs-shell{
  background:transparent;
}
.fs-design-v5 .fs-page-layout{
  align-items:start;
}
.fs-design-v5 .fs-page-content{
  min-width:0;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Les sections deviennent de vrais chapitres éditoriaux ouverts. */
.fs-design-v5 .fs-page-main .fs-section{
  position:relative;
  margin:0;
  padding:72px 0;
  background:transparent;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.fs-design-v5 .fs-page-main .fs-section + .fs-section{
  border-top:1px solid rgba(21,32,71,.07)!important;
}
.fs-design-v5 .fs-page-main .fs-section-heading{
  max-width:760px;
  margin-bottom:34px;
}
.fs-design-v5 .fs-page-main .fs-section-heading h2{
  color:var(--fs53-navy);
  font-size:clamp(2rem,3.2vw,2.8rem);
  letter-spacing:-.035em;
}
.fs-design-v5 .fs-page-main .fs-section-heading>p:last-child{
  color:var(--fs53-muted);
  font-size:1.04rem;
  line-height:1.75;
}

/* Quelques chapitres ont un fond teinté pleine section au lieu d'un cadre. */
.fs-design-v5 .fs-real-resources,
.fs-design-v5 .fs-section--programs,
.fs-design-v5 .fs-section--local,
.fs-design-v5 .fs-section--faq,
.fs-design-v5 .fs-section--related,
.fs-design-v5 .fs-section--avoid,
.fs-design-v5 .fs-section--safety{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:max(16px,calc((100vw - 1180px)/2));
  padding-right:max(16px,calc((100vw - 1180px)/2));
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.fs-design-v5 .fs-real-resources{
  background:linear-gradient(180deg,#f1f4fb 0%,#f7f8fc 100%);
}
.fs-design-v5 .fs-section--programs{
  background:linear-gradient(180deg,#fff8f4 0%,#fffdfb 100%);
}
.fs-design-v5 .fs-section--local{
  background:linear-gradient(180deg,#f1f5ff 0%,#f8faff 100%);
}
.fs-design-v5 .fs-section--faq{
  background:#fff;
}
.fs-design-v5 .fs-section--related{
  background:#f2f4f8;
}
.fs-design-v5 .fs-section--avoid,
.fs-design-v5 .fs-section--safety{
  background:#fff;
}

/* Cartes idées : plus de bordure, seulement profondeur + accents. */
.fs-design-v5 .fs-activity-card{
  border:0!important;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--fs53-shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.fs-design-v5 .fs-activity-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--fs53-shadow-hover);
}
.fs-design-v5 .fs-activity-card__visual{
  border:0!important;
  border-radius:24px 24px 0 0;
}
.fs-design-v5 .fs-card-meta{
  border-top:0!important;
}

/* Vrais articles : grandes cartes éditoriales sans double encadrement. */
.fs-design-v5 .fs-real-block{
  margin-top:38px;
}
.fs-design-v5 .fs-real-grid{
  gap:26px;
}
.fs-design-v5 .fs-real-card{
  overflow:hidden;
  border:0!important;
  border-radius:26px;
  background:#fff;
  box-shadow:var(--fs53-shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.fs-design-v5 .fs-real-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--fs53-shadow-hover);
}
.fs-design-v5 .fs-real-card__media,
.fs-design-v5 .fs-real-card>img{
  border:0!important;
}
.fs-design-v5 .fs-real-card .fs-card-link{
  color:var(--fs53-blue);
}

/* Programmes : grandes bandes horizontales, pas de carte dans carte. */
.fs-design-v5 .fs-program-grid{
  gap:22px;
}
.fs-design-v5 .fs-program-card{
  position:relative;
  overflow:hidden;
  border:0!important;
  border-radius:26px;
  background:#fff;
  box-shadow:var(--fs53-shadow);
}
.fs-design-v5 .fs-program-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--fs53-coral),#ff9f70);
}
.fs-design-v5 .fs-program-card ol{
  gap:0;
  border-top:1px solid #edf0f5;
}
.fs-design-v5 .fs-program-card li{
  margin:0;
  padding:16px 18px;
  border:0!important;
  border-right:1px solid #edf0f5!important;
  border-radius:0!important;
  background:transparent!important;
}
.fs-design-v5 .fs-program-card li:last-child{
  border-right:0!important;
}

/* Réponse rapide / méthode : on évite le gros pavé blanc bordé. */
.fs-design-v5 .fs-quick-answer{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.fs-design-v5 .fs-quick-grid{
  gap:16px;
}
.fs-design-v5 .fs-quick-card,
.fs-design-v5 .fs-method-grid article{
  border:0!important;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(21,32,71,.05);
}
.fs-design-v5 .fs-editorial-note{
  background:transparent;
  border-radius:0;
}

/* Bloc local : fond déjà porté par la section, donc pas de cadre supplémentaire. */
.fs-design-v5 .fs-local{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fs-design-v5 .fs-local__links a{
  border:0!important;
  background:#fff;
  box-shadow:0 8px 24px rgba(21,32,71,.06);
}

/* FAQ : accordéons propres, sans container englobant. */
.fs-design-v5 .fs-faq{
  gap:16px;
}
.fs-design-v5 .fs-faq details{
  border:0!important;
  border-radius:18px;
  background:#f7f8fb;
  box-shadow:none!important;
}
.fs-design-v5 .fs-faq details[open]{
  background:#fff;
  box-shadow:0 12px 34px rgba(21,32,71,.07)!important;
}
.fs-design-v5 .fs-faq summary{
  color:var(--fs53-navy);
  font-weight:800;
}

/* Liens associés : tuiles légères, pas de cases cernées. */
.fs-design-v5 .fs-related-links{
  gap:16px;
}
.fs-design-v5 .fs-related-links a{
  border:0!important;
  border-radius:20px;
  background:#fff;
  box-shadow:0 9px 26px rgba(21,32,71,.055);
}
.fs-design-v5 .fs-related-links a:hover{
  border:0!important;
  box-shadow:0 16px 38px rgba(21,32,71,.09);
}

/* Éviter / sécurité : blocs éditoriaux ouverts. */
.fs-design-v5 .fs-avoid-box,
.fs-design-v5 .fs-safety-box{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.fs-design-v5 .fs-cross-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 28px;
}
.fs-design-v5 .fs-cross-list li{
  padding:14px 0;
  border-bottom:1px solid rgba(21,32,71,.08);
}

/* Sidebar : cartes premium, mais elle reste visuellement secondaire. */
.fs-design-v5 .fs-sidebar{
  background:transparent!important;
}
.fs-design-v5 .fs-sidebar__sticky{
  gap:20px;
}
.fs-design-v5 .fs-side-card{
  border:0!important;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 40px rgba(21,32,71,.07);
}
.fs-design-v5 .fs-side-card--products{
  background:linear-gradient(160deg,#152047 0%,#254792 100%);
  color:#fff;
}
.fs-design-v5 .fs-side-card--products h2,
.fs-design-v5 .fs-side-card--products p,
.fs-design-v5 .fs-side-card--products li{
  color:#fff!important;
}

/* Le CTA Escape Game devient le seul vrai gros bloc sombre de la page. */
.fs-design-v5 .fs-section--offer{
  padding-top:82px;
  padding-bottom:82px;
}
.fs-design-v5 .fs-offer{
  border:0!important;
  border-radius:30px;
  box-shadow:0 30px 80px rgba(14,27,70,.18);
}

/* Mobile : pas de pseudo container blanc autour des sections. */
@media(max-width:760px){
  .fs-design-v5 .fs-page-main .fs-section{
    padding:48px 0;
  }
  .fs-design-v5 .fs-real-resources,
  .fs-design-v5 .fs-section--programs,
  .fs-design-v5 .fs-section--local,
  .fs-design-v5 .fs-section--faq,
  .fs-design-v5 .fs-section--related,
  .fs-design-v5 .fs-section--avoid,
  .fs-design-v5 .fs-section--safety{
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:44px 16px!important;
    border-radius:0!important;
  }
  .fs-design-v5 .fs-quick-answer,
  .fs-design-v5 .fs-local,
  .fs-design-v5 .fs-avoid-box,
  .fs-design-v5 .fs-safety-box{
    padding-left:0!important;
    padding-right:0!important;
  }
  .fs-design-v5 .fs-program-card li{
    border-right:0!important;
    border-bottom:1px solid #edf0f5!important;
  }
  .fs-design-v5 .fs-program-card li:last-child{
    border-bottom:0!important;
  }
  .fs-design-v5 .fs-cross-list{
    grid-template-columns:1fr;
  }
}


/* ============================================================
 * FAMILY SEO V5.4 — FIX "À ÉVITER" + FAQ
 * Corrige les zones trop vides / trop petites de V5.3.
 * CSS ONLY.
 * ============================================================ */

/* ---------- À ÉVITER ---------- */
.fs-design-v5 .fs-section--avoid{
  padding-top:64px!important;
  padding-bottom:64px!important;
  background:linear-gradient(180deg,#fff8f9 0%,#fff 100%)!important;
}

.fs-design-v5 .fs-section--avoid .fs-avoid-box{
  display:block!important;
  max-width:1080px;
  margin:0 auto;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.fs-design-v5 .fs-section--avoid .fs-avoid-box>div:first-child{
  max-width:720px;
  margin:0 0 34px;
}

.fs-design-v5 .fs-section--avoid .fs-avoid-box h2{
  margin:8px 0 0!important;
  font-size:clamp(1.75rem,2.5vw,2.3rem)!important;
  line-height:1.12;
  letter-spacing:-.03em;
  color:#14204a;
}

.fs-design-v5 .fs-section--avoid .fs-cross-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 18px!important;
  margin:0!important;
}

.fs-design-v5 .fs-section--avoid .fs-cross-list li{
  position:relative;
  min-height:74px;
  margin:0!important;
  padding:18px 20px 18px 52px!important;
  border:0!important;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(21,32,71,.055);
  font-size:.94rem!important;
  line-height:1.55!important;
  color:#4f5872;
}

.fs-design-v5 .fs-section--avoid .fs-cross-list li::before{
  content:"×";
  left:18px!important;
  top:15px!important;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff0f2;
  color:#ff536b!important;
  font-size:1.05rem!important;
  line-height:1;
  font-weight:900;
}

/* ---------- FAQ ---------- */
.fs-design-v5 .fs-section--faq{
  padding-top:72px!important;
  padding-bottom:76px!important;
  background:#fff!important;
}

.fs-design-v5 .fs-section--faq .fs-section-heading{
  max-width:820px!important;
  margin-bottom:30px!important;
}

.fs-design-v5 .fs-section--faq .fs-section-heading h2{
  max-width:none!important;
  font-size:clamp(2rem,3.3vw,2.65rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

.fs-design-v5 .fs-section--faq .fs-faq{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  max-width:920px;
  margin:0;
}

.fs-design-v5 .fs-section--faq .fs-faq details{
  margin:0!important;
  overflow:hidden;
  border:1px solid rgba(20,32,74,.08)!important;
  border-radius:18px!important;
  background:#f8f9fc!important;
  box-shadow:none!important;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}

.fs-design-v5 .fs-section--faq .fs-faq details:hover{
  background:#fff!important;
  box-shadow:0 10px 30px rgba(21,32,71,.06)!important;
}

.fs-design-v5 .fs-section--faq .fs-faq details[open]{
  background:#fff!important;
  box-shadow:0 16px 40px rgba(21,32,71,.08)!important;
}

.fs-design-v5 .fs-section--faq .fs-faq summary{
  position:relative;
  padding:20px 58px 20px 22px!important;
  font-size:1rem!important;
  line-height:1.45!important;
  font-weight:800!important;
  color:#14204a!important;
  cursor:pointer;
  list-style:none;
}

.fs-design-v5 .fs-section--faq .fs-faq summary::-webkit-details-marker{
  display:none;
}

.fs-design-v5 .fs-section--faq .fs-faq summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef2ff;
  color:#3156f5;
  font-size:1.15rem;
  font-weight:700;
  transition:transform .18s ease,background .18s ease;
}

.fs-design-v5 .fs-section--faq .fs-faq details[open] summary::after{
  content:"−";
  background:#fff0f3;
  color:#ff536b;
}

.fs-design-v5 .fs-section--faq .fs-faq details>div{
  padding:0 22px 22px!important;
  font-size:.96rem!important;
  line-height:1.75!important;
  color:#667085!important;
}

/* Desktop : garder le contenu visuellement centré sans énorme vide. */
@media(min-width:900px){
  .fs-design-v5 .fs-section--faq .fs-faq{
    max-width:960px;
  }
}

/* Mobile */
@media(max-width:760px){
  .fs-design-v5 .fs-section--avoid{
    padding:44px 16px!important;
  }
  .fs-design-v5 .fs-section--avoid .fs-cross-list{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .fs-design-v5 .fs-section--avoid .fs-cross-list li{
    min-height:0;
    padding:16px 16px 16px 48px!important;
    font-size:.92rem!important;
  }
  .fs-design-v5 .fs-section--faq{
    padding:48px 16px!important;
  }
  .fs-design-v5 .fs-section--faq .fs-section-heading h2{
    font-size:2rem!important;
  }
  .fs-design-v5 .fs-section--faq .fs-faq summary{
    padding:18px 52px 18px 18px!important;
    font-size:.95rem!important;
  }
}


/* ============================================================
 * FAMILY SEO V5.5 — HERO FRAME PREMIUM
 * CSS ONLY : on ne remplace aucune image.
 * Objectif : corriger le cadre trop haut / trop étiré.
 * ============================================================ */

.fs-design-v5 .fs-hero{
  max-width:100%;
  min-height:0!important;
  border:1px solid rgba(17,24,39,.07)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 18px 55px rgba(21,32,71,.08)!important;
}

.fs-design-v5 .fs-hero__layout{
  grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr)!important;
  min-height:0!important;
  height:420px!important;
  align-items:stretch!important;
}

.fs-design-v5 .fs-hero__copy{
  padding:38px 38px 34px 38px!important;
  justify-content:center!important;
  overflow:hidden;
}

.fs-design-v5 .fs-hero h1{
  max-width:570px!important;
  margin:0 0 18px!important;
  font-size:clamp(2.25rem,3.15vw,3.55rem)!important;
  line-height:1.03!important;
  letter-spacing:-.048em!important;
}

.fs-design-v5 .fs-hero__lede{
  max-width:540px!important;
  font-size:1rem!important;
  line-height:1.62!important;
  -webkit-line-clamp:5!important;
}

.fs-design-v5 .fs-hero__visual{
  height:420px!important;
  min-height:420px!important;
  border-radius:0 28px 28px 0!important;
  overflow:hidden!important;
}

.fs-design-v5 .fs-hero__visual::before{
  width:24%!important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.72) 36%,
    rgba(255,255,255,.20) 72%,
    rgba(255,255,255,0) 100%
  )!important;
}

.fs-design-v5 .fs-hero__visual img{
  width:100%!important;
  height:420px!important;
  min-height:420px!important;
  max-height:420px!important;
  object-fit:cover!important;
  border-radius:0!important;
}

/* Les infos sous le hero restent séparées du grand cadre. */
.fs-design-v5 .fs-hero-facts{
  margin-top:14px!important;
  padding:0!important;
  background:transparent!important;
  gap:10px!important;
}
.fs-design-v5 .fs-hero-facts>div,
.fs-design-v5 .fs-hero-facts>div:first-child,
.fs-design-v5 .fs-hero-facts>div:last-child{
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(21,32,71,.05)!important;
}

/* Écrans moyens */
@media(max-width:1100px) and (min-width:761px){
  .fs-design-v5 .fs-hero__layout{
    grid-template-columns:minmax(330px,.95fr) minmax(0,1.05fr)!important;
    height:390px!important;
  }
  .fs-design-v5 .fs-hero__visual,
  .fs-design-v5 .fs-hero__visual img{
    height:390px!important;
    min-height:390px!important;
    max-height:390px!important;
  }
  .fs-design-v5 .fs-hero__copy{
    padding:30px 28px!important;
  }
  .fs-design-v5 .fs-hero h1{
    font-size:clamp(2.1rem,3.5vw,3rem)!important;
  }
}

/* Mobile : cadre compact, image en haut, texte dessous. */
@media(max-width:760px){
  .fs-design-v5 .fs-hero{
    border-radius:22px!important;
  }
  .fs-design-v5 .fs-hero__layout{
    grid-template-columns:1fr!important;
    height:auto!important;
  }
  .fs-design-v5 .fs-hero__visual{
    order:-1!important;
    height:230px!important;
    min-height:230px!important;
    border-radius:22px 22px 0 0!important;
  }
  .fs-design-v5 .fs-hero__visual img{
    height:230px!important;
    min-height:230px!important;
    max-height:230px!important;
  }
  .fs-design-v5 .fs-hero__visual::before{
    display:none!important;
  }
  .fs-design-v5 .fs-hero__copy{
    padding:24px 20px 26px!important;
  }
  .fs-design-v5 .fs-hero h1{
    max-width:none!important;
    font-size:2.15rem!important;
    line-height:1.04!important;
  }
  .fs-design-v5 .fs-hero__lede{
    max-width:none!important;
    font-size:.94rem!important;
    -webkit-line-clamp:5!important;
  }
}


/* ============================================================
 * FAMILY SEO V6 — CONTENU ÉDITORIAL PAR ÂGE × CONTEXTE
 * Section utile ajoutée avant les 12 idées.
 * ============================================================ */
.fs-design-v5 .fs-section--context-guide{
  padding-top:54px;
  padding-bottom:58px;
  background:transparent;
}
.fs-design-v5 .fs-context-guide{
  position:relative;
}
.fs-design-v5 .fs-context-guide .fs-section-heading{
  max-width:830px;
  margin-bottom:26px;
}
.fs-design-v5 .fs-context-guide__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.fs-design-v5 .fs-context-guide__grid article{
  position:relative;
  min-width:0;
  padding:22px 22px 24px;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(21,32,71,.065);
}
.fs-design-v5 .fs-context-guide__grid article::before{
  content:"";
  display:block;
  width:36px;
  height:4px;
  margin-bottom:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#3156f5,#ff657a);
}
.fs-design-v5 .fs-context-guide__grid h3{
  margin:0 0 10px;
  color:#14204a;
  font-size:1rem;
  line-height:1.3;
  font-weight:850;
}
.fs-design-v5 .fs-context-guide__grid p{
  margin:0;
  color:#667085;
  font-size:.93rem;
  line-height:1.68;
}
@media(max-width:900px){
  .fs-design-v5 .fs-context-guide__grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .fs-design-v5 .fs-section--context-guide{
    padding-top:38px;
    padding-bottom:40px;
  }
  .fs-design-v5 .fs-context-guide__grid article{
    padding:19px 18px 20px;
    border-radius:18px;
  }
}


/* ============================================================
 * FAMILY SEO V6.1 — ESCAPE GAME MOBILE À POSITION STRATÉGIQUE
 * Desktop : sidebar commerciale inchangée.
 * <= 900 px : CTA compact juste avant les 12 idées et suppression
 *             du doublon commercial tout en bas de page.
 * ============================================================ */

.fs-design-v5 .fs-mobile-escape-spot{
    display:none;
}

@media(max-width:900px){
    .fs-design-v5 .fs-mobile-escape-spot{
        position:relative;
        display:grid;
        grid-template-columns:150px minmax(0,1fr);
        gap:22px;
        align-items:center;
        margin:18px 0 10px;
        padding:24px;
        overflow:hidden;
        border-radius:26px;
        background:
            radial-gradient(circle at 0 0,rgba(255,255,255,.13),transparent 34%),
            linear-gradient(135deg,#121d47 0%,#203d86 56%,#3156b7 100%);
        box-shadow:0 22px 54px rgba(18,29,71,.20);
        color:#fff;
    }

    .fs-design-v5 .fs-mobile-escape-spot::after{
        content:"";
        position:absolute;
        right:-70px;
        bottom:-90px;
        width:230px;
        height:230px;
        border-radius:50%;
        background:rgba(255,82,111,.16);
        pointer-events:none;
    }

    .fs-design-v5 .fs-mobile-escape-spot__visual{
        position:relative;
        z-index:1;
        height:162px;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .fs-design-v5 .fs-mobile-escape-spot__visual img{
        position:absolute;
        width:82px;
        height:128px;
        object-fit:cover;
        border:2px solid rgba(255,255,255,.92);
        border-radius:10px;
        box-shadow:0 14px 28px rgba(0,0,0,.28);
    }

    .fs-design-v5 .fs-mobile-escape-spot__visual img:nth-child(1){
        transform:translateX(-34px) rotate(-8deg);
    }
    .fs-design-v5 .fs-mobile-escape-spot__visual img:nth-child(2){
        z-index:2;
        transform:translateY(-5px);
    }
    .fs-design-v5 .fs-mobile-escape-spot__visual img:nth-child(3){
        transform:translateX(34px) rotate(8deg);
    }

    .fs-design-v5 .fs-mobile-escape-spot__content{
        position:relative;
        z-index:2;
        min-width:0;
    }

    .fs-design-v5 .fs-mobile-escape-spot__eyebrow{
        margin:0 0 7px;
        color:#ff9aae;
        font-size:.68rem;
        line-height:1.2;
        font-weight:950;
        letter-spacing:.11em;
    }

    .fs-design-v5 .fs-mobile-escape-spot h2{
        margin:0 0 8px;
        max-width:650px;
        color:#fff;
        font-size:1.45rem;
        line-height:1.12;
        letter-spacing:-.028em;
    }

    .fs-design-v5 .fs-mobile-escape-spot__intro{
        margin:0 0 14px;
        max-width:720px;
        color:#e3e9fb;
        font-size:.82rem;
        line-height:1.55;
    }

    .fs-design-v5 .fs-mobile-escape-spot__ages{
        display:flex;
        flex-wrap:wrap;
        gap:7px;
        margin:0 0 14px;
    }

    .fs-design-v5 .fs-mobile-escape-spot__ages a{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:32px;
        padding:6px 11px;
        border:1px solid rgba(255,255,255,.22);
        border-radius:999px;
        background:rgba(255,255,255,.10);
        color:#fff!important;
        font-size:.71rem;
        font-weight:900;
        text-decoration:none;
    }

    .fs-design-v5 .fs-mobile-escape-spot__ages a:hover{
        background:#fff;
        color:#173b88!important;
    }

    .fs-design-v5 .fs-mobile-escape-spot__actions{
        display:flex;
        flex-wrap:wrap;
        gap:10px 14px;
        align-items:center;
    }

    .fs-design-v5 .fs-mobile-escape-spot__primary{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:42px;
        padding:10px 16px;
        border-radius:12px;
        background:#ff526f;
        color:#fff!important;
        box-shadow:0 10px 24px rgba(255,82,111,.26);
        font-size:.78rem;
        font-weight:950;
        text-decoration:none;
    }

    .fs-design-v5 .fs-mobile-escape-spot__secondary{
        color:#fff!important;
        font-size:.72rem;
        font-weight:850;
        text-decoration:underline;
        text-decoration-thickness:1px;
        text-underline-offset:3px;
    }

    /* Le commercial n'est plus répété tout en bas sur mobile/tablette. */
    .fs-design-v5 .fs-sidebar .fs-side-card--escape,
    .fs-design-v5 .fs-sidebar .fs-side-card--mini,
    .fs-design-v5 .fs-sidebar .fs-side-card--products{
        display:none!important;
    }
}

@media(max-width:600px){
    .fs-design-v5 .fs-mobile-escape-spot{
        grid-template-columns:1fr;
        gap:10px;
        margin:12px 0 4px;
        padding:20px 18px 19px;
        border-radius:22px;
    }

    .fs-design-v5 .fs-mobile-escape-spot__visual{
        height:132px;
        margin-top:-2px;
    }

    .fs-design-v5 .fs-mobile-escape-spot__visual img{
        width:70px;
        height:108px;
        border-radius:9px;
    }

    .fs-design-v5 .fs-mobile-escape-spot__visual img:nth-child(1){
        transform:translateX(-42px) rotate(-8deg);
    }
    .fs-design-v5 .fs-mobile-escape-spot__visual img:nth-child(2){
        transform:translateY(-6px);
    }
    .fs-design-v5 .fs-mobile-escape-spot__visual img:nth-child(3){
        transform:translateX(42px) rotate(8deg);
    }

    .fs-design-v5 .fs-mobile-escape-spot h2{
        font-size:1.32rem;
    }

    .fs-design-v5 .fs-mobile-escape-spot__intro{
        font-size:.79rem;
        line-height:1.5;
    }

    .fs-design-v5 .fs-mobile-escape-spot__actions{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
    }

    .fs-design-v5 .fs-mobile-escape-spot__primary{
        width:100%;
    }

    .fs-design-v5 .fs-mobile-escape-spot__secondary{
        text-align:center;
    }
}
