/* La Fée Clochette — accueil « Arc-en-ciel doux » (23 septembre 2026).
   Habillage du template d'origine : couleurs, formes et décor uniquement.
   Chargé après enhancements.css, pages.css et arc-en-ciel.css, sur l'accueil seulement.
   Le décor passe par des pseudo-éléments (fonds SVG), donc hors de l'arbre d'accessibilité. */

@import url("valeurs.css");

:root, body {
  --token-3ec9de4d-64e8-44e4-b12e-0f27d31508c2: #FFFFFF !important;
  --token-53fcfb0f-4009-420e-b17a-11de66f67e03: #33382E !important;
  --token-f6cd56a1-9799-47ca-b9a6-fd5edf4ef50e: #33382E !important;
  --token-164ebb64-97d1-4305-928d-d5c727094187: #5F6157 !important;
  --token-9370f109-8104-4c7c-80a6-eb3c216bcc67: #5C7234 !important;
  --lfc-ink: #33382E;
  --s: url(../svg/etoile-sauge.svg);
  --b: url(../svg/etoile-bleu.svg);
  --y: url(../svg/etoile-beurre.svg);
  --p: url(../svg/etoile-peche.svg);
  --si: url(../svg/etincelle-sauge.svg);
  --bi: url(../svg/etincelle-bleu.svg);
  --yi: url(../svg/etincelle-beurre.svg);
  --pi: url(../svg/etincelle-peche.svg);
  --grain: url(../images/grain-papier.png);
  --lfc-ombre-carte: 0 22px 40px -28px rgba(92, 72, 48, .42), 0 2px 8px -3px rgba(92, 72, 48, .10);
}
html, body { background: #FFFFFF !important; }
body { color: var(--lfc-texte); }
.lfc-hero, .lfc-values, .lfc-founders, .lfc-nurseries, .lfc-people,
.lfc-small-group, .lfc-faq-section, #main section.lfc-contact-band { background-color: #FFFFFF !important; }
h1.lfc-text, p.lfc-text:where(.lfc-hero-title), h2.lfc-text, h3.lfc-text { --lfc-text-color: #33382E !important; color: #33382E; }

/* ---------- Boutons et liens ---------- */
/* Content buttons only: the header and the menu belong to the menu work (vendor/lfc/menu/). */
section a.lfc-primary-button, .lfc-home-intro .lfc-button {
  --token-953b778d-cfb0-4377-8cd6-d0a469fbcaa6: #B5CF8A !important;
  background-color: #B5CF8A !important;
  background-image: none !important;
  color: #33382E !important;
  box-shadow: inset 0 2px 3px rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(90, 120, 45, .18),
    0 12px 22px -12px rgba(110, 145, 60, .6) !important;
}
section a.lfc-primary-button:hover, .lfc-home-intro .lfc-button:hover { background-color: #A2C272 !important; }
section a.lfc-primary-button .lfc-text { --lfc-text-color: #33382E !important; }
section a.lfc-primary-button [data-lfc-name="Line"] { background-color: #33382E !important; }
.lfc-home-intro .lfc-button { min-height: 62px; padding: 13px 26px; gap: 26px; font-size: 17px; }
.lfc-text-link, .lfc-home-extra .lfc-text-link {
  color: #33382E !important;
  text-decoration: underline;
  text-decoration-color: #A9C9E1 !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}
.lfc-text-link:hover { text-decoration-color: #33382E !important; }
.lfc-home-section-link .lfc-text-link { font-size: 17px; font-weight: 500; }

/* ---------- Surtitres ---------- */
.lfc-home-overline, .lfc-home-extra .lfc-eyebrow, .lfc-editorial .lfc-eyebrow { color: #5C7234 !important; }
.lfc-home-overline { font-size: 13px; letter-spacing: .14em; margin-bottom: 10px; }


/* ---------- Hero : galets, fée, arc-en-ciel, étoiles ---------- */
.lfc-hero { position: relative !important; overflow: visible !important; isolation: isolate; z-index: 1; }
.lfc-hero::before, .lfc-hero::after {
  content: ""; position: absolute; top: 0; height: 700px; pointer-events: none; z-index: -1; background-repeat: no-repeat;
}
#main .lfc-hero p.lfc-text:where(.lfc-hero-title) {
  color: #866397 !important;
  --lfc-text-color: #866397 !important;
  letter-spacing: 0 !important;
  --lfc-letter-spacing: 0 !important;
}
.lfc-hero-apostrophe { padding-inline: .03em; }
/* Call du 05/10 : CTA en gras et téléphone plus visible, sur l’accueil. */
#main .lfc-home-intro .lfc-button,
body:has(.lfc-hero) nav.lfc-navbar a.lfc-primary-button .lfc-text {
  font-weight: 600 !important;
  --lfc-font-weight: 600 !important;
}
body:has(.lfc-hero) nav.lfc-navbar .lfc-navbar-call { background-image: url(../../menu/icone-telephone-v9.svg); }
.lfc-home-intro { color: #5F6157 !important; }
.lfc-hero-photo {
  z-index: 2; border-radius: 40px !important;
  box-shadow: 0 0 34px 22px rgba(255, 255, 255, .92), 0 30px 60px -30px rgba(92, 72, 48, .40) !important;
}
.lfc-home-caption { color: #6B6E63; }
.lfc-home-locations a { color: #33382E; border-bottom: 2px solid #C9D5AE; font-size: 15px; }
@media (min-width: 810px) {
  .lfc-home-locations { gap: 14px !important; padding: 40px 24px 10px !important; }
  .lfc-home-locations a {
    display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px 11px 14px;
    background: #FFFFFF; border: 1px solid #E6E1D6; border-radius: 999px; box-shadow: 0 10px 20px -16px rgba(92, 72, 48, .5);
  }
  .lfc-home-locations a::before { content: ""; flex: 0 0 22px; height: 22px; background: var(--s) center / contain no-repeat; }
  .lfc-home-locations a:nth-child(2)::before { background-image: var(--b); }
  .lfc-home-locations a:nth-child(3)::before { background-image: var(--y); }
  .lfc-home-locations a:nth-child(4)::before { background-image: var(--p); }
}

/* ---------- Étoiles après les titres ---------- */
.lfc-values-title h2::after, .lfc-people-title h2::after, .lfc-faq-title h2::after,
.lfc-nurseries-title h2::after, .lfc-home-journal .lfc-section-heading h2::after {
  content: ""; display: inline-block; width: .64em; height: .64em; margin-left: .3em; vertical-align: .08em;
  background: var(--y) center / contain no-repeat;
}
.lfc-values-title h2::after, .lfc-people-title h2::after, .lfc-faq-title h2::after {
  width: 1.15em; height: .9em; margin-left: .22em; vertical-align: -.02em;
  background-image: url(../svg/titre-etoile-traits-beurre.svg);
}
.lfc-faq-title h2::after { background-image: url(../svg/titre-etoile-traits-bleu.svg); }

/* ---------- Tout commence par un lien : cartes organiques ---------- */
.lfc-value-cards > div { --c: #EDF1E3; --a: #B7C98F; --t: url(../svg/onglet-sauge.svg); }
.lfc-value-cards > .lfc-value-card-4-container { --c: #E7F1F9; --a: #A9C9E1; --t: url(../svg/onglet-bleu.svg); }
.lfc-value-cards > .lfc-value-card-5-container { --c: #FDF6E5; --a: #F3D48C; --t: url(../svg/onglet-beurre.svg); }
.lfc-value-cards > .lfc-value-card-6-container { --c: #F9E6F0; --a: #E6A6CB; --t: url(../svg/onglet-peche.svg); }
.lfc-value-cards > div::before {
  content: ""; position: absolute; z-index: 3; left: 12px; top: -14px; width: 54px; height: 54px;
  background: var(--t) center / contain no-repeat; pointer-events: none;
}
.lfc-value-cards .lfc-value-card {
  background-color: var(--c) !important; background-image: var(--grain) !important; background-size: 256px !important;
  border-radius: 34px 46px 38px 42px / 40px 36px 46px 36px !important;
  box-shadow: var(--lfc-ombre-carte) !important;
}
.lfc-value-cards .lfc-value-card::before {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: 12px; height: 46%;
  background: color-mix(in srgb, var(--c) 72%, var(--a)); opacity: .55;
  border-radius: 48% 52% 30px 34px / 34% 40% 30px 30px;
}
.lfc-value-cards .lfc-value-card-deco-container { display: none !important; }

/* ---------- Illustrations en pâte à modeler : entières, détourées, sans masque ni filtre ---------- */
.lfc-has-art { -webkit-mask: none !important; mask: none !important; mix-blend-mode: normal !important; overflow: visible !important; }
.lfc-has-art > :not(.lfc-clay-art) { visibility: hidden !important; }
.lfc-clay-art { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: contain !important; object-position: 50% 100%; pointer-events: none; }
.lfc-small-group .lfc-clay-art { object-position: 50% 50%; }
@media (min-width: 810px) { .lfc-value-cards .lfc-clay-art { box-sizing: border-box; padding: 0 16px 12px; } }
/* The wrapper would otherwise take the illustration's own width and overflow the card. */
@media (min-width: 810px) { .lfc-value-cards .lfc-value-card-image { width: calc(100% - 20px) !important; max-width: calc(100% - 20px) !important; } }
.lfc-pathways .lfc-image-frame, .lfc-pathways .lfc-image-frame img { mix-blend-mode: normal !important; background: transparent !important; }

/* ---------- Nou la Fée ---------- */
.lfc-founders { position: relative; isolation: isolate; overflow: visible !important; z-index: 3 !important; }
.lfc-founders-inner { position: relative; }
.lfc-founders-visual { border-radius: 40px 56px 40px 44px !important; box-shadow: 0 30px 50px -30px rgba(92, 72, 48, .35); }
.lfc-founders-visual > .lfc-home-photo { border-radius: inherit !important; }
.lfc-story-overline { text-align: left !important; margin: 0 0 12px !important; }
.lfc-founders a.lfc-primary-button { padding: 0 38px 0 40px !important; height: 70px !important; gap: 30px !important; }
.lfc-founders .lfc-founders-button-container { width: auto !important; height: auto !important; }
.lfc-founders a.lfc-primary-button .lfc-primary-button-icon-container { display: none !important; }
.lfc-founders a.lfc-primary-button::after {
  content: ""; width: 22px; height: 22px; order: 3; background: url(../svg/fleche.svg) center / contain no-repeat;
}
.lfc-founders a.lfc-primary-button p.lfc-text { --lfc-font-size: 19px !important; font-size: 19px !important; font-weight: 600 !important; }
.lfc-medaillon-photo {
  position: absolute; z-index: 4; margin: 0; border-radius: 50%; background: #FFFFFF; border: 7px solid #C9D8A6;
  box-shadow: 0 20px 40px -24px rgba(92, 72, 48, .45);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 0 26px;
  font: 400 15px/1.3 'LFC Inter', sans-serif; color: #5F6157; text-align: center;
}
.lfc-medaillon-photo::before {
  content: ""; width: 110px; height: 34px; margin-bottom: 2px;
  background: var(--y) 0 14px / 20px no-repeat, var(--p) 44px 0 / 22px no-repeat, var(--y) 88px 12px / 16px no-repeat;
}
.lfc-medaillon-photo strong { font: 500 22px/1.1 'LFC Baloo', sans-serif; color: #33382E; }

/* ---------- Nos micro-crèches : carrousel ---------- */
.lfc-nurseries { --c: #EDF1E3; --a: #B7C98F; }
.lfc-nurseries .lfc-slideshow button {
  background: #FFFFFF !important; box-shadow: 0 10px 24px -12px rgba(92, 72, 48, .45) !important; border-radius: 50% !important;
}

.lfc-nurseries li { --c: #EDF1E3; --t: url(../svg/onglet-sauge.svg); }
.lfc-nurseries li:nth-child(4n+1) { --c: #FDF6E5; --t: url(../svg/onglet-beurre.svg); }
.lfc-nurseries li:nth-child(4n+2) { --c: #F9E6F0; --t: url(../svg/onglet-peche.svg); }
.lfc-nurseries li:nth-child(4n+4) { --c: #E7F1F9; --t: url(../svg/onglet-bleu.svg); }
.lfc-nurseries li > div > div { position: relative; }
.lfc-nurseries li > div > div::before {
  content: ""; position: absolute; z-index: 3; left: 20px; top: -10px; width: 64px; height: 64px;
  background: var(--t) center / contain no-repeat; pointer-events: none;
}
.lfc-nurseries a.lfc-nursery-card {
  background-color: var(--c) !important; background-image: var(--grain) !important; background-size: 256px !important;
  border-radius: 38px 50px 42px 46px / 44px 40px 50px 40px !important;
  box-shadow: var(--lfc-ombre-carte) !important;
}
.lfc-nurseries .lfc-nursery-card-details { padding-top: 26px; }
.lfc-nurseries .lfc-nursery-card-town { margin-left: 0; box-shadow: 0 6px 14px -10px rgba(92, 72, 48, .4); }
.lfc-nurseries p.lfc-text { --lfc-text-color: #5F6157 !important; }
.lfc-nurseries .lfc-nursery-card-town p.lfc-text { --lfc-text-color: #33382E !important; font-size: 18px !important; }
.lfc-rituals { background: #FBF8F2 !important; }
.lfc-rituals [data-lfc-name="Time"], .lfc-rituals [data-lfc-name="Content"] {
  background: #FFFFFF !important; box-shadow: 0 16px 34px -26px rgba(92, 72, 48, .45);
}
.lfc-rituals [data-lfc-name="Content"] { border-radius: 30px 38px 32px 36px !important; }
.lfc-rituals-shape { display: none !important; }
.lfc-rituals p.lfc-text { --lfc-text-color: #5F6157 !important; }
.lfc-rituals [data-lfc-name="Time"] p.lfc-text { --lfc-text-color: #33382E !important; }
.lfc-home-pathways .lfc-section-heading p { font-size: 18px; color: #5F6157; }
.lfc-home-pathways .lfc-eyebrow { font-size: 13px !important; }
.lfc-home-pathways .lfc-eyebrow::before {
  content: ""; display: inline-block; width: 50px; height: 44px; margin: -18px 10px -12px -62px; vertical-align: middle;
  background: var(--y) 0 12px / 32px no-repeat, url(../svg/traits.svg) 26px -2px / 24px no-repeat;
}
.lfc-pathways > a {
  --c: #E7F1F9; --a: #A9C9E1; --t: url(../svg/onglet-bleu.svg);
  position: relative; overflow: visible;
  background-color: var(--c) !important; background-image: var(--grain); background-size: 256px;
  border-radius: 36px 46px 40px 44px / 42px 38px 48px 38px !important;
  box-shadow: var(--lfc-ombre-carte);
}
.lfc-pathways > a:nth-child(2) { --c: #FDF6E5; --a: #F3D48C; --t: url(../svg/onglet-beurre.svg); }
.lfc-pathways > a:nth-child(3) { --c: #F9E6F0; --a: #E6A6CB; --t: url(../svg/onglet-peche.svg); }
.lfc-pathways > a::before {
  content: ""; position: absolute; z-index: 3; left: 30px; top: -12px; width: 60px; height: 60px;
  background: var(--t) center / contain no-repeat; pointer-events: none;
}
.lfc-pathways .lfc-image-frame img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.lfc-pathways h3 { color: #33382E; }
.lfc-pathways p { color: #5F6157; }

/* ---------- Chaque personne compte ---------- */
.lfc-people-cards > div { --c: #EDF1E3; --t: url(../svg/onglet-sauge.svg); position: relative; overflow: visible !important; }
.lfc-people-cards > .lfc-people-card-families { --c: #F9E6F0; --t: url(../svg/onglet-peche.svg); }
.lfc-people-cards > .lfc-people-card-teams { --c: #E7F1F9; --t: url(../svg/onglet-bleu.svg); }
.lfc-people-card-children, .lfc-people-card-families, .lfc-people-card-teams {
  background-color: var(--c) !important; background-image: var(--grain) !important; background-size: 256px !important;
  border-radius: 36px 48px 40px 44px / 44px 38px 48px 38px !important;
  box-shadow: var(--lfc-ombre-carte);
}
.lfc-people-cards > div::before {
  content: ""; position: absolute; z-index: 3; left: 22px; top: -14px; width: 58px; height: 58px;
  background: var(--t) center / contain no-repeat; pointer-events: none;
}
.lfc-people .lfc-people-card-children-image, .lfc-people .lfc-people-card-families-image, .lfc-people .lfc-people-card-teams-image { display: none !important; }
.lfc-people .lfc-home-photo { margin: 28px 28px 0; width: calc(100% - 56px) !important; border-radius: 26px !important; }
.lfc-people .lfc-people-card-children-heading, .lfc-people .lfc-people-card-families-heading, .lfc-people .lfc-people-card-teams-heading { align-items: flex-start !important; }
.lfc-people [data-lfc-name="Teacher Name & Designation"] > div { position: relative !important; left: auto !important; }
.lfc-people-cards h2.lfc-text { --lfc-font-size: 28px !important; font-size: 28px !important; text-align: left; }
.lfc-people p.lfc-text { --lfc-text-color: #5F6157 !important; }
.lfc-people [data-lfc-name="Teacher Name & Designation"] p.lfc-text { --lfc-text-color: #33382E !important; --lfc-font-size: 17px !important; font-size: 17px !important; font-weight: 500 !important; }
.lfc-people-cards [data-lfc-name="Teacher Name & Designation"] { align-content: flex-start !important; justify-content: flex-start !important; }
.lfc-people-cards .lfc-text { --lfc-text-alignment: left !important; text-align: left !important; }
.lfc-people-cards [data-lfc-name="Our team Frame"] > div:last-child p.lfc-text { --lfc-font-size: 17px !important; font-size: 17px !important; line-height: 1.6 !important; }

/* Sections added to the runtime tree: above the next white section, so their card shadows show in full. */
#lfc-home-pathways, #lfc-home-cafee, #lfc-home-journal { position: relative; z-index: 2; }
/* Medallion: bigger stars in the middle and a few more around the ring. */
.lfc-medaillon-photo::after {
  content: ""; position: absolute; inset: -26px; pointer-events: none;
  background: var(--y) 4% 18% / 22px no-repeat, var(--b) 94% 8% / 18px no-repeat, var(--p) 100% 66% / 20px no-repeat, var(--s) 10% 92% / 18px no-repeat, var(--y) 62% 100% / 14px no-repeat;
}
.lfc-medaillon-photo::before { width: 128px; height: 40px; background-size: 26px, 30px, 22px; background-position: 0 14px, 48px 0, 100px 12px; }
/* ---------- Les Ca-Fée parents (maquette B du 24 septembre) ---------- */
.lfc-home-cafee { max-width: 1320px !important; padding: 90px 30px 20px !important; }
.lfc-cafee { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 24px; padding: 64px 40px 64px 84px; }
.lfc-cafee::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url(../svg/bandeau-cafee.svg) center / 100% 100% no-repeat;
  filter: drop-shadow(0 24px 34px rgba(92, 72, 48, .12));
}
.lfc-cafee::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background-repeat: no-repeat;
  background-image: var(--y), var(--b), var(--p);
  background-position: 2% 78%, 96% 12%, 97% 52%; background-size: 44px, 40px, 38px;
}
.lfc-cafee__eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 18px !important; font-size: 14px !important; letter-spacing: .14em; }
.lfc-cafee__eyebrow::before { content: ""; flex: 0 0 64px; height: 64px; margin: -6px 0; background: url(../images/cafee-tasse.webp) center / contain no-repeat; }
.lfc-cafee h2 { font-size: 50px !important; line-height: 1.08 !important; margin: 0 0 22px !important; color: #33382E; }
.lfc-cafee__text > p:not(.lfc-eyebrow) { font-size: 19px; line-height: 1.6; color: #5F6157; margin: 0 0 26px; max-width: 520px; }
.lfc-cafee__steps { list-style: none; margin: 0 0 34px; padding: 0; display: grid; gap: 18px; position: relative; }
.lfc-cafee__steps::before { content: ""; position: absolute; left: 15px; top: 20px; bottom: 20px; border-left: 2px dashed #D3C7B7; }
.lfc-cafee__steps li { position: relative; padding-left: 50px; font-size: 17px; line-height: 1.45; color: #5F6157; }
.lfc-cafee__steps li::before { content: ""; position: absolute; left: 0; top: -3px; width: 32px; height: 32px; background: var(--s) center / contain no-repeat; }
.lfc-cafee__steps li:nth-child(2)::before { background-image: var(--b); }
.lfc-cafee__steps li:nth-child(3)::before { background-image: var(--p); }
.lfc-cafee__steps strong { color: #33382E; font-weight: 700; }
.lfc-cafee .lfc-button {
  display: inline-flex; align-items: center; gap: 22px; min-height: 62px; padding: 0 30px; border-radius: 999px; text-decoration: none;
  background: #B5CF8A; color: #33382E; font-weight: 600; font-size: 18px;
  box-shadow: inset 0 2px 3px rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(90, 120, 45, .18), 0 12px 22px -12px rgba(110, 145, 60, .6);
}
.lfc-cafee .lfc-button:hover { background: #A2C272; }
.lfc-cafee__art { margin: 0; }
/* The button's pink shadow stays above the illustration. */
.lfc-cafee__text { position: relative; z-index: 1; }
.lfc-cafee__art img { display: block; width: 100%; height: auto; mix-blend-mode: darken; }
@media (max-width: 1199.98px) {
  .lfc-cafee { padding: 50px 30px 40px 50px; }
  .lfc-cafee h2 { font-size: 40px !important; }
}
@media (max-width: 809.98px) {
  .lfc-home-cafee { padding: 56px 20px 0 !important; }
  .lfc-cafee { grid-template-columns: 1fr; gap: 10px; padding: 36px 24px 28px; }
  .lfc-cafee::before { background: #FDF1D3; border-radius: 36px 48px 40px 44px / 44px 38px 48px 38px; overflow: hidden; }
  .lfc-cafee::after { background-position: 94% 2%, 84% 5%, 4% 98%; background-size: 24px, 16px, 20px; }
  .lfc-cafee__eyebrow { font-size: 11.5px !important; gap: 10px; }
  .lfc-cafee__eyebrow::before { flex-basis: 46px; height: 46px; margin: -4px 0; }
  .lfc-cafee h2 { font-size: 30px !important; }
  .lfc-cafee__text > p:not(.lfc-eyebrow) { font-size: 15.5px; margin-bottom: 20px; }
  .lfc-cafee__steps { gap: 14px; margin-bottom: 26px; }
  .lfc-cafee__steps li { font-size: 14.5px; padding-left: 40px; }
  .lfc-cafee__steps li::before { width: 26px; height: 26px; top: -2px; }
  .lfc-cafee__steps::before { left: 12px; }
  .lfc-cafee .lfc-button { min-height: 52px; font-size: 15px; padding: 0 20px; gap: 12px; white-space: nowrap; }
  .lfc-cafee__art { margin: 6px -10px 0; }
}

/* ---------- Une place pour chacun ---------- */
.lfc-small-group .lfc-small-group-inner { position: relative; }
.lfc-small-group-visual-container { position: relative; isolation: isolate; }

.lfc-counters { display: flex !important; flex-wrap: nowrap !important; gap: 26px !important; }
.lfc-counters > div { position: relative !important; left: auto !important; top: auto !important; width: auto !important; padding-top: 50px; }
.lfc-counters > div::before {
  content: ""; position: absolute; left: 0; top: 0; width: 34px; height: 34px; background: var(--s) center / contain no-repeat;
}
.lfc-counters > div:nth-child(2)::before { background-image: var(--y); }
.lfc-counters > div:nth-child(3)::before { background-image: var(--p); }
.lfc-counters > div { --c: #EDF1E3; background: var(--c); border-radius: 26px 32px 28px 30px / 30px 26px 32px 28px; }
.lfc-counters > div:nth-child(2) { --c: #FDF6E5; }
.lfc-counters > div:nth-child(3) { --c: #F9E6F0; }
.lfc-counters .lfc-counter-number-container p {
  font-family: 'LFC Baloo', sans-serif !important; font-weight: 600 !important; letter-spacing: -.02em; line-height: 1 !important; color: #33382E !important;
}
.lfc-counters .lfc-counter-label p.lfc-text { --lfc-text-color: #4A4C43 !important; font-weight: 500 !important; }
.lfc-small-group p.lfc-text { --lfc-text-color: #5F6157 !important; }
.lfc-small-group .lfc-counter-number-container p { color: #33382E !important; }
.lfc-home-journal .lfc-card-grid { gap: 30px; }
.lfc-home-journal .lfc-card {
  --t: url(../svg/onglet-sauge.svg);
  position: relative; overflow: visible; border: 0; background: #FFFFFF;
  background-image: var(--grain); background-size: 256px;
  border-radius: 34px 44px 38px 42px / 40px 36px 44px 36px;
  box-shadow: 0 24px 44px -26px rgba(92, 72, 48, .38), 0 2px 8px -3px rgba(92, 72, 48, .08);
}
.lfc-home-journal .lfc-card:nth-child(2) { --t: url(../svg/onglet-bleu.svg); }
.lfc-home-journal .lfc-card:nth-child(3) { --t: url(../svg/onglet-beurre.svg); }
.lfc-home-journal .lfc-card::before {
  content: ""; position: absolute; z-index: 3; left: 6px; top: -18px; width: 64px; height: 64px;
  background: var(--t) center / contain no-repeat; pointer-events: none;
}
.lfc-home-journal .lfc-card .lfc-picture { overflow: hidden; border-radius: 34px 44px 30px 30px / 40px 36px 30px 30px; }
.lfc-home-journal .lfc-card .lfc-eyebrow { font-size: 13px !important; color: #5C7234 !important; }
.lfc-home-journal .lfc-card h3 { color: #33382E; }
.lfc-home-journal .lfc-card p { color: #5F6157; }
.lfc-home-journal .lfc-card-bottom { font-size: 16px; color: #5F6157; }
.lfc-home-journal .lfc-card-bottom > span:last-child {
  width: 60px; height: 60px; background: #B5CF8A !important; color: transparent; overflow: hidden;
  box-shadow: 0 10px 18px -10px rgba(110, 145, 60, .65);
  background-image: url(../svg/fleche.svg) !important; background-position: center !important; background-size: 24px !important; background-repeat: no-repeat !important;
}
.lfc-mot-fee { color: #A2477F; }

/* ---------- FAQ ---------- */
.lfc-faq-section [data-lfc-name="Question"] {
  background: #FBF8F2 !important; border-radius: 22px !important; position: relative; overflow: hidden;
  box-shadow: inset 7px 0 0 var(--filet, #B7C98F);
}
.lfc-faq-list > div:nth-child(4n+3) { --filet: #A9C9E1; }
.lfc-faq-list > div:nth-child(4n+4) { --filet: #F3D48C; }
.lfc-faq-list > div:nth-child(4n+5) { --filet: #E6A6CB; }
.lfc-faq-list-container { width: min(1100px, calc(100vw - 60px)) !important; max-width: none !important; }
.lfc-faq-section [data-lfc-name="Question"] p.lfc-text { padding-left: 12px; }
.lfc-faq-section [data-lfc-name="Icon"] {
  width: 50px !important; height: 50px !important; margin: -13px -6px -13px 0; border-radius: 50% !important;
  background: #B5CF8A url(../svg/plus.svg) center / 24px no-repeat !important; transform: none !important;
  box-shadow: 0 8px 16px -10px rgba(110, 145, 60, .65);
}
.lfc-faq-section [data-lfc-name="Icon"] > * { display: none !important; }
.lfc-faq-section .lfc-v-syym6d [data-lfc-name="Icon"] { background-image: url(../svg/moins.svg) !important; }
.lfc-faq-section [data-lfc-name="Answer"] p.lfc-text { --lfc-text-color: #5F6157 !important; padding-left: 36px; }
/* Closed runtime answers retain absolute boxes: keep them out of hit testing. */
.lfc-faq-section .lfc-faq-entry[data-lfc-name="Close"] [data-lfc-name="Answer"] { visibility: hidden; pointer-events: none; }
/* Extra questions (native details), drawn like the template items above. */
.lfc-faq-section, .lfc-faq-section .lfc-faq-inner, .lfc-faq-section .lfc-faq-list-container { height: auto !important; }
.lfc-faq-more { display: flex; flex-direction: column; gap: var(--lfc-faq-gap, 20px); margin-top: var(--lfc-faq-gap, 20px); }
/* The template list ends on sage (5th item): the colours carry on from blue. */
.lfc-faq-more__item { --filet: #A9C9E1; background: #FBF8F2; border-radius: 22px; box-shadow: inset 7px 0 0 var(--filet); font-family: 'LFC Inter', sans-serif; }
.lfc-faq-more__item:nth-child(4n+2) { --filet: #F3D48C; }
.lfc-faq-more__item:nth-child(4n+3) { --filet: #E6A6CB; }
.lfc-faq-more__item:nth-child(4n+4) { --filet: #B7C98F; }
.lfc-faq-more__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none;
  padding: 22px 26px 22px 36px; font-family: 'LFC Inter', Inter, sans-serif; font-weight: 600; font-size: 20px; line-height: 1.3; color: #33382E;
}
.lfc-faq-more__item summary::-webkit-details-marker { display: none; }
.lfc-faq-more__item summary:focus-visible { outline: 3px solid #A9C9E1; outline-offset: 3px; border-radius: 22px; }
.lfc-faq-more__icon {
  flex: 0 0 50px; height: 50px; margin: -13px -6px -13px 0; border-radius: 50%;
  background: #B5CF8A url(../svg/plus.svg) center / 24px no-repeat; box-shadow: 0 8px 16px -10px rgba(110, 145, 60, .65);
}
.lfc-faq-more__item[open] .lfc-faq-more__icon { background-image: url(../svg/moins.svg); }
.lfc-faq-more__item p { margin: 0; padding: 0 60px 24px 48px; font-family: Inter, "Inter Placeholder", sans-serif; font-weight: 500; font-size: 18px; line-height: 1.6; color: #5F6157; }

/* ---------- Et si on se rencontrait ? ---------- */
#main section.lfc-contact-band .lfc-contact-band-inner {
  background: transparent !important; overflow: visible !important; isolation: isolate;
}
#main section.lfc-contact-band .lfc-contact-band-inner::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url(../svg/bandeau-contact.svg) center / 100% 100% no-repeat;
  filter: drop-shadow(0 24px 34px rgba(92, 72, 48, .12));
}
#main section.lfc-contact-band .lfc-contact-band-deco-container, #main section.lfc-contact-band .lfc-contact-band-ticker { display: none !important; }
#main section.lfc-contact-band .lfc-contact-band-image { background: transparent !important; }
#main section.lfc-contact-band a.lfc-primary-button { height: 70px !important; padding: 0 38px 0 30px !important; }
#main section.lfc-contact-band .lfc-contact-band-button-container { width: auto !important; height: auto !important; }
#main section.lfc-contact-band a.lfc-primary-button p.lfc-text { --lfc-font-size: 19px !important; font-size: 19px !important; font-weight: 600 !important; }
.lfc-contact-intro { margin: 14px 0 6px; max-width: 460px; font: 400 20px/1.5 'LFC Inter', sans-serif; color: #5F6157; }
.lfc-editorial > div > .lfc-picture img { mix-blend-mode: multiply; }
.lfc-editorial .lfc-image-frame { background: transparent !important; }
.lfc-editorial .lfc-rich h3::after { content: none !important; }
.lfc-editorial .lfc-text-link { font-size: 17px; }
.lfc-editorial h2, .lfc-editorial h3 { color: #33382E; }
.lfc-editorial .lfc-rich { color: #5F6157; }
.lfc-editorial .lfc-rich ul { list-style: none; padding-left: 0; }
.lfc-editorial .lfc-rich li { position: relative; padding-left: 48px; }
.lfc-editorial .lfc-rich li::before {
  content: ""; position: absolute; left: 2px; top: .45em; width: 24px; height: 24px; background: var(--s) center / contain no-repeat;
}
.lfc-editorial .lfc-rich li:nth-child(2)::before { background-image: var(--b); }
.lfc-editorial .lfc-rich li:nth-child(3)::before { background-image: var(--p); }
.lfc-editorial .lfc-text-link { font-weight: 600; }
.lfc-site-footer {
  max-width: none; padding-left: max(40px, calc((100% - 1200px) / 2)); padding-right: max(40px, calc((100% - 1200px) / 2));
  background: #FBF8F2; position: relative; color: #5F6157;
}
.lfc-site-footer::before {
  content: ""; position: absolute; left: max(40px, calc((100% - 1320px) / 2)); right: max(170px, calc((100% - 1320px) / 2 + 115px)); top: -3px; height: 6px;
  background: url(../svg/ligne-quatre-couleurs.svg) center / 100% 100% no-repeat;
}
.lfc-site-footer::after {
  content: ""; position: absolute; right: max(40px, calc((100% - 1320px) / 2 - 50px)); top: -30px; width: 100px; height: 60px; pointer-events: none;
  background: var(--s) 8px 22px / 26px no-repeat, var(--y) 36px 0 / 18px no-repeat, var(--p) 62px 14px / 24px no-repeat;
}
.lfc-site-footer h2 { color: #33382E; }
.lfc-site-footer a { color: #5F6157; }

/* ---------- Nos micro-crèches : cartes de lieux (maquette v3 validée par Tom) ---------- */
/* Grille des quatre lieux (24 septembre) : visibles d'un coup sur desktop, 2 × 2 en tablette, glisser sur mobile. */
.lfc-nurseries .lfc-nursery-carousel-container, .lfc-nurseries .lfc-nursery-card-image-container, .lfc-nurseries fieldset { display: none !important; }
.lfc-nurseries .lfc-nurseries-inner { height: auto !important; }
.lfc-places { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: min(1320px, calc(100vw - 60px)); margin: 0 auto; }
.lfc-place-card {
  --c: #E4EDD6; --arc: #EEF4E6;
  position: relative; display: block; height: 590px; border-radius: 28px; overflow: hidden; background: var(--c); text-decoration: none;
  box-shadow: 0 24px 40px -28px rgba(120, 90, 50, .45), 0 3px 10px -4px rgba(120, 90, 50, .12); transition: transform .25s ease, box-shadow .25s ease;
}
.lfc-place-card:hover { transform: translateY(-4px); box-shadow: 0 30px 44px -26px rgba(120, 90, 50, .5), 0 3px 10px -4px rgba(120, 90, 50, .12); }
.lfc-place-card:focus-visible { outline: 3px solid #A9C9E1; outline-offset: 4px; }
.lfc-place-card[data-place="saint-gilles"] { --c: #DCEBF7; --arc: #E8F2FA; }
.lfc-place-card[data-place="etang-sale"] { --c: #F6DAB8; --arc: rgba(255, 246, 232, .5); background: #F6DAB8 url(../images/bois-clair.webp) 0 0 / 280px 280px; }
.lfc-place-card[data-place="etang-sale"] .lfc-place { color: #4A4C43; }
.lfc-place-card[data-place="saint-pierre"] { --c: #F9E6F0; --arc: #FCF1F6; }
.lfc-places .lfc-place__title { font-size: 30px; }
.lfc-places .lfc-place__text { font-size: 16px; padding-right: 46px; }
.lfc-places .lfc-place__pill { font-size: 14px; left: 18px; top: 26px; }
@media (min-width: 810px) and (max-width: 1199.98px) {
  .lfc-places { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lfc-place-card { height: 520px; }
}
@media (max-width: 809.98px) {
  .lfc-places {
    display: flex; gap: 14px; width: 100vw; max-width: 100vw; align-self: center; margin: 0; padding: 6px 20px 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 20px;
    scrollbar-width: none; overscroll-behavior-x: contain;
  }
  .lfc-places::-webkit-scrollbar { display: none; }
  .lfc-place-card { flex: 0 0 262px; height: 330px; border-radius: 24px; scroll-snap-align: start; }
  .lfc-places .lfc-place__title { font-size: 23px; }
  .lfc-places .lfc-place__text { font-size: 13.5px; }
  .lfc-places .lfc-place__pill { font-size: 12.5px; left: 14px; top: 22px; }
}
@media (prefers-reduced-motion: reduce) { .lfc-place-card { transition: none; } .lfc-place-card:hover { transform: none; } }

.lfc-nurseries-title h2::after { content: none !important; }
.lfc-nurseries a.lfc-nursery-card[data-place] {
  --c: #E4EDD6; --arc: #EEF4E6;
  background: var(--c) !important; background-image: none !important;
  border-radius: 28px !important; overflow: hidden !important; box-shadow: 0 24px 40px -28px rgba(120, 90, 50, .45), 0 3px 10px -4px rgba(120, 90, 50, .12) !important;
}
.lfc-nurseries a.lfc-nursery-card[data-place] > :not(.lfc-place) { visibility: hidden !important; }
.lfc-nurseries li > div > div::before { content: none !important; }
.lfc-nurseries a.lfc-nursery-card[data-place="saint-gilles"] { --c: #DCEBF7; --arc: #E8F2FA; }
.lfc-nurseries a.lfc-nursery-card[data-place="etang-sale"] { --c: #F6DAB8; --arc: rgba(255, 246, 232, .5); background: #F6DAB8 url(../images/bois-clair.webp) 0 0 / 280px 280px !important; }
.lfc-nurseries a.lfc-nursery-card[data-place="saint-pierre"] { --c: #F9E6F0; --arc: #FCF1F6; }
.lfc-place { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 16px 16px 20px; font-family: 'LFC Inter', sans-serif; color: #5F6157; }
.lfc-place__arch {
  position: relative; flex: 0 0 auto; height: 64%; border-radius: 170px 170px 26px 26px / 150px 150px 26px 26px;
  background: var(--arc); display: flex; align-items: flex-end; justify-content: center; overflow: visible;
}
.lfc-place__arch img { width: 100%; height: 88%; object-fit: contain; object-position: 50% 100%; margin-bottom: 4%; }
.lfc-place__pill {
  position: absolute; left: 22px; top: 34px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px 7px 11px;
  background: #FFFFFF; border-radius: 999px; box-shadow: 0 6px 14px -10px rgba(92, 72, 48, .5);
  font: 500 16px/1.2 'LFC Inter', sans-serif; color: #33382E; white-space: nowrap;
}
.lfc-place__pill::before { content: ""; width: 16px; height: 16px; background: url(../svg/icone-repere.svg) center / contain no-repeat; }
.lfc-place__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 10px 0 12px; }
.lfc-place__title { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; font: 500 38px/1.06 'LFC Baloo', sans-serif; letter-spacing: -.02em; color: #33382E; }
.lfc-place__tag { padding: 5px 13px; background: #FFFFFF; border-radius: 999px; font: 500 14px/1.2 'LFC Inter', sans-serif; letter-spacing: 0; color: #33382E; }
.lfc-place__text { font-size: 18px; line-height: 1.5; max-width: 330px; padding-right: 30px; }
.lfc-place__go {
  position: absolute; right: 24px; bottom: 24px; width: 44px; height: 44px; border-radius: 50%;
  background: #FFFFFF url(../svg/fleche-olive.svg) center / 22px no-repeat; box-shadow: 0 10px 20px -12px rgba(92, 72, 48, .55);
}
.lfc-nurseries a[data-place="etang-sale"] .lfc-place { color: #4A4C43; } /* AA on the darkest wood grain */
.lfc-nurseries a.lfc-nursery-card[data-place]:focus-visible { outline: 3px solid #A9C9E1; outline-offset: 4px; }
/* Flat cards as on the mockup: the slideshow keeps its sliding track, not the 3D tilt of each slide. */
.lfc-nurseries ul > li > div { transform: none !important; }
@media (min-width: 1200px) {
  .lfc-nurseries ul { gap: 18px !important; }
  .lfc-nurseries ul > li > div { width: 376px !important; height: 714px !important; }
  .lfc-nurseries li > div > div, .lfc-nurseries li > div > div > div { width: 100% !important; height: 100% !important; }
  .lfc-nurseries .lfc-nursery-carousel-container, .lfc-nurseries .lfc-nursery-carousel, .lfc-nurseries .lfc-nursery-slideshow-container { height: 714px !important; }
  .lfc-nurseries ul > li > div a.lfc-nursery-card { height: 100% !important; }
  .lfc-nurseries .lfc-nurseries-inner { height: auto !important; gap: 34px !important; }
  .lfc-nurseries .lfc-home-section-link { padding-top: 32px !important; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .lfc-nurseries ul > li > div { height: 460px !important; }
  .lfc-nurseries li > div > div, .lfc-nurseries li > div > div > div, .lfc-nurseries ul > li > div a.lfc-nursery-card { height: 100% !important; }
  .lfc-nurseries .lfc-nursery-carousel-container, .lfc-nurseries .lfc-nursery-carousel, .lfc-nurseries [class*="-container"] > .lfc-nursery-carousel > div { height: 470px !important; }
  .lfc-place__title { font-size: 28px; }
  .lfc-place__text { font-size: 15px; }
  .lfc-place__pill { font-size: 13px; left: 16px; top: 24px; }
}

/* ========== Géométrie relevée sur la maquette desktop (1440 px) ========== */
@media (min-width: 1200px) {
  .lfc-hero::before {
    left: 0; width: 400px;
    background-image: url(../images/fee-officielle-hero.webp), var(--y), var(--y), var(--si), var(--bi), var(--y), var(--s), url(../svg/maquette-hero-gauche.svg);
    background-position: 189px 105px, 306px 146px, 330px 136px, 359px 124px, 266px 299px, 174px 356px, 286px 439px, 0 100px;
    background-size: auto 142px, 18px, 21px, 27px, 27px, 42px, 33px, 300px 600px;
  }
  .lfc-hero::after {
    /* Approved wider arch; compensate the stars to keep their screen positions. */
    right: -155px; width: 620px;
    background-image: var(--yi), var(--b), var(--s), var(--pi), url(../images/hero-arc-peint-desktop-v10.webp);
    background-position: 114px 181px, 300px 164px, 212px 247px, 170px 379px, 0 100px;
    background-size: 28px, 47px, 42px, 26px, 620px 600px;
  }
  .lfc-values { padding-top: 44px !important; }
  .lfc-values-inner { gap: 34px !important; }
  .lfc-value-cards { width: min(1350px, calc(100vw - 60px)) !important; height: 394px !important; gap: 14px !important; }
  /* The template fans the cards out (rotate); the mockup keeps them straight. The fade-in stays. */
  .lfc-value-cards > div { flex: 1 1 0 !important; height: 100% !important; transform: none !important; }
  .lfc-value-cards .lfc-value-card { padding-top: 54px !important; padding-left: 34px !important; }
  .lfc-value-cards .lfc-value-card-image {
    left: 10px !important; right: 10px !important; width: auto !important; top: auto !important; bottom: 0 !important; height: 236px !important;
  }
  .lfc-value-cards .lfc-value-card-image-container { width: 100% !important; height: 100% !important; }
  .lfc-value-cards h2.lfc-text { font-size: 24px !important; }
  .lfc-value-cards p.lfc-text { --lfc-text-color: #5F6157 !important; font-size: 15px !important; }
  .lfc-founders .lfc-founders-visual { height: 584px !important; }
  .lfc-founders .lfc-founders-inner { height: auto !important; min-height: 584px; }
  .lfc-founders h2.lfc-text { --lfc-font-size: 92px !important; font-size: 92px !important; }
  .lfc-founders .lfc-founders-description p.lfc-text { --lfc-font-size: 21px !important; font-size: 21px !important; line-height: 1.65 !important; }
  .lfc-founders .lfc-founders-content { padding-top: 110px !important; width: 624px !important; max-width: 624px !important; }
  .lfc-founders::before {
    content: ""; position: absolute; z-index: -1; left: 0; top: 300px; width: 260px; height: 360px; pointer-events: none;
    background: url(../svg/arc-histoire.svg) 0 0 / 260px 360px no-repeat;
  }
  .lfc-founders-inner::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background-image: var(--y), var(--y), var(--b), var(--s);
    background-repeat: no-repeat;
    background-position: 868px 92px, 1193px 82px, 1283px 148px, 1234px 196px;
    background-size: 38px, 62px, 38px, 38px;
  }
  .lfc-medaillon-photo { left: 440px; top: 430px; width: 230px; height: 230px; }
  /* ---------- Les petits rituels ---------- */
  .lfc-rituals { padding-top: 70px !important; padding-bottom: 110px !important; background: #FBF8F2 !important; position: relative; isolation: isolate; overflow: visible !important; }
  .lfc-rituals::before {
    content: ""; position: absolute; z-index: -1; right: 0; top: -60px; width: 260px; height: 560px; pointer-events: none;
    background: url(../svg/arc-en-ciel-rituels.svg) right top / 260px 560px no-repeat;
  }
  .lfc-rituals::after {
    content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none;
    background-image: var(--b), var(--y), var(--pi);
    background-repeat: no-repeat;
    background-position: 96px calc(100% - 132px), 150px calc(100% - 90px), 1340px 578px;
    background-size: 40px, 32px, 28px;
  }
  .lfc-rituals-inner { gap: 64px !important; }
  .lfc-ritual-cards { gap: 40px !important; }
  /* No isolation here: an isolated stacking context stops the runtime WebGL reveal of the illustrations. */
  .lfc-ritual-cards { width: 1165px !important; max-width: calc(100vw - 80px); }
  .lfc-ritual-cards > div { z-index: 1; }
  .lfc-ritual-cards::before {
    content: ""; position: absolute; z-index: 0; left: 135px; top: 60px; bottom: -40px; border-left: 2px dashed #D3C7B7;
  }
  .lfc-ritual-cards > div { height: auto !important; width: 100% !important; gap: 79px !important; justify-content: flex-start !important; }
  .lfc-ritual-cards > div::after {
    content: ""; position: absolute; left: 119px; top: 124px; width: 34px; height: 34px; pointer-events: none;
    background: var(--s) center / contain no-repeat;
  }
  .lfc-ritual-cards > div:nth-child(3)::after { background-image: var(--b); }
  .lfc-ritual-cards > div:nth-child(4)::after { background-image: var(--y); }
  .lfc-ritual-cards > div:nth-child(5)::after { background-image: var(--p); top: 132px; }
  .lfc-rituals [data-lfc-name="Time"] { width: 273px !important; flex: 0 0 273px !important; border-radius: 32px !important; }
  .lfc-rituals [data-lfc-name="Time"] p.lfc-text { --lfc-font-size: 21px !important; font-size: 21px !important; }
  .lfc-rituals [data-lfc-name="Content"] {
    flex: 1 1 0 !important; width: auto !important; height: auto !important; min-height: 215px; justify-content: flex-start !important; padding-left: 41px !important;
  }
  .lfc-rituals [data-lfc-name="Content"] > div[class$="-container"] { width: 470px !important; height: auto !important; }
  .lfc-rituals [data-lfc-name="Content"] h2.lfc-text { --lfc-font-size: 29px !important; font-size: 29px !important; }
  .lfc-rituals [data-lfc-name="Content"] p.lfc-text { --lfc-font-size: 17px !important; font-size: 17px !important; line-height: 1.6 !important; }
  .lfc-rituals [data-lfc-name="Image Wrapper"] { left: auto !important; right: 18px !important; top: 12px !important; bottom: 12px !important; width: 210px !important; height: auto !important; transform: none !important; }
  .lfc-ritual-card-3-content::before {
    content: ""; position: absolute; z-index: 2; right: 236px; top: 30px; width: 46px; height: 46px; pointer-events: none;
    background: url(../svg/lune.svg) center / contain no-repeat;
  }
  /* ---------- Le quotidien se raconte ---------- */
  .lfc-home-pathways { position: relative; max-width: 1380px !important; padding-left: 124px !important; padding-right: 70px !important; padding-top: 40px !important; padding-bottom: 40px !important; }
  /* Pebbles sit on the screen edge, not on the edge of the centred box: no white strip on wide screens. */
  .lfc-home-pathways::after {
    content: ""; position: absolute; right: calc((100% - 100vw) / 2); top: -40px; width: clamp(70px, 5.4vw, 110px); height: 520px; pointer-events: none;
    background: url(../svg/bord-galets-droite.svg) right top / 100% auto no-repeat;
  }
  .lfc-home-pathways .lfc-section-heading h2 { font-size: 54px !important; line-height: 1.08 !important; }
  .lfc-pathways { margin: 0 0 0 -44px; gap: 22px !important; }
  .lfc-pathways h3 { font-size: 31px !important; }
  .lfc-pathways p { font-size: 17px !important; }
  .lfc-pathways > a > div { padding: 6px 42px 40px !important; }
  .lfc-pathways .lfc-picture {
    max-width: none !important; width: auto !important; margin: 46px 34px 26px !important; padding: 8px;
    border-radius: 40px 44px 38px 46px; background: color-mix(in srgb, var(--c) 78%, var(--a));
  }
  .lfc-pathways .lfc-image-frame { max-width: 270px; margin: auto; aspect-ratio: 1.3 !important; background: transparent !important; }
  .lfc-people { padding-top: 120px !important; overflow: visible !important; }
  .lfc-people-inner, .lfc-people-cards { overflow: visible !important; }
  .lfc-people .lfc-home-section-link { padding-top: 38px; }
  .lfc-people-cards [data-lfc-name="Our team Frame"] { padding: 22px 44px 34px !important; }
  .lfc-people-cards > div { min-height: 596px !important; }
  .lfc-people-inner { gap: 34px !important; }
  .lfc-small-group-visual-container::before {
    content: ""; position: absolute; z-index: -1; left: -70px; top: -96px; width: 640px; height: 400px; pointer-events: none;
    background: url(../svg/arc-en-ciel.svg) 0 0 / 640px auto no-repeat;
  }
  .lfc-small-group-visual-container::after {
    content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none;
    background-image: var(--y), var(--b), var(--s), var(--y);
    background-repeat: no-repeat;
    background-position: 466px -40px, 500px 30px, 540px 130px, 6px 440px;
    background-size: 44px, 48px, 32px, 44px;
  }
  .lfc-small-group .lfc-small-group-text { width: 500px !important; }
  .lfc-small-group .lfc-small-group-text p.lfc-text { --lfc-font-size: 19px !important; font-size: 19px !important; line-height: 1.6 !important; }
  .lfc-small-group .lfc-small-group-content { justify-content: flex-start !important; gap: 34px !important; }
  .lfc-small-group .lfc-small-group-inner { align-items: flex-start !important; }
  .lfc-small-group .lfc-small-group-content { align-items: flex-start !important; padding-top: 0 !important; }
  .lfc-counters { gap: 16px !important; padding-top: 14px; width: 580px !important; max-width: calc(100vw - 740px); align-items: stretch !important; }
  .lfc-counters > div { flex: 1 1 0 !important; min-width: 0; padding: 64px 20px 22px !important; }
  .lfc-counters > div::before { left: 20px; top: 22px; width: 30px; height: 30px; }
  .lfc-counters .lfc-counter-number-container { height: auto !important; }
  .lfc-counters .lfc-counter, .lfc-counters .lfc-counter-label { width: 100% !important; height: auto !important; white-space: normal !important; }
  .lfc-counters .lfc-counter-label p.lfc-text { white-space: normal !important; }
  .lfc-counters .lfc-counter-number-container p { font-size: 58px !important; }
  .lfc-counters .lfc-counter-label p.lfc-text { --lfc-font-size: 14.5px !important; font-size: 14.5px !important; line-height: 1.4 !important; margin-top: 8px; }
  .lfc-small-group { padding-top: 150px !important; padding-bottom: 150px !important; overflow: visible !important; }
  /* ---------- Journal ---------- */
  .lfc-home-journal { position: relative; max-width: 1400px !important; padding-left: 118px !important; padding-right: 94px !important; }
  .lfc-home-journal::before, .lfc-home-journal::after {
    content: ""; position: absolute; top: 60px; width: 60px; height: 820px; pointer-events: none; background-repeat: no-repeat;
  }
  .lfc-home-journal::before { left: calc((100% - 100vw) / 2); width: clamp(60px, 4.6vw, 96px); background-image: url(../svg/bord-galets-gauche.svg); background-size: 100% auto; }
  .lfc-home-journal::after {
    right: calc((100% - 100vw) / 2); width: calc(100px + clamp(60px, 4.6vw, 96px)); background-image: var(--s), var(--pi), url(../svg/bord-galets-droite.svg);
    background-position: 0 0, 70px 70px, right 150px; background-size: 42px, 30px, clamp(60px, 4.6vw, 96px) auto;
  }
  .lfc-home-journal .lfc-section-heading h2 { font-size: 62px !important; line-height: 1.05 !important; }
  .lfc-home-journal .lfc-card-grid { margin-left: -22px; }
  .lfc-home-journal .lfc-card h3 { font-size: 31px !important; }
  .lfc-home-journal .lfc-card p { font-size: 17px !important; }
  .lfc-home-journal .lfc-card > div { padding: 30px 30px 20px !important; }
  .lfc-faq-section { padding-top: 140px !important; }
  .lfc-faq-section [data-lfc-name="Question"] { padding-top: 22px !important; padding-bottom: 22px !important; }
  /* Room under the card so its drop shadow shows in full before « Pour aller plus loin ». */
  #main section.lfc-contact-band { padding-top: 40px !important; padding-bottom: 90px !important; overflow: visible !important; }
  .lfc-faq-section [data-lfc-name="Question"] p.lfc-text { --lfc-font-size: 22px !important; font-size: 22px !important; }
  .lfc-faq-section [data-lfc-name="Answer"] p.lfc-text { --lfc-font-size: 18px !important; font-size: 18px !important; }
  #main section.lfc-contact-band .lfc-contact-band-inner::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: url(../svg/titre-etoile-traits-beurre.svg), var(--s), var(--b), var(--s), var(--p);
    background-repeat: no-repeat;
    background-position: 690px 104px, 812px 70px, 760px 300px, 700px 420px, 820px 430px;
    background-size: 118px 92px, 36px, 40px, 48px, 40px;
  }
  #main section.lfc-contact-band .lfc-contact-band-image img { object-fit: contain !important; object-position: 50% 60% !important; transform: scale(1.12); }
  /* « Prenons le temps de nous rencontrer » holds on two lines. */
  #main section.lfc-contact-band .lfc-contact-band-title, #main section.lfc-contact-band .lfc-contact-band-heading { width: 600px !important; max-width: 600px !important; }
  #main section.lfc-contact-band h2.lfc-text { --lfc-font-size: 68px !important; font-size: 68px !important; line-height: 1.05 !important; }
  /* ---------- Pour aller plus loin + pied de page ---------- */
  .lfc-editorial { padding-top: 64px !important; padding-bottom: 76px !important; background: #FFFFFF; max-width: 1440px !important; padding-left: 118px !important; padding-right: 118px !important; }
  .lfc-editorial h2 { font-size: 42px !important; }
  .lfc-editorial > .lfc-rich { font-size: 17px !important; }
  .lfc-editorial > div > .lfc-picture { max-width: 250px !important; margin-top: 30px !important; }
  /* Title and illustration stay on the left while the long text scrolls. */
  .lfc-editorial { align-items: start !important; }
  .lfc-editorial > div:first-child { position: sticky; top: 120px; align-self: start; }
}



/* Largeurs desktop intermédiaires : les étincelles de droite restent hors du titre et du texte. */
@media (min-width: 1200px) and (max-width: 1439.98px) {
  .lfc-hero::after { background-position: 255px 150px, 300px 164px, 225px 262px, 255px 470px, 0 100px; }
  .lfc-hero::before { background-position: 189px 105px, 306px 146px, 330px 136px, 359px 124px, 226px 299px, 150px 346px, 250px 470px, 0 100px; }
}

/* ========== Tablette et mobile : décor réduit, jamais sur le texte ========== */
@media (max-width: 1199.98px) {
  .lfc-medaillon-photo { display: none; }
  .lfc-hero::before, .lfc-hero::after {
    content: ""; position: absolute; pointer-events: none; z-index: -1; background-repeat: no-repeat;
  }
  .lfc-hero::before {
    left: 0; top: 72px; width: 110px; height: 300px;
    background-image: url(../images/fee-officielle-hero.webp), url(../svg/maquette-hero-gauche.svg);
    background-position: 9px -6px, 0 24px;
    background-size: auto 64px, 90px 180px;
  }
  .lfc-hero::after {
    right: 0; top: auto; bottom: -60px; width: 110px; height: 190px;
    background: url(../images/hero-arc-peint-mobile-v10.webp) 0 0 / 110px 165px no-repeat;
  }
  .lfc-hero .lfc-hero-inner { position: relative; z-index: 1; }
  .lfc-rituals { position: relative; isolation: isolate; overflow: hidden !important; }
  .lfc-nurseries .lfc-home-section-link { padding-top: 76px; }
  .lfc-counters { flex-wrap: wrap !important; justify-content: flex-start !important; gap: 16px !important; height: auto !important; }
  .lfc-counters > div { padding: 52px 18px 18px !important; min-width: 150px; }
  .lfc-counters > div::before { left: 18px; top: 16px; width: 26px; height: 26px; }
  .lfc-small-group-visual-container::before {
    content: ""; position: absolute; z-index: -1; left: -6%; top: -6%; width: 70%; aspect-ratio: 600 / 330; pointer-events: none;
    background: url(../svg/arc-en-ciel.svg) 0 0 / contain no-repeat;
  }
  .lfc-home-pathways .lfc-eyebrow::before { margin-left: 0; }
  .lfc-pathways .lfc-picture { border-radius: 30px; background: color-mix(in srgb, var(--c) 78%, var(--a)); }
  .lfc-home-journal .lfc-card .lfc-picture { border-radius: 30px 36px 26px 26px; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .lfc-hero::before {
    top: 96px; width: 190px; height: 420px;
    background-image: url(../images/fee-officielle-hero.webp), var(--y), url(../svg/maquette-hero-gauche.svg);
    background-position: 27px -4px, 110px 4px, 0 40px; background-size: auto 96px, 18px, 140px 280px;
  }
  .lfc-hero::after { width: 170px; height: 290px; bottom: -150px; background-size: 170px 255px; }
  .lfc-rituals::before {
    content: ""; position: absolute; z-index: -1; right: 0; top: 0; width: 130px; height: 280px; pointer-events: none;
    background: url(../svg/arc-en-ciel-rituels.svg) right top / 130px auto no-repeat;
  }
}
@media (max-width: 767.98px) {
  #main section.lfc-contact-band .lfc-contact-band-inner::before {
    background: #FCF1D8; border-radius: 36px 48px 40px 44px / 44px 38px 48px 38px;
  }
  .lfc-value-cards > div::before, .lfc-people-cards > div::before { width: 48px; height: 48px; left: 14px; top: -12px; }
  .lfc-faq-section [data-lfc-name="Icon"] { width: 44px !important; height: 44px !important; flex: 0 0 44px; }
}

/* ========== Mobile « Arc-en-ciel doux » (maquette 390 px validée par Tom, 23 septembre) ==========
   Gouttières 20 px, ~56 px entre sections, cartes rayon 24 px, espacement 12 px, cibles ≥ 44 px.
   L'en-tête et le menu relèvent de vendor/lfc/menu/ : rien ici. */
.lfc-swipe-dots { display: none; }
@media (max-width: 809.98px) {
  :root { --m: url(../svg/mobile/); }
  .lfc-swipe-dots { display: flex; justify-content: center; gap: 10px; margin: 18px 0 0; }
  .lfc-swipe-dots span { width: 9px; height: 9px; border-radius: 50%; background: #E4E1D8; transition: background .2s; }
  .lfc-swipe-dots span.is-active { background: #8FA66A; }
  .lfc-nurseries .lfc-home-section-link > .lfc-swipe-dots { margin: 0 0 20px; }
  h2.lfc-section-title-style { --lfc-font-size: 32px !important; font-size: 32px !important; line-height: 1.12 !important; }

  /* ---------- Hero ---------- */
  /* The title overlaps the bottom of the rainbow a little, like a layered collage. */
  .lfc-hero { padding: 208px 20px 24px !important; }
  .lfc-hero .lfc-hero-inner { position: relative; z-index: 1; }
  /* Same spirit as desktop: green and blue blobs with the looping trail on the left, running on to
     the centred fairy; the four pastel arches on the right, reaching the text. */
  .lfc-hero::before {
    left: 0; right: 0; width: auto; top: 100px; height: 300px; z-index: 0;
    background-image: url(../images/fee-officielle-hero.webp), var(--y), var(--si), url(../svg/mobile/hero-gauche-vol.svg);
    background-position: calc(50% + 4px) -3px, calc(50% + 62px) 6px, calc(50% - 60px) 4px, 0 0;
    background-size: auto 70px, 14px, 16px, 150px 300px;
  }
  .lfc-hero::after {
    /* A viewport-wide paint layer keeps every star in place while the arc exits right.
       The left blue/green shapes end at x=131px: leave at least 24px of clear space. */
    right: 0; top: 64px; bottom: auto; width: 100%; height: 560px;
    background-image: var(--b), var(--y), var(--s), var(--pi), var(--y), url(../images/hero-arc-peint-mobile-v10.webp);
    background-position: calc(100vw - 120px) 22px, calc(100vw - 56px) 330px, calc(100vw - 200px) 400px, calc(100vw - 80px) 470px, calc(100vw - 150px) 520px, max(155px, calc(100vw - 235px)) 0;
    background-size: 18px, 15px, 16px, 13px, 12px, 420px 405px;
  }
  .lfc-home-overline { font-size: 11.5px; letter-spacing: .16em; margin-bottom: 8px; }
  .lfc-hero p:where(.lfc-hero-title) { font-size: 46px !important; line-height: 1.02 !important; }
  .lfc-hero .lfc-hero-inner { gap: 10px !important; }
  .lfc-home-intro { padding: 0 !important; font-size: 17px !important; line-height: 1.5 !important; margin-top: 4px; }
  .lfc-home-intro .lfc-actions { gap: 14px !important; margin-top: 22px; padding: 0 22px; align-items: stretch !important; }
  .lfc-home-intro .lfc-button { width: 100%; min-height: 54px; justify-content: center; gap: 16px; font-size: 18px; }
  .lfc-home-intro .lfc-text-link { align-self: center; font-size: 16px; }
  .lfc-hero-photo { width: calc(100% - 40px) !important; height: auto !important; aspect-ratio: 350 / 284; border-radius: 24px !important; }
  .lfc-hero-photo .lfc-hero-photo-image { border-radius: 24px; overflow: hidden; }
  .lfc-home-caption { font-size: 11px; margin-top: 10px; }
  .lfc-home-locations { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px !important; padding: 28px 20px 0 !important; }
  .lfc-home-locations a {
    display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 8px 14px 8px 12px;
    background: #FFFFFF; border: 1px solid #E6E1D6; border-radius: 18px; font-size: 14px; line-height: 1.3; text-align: left;
    box-shadow: 0 8px 18px -16px rgba(92, 72, 48, .5);
  }
  .lfc-home-locations a::before { content: ""; flex: 0 0 22px; height: 22px; background: var(--s) center / contain no-repeat; }
  .lfc-home-locations a:nth-child(2)::before { background-image: var(--b); }
  .lfc-home-locations a:nth-child(3)::before { background-image: var(--y); }
  .lfc-home-locations a:nth-child(4)::before { background-image: var(--p); }
  .lfc-home-locations a span { margin-left: auto; }

  /* ---------- Tout commence par un lien ---------- */
  .lfc-values { padding: 56px 20px 0 !important; position: relative; }
  .lfc-values::after {
    content: ""; position: absolute; right: 0; top: 190px; width: 20px; height: 560px; pointer-events: none;
    background: url(../svg/mobile/galets-droite.svg) right top / 20px auto repeat-y;
  }
  .lfc-values-inner { gap: 36px !important; }
  .lfc-values-title h2 { padding: 0 30px; }
  .lfc-value-cards { gap: 24px !important; }
  .lfc-value-cards > div { height: 140px !important; transform: none !important; }
  .lfc-value-cards .lfc-value-card { height: 140px !important; padding: 12px 18px 12px 158px !important; align-items: center !important; border-radius: 24px !important; overflow: hidden !important; }
  .lfc-value-cards .lfc-value-card::before { left: 12px; right: auto; top: 12px; bottom: 12px; width: 132px; height: auto; border-radius: 20px; opacity: .8; }
  .lfc-value-cards .lfc-value-card-image { left: 14px !important; top: 14px !important; right: auto !important; bottom: auto !important; width: 128px !important; height: 112px !important; }
  .lfc-value-cards .lfc-value-card-image-container { width: 100% !important; height: 100% !important; }
  .lfc-value-cards h2.lfc-text { --lfc-font-size: 18px !important; font-size: 18px !important; line-height: 1.2 !important; }
  .lfc-value-cards p.lfc-text { --lfc-font-size: 12.5px !important; font-size: 12.5px !important; line-height: 1.45 !important; }
  .lfc-value-cards .lfc-value-card-body-container { width: 100% !important; }
  .lfc-value-cards > div::before { width: 40px; height: 40px; left: 12px; top: -10px; }

  /* ---------- Nou la Fée ---------- */
  .lfc-founders { padding: 56px 20px 0 !important; }
  .lfc-founders::before {
    content: ""; position: absolute; z-index: 0; left: 0; top: 150px; width: 24px; height: 150px; pointer-events: none;
    background: url(../svg/mobile/arc-histoire.svg) right center / auto 150px no-repeat;
  }
  .lfc-founders .lfc-founders-inner { gap: 30px !important; }
  .lfc-founders .lfc-founders-visual { width: calc(100% - 44px) !important; height: auto !important; aspect-ratio: 306 / 248; align-self: center; border-radius: 24px !important; }
  .lfc-medaillon-photo {
    display: flex; left: auto; right: 8px; top: calc((100vw - 84px) * 248 / 306 - 78px); width: 154px; height: 154px;
    border-width: 5px; padding: 0 14px; gap: 2px; font-size: 12px; line-height: 1.25;
  }
  .lfc-medaillon-photo::before { width: 70px; height: 20px; margin-bottom: 0; background-size: 12px, 14px, 10px; background-position: 0 8px, 28px 0, 56px 7px; }
  .lfc-medaillon-photo strong { font-size: 16px; }
  .lfc-founders .lfc-founders-content { padding: 0 22px !important; gap: 22px !important; }
  .lfc-founders .lfc-founders-text { gap: 8px !important; }
  .lfc-story-overline::after { content: ""; display: inline-block; width: 18px; height: 18px; margin-left: 8px; vertical-align: -4px; background: var(--y) center / contain no-repeat; }
  .lfc-founders h2.lfc-text { --lfc-font-size: 44px !important; font-size: 44px !important; }
  .lfc-founders .lfc-founders-description p.lfc-text { --lfc-font-size: 15px !important; font-size: 15px !important; line-height: 1.5 !important; }
  .lfc-founders a.lfc-primary-button { height: 52px !important; padding: 0 28px !important; gap: 26px !important; }
  .lfc-founders a.lfc-primary-button .lfc-primary-button-icon-container { display: none !important; }
  .lfc-founders a.lfc-primary-button::after { content: ""; width: 20px; height: 20px; order: 3; background: url(../svg/fleche.svg) center / contain no-repeat; }
  .lfc-founders a.lfc-primary-button p.lfc-text { --lfc-font-size: 17px !important; font-size: 17px !important; font-weight: 600 !important; }
  .lfc-founders .lfc-founders-button-container { width: auto !important; height: auto !important; }

  /* ---------- Nos micro-crèches ---------- */
  /* Phone variant of the runtime slideshow only (the tablet variant keeps its own layout). */
  @media (max-width: 767.98px) {
    .lfc-nurseries { padding: 56px 20px 0 !important; }
    .lfc-nurseries .lfc-nurseries-inner { gap: 22px !important; height: auto !important; }
    .lfc-nurseries .lfc-nurseries-title { align-self: flex-start; }
    .lfc-nurseries .lfc-nurseries-title h2 { text-align: left !important; --lfc-text-alignment: left !important; font-size: 30px !important; --lfc-font-size: 30px !important; }
    .lfc-nurseries .lfc-nurseries-title h2::after { width: 22px; height: 22px; }
    /* Framer's phone slideshow moves by the width of its frame: a 262 px frame + visible overflow lets the next card peek. */
    .lfc-nurseries .lfc-nursery-carousel-container { height: 330px !important; width: 262px !important; align-self: flex-start; }
    .lfc-nurseries .lfc-nursery-carousel-container > div, .lfc-nurseries .lfc-nursery-slideshow-phone-container { height: 100% !important; }
    .lfc-nurseries li > div { width: 262px !important; height: 318px !important; }
    .lfc-nurseries li > div > div, .lfc-nurseries li > div > div > div { height: 100% !important; }
    .lfc-nurseries a.lfc-nursery-card { height: 100% !important; border-radius: 24px !important; overflow: hidden !important; }
    .lfc-nurseries li > div > div::before { width: 44px; height: 44px; left: 10px; top: -8px; }
    .lfc-nurseries .lfc-nursery-card-details { padding: 22px 20px 0 !important; gap: 12px !important; height: auto !important; }
    .lfc-nurseries .lfc-nursery-card-town { margin-left: 30px; padding: 6px 14px !important; height: auto !important; }
    .lfc-nurseries .lfc-nursery-card-town p.lfc-text { --lfc-font-size: 13px !important; font-size: 13px !important; }
    .lfc-nurseries .lfc-nursery-card-content { gap: 6px !important; height: auto !important; }
    .lfc-nurseries h3.lfc-text { --lfc-font-size: 22px !important; font-size: 22px !important; line-height: 1.12 !important; }
    .lfc-nurseries .lfc-nursery-card-description p.lfc-text { --lfc-font-size: 12.5px !important; font-size: 12.5px !important; line-height: 1.5 !important; }
    .lfc-place { padding: 10px 10px 14px; }
    .lfc-place__arch { height: 54%; }
    .lfc-place__pill { left: 14px; top: 22px; font-size: 12.5px; padding: 5px 11px 5px 9px; gap: 5px; }
    .lfc-place__pill::before { width: 13px; height: 13px; }
    .lfc-place__body { gap: 6px; padding: 12px 8px 0 8px; }
    .lfc-place__title { font-size: 23px; gap: 4px 8px; }
    .lfc-place__tag { font-size: 12px; padding: 4px 10px; }
    .lfc-place__text { font-size: 13.5px; line-height: 1.45; padding-right: 46px; }
    .lfc-place__go { right: 16px; bottom: 16px; }
    .lfc-nurseries .lfc-nursery-card-image-container { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important; width: 100% !important; height: 128px !important; transform: none !important; }
    .lfc-nurseries fieldset > div { top: -64px !important; bottom: auto !important; left: auto !important; right: calc(302px - 100vw) !important; width: auto !important; height: 44px !important; gap: 10px !important; justify-content: flex-end !important; }
    .lfc-nurseries fieldset button { width: 44px !important; height: 44px !important; }
    .lfc-nurseries fieldset button img { width: 44px !important; height: 44px !important; }
    .lfc-nurseries .lfc-home-section-link { padding: 4px 0 0 !important; }
    .lfc-nurseries .lfc-home-section-link .lfc-swipe-dots { margin: 0 0 22px; }
  }

  /* ---------- Les petits rituels ---------- */
  .lfc-rituals { padding: 56px 20px 56px !important; overflow: hidden !important; margin-top: 56px; }
  .lfc-rituals::before {
    content: ""; position: absolute; z-index: 0; right: 0; top: 0; width: 64px; height: 120px; pointer-events: none;
    background: url(../svg/mobile/arc-rituels.svg) right top / auto 120px no-repeat;
  }
  .lfc-rituals-inner { gap: 28px !important; }
  .lfc-ritual-cards { gap: 34px !important; padding-top: 14px !important; }
  .lfc-ritual-cards::before { content: ""; position: absolute; z-index: 0; left: 12px; top: 10px; bottom: 10px; border-left: 2px dashed #D3C7B7; }
  .lfc-ritual-cards > div {
    position: relative !important; z-index: 1; margin-left: 38px; width: calc(100% - 38px) !important; gap: 10px !important; padding: 30px 18px 20px 20px !important;
    background: #FFFFFF; border-radius: 24px; box-shadow: 0 14px 30px -24px rgba(92, 72, 48, .45); height: auto !important;
    align-items: flex-start !important; overflow: visible !important;
  }
  .lfc-ritual-cards > div::after { content: ""; position: absolute; left: -40px; top: 26px; width: 26px; height: 26px; background: var(--s) center / contain no-repeat; }
  /* Below 1200 px the template drops the first child: the four steps are children 1 to 4. */
  .lfc-ritual-cards > div:nth-child(2)::after { background-image: var(--b); }
  .lfc-ritual-cards > div:nth-child(3)::after { background-image: var(--y); }
  .lfc-ritual-cards > div:nth-child(4)::after { background-image: var(--p); }
  .lfc-rituals [data-lfc-name="Time"] {
    width: auto !important; height: auto !important; padding: 6px 15px !important; background: #E9EEDC !important; border-radius: 999px !important;
    position: absolute !important; left: 18px; top: -15px; z-index: 2; box-shadow: 0 6px 14px -10px rgba(92, 72, 48, .45) !important;
  }
  .lfc-rituals [data-lfc-name="Time"] > div { width: auto !important; }
  .lfc-rituals [data-lfc-name="Time"] p.lfc-text { --lfc-font-size: 13px !important; font-size: 13px !important; white-space: nowrap; --lfc-text-color: #3E4A2A !important; }
  .lfc-rituals [data-lfc-name="Content"] {
    position: relative; width: 100% !important; height: auto !important; min-height: 104px; padding: 0 96px 0 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
  }
  .lfc-rituals [data-lfc-name="Content"] > div[class$="-container"] { width: 100% !important; height: auto !important; }
  .lfc-rituals [data-lfc-name="Content"] .lfc-value-card-body, .lfc-rituals [data-lfc-name="Content"] .lfc-value-card-title, .lfc-rituals [data-lfc-name="Content"] .lfc-value-card-text { width: 100% !important; }
  .lfc-rituals [data-lfc-name="Content"] h2.lfc-text { --lfc-font-size: 18px !important; font-size: 18px !important; line-height: 1.2 !important; }
  .lfc-rituals [data-lfc-name="Content"] p.lfc-text { --lfc-font-size: 12.5px !important; font-size: 12.5px !important; line-height: 1.5 !important; }
  .lfc-rituals [data-lfc-name="Image Wrapper"] {
    position: absolute !important; left: auto !important; right: 0 !important; top: auto !important; bottom: 0 !important; width: 90px !important; height: 84px !important; transform: none !important;
  }
  .lfc-rituals [data-lfc-name="Image Wrapper"] > div { width: 100% !important; height: 100% !important; }
  .lfc-ritual-card-3-content::before { content: ""; position: absolute; z-index: 2; right: 8px; top: -34px; width: 26px; height: 26px; pointer-events: none; background: url(../svg/lune.svg) center / contain no-repeat; }

  /* ---------- Le quotidien se raconte ---------- */
  .lfc-home-pathways { padding: 56px 20px 0 !important; position: relative; }
  .lfc-home-pathways::after { content: ""; position: absolute; right: 0; top: 40px; width: 20px; height: 220px; pointer-events: none; background: url(../svg/mobile/galets-droite.svg) right top / 20px auto no-repeat; }
  .lfc-home-pathways .lfc-section-heading { display: block; margin-bottom: 26px; }
  .lfc-home-pathways .lfc-eyebrow { font-size: 11.5px !important; padding-left: 38px; position: relative; }
  .lfc-home-pathways .lfc-eyebrow::before { position: absolute; left: 0; top: -14px; margin: 0; width: 34px; height: 30px; background-size: 22px, 16px; background-position: 0 10px, 18px 0; }
  .lfc-home-pathways h2 { font-size: 31px !important; line-height: 1.08 !important; margin-bottom: 12px !important; }
  .lfc-home-pathways .lfc-section-heading p { font-size: 16px; line-height: 1.5; margin: 0; }
  .lfc-pathways { display: grid !important; grid-template-columns: 1fr !important; gap: 24px !important; margin: 0 !important; }
  .lfc-pathways > a { display: grid !important; grid-template-columns: 128px 1fr; align-items: center; gap: 0 14px; padding: 12px; min-height: 150px; border-radius: 24px !important; }
  .lfc-pathways > a::before { width: 40px; height: 40px; left: 12px; top: -10px; }
  .lfc-pathways .lfc-picture { margin: 0 !important; padding: 6px !important; border-radius: 20px !important; max-width: none !important; width: 128px !important; height: 124px; display: flex; align-items: center; }
  .lfc-pathways .lfc-image-frame { max-width: none; width: 100%; aspect-ratio: 1.1 !important; }
  .lfc-pathways > a > div { padding: 0 !important; }
  .lfc-pathways h3 { font-size: 19px !important; line-height: 1.15 !important; margin: 0 0 6px !important; }
  .lfc-pathways p { font-size: 13.5px !important; line-height: 1.45 !important; margin: 0 0 8px !important; }
  .lfc-pathways .lfc-text-link { font-size: 14px; }

  /* ---------- Rangées à glisser (scroll-snap) ---------- */
  .lfc-swipe {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch !important; justify-content: flex-start !important;
    gap: 12px !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory; scroll-padding-inline: 20px;
    margin: 0 -20px !important; padding: 18px 20px 14px !important; width: calc(100% + 40px) !important; height: auto !important;
    scrollbar-width: none; overscroll-behavior-x: contain;
  }
  .lfc-swipe::-webkit-scrollbar { display: none; }
  .lfc-swipe > * { flex: 0 0 272px !important; width: 272px !important; scroll-snap-align: start; }
  .lfc-swipe:focus-visible { outline: 3px solid #A9C9E1; outline-offset: -3px; }

  /* ---------- Chaque personne compte ---------- */
  .lfc-people { padding: 56px 20px 0 !important; }
  .lfc-people-inner { gap: 14px !important; height: auto !important; }
  .lfc-people-title h2 { font-size: 30px !important; --lfc-font-size: 30px !important; }
  .lfc-people-title h2::after { display: block; margin: 6px auto 0; width: 40px; height: 30px; }
  .lfc-people-cards > div { min-height: 0 !important; height: auto !important; padding: 0 !important; border-radius: 24px !important; }
  .lfc-people-cards > div::before { width: 40px; height: 40px; left: 12px; top: -10px; }
  .lfc-people .lfc-home-photo { margin: 18px 16px 0 !important; width: calc(100% - 32px) !important; height: auto !important; flex: 0 0 auto !important; aspect-ratio: 4 / 3; border-radius: 18px !important; }
  .lfc-people-cards [data-lfc-name="Our team Frame"] { padding: 16px 20px 22px !important; }
  .lfc-people-cards h2.lfc-text { --lfc-font-size: 23px !important; font-size: 23px !important; }
  .lfc-people-cards [data-lfc-name="Our team Frame"] > div:last-child p.lfc-text { --lfc-font-size: 14.5px !important; font-size: 14.5px !important; line-height: 1.5 !important; }
  .lfc-people [data-lfc-name="Teacher Name & Designation"] p.lfc-text { --lfc-font-size: 15px !important; font-size: 15px !important; }
  .lfc-people .lfc-home-section-link { padding-top: 22px; }

  /* ---------- Une place pour chacun ---------- */
  .lfc-small-group { padding: 56px 20px 0 !important; }
  .lfc-small-group .lfc-small-group-inner { flex-direction: column !important; align-items: center !important; gap: 18px !important; height: auto !important; }
  .lfc-small-group .lfc-small-group-visual-container { order: -1 !important; width: 240px !important; height: 200px !important; margin-top: 10px; align-self: center !important; transform: none !important; }
  .lfc-small-group-visual-container::before { left: -30px; top: -14px; width: 300px; height: 180px; aspect-ratio: auto; background: url(../svg/mobile/arc-chacun.svg) center top / 300px auto no-repeat; }
  .lfc-small-group-visual-container::after {
    content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none;
    background-image: var(--s), var(--y), var(--b); background-repeat: no-repeat;
    background-position: 0 44px, 16px 96px, 212px 120px; background-size: 24px, 15px, 24px;
  }
  .lfc-small-group .lfc-small-group-visual-container > div { position: relative !important; width: 100% !important; height: 170px !important; margin-top: 30px !important; }
  .lfc-small-group .lfc-small-group-content { align-items: center !important; gap: 26px !important; transform: none !important; }
  .lfc-small-group .lfc-small-group-header { align-items: center !important; gap: 10px !important; }
  .lfc-small-group h2.lfc-text { --lfc-font-size: 40px !important; font-size: 40px !important; text-align: center !important; --lfc-text-alignment: center !important; line-height: 1.02 !important; }
  .lfc-small-group .lfc-small-group-title, .lfc-small-group .lfc-small-group-heading { width: 280px !important; }
  .lfc-small-group .lfc-small-group-text { width: 100% !important; }
  .lfc-small-group .lfc-small-group-text p.lfc-text { text-align: center !important; --lfc-text-alignment: center !important; font-size: 15px !important; --lfc-font-size: 15px !important; line-height: 1.45 !important; }
  .lfc-counters { flex-wrap: nowrap !important; justify-content: space-between !important; gap: 10px !important; width: 100% !important; }
  .lfc-counters > div { flex: 1 1 0 !important; width: auto !important; min-width: 0; padding: 46px 4px 14px !important; display: flex !important; justify-content: center; border-radius: 20px 24px 22px 24px; }
  .lfc-counters > div::before { left: 50%; top: 14px; margin-left: -12px; width: 24px; height: 24px; }
  .lfc-counters .lfc-counter { align-items: center !important; width: 100% !important; height: auto !important; }
  .lfc-counters .lfc-counter-number-container p { font-size: 40px !important; }
  .lfc-counters .lfc-counter-number-container { height: 44px !important; }
  .lfc-counters .lfc-counter-label { width: 100% !important; }
  .lfc-counters .lfc-counter-label p.lfc-text { text-align: center !important; --lfc-text-alignment: center !important; font-size: 12px !important; --lfc-font-size: 12px !important; line-height: 1.35 !important; white-space: normal !important; word-break: normal !important; overflow-wrap: normal !important; }

  /* ---------- Journal ---------- */
  .lfc-home-journal { padding: 56px 20px 0 !important; position: relative; }
  .lfc-home-journal::before { content: ""; position: absolute; left: 0; top: 70px; width: 18px; height: 150px; pointer-events: none; background: url(../svg/mobile/galets-gauche.svg) left top / 18px auto no-repeat; }
  .lfc-home-journal .lfc-section-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 4px; }
  .lfc-home-journal .lfc-section-heading h2 { font-size: 31px !important; line-height: 1.08 !important; margin: 0 !important; }
  .lfc-home-journal .lfc-section-heading > .lfc-text-link { align-self: center; font-size: 15px; }
  .lfc-home-journal .lfc-card-grid.lfc-swipe > .lfc-card { display: flex !important; grid-column: auto !important; border-radius: 24px; }
  .lfc-home-journal .lfc-card::before { width: 44px; height: 44px; left: 4px; top: -12px; }
  .lfc-home-journal .lfc-card .lfc-picture { border-radius: 22px 22px 18px 18px; margin: 10px 10px 0; overflow: hidden; }
  .lfc-home-journal .lfc-card .lfc-image-frame { aspect-ratio: 1.4; }
  .lfc-home-journal .lfc-card > div { padding: 16px 20px 16px !important; }
  .lfc-home-journal .lfc-card h3 { font-size: 21px !important; margin-bottom: 8px !important; }
  .lfc-home-journal .lfc-card p { font-size: 14px !important; margin-bottom: 12px !important; }
  .lfc-home-journal .lfc-card .lfc-eyebrow { font-size: 11px !important; margin-bottom: 8px !important; }
  .lfc-home-journal .lfc-card-bottom { font-size: 14px; padding-top: 12px; }
  .lfc-home-journal .lfc-card-bottom > span:last-child { width: 46px; height: 46px; }

  /* ---------- FAQ ---------- */
  .lfc-faq-section { padding: 56px 20px 0 !important; }
  .lfc-faq-title h2 { font-size: 38px !important; --lfc-font-size: 38px !important; padding: 0 36px; }
  .lfc-faq-inner { gap: 28px !important; }
  .lfc-faq-list-container { width: 100% !important; }
  .lfc-faq-list { gap: 16px !important; }
  .lfc-faq-section .lfc-faq-entry { background: #FBF8F2; border-radius: 18px; box-shadow: inset 6px 0 0 var(--filet, #B7C98F); gap: 0 !important; }
  .lfc-faq-section [data-lfc-name="Question"] { min-height: 68px; padding: 20px 16px 20px 26px !important; border-radius: 18px !important; gap: 12px !important; align-items: center !important; background: transparent !important; box-shadow: none !important; }
  .lfc-faq-section [data-lfc-name="Answer"] { padding-bottom: 18px; }
  .lfc-faq-section [data-lfc-name="Question"] p.lfc-text { --lfc-font-size: 17px !important; font-size: 17px !important; line-height: 1.4 !important; padding-left: 0; }
  .lfc-faq-section [data-lfc-name="Icon"] { width: 36px !important; height: 36px !important; flex: 0 0 36px; margin: 0 !important; background-size: 20px !important; }
  .lfc-faq-section [data-lfc-name="Answer"] p.lfc-text { --lfc-font-size: 15px !important; font-size: 15px !important; line-height: 1.55 !important; padding-left: 26px; padding-right: 16px; }
  .lfc-faq-section .lfc-home-section-link { padding-top: 20px; }
  .lfc-faq-more { --lfc-faq-gap: 16px; }
  .lfc-faq-more__item { border-radius: 18px; box-shadow: inset 6px 0 0 var(--filet); }
  .lfc-faq-more__item summary { min-height: 68px; padding: 20px 16px 20px 26px; font-size: 17px; line-height: 1.4; gap: 12px; }
  .lfc-faq-more__icon { flex-basis: 36px; height: 36px; margin: 0; background-size: 20px; }
  .lfc-faq-more__item p { padding: 0 16px 18px 26px; font-size: 15px; line-height: 1.55; }

  /* ---------- Et si on se rencontrait ? ---------- */
  #main section.lfc-contact-band { padding: 56px 20px 0 !important; }
  #main section.lfc-contact-band .lfc-contact-band-inner { height: auto !important; min-height: 372px; padding: 34px 26px 0 !important; overflow: hidden !important; border-radius: 28px !important; }
  #main section.lfc-contact-band .lfc-contact-band-inner::before {
    background: url(../svg/mobile/arc-contact.svg) right bottom / 310px auto no-repeat, #FCF1D8 !important; border-radius: 28px; filter: none;
    box-shadow: 0 20px 34px -26px rgba(92, 72, 48, .35);
  }
  #main section.lfc-contact-band .lfc-contact-band-inner::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: url(../svg/titre-etoile-traits-beurre.svg), var(--b), var(--s), var(--p);
    background-repeat: no-repeat; background-position: 206px 36px, 96px 222px, 40px 262px, 70px 300px; background-size: 58px 46px, 24px, 24px, 22px;
  }
  #main section.lfc-contact-band .lfc-contact-band-header { gap: 20px !important; align-items: flex-start !important; width: 100% !important; transform: none !important; }
  #main section.lfc-contact-band h2.lfc-text { --lfc-font-size: 38px !important; font-size: 38px !important; text-align: left !important; --lfc-text-alignment: left !important; }
  #main section.lfc-contact-band .lfc-contact-band-title, #main section.lfc-contact-band .lfc-contact-band-heading { width: 280px !important; }
  .lfc-contact-intro { margin: 0; font-size: 15px; }
  #main section.lfc-contact-band a.lfc-primary-button { height: 48px !important; padding: 0 24px 0 20px !important; }
  #main section.lfc-contact-band a.lfc-primary-button p.lfc-text { --lfc-font-size: 16px !important; font-size: 16px !important; }
  #main section.lfc-contact-band .lfc-contact-band-media { position: relative !important; width: 290px !important; max-width: 100%; height: 250px !important; margin: 0 -18px 0 auto; transform: none !important; }
  #main section.lfc-contact-band .lfc-contact-band-image { inset: 0 !important; width: 100% !important; height: 100% !important; transform: none !important; background: transparent !important; }
  #main section.lfc-contact-band .lfc-contact-band-image img { object-fit: contain !important; transform: none !important; mix-blend-mode: normal; }
  #main section.lfc-contact-band .lfc-contact-band-vector { display: none !important; }

  /* ---------- Pour aller plus loin ---------- */
  .lfc-editorial { padding: 30px 20px 56px !important; gap: 18px !important; }
  .lfc-editorial h2 { font-size: 28px !important; line-height: 1.12 !important; margin-bottom: 0 !important; }
  .lfc-editorial > .lfc-rich { font-size: 14.5px !important; line-height: 1.55 !important; }
  .lfc-editorial .lfc-rich h3 { font-size: 23px !important; margin: 24px 0 12px !important; }
  .lfc-editorial .lfc-rich li { padding-left: 40px; }
  .lfc-editorial .lfc-rich li::before { width: 22px; height: 22px; top: .2em; }
  .lfc-editorial .lfc-rich p:has(> .lfc-text-link) { margin-bottom: 12px; }

  /* ---------- Pied de page ---------- */
  .lfc-site-footer { grid-template-columns: 1fr 1fr !important; gap: 26px 18px !important; padding: 44px 26px 28px !important; font-size: 15px !important; }
  .lfc-site-footer::before { left: 24px; right: 72px; top: 24px; }
  .lfc-site-footer::after { right: 12px; top: 6px; width: 64px; height: 44px; background: var(--s) 0 22px / 20px no-repeat, var(--y) 22px 4px / 14px no-repeat, var(--p) 38px 16px / 18px no-repeat; }
  .lfc-site-footer .lfc-footer-brand { grid-column: 1 / -1; }
  .lfc-site-footer h2 { font-size: 21px !important; margin-bottom: 12px !important; }
  .lfc-site-footer > div:last-of-type { grid-column: 1 / -1; }
  .lfc-site-footer .lfc-text-link {
    display: inline-flex !important; margin-top: 12px; min-height: 52px; padding: 0 28px; border-radius: 999px; gap: 14px;
    background: #B5CF8A; text-decoration: none !important; font-size: 17px; box-shadow: 0 12px 22px -12px rgba(110, 145, 60, .6);
  }
}

/* ========== Retours mobile de Tom (24 septembre, iPhone et Android) ========== */
.lfc-places-nav { display: none; }
@media (max-width: 809.98px) {
  /* Shadows of the swipe rows: room below, same spacing after. */
  .lfc-swipe { padding-bottom: 40px !important; margin-bottom: -22px !important; }
  .lfc-places { padding-bottom: 40px; margin-bottom: -22px; }
  #lfc-home-pathways { padding-bottom: 30px !important; }
  #lfc-home-cafee { padding-bottom: 30px !important; }
  /* Values: bigger, centred illustrations. */
  .lfc-value-cards > div, .lfc-value-cards .lfc-value-card { height: 156px !important; }
  .lfc-value-cards .lfc-value-card { padding-left: 170px !important; }
  .lfc-value-cards .lfc-value-card::before { left: 10px; top: 10px; bottom: 10px; width: 150px; }
  .lfc-value-cards .lfc-value-card-image { left: 12px !important; top: 12px !important; width: 146px !important; height: 132px !important; }
  .lfc-value-cards .lfc-clay-art { padding: 8px !important; object-position: 50% 50% !important; }
  /* Pink call-to-action buttons centred. */
  .lfc-founders .lfc-founders-button-container { align-self: center !important; }
  .lfc-cafee .lfc-button { display: flex; width: fit-content; margin: 0 auto; }
  #main section.lfc-contact-band .lfc-contact-band-header { align-items: center !important; }
  #main section.lfc-contact-band .lfc-contact-band-title, #main section.lfc-contact-band .lfc-contact-band-title h2.lfc-text { align-self: stretch; }
  /* Medallion: stars. */
  .lfc-medaillon-photo::before { width: 90px; height: 28px; background-size: 18px, 22px, 16px; background-position: 0 9px, 34px 0, 72px 8px; }
  .lfc-medaillon-photo::after { inset: -18px; background-size: 16px, 13px, 15px, 13px, 11px; }
  /* Nos micro-crèches: arrows next to the title. */
  .lfc-nurseries .lfc-nurseries-inner { position: relative; }
  .lfc-places-nav { display: flex; gap: 10px; position: absolute; right: 0; top: 0; }
  .lfc-places-nav button {
    width: 44px; height: 44px; border: 0; border-radius: 50%; cursor: pointer; background: #FFFFFF;
    box-shadow: 0 10px 24px -12px rgba(92, 72, 48, .45);
  }
  .lfc-places-nav button::before {
    content: ""; display: block; width: 10px; height: 10px; margin: 0 auto; border: solid #33382E; border-width: 0 2px 2px 0; transform: rotate(135deg); translate: 2px 0;
  }
  .lfc-places-nav__next::before { transform: rotate(-45deg) !important; translate: -2px 0 !important; }
  .lfc-places-nav button:focus-visible { outline: 3px solid #A9C9E1; outline-offset: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  section a.lfc-primary-button, .lfc-home-intro .lfc-button { transition: none !important; }
  .lfc-swipe { scroll-behavior: auto; }
  .lfc-swipe-dots span { transition: none; }
}

/* « Les petits rituels » : no star after the title, the rainbow is right there. */
.lfc-rituals-title h2::after { content: none !important; }

/* CLS: the eyebrow and the intro join the hero title by script; their space is reserved until then,
   so the photo below does not jump. */
.lfc-hero .lfc-hero-inner:not(:has(#lfc-home-intro)) { padding-top: 42px; padding-bottom: 171px; }
@media (max-width: 809.98px) {
  .lfc-hero .lfc-hero-inner:not(:has(#lfc-home-intro)) { padding-top: 35px; padding-bottom: 199px; }
}

/* Hero shown at first paint: no fade-in of the title block (it made the text appear last). */
.lfc-hero .lfc-hero-inner { opacity: 1 !important; transform: none !important; }

.lfc-hero .lfc-hero-inner { will-change: auto !important; }

/* ==========================================================================
   V2 — retours du call du 28 septembre 2026 (reunions/2026-09-28-site-lfc-retours.md dans la KB)
   ========================================================================== */
/* Arborescence validée : le récit s'arrête après « Une journée à la crèche » ; FAQ puis journal pour le SEO.
   Les sections gardent leur place dans l'arbre du runtime (hydratation) : seul l'ordre visuel change. */
.lfc-hero { order: 1; }
.lfc-hero-photo { order: 2; }
#lfc-home-locations { order: 3; }
.lfc-nurseries { order: 4; }
.lfc-founders { order: 5; }
.lfc-small-group { order: 6; }
.lfc-values { order: 7; }
#lfc-home-pathways { order: 8; }
.lfc-rituals { order: 9; }
.lfc-faq-section { order: 10; }
#lfc-home-journal { order: 11; }
/* « Chaque personne compte » quitte l'accueil (il ira dans les pages). */
.lfc-people { display: none !important; }

/* Deux polices : Baloo pour les titres, Inter pour le reste (les textes du runtime en Inclusive Sans compris). */
[style*="Inclusive Sans"] { --lfc-font-family: 'LFC Inter', Inter, sans-serif !important; }
.lfc-home-overline { font-family: 'LFC Inter', Inter, sans-serif !important; font-weight: 600; }

/* V3 (Tom, 28/09) : « Prendre le temps d'être un enfant » reste en noir ; l'essai en vert se voit dans la V2. */

/* Boutons : texte non gras (essai demandé), même pâte verte partout. */
.lfc-home-intro .lfc-button, .lfc-founders a.lfc-primary-button, #main section.lfc-contact-band a.lfc-primary-button,
.lfc-site-footer a.lfc-enrol { font-weight: 500 !important; }
.lfc-founders a.lfc-primary-button p.lfc-text, #main section.lfc-contact-band a.lfc-primary-button p.lfc-text { font-weight: 500 !important; --lfc-font-weight: 500 !important; }

/* Villes sous le hero et valeurs : titres centrés. */
.lfc-home-locations a { justify-content: center; text-align: center; }
.lfc-value-cards .lfc-text { --lfc-text-alignment: center !important; text-align: center !important; }

/* Médaillon « Élodie et Frédéric / enfants / les créateurs de La Fée Clochette » : trois lignes, étoiles variées. */
.lfc-medaillon-photo span { display: block; }
.lfc-medaillon-photo span:first-of-type { font-weight: 500; color: #33382E; }
.lfc-medaillon-photo::before {
  background: var(--y) 0 14px / 20px no-repeat, var(--s) 44px 0 / 22px no-repeat, var(--b) 88px 12px / 16px no-repeat;
  background-size: 22px, 30px, 20px; background-position: 0 14px, 48px 0, 100px 12px;
}
.lfc-medaillon-photo::after {
  background: var(--s) 4% 18% / 22px no-repeat, var(--b) 94% 8% / 18px no-repeat, var(--p) 100% 66% / 20px no-repeat,
    var(--y) 10% 92% / 16px no-repeat, var(--s) 62% 100% / 16px no-repeat;
}

/* Nos micro-crèches : une carte par crèche, la couleur suit la ville ; la dernière rangée reste centrée. */
@media (min-width: 810px) {
  .lfc-places { display: flex; flex-wrap: wrap; justify-content: center; }
  .lfc-places .lfc-place-card { flex: 0 0 calc((100% - 60px) / 4); }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .lfc-places .lfc-place-card { flex-basis: calc((100% - 20px) / 2); }
}

/* Ce qui fait la différence : six cartes, trois par rangée ; les trois nouvelles prennent les autres teintes. */
.lfc-pathways > a:nth-child(4) { --c: #EDF1E3; --a: #B7C98F; --t: url(../svg/onglet-sauge.svg); }
.lfc-pathways > a:nth-child(5) { --c: #F9E6F0; --a: #E6A6CB; --t: url(../svg/onglet-peche.svg); }
.lfc-pathways > a:nth-child(6) { --c: #FDF6E5; --a: #F3D48C; --t: url(../svg/onglet-beurre.svg); }
@media (min-width: 1200px) { .lfc-pathways { row-gap: 40px !important; } }

/* Footer : baseline en Baloo, mention du réseau en Inter, réseaux sociaux. */
.lfc-site-footer .lfc-footer-baseline { margin: 18px 0 4px; font: 500 24px/1.15 'LFC Baloo', sans-serif; color: #33382E; }
.lfc-site-footer .lfc-footer-network { margin: 0 0 16px; font: 400 15px/1.5 'LFC Inter', Inter, sans-serif; color: #5F6157; }
.lfc-footer-social { display: flex; gap: 10px; margin: 0; }
.lfc-site-footer .lfc-footer-social a { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 14px 8px 10px;
  border-radius: 999px; background: #EDF1E3; color: #33382E; font-weight: 500; }
.lfc-site-footer .lfc-footer-social a:hover { background: #E4EAD6; text-decoration: none; }
.lfc-site-footer .lfc-footer-social svg { color: #5E7E2E; }
@media (max-width: 809.98px) {
  /* Médaillon sur trois lignes : un peu plus serré sur mobile pour rester sur la photo. */
  .lfc-medaillon-photo { top: calc((100vw - 84px) * 248 / 306 - 96px); font-size: 11px; line-height: 1.2; }
  .lfc-medaillon-photo strong { font-size: 15px; }
}
/* Hero : deux photos, un bébé à gauche et les plus grands à droite (call du 28/09). */
.lfc-hero-duo { position: absolute; inset: 0; z-index: 3; display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; background: #FFFFFF; border-radius: inherit; overflow: hidden; }
.lfc-hero-duo figure { position: relative; margin: 0; min-width: 0; overflow: hidden; }
.lfc-hero-duo figure:first-child { border-radius: 40px 16px 16px 40px; }
.lfc-hero-duo figure:last-child { border-radius: 16px 40px 40px 16px; }
.lfc-hero-duo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lfc-hero-duo figure:first-child img { object-position: 50% 45%; }
.lfc-hero-duo figcaption { position: absolute; left: 14px; bottom: 14px; padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .88);
  font: 500 12px/1.2 'LFC Inter', Inter, sans-serif; color: #5F6157; }
@media (max-width: 809.98px) {
  .lfc-hero-duo { gap: 6px; grid-template-columns: 1fr 1fr; }
  .lfc-hero-duo figure:first-child { border-radius: 24px 10px 10px 24px; }
  .lfc-hero-duo figure:last-child { border-radius: 10px 24px 24px 10px; }
  .lfc-hero-duo figcaption { left: 8px; bottom: 8px; font-size: 10px; padding: 4px 8px; }
}

/* V3 : Inter pour tous les textes du runtime (le template les mettait en Nunito) ; Baloo reste réservé aux titres. */
#main p.lfc-text, #main p.lfc-text span, #main p.lfc-text strong {
  --lfc-font-family: 'LFC Inter', Inter, sans-serif !important; --lfc-font-family-bold: 'LFC Inter', Inter, sans-serif !important;
  --lfc-font-family-italic: 'LFC Inter', Inter, sans-serif !important; --lfc-font-family-bold-italic: 'LFC Inter', Inter, sans-serif !important;
}
.lfc-faq-section .lfc-text, .lfc-contact-band text, .lfc-contact-band textPath { font-family: 'LFC Inter', Inter, sans-serif; }

/* Call du 05/10 : les quatre cartes remplacent le sélecteur V3. */
.lfc-has-valeurs .lfc-value-cards { display: none !important; }

/* Hero : l'étoile jaune après « Vœu » (retour d'Élodie du 28/09). */
.lfc-voeu-etoile { display: inline-block; width: .95em; height: .95em; margin: 0 .05em 0 .12em; vertical-align: -.12em; background: #EEC45A;
  -webkit-mask: var(--lfc-masque-etoile) center / contain no-repeat; mask: var(--lfc-masque-etoile) center / contain no-repeat; }

/* FeedbackPin 05/10: deliberate line breaks and wand. */
.lfc-counters .lfc-counter-label p.lfc-text { white-space: pre-line !important; }
.lfc-home-locations a .lfc-location-label { display: inline-block; margin-left: 0; line-height: 1.25; white-space: nowrap; }
.lfc-home-locations .lfc-location-label > span { display: block; margin: 0; }
.lfc-place__pill { text-align: center; line-height: 1.2; }
.lfc-voeu-etoile { position: relative; height: 1.2em; background: none; mask: none; -webkit-mask: none; vertical-align: -.25em; }
.lfc-voeu-etoile::before { content: ""; position: absolute; top: 0; left: 0; width: .85em; height: .85em; background: #EEC45A; -webkit-mask: var(--lfc-masque-etoile) center / contain no-repeat; mask: var(--lfc-masque-etoile) center / contain no-repeat; }
.lfc-voeu-etoile::after { content: ""; position: absolute; left: .38em; top: .65em; width: 2px; height: .6em; background: #8D7958; border-radius: 2px; transform: rotate(15deg); transform-origin: top; }

/* Seven daily moments reuse the existing white cards, pastel markers and clay art. */
.lfc-ritual-cards[hidden] { display: none !important; }
.lfc-day { width: min(1120px, 100%); display: grid; gap: 34px; position: relative; }
.lfc-day::before { content: ""; position: absolute; left: 50%; top: 25px; bottom: 25px; border-left: 2px dashed #D3C7B7; }
.lfc-day__moment { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 68px; align-items: center; }
.lfc-day__moment::before { content: ""; position: absolute; left: calc(50% - 12px); top: calc(50% - 12px); width: 26px; height: 26px; background: var(--s) center / contain no-repeat; }
.lfc-day__moment:nth-child(3n + 2)::before { background-image: var(--b); }
.lfc-day__moment:nth-child(3n)::before { background-image: var(--y); }
.lfc-day__time { margin: 0; justify-self: end; border-radius: 24px; padding: 16px 26px; background: #E9EEDC; color: #3E4A2A; font: 600 20px/1.3 'LFC Baloo', sans-serif; }
.lfc-day__card { position: relative; background: white; border-radius: 30px 38px 32px 36px; box-shadow: 0 16px 34px -26px rgba(92,72,48,.45); padding: 28px; display: flex; gap: 12px; align-items: center; }
.lfc-day__copy { flex: 1; min-width: 0; }
.lfc-day__copy h3 { margin: 0 0 12px; font: 500 28px/1.15 'LFC Baloo', sans-serif; color: #33382E; }
.lfc-day__copy p { margin: 0; font: 400 16px/1.6 'LFC Inter', sans-serif; color: #5F6157; }
.lfc-day__card img { width: 115px; height: 150px; object-fit: contain; flex: 0 0 115px; }
.lfc-day__moment:nth-child(even) .lfc-day__time { grid-column: 2; grid-row: 1; justify-self: start; }
.lfc-day__moment:nth-child(even) .lfc-day__card { grid-column: 1; grid-row: 1; }
@media (max-width: 809.98px) {
 .lfc-day { gap: 34px; }
 .lfc-day::before { left: 12px; }
 .lfc-day__moment { display: block; padding-left: 38px; }
 .lfc-day__moment::before { left: 0; top: 22px; }
 .lfc-day__time { position: relative; z-index: 1; display: table; margin: 0 0 -12px 14px; padding: 7px 15px; font-size: 15px; }
 .lfc-day__card { padding: 28px 18px 20px; gap: 8px; align-items: end; }
 .lfc-day__copy h3 { font-size: 21px; }
 .lfc-day__copy p { font-size: 14px; line-height: 1.5; }
 .lfc-day__card img { width: 70px; height: 90px; flex-basis: 70px; }
}

/* Élodie, 7–8 October: readable story, ordered FAQ and centered card titles. */
.lfc-founders-description[hidden], .lfc-faq-list[hidden] { display: none !important; }
.lfc-home-story { width: 100%; color: #5f6157; font: 400 17px/1.65 'LFC Inter', Inter, sans-serif; }
.lfc-home-story > p { margin: 0 0 20px; }
.lfc-home-story .lfc-story-subtitle { color: #866397; font-size: 17px; font-weight: 600; margin: 4px 0 24px; }
.lfc-story-wishes { padding: 18px 22px; border-radius: 18px; background: #f4f1e7; }
.lfc-story-wishes p { margin: 0; }
.lfc-story-wishes p + p { margin-top: 12px; }
.lfc-values-overline { text-align: center; width: 100%; margin: 0 0 18px; }
#lfc-home-pathways .lfc-section-heading { display: block; }
#lfc-home-pathways .lfc-section-heading h2 { max-width: none; }
#lfc-home-pathways .lfc-pathways > a:nth-child(3) h3,
#lfc-home-pathways .lfc-pathways > a:nth-child(5) h3,
#lfc-home-pathways .lfc-pathways > a:nth-child(6) h3 { text-align: center; }
.lfc-small-group .lfc-counter-label { height: auto !important; }
@media (min-width: 810px) {
  .lfc-founders .lfc-founders-inner { align-items: start !important; }
  .lfc-founders .lfc-founders-visual { margin-top: 80px; }
  #lfc-home-pathways .lfc-section-heading h2 { white-space: nowrap; }
}
@media (max-width: 809px) {
  .lfc-home-story { font-size: 15px; line-height: 1.6; }
  .lfc-home-story .lfc-story-subtitle { font-size: 15px; margin-bottom: 20px; }
  .lfc-story-wishes { padding: 16px; }
  #lfc-home-pathways .lfc-section-heading h2 { font-size: clamp(23px, 6.6vw, 31px) !important; white-space: nowrap; }
  .lfc-values-overline { font-size: 12px !important; }
}

/* Élodie #1743: the official identity and the network's real locations. */
.lfc-editorial .lfc-network-card { box-sizing: border-box; width: 100%; max-width: 280px; margin: 30px 0 0; padding: 24px 20px; border: 1px solid #e8e8dc; border-radius: 34px 27px 32px 25px; background: #faf9f3; box-shadow: 0 8px 22px rgb(73 87 48 / 5%); text-align: center; }
.lfc-editorial .lfc-network-logo { display: block; width: 160px; max-width: 100%; height: auto; margin: 0 auto 15px; object-fit: contain; }
.lfc-editorial .lfc-network-card figcaption { color: #5c7234; font: 500 22px/1.2 'LFC Baloo', Baloo, sans-serif; }
.lfc-editorial .lfc-network-region { margin-top: 20px; text-align: left; }
.lfc-editorial .lfc-network-region > p { margin: 0 0 9px; color: #866397; font: 600 11px/1.4 'LFC Inter', Inter, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.lfc-editorial .lfc-network-region ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.lfc-editorial .lfc-network-region li { display: flex; align-items: center; gap: 9px; color: #48523e; font: 500 13px/1.4 'LFC Inter', Inter, sans-serif; }
.lfc-editorial .lfc-network-region li > [aria-hidden] { color: #dbc16c; font-size: 18px; line-height: 1; }
.lfc-editorial .lfc-network-region small { display: block; color: #75796d; font-size: 11px; font-weight: 400; }
@media (max-width: 809px) { .lfc-editorial .lfc-network-card { max-width: 320px; margin: 22px auto 8px; } }

/* Élodie #1766–1768: home signature and immediately readable contact details. */
.lfc-home-footer .lfc-footer-brand { width:100%; max-width:270px; text-align:center; }
.lfc-home-footer .lfc-footer-brand img { margin-inline:auto; }
.lfc-home-footer .lfc-footer-baseline { text-align:center; }
.lfc-home-footer .lfc-footer-baseline span { display:block; white-space:nowrap; }
.lfc-home-footer .lfc-footer-social { justify-content:center; }
.lfc-home-footer a.lfc-footer-phone { display:flex; align-items:center; width:fit-content; min-height:44px; margin-bottom:0; font:600 clamp(28px,2.4vw,34px)/1.2 'LFC Baloo',sans-serif; color:#33382e; white-space:nowrap; }
.lfc-home-footer .lfc-footer-contact a:focus-visible { outline:2px solid #507442; outline-offset:4px; border-radius:4px; }
@media(max-width:1199px) {
 .lfc-home-footer .lfc-footer-brand { justify-self:center; }
}

/* « Ce qui fée nos différences » (Élodie, mail du 2026-10-10) : dix notes de papier pastel tenues par du ruban washi,
   maquette B « notes washi » choisie par Tom le 12/10, bureau et mobile au pixel
   (deliverables/remaquettes-home-20261012/v5-differences-papier/). Sans arc-en-ciel. Le fond papier crème court
   jusqu'au bas de « Nos valeurs au quotidien » pour lier les deux sections. Libellés d'Élodie inchangés. */
#lfc-home-differences { order: 7; position: relative; z-index: 2; }
.lfc-home-differences {
  --paper: #FBF8F2;
  position: relative; isolation: isolate; box-sizing: border-box; width: 100%; max-width: none; margin: 0;
  padding: 58px max(24px, calc((100% - 1320px) / 2)) 26px; overflow: visible; text-align: center;
  background: linear-gradient(#FFFFFF, rgba(255, 255, 255, 0) 150px), url(../images/valeurs-papier-v10.webp) 0 0 / 320px repeat;
}
.lfc-home-differences::before { content: none; }
.lfc-home-differences::after {
  content: ""; position: absolute; z-index: -1; inset: 0 0 -64px; pointer-events: none;
  background: var(--y) calc(50% - 540px) 34px / 34px no-repeat, var(--s) calc(50% - 617px) 98px / 25px no-repeat,
    var(--b) calc(50% - 430px) 108px / 27px no-repeat, var(--p) calc(50% + 450px) 74px / 22px no-repeat,
    var(--s) calc(50% + 585px) 52px / 34px no-repeat, var(--pi) calc(50% - 685px) 462px / 28px no-repeat,
    var(--y) calc(50% - 485px) calc(100% - 34px) / 30px no-repeat, var(--b) calc(50% - 255px) calc(100% - 30px) / 24px no-repeat,
    var(--p) calc(50% + 258px) calc(100% - 32px) / 20px no-repeat, var(--s) calc(50% + 480px) calc(100% - 24px) / 30px no-repeat;
}
.lfc-home-differences h2 {
  position: relative; display: block; margin: 0 auto 53px; padding: 0;
  font: 600 58px/1.08 'LFC Baloo', sans-serif; letter-spacing: -.02em; color: #6E4A8E; text-wrap: balance;
}
.lfc-home-differences h2::after { content: none; }
.lfc-differences { display: grid; grid-template-columns: repeat(5, 240px); justify-content: center; gap: 54px 30px; margin: 0; padding: 0; list-style: none; }
.lfc-differences li::before, .lfc-differences li::marker { content: none; }
.lfc-note {
  --note: #E4E9D2; --tape: #C9D6A9; --d-fill: #CFDDB4; --tilt: 0deg; --d-heart: #B5CF8A;
  position: relative; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 20px; height: 240px; margin: 0; padding: 22px 12px 0; border-radius: 3px 2px 4px 2px;
  background: var(--grain) 0 0 / 256px, var(--note); background-blend-mode: multiply, normal;
  box-shadow: 0 1px 1px rgba(92, 72, 48, .10), 0 12px 18px -12px rgba(92, 72, 48, .45), 0 2px 6px -2px rgba(92, 72, 48, .12);
  transform: rotate(var(--tilt));
}
.lfc-note__tape {
  position: absolute; z-index: 1; top: -15px; left: 50%; width: 88px; height: 30px; opacity: .92;
  transform: translateX(-50%) rotate(var(--tape-tilt, -2deg)); background-color: var(--tape);
  clip-path: polygon(0 0, 100% 0, 97% 17%, 100% 33%, 97% 50%, 100% 67%, 97% 83%, 100% 100%, 0 100%, 3% 83%, 0 67%, 3% 50%, 0 33%, 3% 17%);
}
.lfc-note__tape[data-motif="pois"] { background-image: radial-gradient(circle, rgba(255, 255, 255, .85) 0 2px, transparent 2.6px); background-size: 11px 11px; background-position: 3px 4px; }
.lfc-note__tape[data-motif="rayures"] { background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .6) 0 5px, transparent 5px 11px); }
.lfc-note__tape[data-motif="vichy"] { background-image: linear-gradient(90deg, rgba(255, 255, 255, .6) 2px, transparent 2px), linear-gradient(rgba(255, 255, 255, .6) 2px, transparent 2px); background-size: 8px 8px; }
.lfc-difference__icon { display: block; width: auto; height: auto; border-radius: 0; background: none; box-shadow: none; color: #38472D; }
.lfc-difference__icon svg { display: block; width: 100px; height: 100px; margin: -12px 0; stroke-width: 1.9; }
.lfc-difference__label { max-width: 216px; font: 500 18px/1.38 'LFC Inter', Inter, sans-serif; color: #3D453F; text-wrap: balance; }
/* Bureau : deux rangées de cinq, couleurs et inclinaisons de la maquette. */
.lfc-note:nth-child(1) { --tilt: -1.6deg; --tape-tilt: -3deg; }
.lfc-note:nth-child(2) { --tilt: 1.1deg; --tape-tilt: 2deg; }
.lfc-note:nth-child(3) { --tilt: -.6deg; --tape-tilt: -1deg; }
.lfc-note:nth-child(4) { --tilt: 1.4deg; --tape-tilt: 3deg; }
.lfc-note:nth-child(5) { --tilt: -1deg; --tape-tilt: -2deg; }
.lfc-note:nth-child(6) { --tilt: -2.6deg; --tape-tilt: 2deg; }
.lfc-note:nth-child(7) { --tilt: 1.6deg; --tape-tilt: -2deg; }
.lfc-note:nth-child(8) { --tilt: -.5deg; --tape-tilt: 3deg; }
.lfc-note:nth-child(9) { --tilt: .9deg; --tape-tilt: -1deg; }
.lfc-note:nth-child(10) { --tilt: 2.2deg; --tape-tilt: 2deg; }
.lfc-note:nth-child(2), .lfc-note:nth-child(9) { --note: #FCEDC7; --tape: #F2DA98; --d-fill: #F6DE9A; }
.lfc-note:nth-child(3), .lfc-note:nth-child(10) { --note: #DAE8F3; --tape: #B5D0E9; --d-fill: #BCD6EC; }
.lfc-note:nth-child(4), .lfc-note:nth-child(6) { --note: #F9DEE2; --tape: #EFBCCA; --d-fill: #F2C3D0; }
.lfc-note:nth-child(5), .lfc-note:nth-child(7) { --note: #E9E0F2; --tape: #D0C0E1; --d-fill: #D9CBE8; }
/* Transition : « Nos valeurs au quotidien » prend le même papier crème, sans le quart de cercle vert coupé en haut,
   puis revient au blanc avant la section suivante. */
.lfc-home-differences + .lfc-values.lfc-has-valeurs { background: linear-gradient(rgba(255, 255, 255, 0) calc(100% - 140px), #FFFFFF), url(../images/valeurs-papier-v10.webp) 0 0 / 320px repeat !important; }
.lfc-home-differences + .lfc-values.lfc-has-valeurs::before { background-image: url(../svg/etoile-sauge.svg), url(../svg/etoile-peche.svg); background-size: 24px, 20px; }
@media (min-width: 900px) and (max-width: 1199.98px) {
  .lfc-home-differences { padding-top: 52px; }
  .lfc-home-differences h2 { margin-bottom: 44px; font-size: 48px; }
  .lfc-differences { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 44px 18px; }
  .lfc-note { height: auto; aspect-ratio: 1; gap: 14px; padding: 20px 10px 6px; }
  .lfc-difference__icon svg { width: 76px; height: 76px; margin: -9px 0; }
  .lfc-difference__label { font-size: 15.5px; }
}
/* Mobile et tablette : deux colonnes, maquette mobile au pixel à 390 px. */
@media (max-width: 899.98px) {
  .lfc-home-differences { padding: 46px 20px 12px; }
  .lfc-home-differences::after {
    background: var(--y) 13% 6px / 28px no-repeat, var(--b) 8% 66px / 20px no-repeat, var(--p) 81% 38px / 20px no-repeat,
      var(--s) 89% 72px / 28px no-repeat, var(--pi) 6% calc(100% - 84px) / 22px no-repeat, var(--s) 19% calc(100% - 46px) / 22px no-repeat,
      var(--b) 73% calc(100% - 52px) / 20px no-repeat, var(--y) 84% calc(100% - 38px) / 26px no-repeat, var(--p) 94% calc(100% - 70px) / 16px no-repeat;
  }
  .lfc-home-differences h2 { margin-bottom: 21px; font-size: 30px; line-height: 1; }
  .lfc-differences-title__end { display: block; }
  .lfc-differences { grid-template-columns: repeat(2, minmax(0, 143px)); gap: 23px 32px; }
  .lfc-note { height: auto; min-height: 133px; gap: 8px; padding: 16px 4px 12px; }
  .lfc-note__tape { top: -11px; width: 64px; height: 22px; }
  .lfc-difference__icon svg { width: 60px; height: 60px; margin: -8px 0; stroke-width: 1.9; }
  .lfc-difference__label { font-size: 12.5px; line-height: 1.32; }
  .lfc-note:nth-child(odd) { --tilt: -1.2deg; }
  .lfc-note:nth-child(even) { --tilt: 1deg; }
  .lfc-note:nth-child(5n+1) { --note: #E4E9D2; --tape: #C9D6A9; --d-fill: #CFDDB4; }
  .lfc-note:nth-child(5n+2) { --note: #FCEDC7; --tape: #F2DA98; --d-fill: #F6DE9A; }
  .lfc-note:nth-child(5n+3) { --note: #DAE8F3; --tape: #B5D0E9; --d-fill: #BCD6EC; }
  .lfc-note:nth-child(5n+4) { --note: #F9DEE2; --tape: #EFBCCA; --d-fill: #F2C3D0; }
  .lfc-note:nth-child(5n) { --note: #E9E0F2; --tape: #D0C0E1; --d-fill: #D9CBE8; }
}
@media (min-width: 560px) and (max-width: 899.98px) {
  .lfc-home-differences h2 { font-size: 40px; }
  .lfc-differences-title__end { display: inline; }
  .lfc-differences { grid-template-columns: repeat(2, minmax(0, 220px)); gap: 34px 40px; }
  .lfc-note { min-height: 190px; gap: 14px; }
  .lfc-difference__icon svg { width: 76px; height: 76px; margin: -9px 0; }
  .lfc-difference__label { font-size: 16px; }
}

/* Réseau « De l’Ouest au Sud » sur l'accueil (maquette 4 v2 validée par Tom le 12/10) : titre violet, carte plus grande
   sous un arc-en-ciel peint, l'Ouest et le Sud en deux cartes pastel, bouton vers les crèches ; texte long à droite.
   Limité à l'accueil (:has(#lfc-home-network)) : les pages villes réutilisent la section « Pour aller plus loin ». */
#pour-aller-plus-loin:has(#lfc-home-network) h2 { color: #6E4A8E !important; font: 700 44px/1.08 'LFC Baloo', sans-serif !important; letter-spacing: -.02em; max-width: 560px; }
#pour-aller-plus-loin:has(#lfc-home-network) .lfc-eyebrow { position: relative; display: inline-block; }
#pour-aller-plus-loin:has(#lfc-home-network) .lfc-rich { max-width: 660px; }
#pour-aller-plus-loin:has(#lfc-home-network) .lfc-rich > p:last-child:has(> .lfc-text-link[href="/nos-creches"]) { display: none; }
.lfc-network-stage { position: relative; isolation: isolate; max-width: 560px; margin-top: 168px; }
.lfc-network-stage::before {
  content: ""; position: absolute; z-index: -1; left: 50%; top: -158px; width: 92%; height: 300px; transform: translateX(-50%); opacity: .6; pointer-events: none;
  background: url(../images/arc-peint-large.webp) 54.9% 51% / 103.8% 114.3% no-repeat;
}
.lfc-network-stage::after {
  content: ""; position: absolute; z-index: -1; left: -24px; right: -24px; top: -150px; height: 170px; pointer-events: none;
  background: var(--y) 8% 8% / 28px no-repeat, var(--b) 97% 0 / 26px no-repeat, var(--s) 0 84% / 30px no-repeat, var(--p) 94% 86% / 26px no-repeat;
}
#pour-aller-plus-loin .lfc-network-stage .lfc-network-card {
  position: relative; max-width: none; margin: 0; padding: 34px 26px 30px; border: 1px solid #EEE8DC; border-radius: 32px;
  background: #FDFBF7; box-shadow: 0 30px 50px -36px rgba(92, 72, 48, .45);
}
#pour-aller-plus-loin .lfc-network-stage .lfc-network-logo { width: 190px; margin-bottom: 6px; }
#pour-aller-plus-loin .lfc-network-stage figcaption { font: 600 24px/1.2 'LFC Baloo', sans-serif; color: #5C7234; }
.lfc-network-regions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region { margin: 0; padding: 18px 20px 20px; border-radius: 20px; background: #EEF3E4; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region[data-tone="sud"] { background: #FBEAF2; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region > p { margin-bottom: 14px; font: 600 12px/1.3 'LFC Inter', Inter, sans-serif; letter-spacing: .14em; color: #4E6A31; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region[data-tone="sud"] > p { color: #A6466F; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region ul { gap: 14px; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region li { align-items: flex-start; gap: 10px; font: 500 16px/1.35 'LFC Inter', Inter, sans-serif; color: #33382E; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region li > [aria-hidden] { color: #9DBE6A; font-size: 20px; line-height: 1; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region[data-tone="sud"] li > [aria-hidden] { color: #E59BC0; }
#pour-aller-plus-loin .lfc-network-stage .lfc-network-region small { margin-top: 2px; font-size: 13px; }
#pour-aller-plus-loin .lfc-network-button {
  display: inline-flex; align-items: center; gap: 14px; min-height: 54px; margin: 26px 0 0; padding: 0 30px; border-radius: 999px;
  background: #B5CF8A; color: #33382E; font: 500 16px/1 'LFC Inter', Inter, sans-serif; text-decoration: none;
  box-shadow: inset 0 2px 3px rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(90, 120, 45, .18), 0 12px 22px -12px rgba(110, 145, 60, .6);
}
#pour-aller-plus-loin .lfc-network-button:hover { background: #A2C272; }
#pour-aller-plus-loin .lfc-network-button:focus-visible { outline: 2px solid #507442; outline-offset: 4px; }
@media (min-width: 810px) {
  #pour-aller-plus-loin:has(#lfc-home-network) { grid-template-columns: minmax(0, 560px) minmax(0, 660px) !important; justify-content: space-between; gap: 72px !important;
    /* The section is capped at 1440 px while a padding percentage reads the page width: cap it too, or the two
       columns shrink to 369 px on a 1920 px screen. */
    padding-left: max(40px, calc((min(100%, 1440px) - 1290px) / 2)) !important; padding-right: max(40px, calc((min(100%, 1440px) - 1290px) / 2)) !important; }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  #pour-aller-plus-loin:has(#lfc-home-network) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important; gap: 44px !important; }
  #pour-aller-plus-loin:has(#lfc-home-network) h2 { font-size: 36px !important; }
  .lfc-network-regions { grid-template-columns: 1fr; }
}
@media (max-width: 809.98px) {
  #pour-aller-plus-loin:has(#lfc-home-network) h2 { font-size: 30px !important; }
  .lfc-network-stage { max-width: 440px; margin: 132px auto 18px; }
  .lfc-network-stage::before { top: -116px; height: 210px; }
  .lfc-network-stage::after { left: -14px; right: -14px; top: -100px; height: 120px; background-size: 22px, 20px, 22px, 20px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-card { padding: 28px 18px 26px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-logo { width: 160px; }
}
@media (max-width: 479.98px) { .lfc-network-regions { grid-template-columns: 1fr; gap: 12px; } }
/* Retours de l'appel du 12/10 : au bureau, la colonne collante (titre, arc-en-ciel, carte et bouton) doit tenir entière
   sous l'en-tête. Au-dessus de 1000 px de haut, elle tient telle quelle ; plus bas, elle se resserre (titre, logo, zones,
   bouton) avec un arc-en-ciel réduit, puis sans arc-en-ciel sous 820 px ; sous 680 px, elle cesse d'être collante. */
@media (min-width: 1200px) and (max-height: 999.98px) {
  #pour-aller-plus-loin:has(#lfc-home-network) > div:first-child { top: 100px; }
  #pour-aller-plus-loin:has(#lfc-home-network) h2 { font-size: 36px !important; }
  .lfc-network-stage { margin-top: 92px; }
  .lfc-network-stage::before { top: -86px; width: 52%; height: 165px; }
  .lfc-network-stage::after { left: 60px; right: 60px; top: -82px; height: 92px; background-size: 22px, 20px, 22px, 20px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-card { padding: 24px 24px 22px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-logo { width: 132px; }
  .lfc-network-regions { margin-top: 16px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-region { padding: 14px 16px 16px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-region > p { margin-bottom: 10px; }
  #pour-aller-plus-loin .lfc-network-stage .lfc-network-region ul { gap: 9px; }
  #pour-aller-plus-loin .lfc-network-button { min-height: 48px; margin-top: 18px; }
}
@media (min-width: 1200px) and (max-height: 819.98px) {
  .lfc-network-stage { margin-top: 26px; }
  .lfc-network-stage::before, .lfc-network-stage::after { content: none; }
}
@media (min-width: 1200px) and (max-height: 679.98px) {
  #pour-aller-plus-loin:has(#lfc-home-network) > div:first-child { position: static; }
}

/* Pied de page de l'accueil, maquette 5-v4 validée par Tom le 12/10 (deliverables/remaquettes-home-20261012) :
   liseré quatre couleurs, un arc-en-ciel peint calme à droite, fée au-dessus du nom, colonnes violettes,
   puis « Nos partenaires » (la Caf seule) et le bandeau Kap Numérique (styles partagés dans pages.css).
   Pas d'adresse e-mail (formulaire, #1768). Échelle : 26/20/15 · 22 · 16 · 26 · 36 · 16 · 12 · 13 px. */
.lfc-home-footer {
  --violet: #6E4A8E; overflow: hidden; isolation: isolate; background: #FCFAF6;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important; column-gap: 56px !important; row-gap: 0 !important;
  padding-top: 92px !important; padding-bottom: 28px !important;
}
.lfc-home-footer::before { left: 0 !important; right: 0 !important; top: 0 !important; height: 8px !important; }
.lfc-home-footer::after {
  z-index: -1; right: -330px !important; top: 34px !important; width: 680px !important; height: 420px !important; opacity: .5;
  background: url(../images/arc-peint-large.webp) 54.9% 51% / 103.8% 114.3% no-repeat !important;
}
.lfc-home-footer .lfc-footer-brand { position: relative; display: flex; flex-direction: column; align-items: center; max-width: 340px; justify-self: center; text-align: center; }
.lfc-home-footer .lfc-footer-brand::before {
  content: ""; position: absolute; left: 50%; top: 0; width: 250px; height: 140px; transform: translateX(-50%); pointer-events: none;
  background: var(--p) 4% 62% / 26px no-repeat, var(--yi) 96% 72% / 24px no-repeat;
}
.lfc-footer-mark { display: flex !important; flex-direction: column; align-items: center; gap: 14px; margin: 0 !important; color: #33382E !important; text-decoration: none !important; }
.lfc-footer-mark img { display: block; width: auto !important; max-width: none !important; height: 128px !important; }
.lfc-footer-mark span { font: 600 26px/1.15 'LFC Baloo', sans-serif; letter-spacing: -.01em; color: #33382E; }
.lfc-home-footer .lfc-footer-baseline { max-width: none !important; margin: 6px 0 14px !important; font: 600 20px/1.3 'LFC Baloo', sans-serif !important; color: var(--violet) !important; text-align: center; }
.lfc-home-footer .lfc-footer-baseline span { display: inline !important; white-space: normal !important; }
.lfc-home-footer .lfc-footer-network { margin: 0 !important; max-width: 300px; font: 400 15px/1.6 'LFC Inter', Inter, sans-serif !important; color: #5F6157 !important; }
.lfc-home-footer h2 { margin: 0 0 22px !important; font: 700 22px/1.2 'LFC Baloo', sans-serif !important; letter-spacing: -.01em; color: var(--violet) !important; }
.lfc-home-footer nav a { margin: 0 0 14px !important; font: 400 16px/1.4 'LFC Inter', Inter, sans-serif; color: #4A4C43 !important; }
.lfc-home-footer nav a:hover, .lfc-footer-channels a:hover { color: #33382E !important; }
.lfc-footer-channels { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.lfc-footer-channels li { margin: 0; padding: 0; }
.lfc-footer-channels li::before, .lfc-footer-channels li::marker { content: none; }
.lfc-home-footer .lfc-footer-channels a { display: flex; align-items: center; gap: 14px; width: fit-content; min-height: 44px; margin: 0; color: #33382E !important; font: 500 16px/1.3 'LFC Inter', Inter, sans-serif; }
.lfc-home-footer .lfc-footer-channels a.lfc-footer-phone { font: 700 26px/1.2 'LFC Baloo', sans-serif; letter-spacing: -.01em; white-space: nowrap; }
.lfc-footer-icon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #EDF1E3; color: #4E6A31; }
.lfc-footer-icon svg { width: 18px; height: 18px; }
.lfc-footer-channels li:nth-child(3) .lfc-footer-icon { background: #FBEEF4; }
.lfc-footer-channels li:nth-child(4) .lfc-footer-icon { background: #F4EFF9; }
.lfc-home-footer .lfc-footer-contact .lfc-enrol { margin-top: 0; font: 500 16px/1 'LFC Inter', Inter, sans-serif !important; }
.lfc-home-footer .lfc-financeurs { margin-top: 44px; }
.lfc-home-footer .lfc-financeurs__logos { gap: 18px 44px; }
.lfc-home-footer .lfc-financeurs__logos img { height: 52px; }
.lfc-home-footer .lfc-financeurs p { max-width: 760px; font: 400 12px/1.6 'LFC Inter', Inter, sans-serif; color: #5F6157; }
.lfc-home-footer .lfc-financeurs .lfc-financeurs__legal { font-size: 13px; }
@media (max-width: 1199.98px) and (min-width: 810px) {
  .lfc-home-footer { column-gap: 32px !important; padding-left: 32px !important; padding-right: 32px !important; }
  .lfc-home-footer::after { right: -420px !important; opacity: .4; }
}
@media (max-width: 809.98px) {
  .lfc-home-footer { grid-template-columns: 1fr !important; row-gap: 34px !important; padding: 64px 22px 24px !important; }
  .lfc-home-footer::after { right: -250px !important; top: 24px !important; width: 420px !important; height: 260px !important; opacity: .35; }
  .lfc-home-footer .lfc-footer-brand { grid-column: auto !important; }
  .lfc-home-footer nav, .lfc-home-footer .lfc-footer-contact { grid-column: auto !important; }
  .lfc-footer-mark img { height: 104px !important; }
  .lfc-home-footer h2 { margin-bottom: 14px !important; }
  .lfc-home-footer nav a { margin-bottom: 10px !important; }
  .lfc-home-footer .lfc-footer-contact .lfc-enrol { min-height: 52px; }
  .lfc-home-footer .lfc-financeurs { margin-top: 6px; }
}

/* « Petit groupe d’enfants, grande attention » (maquette « bulles » 2a v2 validée par Tom le 12/10, texte validé par Élodie) :
   trois bulles pastel en pâte à modeler parmi les étoiles ; arc-en-ciel et craies retirés le 12/10 (trop d'arcs-en-ciel).
   Remplace le bloc du runtime (.lfc-small-group, masqué par site.js) à la même place dans le flux. */
.lfc-small-group[hidden] { display: none !important; }
#lfc-home-small-group { order: 6; position: relative; z-index: 2; }
.lfc-home-small-group {
  --sg-violet: #6E4A8E; --bubble: clamp(250px, 26vw, 370px);
  position: relative; isolation: isolate; box-sizing: border-box; width: 100%; overflow: hidden;
  padding: 88px 30px 0; background: #FFFFFF; text-align: center;
}
.lfc-home-small-group::after {
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: var(--b) 6% 22% / 34px no-repeat, var(--p) 10.5% 30% / 26px no-repeat, var(--y) 90% 24% / 34px no-repeat,
    var(--s) 94% 31% / 30px no-repeat, var(--bi) 91% 39% / 22px no-repeat, var(--y) 4% 63% / 30px no-repeat,
    var(--s) 7% 70% / 26px no-repeat, var(--p) 94.5% 69% / 30px no-repeat, var(--bi) 97% 77% / 20px no-repeat;
}
.lfc-sg__inner { max-width: 1240px; margin: 0 auto; }
.lfc-home-small-group h2 { margin: 0 auto 18px; font: 700 clamp(30px, 3.4vw, 50px)/1.1 'LFC Baloo', sans-serif; letter-spacing: -.02em; color: var(--sg-violet); text-wrap: balance; }
.lfc-sg__intro { max-width: 760px; margin: 0 auto 30px; font: 400 19px/1.6 'LFC Inter', Inter, sans-serif; color: #3F443A; text-wrap: pretty; }
.lfc-sg__stage { position: relative; padding: 0 0 84px; }
.lfc-sg__facts { display: flex; justify-content: center; gap: clamp(14px, 2vw, 30px); margin: 0; padding: 0; list-style: none; }
.lfc-sg__facts li::before, .lfc-sg__facts li::marker { content: none; }
.lfc-sg__bubble {
  --light: #E6F0DA; --base: #CFE0BC; --dark: #B3C99B; --ink: #5B7D37; --ink-dark: #46642A;
  box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; flex: none;
  width: var(--bubble); height: var(--bubble); margin: 0; padding: 0 clamp(22px, 2.4vw, 40px) 12px; border-radius: 50%;
  background: var(--grain) center / 260px, radial-gradient(circle at 34% 28%, var(--light) 0%, var(--base) 52%, var(--dark) 100%);
  background-blend-mode: multiply, normal;
  box-shadow: inset -12px -16px 28px rgba(80, 60, 40, .08), inset 10px 12px 22px rgba(255, 255, 255, .55), 0 26px 40px -26px rgba(92, 72, 48, .5);
}
.lfc-sg__bubble[data-tone="beurre"] { --light: #FDF3D4; --base: #F7E3A8; --dark: #EDD28A; --ink: #D9A23A; --ink-dark: #B9842A; transform: translateY(-14px); }
.lfc-sg__bubble[data-tone="peche"] { --light: #FCE6EF; --base: #F6CDDF; --dark: #EBB2CB; --ink: #C35F82; --ink-dark: #A24A6A; }
.lfc-sg__number {
  margin: 0 0 6px; font: 800 clamp(78px, 8.8vw, 128px)/.9 'LFC Baloo', sans-serif; letter-spacing: -.03em; color: var(--ink);
  text-shadow: -1px -2px 0 rgba(255, 255, 255, .45), 0 3px 0 var(--ink-dark), 0 8px 12px rgba(60, 40, 20, .22);
}
.lfc-sg__label { margin: 0; color: #33382E; text-wrap: balance; }
.lfc-sg__label strong { display: block; font: 600 clamp(19px, 1.8vw, 25px)/1.15 'LFC Baloo', sans-serif; letter-spacing: -.01em; }
.lfc-sg__label span { display: block; margin-top: 6px; font: 400 clamp(13px, 1.1vw, 15px)/1.4 'LFC Inter', Inter, sans-serif; color: #4A4C43; }
@media (min-width: 640px) and (max-width: 899.98px) {
  .lfc-home-small-group { --bubble: 31vw; padding: 70px 18px 0; }
  .lfc-sg__number { font-size: 11vw; }
  .lfc-sg__label strong { font-size: 17px; }
  .lfc-sg__label span { font-size: 12.5px; }
}
@media (max-width: 639.98px) {
  .lfc-home-small-group { --bubble: min(236px, 70vw); padding: 56px 20px 0; }
  .lfc-home-small-group::after { background: var(--b) 6% 2% / 22px no-repeat, var(--y) 93% 3% / 24px no-repeat, var(--p) 92% 40% / 20px no-repeat, var(--s) 6% 58% / 20px no-repeat; }
  .lfc-home-small-group h2 { font-size: clamp(28px, 8.4vw, 34px); margin-bottom: 14px; }
  .lfc-sg__intro { margin-bottom: 28px; font-size: 17px; }
  .lfc-sg__stage { padding-bottom: 56px; }
  .lfc-sg__facts { flex-direction: column; align-items: center; gap: 18px; }
  .lfc-sg__bubble[data-tone="beurre"] { transform: none; }
  .lfc-sg__number { font-size: 84px; }
  .lfc-sg__label strong { font-size: 20px; }
  .lfc-sg__label span { font-size: 14px; }
}

/* « Nou la Fée » as a letter from the founders (mockup 1c v3 validated by Tom, 12/10). Reading order: left
   column (1, 2), right column (quote 3, then 4). Copy verbatim; bold only eases reading. */
/* The runtime forces display on its sections: keep the replaced block really hidden. */
.lfc-founders[hidden] { display: none !important; }
.lfc-home-founders { order: 5; position: relative; z-index: 3; box-sizing: border-box; width: 100%; max-width: 1440px; margin: 0 auto; padding: 230px 30px 40px; overflow: hidden; font-family: 'LFC Inter', Inter, sans-serif; }
.lfc-letter-rainbow { position: absolute; z-index: 0; left: 50%; top: 36px; width: 1040px; max-width: none; height: auto; transform: translateX(-50%); opacity: .72; pointer-events: none; }
/* 12/10 après-midi : arc net en 2080 px, plus petit, ses pieds passent derrière la lettre (plus de brume blanche à côté). */
.lfc-letter-star { position: absolute; z-index: 2; width: 34px; height: 34px; pointer-events: none; }
.lfc-letter-star.s1 { left: 6%; top: 118px; transform: rotate(-12deg); }
.lfc-letter-star.s2 { right: 7%; top: 96px; width: 42px; height: 42px; transform: rotate(10deg); }
.lfc-letter-star.s3 { right: 3%; top: 180px; width: 28px; height: 28px; }
.lfc-letter-star.s4 { left: 3%; bottom: 120px; width: 30px; height: 30px; }
.lfc-letter { position: relative; z-index: 1; max-width: 1080px; margin: 0 auto; padding: 56px 60px 104px; border-radius: 28px; background: #FFFDF8; box-shadow: 0 34px 60px -42px rgba(92, 72, 48, .55), 0 0 0 1px rgba(92, 72, 48, .05); color: #4D5048; }
.lfc-letter::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--grain, none) repeat; opacity: .22; pointer-events: none; }
.lfc-letter-head { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 450px; gap: 28px; align-items: center; margin-bottom: 40px; }
.lfc-letter-overline { margin: 0 0 10px; font: 600 14px/1.4 'LFC Inter', Inter, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #5C7438; }
/* « Nou la Fée » between French quotes (call of 12/10) stays on one line beside the photos. */
.lfc-letter-titles h2 { margin: 0; font: 600 clamp(48px, 5vw, 76px)/1 'LFC Baloo', sans-serif; letter-spacing: -.02em; color: #866397; white-space: nowrap; }
.lfc-letter-subtitle { margin: 14px 0 0; font: 600 20px/1.35 'LFC Inter', Inter, sans-serif; color: #866397; }
.lfc-letter-photos { position: relative; height: 290px; margin: 0; }
.lfc-polaroid { position: absolute; top: 18px; width: 186px; height: 222px; padding: 12px 12px 34px; box-sizing: border-box; background: #FFFFFF; border-radius: 6px; box-shadow: 0 16px 30px -18px rgba(92, 72, 48, .6); }
.lfc-polaroid::before { content: ""; display: block; width: 100%; height: 100%; border-radius: 2px; background: url(/vendor/lfc/fondateurs-enfance-20260924.webp) no-repeat; background-size: 200% auto; }
.lfc-polaroid-left { left: 0; transform: rotate(-5deg); }
.lfc-polaroid-left::before { background-position: 0 30%; }
.lfc-polaroid-right { left: 158px; top: 6px; transform: rotate(4deg); }
.lfc-polaroid-right::before { background-position: 100% 30%; }
.lfc-letter-medallion { position: absolute; right: 0; top: 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 168px; height: 168px; padding: 18px; box-sizing: border-box; border-radius: 50%; background: #FFFFFF; border: 6px solid #D3E0B9; box-shadow: 0 14px 26px -18px rgba(92, 72, 48, .55); text-align: center; color: #33382E; }
.lfc-letter-medallion strong { font: 600 19px/1.1 'LFC Baloo', sans-serif; }
.lfc-letter-medallion span { margin-top: 4px; font: 600 13px/1.2 'LFC Inter', Inter, sans-serif; }
.lfc-letter-medallion small { margin-top: 6px; font: 400 11.5px/1.35 'LFC Inter', Inter, sans-serif; color: #5F6157; }
.lfc-letter-body { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 52px; }
.lfc-letter-col > p { margin: 0 0 22px; font-size: 17.5px; line-height: 1.75; color: #4D5048; }
.lfc-letter-col strong { font-weight: 650; color: #33382E; }
.lfc-letter-quote { position: relative; margin: 0 0 30px; padding: 8px 8px 8px 44px; }
.lfc-letter-quote::before { content: "“"; position: absolute; left: 0; top: -14px; font: 600 72px/1 'LFC Baloo', sans-serif; color: #D8C6E3; }
.lfc-letter-quote p { margin: 0; font: 600 clamp(24px, 2.4vw, 31px)/1.3 'LFC Baloo', sans-serif; color: #866397; }
.lfc-letter-fairy { position: absolute; left: 50px; bottom: 20px; width: 62px; height: auto; opacity: .9; pointer-events: none; }
.lfc-letter-wishes { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: 22px; margin-top: 34px; }
.lfc-wish { box-sizing: border-box; width: min(470px, 100%); align-self: stretch; margin: 0; padding: 22px 26px 22px 70px; border-radius: 22px; font-size: 16px; line-height: 1.55; color: #4D5048; background: #FBE6F0 url(/vendor/lfc/arc-en-ciel/svg/etoile-peche.svg) 24px 50% / 30px no-repeat; }
.lfc-wish-pros { background-color: #E3EEF8; background-image: url(/vendor/lfc/arc-en-ciel/svg/etoile-bleu.svg); }
.lfc-wish strong { display: block; margin-bottom: 2px; font: 600 18px/1.3 'LFC Baloo', sans-serif; color: #866397; }
.lfc-letter-button { flex: none; }
/* Retours d'Élodie du 12/10 : le vœu des parents mène au formulaire, discrètement (même typographie, soulignement au survol). */
.lfc-wish-link { display: block; color: inherit; text-decoration: none; border-radius: 6px; }
.lfc-wish-link:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lfc-wish-link:focus-visible { outline: 2px solid #866397; outline-offset: 6px; }
@media (max-width: 1099px) {
  .lfc-home-founders { padding: 150px 24px 30px; }
  .lfc-letter-rainbow { top: 20px; width: 900px; }
  .lfc-letter { padding: 44px 40px 48px; }
  .lfc-letter-head { grid-template-columns: 1fr; gap: 24px; }
  .lfc-letter-photos { justify-self: center; width: 500px; max-width: 100%; }
  .lfc-letter-body { gap: 36px; }
}
@media (max-width: 760px) {
  .lfc-home-founders { padding: 96px 14px 20px; }
  .lfc-letter-rainbow { top: 22px; width: 340px; }
  .lfc-letter { padding: 30px 22px 80px; border-radius: 22px; }
  .lfc-letter-head { margin-bottom: 26px; text-align: center; }
  .lfc-letter-overline { font-size: 12px; }
  .lfc-letter-titles h2 { font-size: 48px; white-space: normal; }
  .lfc-letter-subtitle { font-size: 17px; }
  .lfc-letter-photos { width: 100%; height: 230px; }
  .lfc-polaroid { width: 132px; height: 160px; padding: 8px 8px 24px; }
  .lfc-polaroid-right { left: 106px; }
  .lfc-letter-medallion { top: 40px; width: 128px; height: 128px; padding: 12px; border-width: 5px; }
  .lfc-letter-medallion strong { font-size: 15px; }
  .lfc-letter-medallion span { font-size: 11px; }
  .lfc-letter-medallion small { font-size: 9.5px; }
  .lfc-letter-body { grid-template-columns: 1fr; gap: 0; }
  .lfc-letter-col > p { font-size: 16px; line-height: 1.65; }
  .lfc-letter-quote { padding-left: 34px; margin: 6px 0 24px; }
  .lfc-letter-quote::before { font-size: 56px; }
  .lfc-letter-quote p { font-size: 22px; }
  .lfc-letter-fairy { width: 46px; left: 50%; bottom: 14px; transform: translateX(-50%); }
  .lfc-letter-wishes { gap: 14px; margin-top: 22px; }
  .lfc-wish { padding: 18px 18px 18px 58px; background-position: 18px 50%; background-size: 26px; }
  .lfc-letter-button { width: 100%; justify-content: center; }
}
@media (max-width: 360px) {
  .lfc-polaroid { width: 118px; height: 144px; }
  .lfc-letter-titles h2 { font-size: 40px; }
  .lfc-polaroid-right { left: 92px; }
  .lfc-letter-medallion { width: 112px; height: 112px; }
}

/* SEO 12/10: the H1 eyebrow breaks after « La Fée Clochette, » only. */
.lfc-home-overline > span { white-space: nowrap; }

/* Harmonisation mobile de l'accueil (revue de Thor du 12/10, docs/design/revue-mobile-2026-10-12.md, validée par Tom) :
   échelle commune de 600 px et moins. H2 de section en clamp(25px, 7vw, 28px), titre d'affichage en clamp(34px, 10.5vw, 42px),
   corps 16 px, texte secondaire 14 px, boutons principaux de 48 px, cibles tactiles de 44 px, sections de 56 px.
   « Nos valeurs » : illustrations de 140 px de haut ; « Petit groupe » : trois cercles de chiffres sur une ligne.
   Le bureau ne change pas. Textes et contenus inchangés. */
@media (max-width: 600px) {
  /* Tokens of vendor/lfc/mobile/scale.css when the page loads it, same values otherwise. */
  .lfc-home-page {
    --m-h2: var(--lfc-m-h2, clamp(25px, 7vw, 28px)); --m-display: var(--lfc-m-display, clamp(34px, 10.5vw, 42px));
  }
  /* Titres de section */
  .lfc-home-page h2.lfc-section-title-style, .lfc-home-page .lfc-home-differences h2, .lfc-home-page .lfc-home-small-group h2,
  .lfc-home-page .lfc-faq-section h2.lfc-text, #main .lfc-home-page section.lfc-contact-band h2.lfc-text {
    --lfc-font-size: var(--m-h2) !important; font-size: var(--m-h2) !important; line-height: 1.15 !important;
  }
  .lfc-home-page .lfc-letter-titles h2 { font-size: var(--m-display); }
  #pour-aller-plus-loin:has(#lfc-home-network) h2 { font-size: var(--lfc-m-h2, clamp(25px, 7vw, 28px)) !important; line-height: 1.15 !important; }
  /* Boutons et liens d'action */
  .lfc-home-page .lfc-hero a.lfc-button { min-height: 48px !important; height: 48px !important; }
  .lfc-home-page .lfc-home-section-link .lfc-text-link, .lfc-home-page #creches .lfc-text-link { display: inline-flex; align-items: center; min-height: 44px; }

  /* Ce qui fée nos différences : étiquettes en texte secondaire */
  .lfc-home-page .lfc-difference__label { font-size: 14px; line-height: 1.4; }

  /* Nos valeurs : cartes resserrées, illustration de 140 px de haut */
  .lfc-home-page .lfc-values.lfc-has-valeurs { padding-top: 56px !important; padding-bottom: 56px !important; }
  .lfc-home-page .lfc-valeurs-cards { gap: 16px; margin-top: 24px; }
  .lfc-home-page .lfc-valeur-card { padding: 28px 20px 36px; }
  .lfc-home-page .lfc-valeur-card h3 { font-size: 22px; }
  .lfc-home-page .lfc-valeur-card__art { margin: 12px 0 16px; }
  .lfc-home-page .lfc-valeur-card__art img { width: auto; max-width: 100%; height: 140px; margin: 0 auto; object-fit: contain; }
  .lfc-home-page .lfc-valeur-card__quote { margin-bottom: 12px; font-size: 20px; line-height: 1.25; }
  .lfc-home-page .lfc-valeur-card__body { font-size: 16px; line-height: 1.55; }
  .lfc-home-page .lfc-valeur-card__spark { transform: scale(.8); transform-origin: 100% 100%; }

  /* Retours de Tom sur Android (12/10 au soir). Lieux sous les photos du hero : une colonne, une ligne par lieu,
     flèche lisible. */
  .lfc-home-page .lfc-home-locations { grid-template-columns: 1fr; gap: 10px !important; }
  .lfc-home-page .lfc-home-locations a { min-height: 52px; padding: 8px 18px 8px 16px; gap: 12px; font-size: 16px; justify-content: flex-start; text-align: left; }
  .lfc-home-page .lfc-home-locations a span[aria-hidden] { margin-left: auto; font-size: 20px; line-height: 1; }
  /* Lettre « Nou la Fée » : plus de vide entre les photos et le premier paragraphe. */
  .lfc-home-page .lfc-letter-head { margin-bottom: 16px; }
  .lfc-home-page .lfc-letter-photos { height: 196px; }
  /* Vœux : une étoile par carte, au même endroit, sur la première ligne ; l'étoile verte de la section ne
     déborde plus sur la carte des professionnels. */
  .lfc-home-page .lfc-wish { background-position: 18px 16px; }
  .lfc-home-page .lfc-letter-star.s4 { display: none; }
  /* Nos valeurs : les étoiles d'angle restent au-dessus du surtitre ; les titres de section de l'accueil en violet #6E4A8E et
     en gras, comme ceux des maquettes du 12/10 (Petit groupe, différences, réseau). */
  .lfc-home-page .lfc-values.lfc-has-valeurs::before { background-position: 16px 12px, 44px 28px, -75px -60px; }
  .lfc-home-page h2.lfc-section-title-style, .lfc-home-page .lfc-faq-section h2.lfc-text, #main .lfc-home-page section.lfc-contact-band h2.lfc-text {
    --lfc-text-color: #6E4A8E !important; color: #6E4A8E !important; font-weight: 700 !important;
  }

  /* « Prenons le temps de nous rencontrer » : avec le titre à 28 px, l'étoile du titre passe au coin haut de la carte
     au lieu de couvrir « de nous ». */
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-inner { padding-top: 48px !important; }
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-inner::after {
    /* Seule l'étoile du titre reste : les trois petites étoiles posées à hauteur fixe chevauchaient le texte ou le
       bouton dès que l'intro passait sur une ligne de plus. */
    background-image: url(../svg/titre-etoile-traits-beurre.svg); background-position: calc(100% - 16px) 10px; background-size: 46px 36px;
  }
  /* Le titre suit la largeur de la carte (il en débordait de 12 à 52 px entre 320 et 360 px). */
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-title, #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-heading { width: 100% !important; max-width: 100% !important; }

  /* Nos micro-crèches : description des cartes en texte courant */
  .lfc-home-page .lfc-place__text { font-size: 15px !important; line-height: 1.45 !important; }
  /* Questions et contact : corps de 16 px */
  .lfc-home-page .lfc-faq-section details p { font-size: 16px; line-height: 1.55; }
  .lfc-home-page .lfc-contact-intro { font-size: 16px; line-height: 1.55; }
}

/* « Petit groupe d’enfants, grande attention » sur mobile, accueil et crèches (même bloc, pages.small_group()) :
   retours iPhone et Android de Tom du 12/10. Une colonne, un chiffre par ligne : cercle à gauche, légende à droite.
   Les trois colonnes de hauteurs inégales et les étoiles posées sur les cercles disparaissent. */
@media (max-width: 600px) {
  .lfc-home-small-group { padding: 56px 20px 0; }
  .lfc-home-small-group::after { background: var(--b) 6% 14px / 22px no-repeat, var(--y) 93% 18px / 24px no-repeat; }
  .lfc-sg__intro { font-size: 16px; line-height: 1.55; margin-bottom: 28px; }
  .lfc-sg__stage { padding-bottom: 56px; }
  .lfc-sg__facts { flex-direction: column; align-items: stretch; gap: 16px; max-width: 420px; margin: 0 auto; }
  .lfc-sg__bubble, .lfc-sg__bubble[data-tone] {
    display: flex; flex-direction: row; align-items: center; gap: 16px; flex: none;
    width: auto; height: auto; padding: 0; border-radius: 0; background: none; box-shadow: none; transform: none; text-align: left;
  }
  .lfc-sg__number {
    display: flex; flex: none; align-items: center; justify-content: center; box-sizing: border-box;
    width: 88px; height: 88px; margin: 0; border-radius: 50%; font-size: 36px; line-height: 1;
    background: var(--grain) center / 200px, radial-gradient(circle at 34% 28%, var(--light) 0%, var(--base) 52%, var(--dark) 100%);
    background-blend-mode: multiply, normal;
    box-shadow: inset -8px -10px 18px rgba(80, 60, 40, .08), inset 6px 8px 14px rgba(255, 255, 255, .55), 0 16px 24px -18px rgba(92, 72, 48, .5);
    text-shadow: -1px -1px 0 rgba(255, 255, 255, .45), 0 2px 0 var(--ink-dark), 0 5px 8px rgba(60, 40, 20, .2);
  }
  .lfc-sg__label { flex: 1; min-width: 0; text-align: left; }
  .lfc-sg__label strong { font-size: 18px; line-height: 1.2; }
  .lfc-sg__label span { margin-top: 4px; font-size: 14px; line-height: 1.4; }
}
@media (max-width: 359.98px) {
  .lfc-sg__number { width: 76px; height: 76px; font-size: 32px; }
  .lfc-sg__label strong { font-size: 17px; }
}

/* Accueil mobile, retours iPhone de Tom du 12/10 (P2, P4, P5 et détails) : marges de page de 20 px, cartes de 24 px de
   marge intérieure, 24 à 36 px entre cartes empilées, boutons pleine largeur sur la marge du texte. */
@media (max-width: 600px) {
  /* Hero : boutons sur la marge du texte ; deux étoiles qui tombaient sur « pour » et « enfant » retirées. */
  .lfc-home-page .lfc-home-intro .lfc-actions { padding: 0 !important; }
  .lfc-home-page .lfc-hero::after { background-size: 18px, 0 0, 0 0, 13px, 12px, 420px 405px; }
  /* Carrousel des crèches : l'ombre des cartes n'est plus coupée, la flèche ronde ne touche plus le texte. */
  .lfc-home-page .lfc-places { padding-bottom: 48px !important; }
  .lfc-home-page .lfc-place__text { padding-right: 58px !important; }
  /* Lettre et vœux : 20 px de marge de page, vœux en cartes de 24 px de marge intérieure, colonne d'étoile plus étroite. */
  .lfc-home-page .lfc-home-founders { padding-left: 20px; padding-right: 20px; }
  .lfc-home-page .lfc-letter { padding-left: 24px; padding-right: 24px; }
  .lfc-home-page .lfc-letter-wishes { gap: 24px; margin-top: 24px; }
  .lfc-home-page .lfc-wish { padding: 20px 24px 20px 52px; background-position: 20px 22px; background-size: 22px; }
  /* Photos des fondateurs : groupe centré, médaillon sous les photos au lieu de couvrir Frédéric. */
  .lfc-home-page .lfc-letter-photos { width: 100%; max-width: 250px; height: auto; margin: 0 auto; padding-top: 196px; }
  .lfc-home-page .lfc-polaroid-left { left: 0; }
  .lfc-home-page .lfc-polaroid-right { left: auto; right: 0; }
  .lfc-home-page .lfc-letter-medallion {
    position: static; width: auto; height: auto; margin: 4px 0 0; padding: 10px 16px; border-width: 3px; border-radius: 22px;
    background: #FFFFFF; box-shadow: none; flex-direction: column;
  }
  .lfc-home-page .lfc-letter-medallion strong { font-size: 17px; }
  .lfc-home-page .lfc-letter-medallion span { font-size: 13px; margin-top: 2px; }
  .lfc-home-page .lfc-letter-medallion small { font-size: 13px; margin-top: 2px; }
  /* Ce qui fée nos différences : marge intérieure des notes. */
  .lfc-home-page .lfc-note { padding: 16px 12px 14px; }
  /* Nos valeurs : cartes de 24 px de marge intérieure, 36 px entre cartes (l'onglet étoile dépasse). */
  .lfc-home-page .lfc-valeur-card { padding: 30px 24px 36px; }
  .lfc-home-page .lfc-valeurs-cards { gap: 36px; }
  /* « Prenons le temps de nous rencontrer » : bouton pleine largeur sur la marge du texte, illustration centrée,
     sans grand vide au-dessus. */
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-inner { padding-left: 24px !important; padding-right: 24px !important; }
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-header { align-items: stretch !important; }
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-button-container { align-self: stretch !important; width: 100% !important; }
  #main .lfc-home-page section.lfc-contact-band a.lfc-primary-button { width: 100% !important; justify-content: center !important; }
  #main .lfc-home-page section.lfc-contact-band .lfc-contact-band-media { position: relative !important; left: auto !important; right: auto !important; width: 100% !important; max-width: 300px; margin: 24px auto 0 !important; transform: none !important; }
}

/* Pied de page partagé sur mobile (P8) : tout centré comme l'accroche ; liens sans soulignement, de façon cohérente. */
@media (max-width: 600px) {
  .lfc-home-footer nav, .lfc-home-footer .lfc-footer-contact { text-align: center; display: flex; flex-direction: column; align-items: center; }
  .lfc-home-footer nav a { display: block; }
  .lfc-home-footer .lfc-footer-channels { width: fit-content; margin-left: auto; margin-right: auto; }
  .lfc-home-footer .lfc-footer-channels a, .lfc-home-footer .lfc-footer-channels a span, .lfc-home-footer nav a { text-decoration: none !important; border-bottom: 0 !important; }
  .lfc-home-footer .lfc-footer-contact .lfc-enrol { align-self: center; }
}

/* Carte « Prenons le temps de nous rencontrer » sur mobile, retours iPhone de Tom (lot 2, 13/10). Écrite sur #main pour
   l'accueil ; scripts/home_contact.py la recopie pour les crèches, les villes et les autres pages qui reprennent la carte.
   - Seule l'étoile du titre reste, dans le coin haut : les trois petites étoiles posées à hauteur fixe tombaient sur
     le paragraphe dès qu'il changeait de longueur.
   - Titre un peu plus petit et marge intérieure de 24 px : deux lignes à 390 px, l'étoile ne le touche plus.
   - Bouton centré comme la barre collée : 52 px, texte et flèche alignés au milieu (WebKit compris). */
@media (max-width: 600px) {
  #main section.lfc-contact-band .lfc-contact-band-inner { padding: 48px 24px 0 !important; }
  #main section.lfc-contact-band .lfc-contact-band-inner::after {
    background-image: url(../svg/titre-etoile-traits-beurre.svg) !important; background-position: calc(100% - 16px) 10px !important;
    background-size: 46px 36px !important;
  }
  #main section.lfc-contact-band .lfc-contact-band-title, #main section.lfc-contact-band .lfc-contact-band-heading { width: 100% !important; max-width: 100% !important; }
  #main section.lfc-contact-band h2.lfc-text { --lfc-font-size: clamp(26px, 8vw, 32px) !important; font-size: clamp(26px, 8vw, 32px) !important; line-height: 1.12 !important; }
  #main section.lfc-contact-band a.lfc-primary-button {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important;
    box-sizing: border-box; height: 52px !important; min-height: 52px; padding: 0 22px !important;
  }
  #main section.lfc-contact-band a.lfc-primary-button [data-lfc-name="Title"] { display: flex !important; align-items: center !important; height: 26px !important; overflow: visible; }
  #main section.lfc-contact-band a.lfc-primary-button [data-lfc-name="Title"] > div { height: auto !important; align-items: center !important; }
  #main section.lfc-contact-band a.lfc-primary-button [data-lfc-name="Title"] > div:first-child { position: relative !important; top: auto !important; }
  #main section.lfc-contact-band a.lfc-primary-button p.lfc-text { margin: 0 !important; line-height: 26px !important; }
  #main section.lfc-contact-band a.lfc-primary-button::after { flex: none; width: 20px !important; height: 20px !important; align-self: center !important; margin: 0 !important; }
}
/* Accueil : plus de vide de 200 px entre « La sécurité affective » et « Une journée à la crèche » (marges du bureau).
   Lot iPhone 3 (13/10) : la forme verte d'angle de « Nos valeurs » débordait sous la section et la journée la tranchait à
   plat : masquée sur mobile ; l'arc-en-ciel de la journée (110 px de large) était rogné à gauche par une boîte de 64 px : entier,
   il sort par le bord droit de l'écran comme au bureau et laisse le titre libre. */
@media (max-width: 600px) {
  .lfc-home-page .lfc-values.lfc-has-valeurs { padding-bottom: 24px !important; }
  .lfc-home-page .lfc-values.lfc-has-valeurs::after { content: none; }
  .lfc-home-page .lfc-rituals { margin-top: 0 !important; padding-top: 16px !important; }
  .lfc-home-page .lfc-rituals::before { width: 110px; right: -40px; }
}
