/* 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é. */

: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, 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;
}
.lfc-hero h1 { color: #33382E !important; }
.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; }
/* 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: Nunito, sans-serif; font-weight: 900; font-size: 22px; 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-logo-400.webp), var(--y), var(--y), var(--si), var(--bi), var(--y), var(--s), url(../svg/maquette-hero-gauche.svg);
    background-position: 151px 111px, 306px 146px, 330px 136px, 359px 124px, 266px 299px, 174px 356px, 286px 439px, 0 100px;
    background-size: 151px auto, 18px, 21px, 27px, 27px, 42px, 33px, 300px 600px;
  }
  .lfc-hero::after {
    right: 0; width: 400px;
    background-image: var(--yi), var(--b), var(--s), var(--pi), url(../svg/maquette-hero-droite.svg);
    background-position: 49px 181px, 235px 164px, 147px 247px, 105px 379px, 0 100px;
    background-size: 28px, 47px, 42px, 26px, 400px 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: 190px 150px, 235px 164px, 160px 262px, 190px 470px, 0 100px; }
  .lfc-hero::before { background-position: 151px 111px, 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-logo-400.webp), url(../svg/maquette-hero-gauche.svg);
    background-position: -8px -4px, 0 24px;
    background-size: 68px auto, 90px 180px;
  }
  .lfc-hero::after {
    right: 0; top: auto; bottom: -60px; width: 110px; height: 190px;
    background: url(../svg/maquette-hero-droite.svg) 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-logo-400.webp), var(--y), url(../svg/maquette-hero-gauche.svg);
    background-position: 1px -1px, 110px 4px, 0 40px; background-size: 102px auto, 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: 232px 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 painted rainbow of desktop on the right, bigger, reaching the text. */
  .lfc-hero::before {
    left: 0; right: 0; width: auto; top: 100px; height: 300px; z-index: 0;
    background-image: url(../images/fee-logo-400.webp), var(--y), var(--si), url(../svg/mobile/hero-gauche-vol.svg);
    background-position: calc(50% + 6px) 0, calc(50% + 62px) 6px, calc(50% - 60px) 4px, 0 0;
    background-size: 74px auto, 14px, 16px, 150px 300px;
  }
  .lfc-hero::after {
    right: 0; top: 64px; bottom: auto; width: 270px; height: 560px;
    background-image: var(--b), var(--y), var(--s), var(--pi), var(--y), url(../svg/maquette-hero-droite.svg);
    background-position: 150px 22px, 214px 330px, 70px 400px, 190px 470px, 120px 520px, right 0;
    background-size: 18px, 15px, 16px, 13px, 12px, 270px 405px;
  }
  .lfc-home-overline { font-size: 11.5px; letter-spacing: .16em; margin-bottom: 8px; }
  .lfc-hero h1 { 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; }

/* « Prendre le temps d'être un enfant » en vert, la couleur de La Fée Clochette. */
.lfc-hero h1, .lfc-hero h1.lfc-text { color: #5E7E2E !important; --lfc-text-color: #5E7E2E !important; }

/* 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: #5E7E2E; }
.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% 62%; }
.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; }
}
