.elementor-8473 .elementor-element.elementor-element-06550a8{--display:flex;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-06550a8:not(.elementor-motion-effects-element-type-background), .elementor-8473 .elementor-element.elementor-element-06550a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}.elementor-8473 .elementor-element.elementor-element-de01496{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-b124b8c > .elementor-widget-container{padding:-1px -1px -1px -1px;}.elementor-8473 .elementor-element.elementor-element-1f2e2f3{--display:flex;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-7ee4f15 > .elementor-widget-container{padding:-1px -1px -1px -1px;}.elementor-8473 .elementor-element.elementor-element-ff19208{--display:flex;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-449c6ab{--display:flex;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-c9ba9f0{--display:flex;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-58e0180{--display:flex;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-8473 .elementor-element.elementor-element-93ab0a7 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-8473 .elementor-element.elementor-element-8bdd2d4{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-c40c7b2 *//* Reset Elementor HTML widget wrapper globally */
.elementor-widget-html .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Global pill highlight (used across all sections) */
.be-pill {
  display: inline-block;
  background-color: #97C772;
  color: #ffffff;
  padding: 4px 22px;
  border-radius: 20px;
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1.5;
  margin: 0 4px;
  vertical-align: middle;
}

/* ── Force reset Elementor widget wrapper ── */
.elementor-widget-html,
.elementor-widget-html .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  width: 100% !important;
  background: transparent !important;
}

/* ── Hero outer: this IS the visible section ── */
.beh {
  background-color: #FFF9F2 !important;
  width: 100% !important;
  padding: 80px 0 !important;
  font-family: 'Inter', sans-serif;
}

/* ── Max-width inner wrapper ── */
.beh-in {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: center !important;
}

/* ── Orange badge ── */
.beh-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(224,112,42,0.1) !important;
  color: #e0702a !important;
  border: 1.5px solid rgba(224,112,42,0.2) !important;
  padding: 8px 20px !important;
  border-radius: 50px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-bottom: 24px !important;
  line-height: 1.4 !important;
}

/* ── H1 ── */
.beh h1 {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(36px, 5vw, 62px) !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}
.beh h1::after { display: none !important; } /* kill theme underlines */

/* ── Animated city pill ── */
.beh-city {
  display: inline-block !important;
  background-color: #97C772 !important;
  color: #ffffff !important;
  padding: 6px 26px !important;
  border-radius: 20px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: clamp(32px, 4.5vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  box-shadow: 0 10px 28px rgba(151,199,114,0.35) !important;
  transition: opacity 0.3s, transform 0.3s !important;
  text-decoration: none !important;
  border: none !important;
}
.beh-city.out { opacity: 0 !important; transform: translateY(-14px) !important; }
.beh-city.in  { animation: cityAnim 0.4s ease forwards !important; }
@keyframes cityAnim {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Subtitle ── */
.beh-sub {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 20px !important;
  font-style: italic !important;
  color: #334155 !important;
  line-height: 1.65 !important;
  max-width: 480px !important;
  margin: 0 0 36px !important;
}

/* ── Button row ── */
.beh-btns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
}

/* ── CTA 1: Orange filled ── */
.beh-btn-orange {
  background-color: #fcc23c !important;
  color: #ffffff !important;
  padding: 16px 34px !important;
  border-radius: 18px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(224,112,42,0.35) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.beh-btn-orange:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(224,112,42,0.45) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ── CTA 2: White + green border ── */
.beh-btn-white {
  background-color: #ffffff !important;
  color: #97C772 !important;
  padding: 14px 32px !important;
  border-radius: 18px !important;
  border: 2.5px solid rgba(151,199,114,0.4) !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  transition: background 0.2s, border-color 0.2s !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.beh-btn-white:hover {
  background-color: rgba(151,199,114,0.09) !important;
  border-color: #97C772 !important;
  color: #97C772 !important;
  text-decoration: none !important;
}

/* ── Right visual: image stack ── */
.beh-visual {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  position: relative !important;
}

/* ── Main photo ── */
.beh-img-main {
  width: 85% !important;
  height: auto !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  border-radius: 40px !important;
  border: 6px solid #ffffff !important;
  box-shadow: 0 25px 60px rgba(0,0,0,0.14) !important;
  display: block !important;
  max-width: none !important;
  float: none !important;
}

/* ── Floating "Produits locaux" card ── */
.beh-img-float {
  width: 75% !important;
  height: auto !important;
  margin-top: -80px !important;
  position: relative !important;
  z-index: 10 !important;
  align-self: flex-start !important;
  filter: drop-shadow(0 20px 32px rgba(0,0,0,0.18)) !important;
  display: block !important;
  max-width: none !important;
  float: none !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── Mobile ── */
@media (max-width: 1024px) {
  .beh-in {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 0 24px !important;
  }
  .beh-visual { display: none !important; }
  .beh { padding: 60px 0 !important; }
}
@media (max-width: 600px) {
  .beh-btns { flex-direction: column !important; }
  .beh-btn-orange, .beh-btn-white { width: 100% !important; justify-content: center !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b124b8c *//* Keep navbar always above everything including Leaflet GPU layers */
.elementor-location-header,
.e--sticky,
header,
#masthead {
  z-index: 99999 !important;
  position: relative !important;
}

/* Contain the map's stacking context so it can't escape */
.bem {
  isolation: isolate !important;
  position: relative !important;
  z-index: 1 !important;
}






/* Elementor reset */
.elementor-widget-html .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.be-pill {
  font-weight: 700 !important;
}

/* ── Section wrapper ── */

.bem {
  background-color: #ffffff !important;
  width: 100% !important;
  padding: 80px 0 !important;
  font-family: 'Inter', sans-serif;
}
.bem-in {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}

/* ── Title ── */
.bem-title {
  text-align: center !important;
  margin-bottom: 48px !important;
}
.bem-title h2 {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(26px, 4vw, 48px) !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bem-title h2::after { display: none !important; }

/* ── Split container ── */
.bem-split {
  display: flex !important;
  height: 700px !important;
  border-radius: 40px !important;
  overflow: hidden !important;
  border: 8px solid #F7EFE5 !important;
  box-shadow: 0 25px 60px rgba(0,0,0,0.1) !important;
}

/* ── LEFT: Scrollable list ── */
.bem-list {
  width: 420px !important;
  min-width: 320px !important;
  background: #ffffff !important;
  border-right: 1px solid #f1f5f9 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

.bem-list-head {
  padding: 20px !important;
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid #f8fafc !important;
  flex-shrink: 0 !important;
  backdrop-filter: blur(8px) !important;
}
.bem-list-head h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  line-height: 1.4 !important;
}
.bem-list-head h3::after { display: none !important; }

.bem-list-body {
  overflow-y: auto !important;
  flex: 1 !important;
  padding: 12px !important;
}
.bem-list-body::-webkit-scrollbar { width: 4px; }
.bem-list-body::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 10px; }

/* ── Each crèche card in list ── */
.bem-card {
  display: flex !important;
  gap: 14px !important;
  padding: 14px !important;
  border-radius: 24px !important;
  border: 2px solid #f8fafc !important;
  background: rgba(248,250,252,0.5) !important;
  margin-bottom: 10px !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
  text-decoration: none !important;
}
.bem-card:hover {
  border-color: rgba(151,199,114,0.35) !important;
  background: #ffffff !important;
}
.bem-card.bem-active {
  border-color: #97C772 !important;
  background: rgba(151,199,114,0.06) !important;
  box-shadow: 0 4px 16px rgba(151,199,114,0.13) !important;
}

/* Card thumbnail */
.bem-card-img {
  width: 90px !important;
  height: 90px !important;
  border-radius: 18px !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  display: block !important;
  border: none !important;
  box-shadow: none !important;
}

/* Card text */
.bem-card-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
.bem-card-name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #e0702a !important;
  line-height: 1.35 !important;
  margin: 0 0 4px !important;
}
.bem-card-addr {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 10px !important;
  color: #94a3b8 !important;
  margin-bottom: 6px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.bem-card-meta {
  display: flex !important;
  gap: 10px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 10px !important;
  color: #94a3b8 !important;
  margin-bottom: 10px !important;
}

/* Card button */
.bem-card-btn {
  background-color: #FCC23C !important;
  color: #ffffff !important;
  border: none !important;
  width: 100% !important;
  padding: 8px 0 !important;
  border-radius: 12px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  display: block !important;
  text-align: center !important;
  transition: opacity 0.2s !important;
}
.bem-card-btn:hover { opacity: 0.88 !important; }

/* ── RIGHT: Map ── */
.bem-map-wrap {
  flex: 1 !important;
  position: relative !important;
  overflow: hidden !important;
}
#bem-map {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* Bottom time bar */
.bem-map-bar {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  background: rgba(98,172,194,0.92) !important;
  backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  text-align: center !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  z-index: 1000 !important;
}

/* ── Leaflet popup overrides ── */
.leaflet-popup-content-wrapper {
  border-radius: 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15) !important;
}
.leaflet-popup-content {
  margin: 0 !important;
  width: 270px !important;
}
.leaflet-popup-tip-container { margin-top: -1px !important; }

.bem-popup-img {
  width: 100% !important;
  height: 120px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.bem-popup-body {
  padding: 14px !important;
  font-family: 'Inter', sans-serif !important;
}
.bem-popup-name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #e0702a !important;
  margin: 0 0 6px !important;
  line-height: 1.3 !important;
}
.bem-popup-meta {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 11px !important;
  color: #64748b !important;
  margin: 0 0 10px !important;
}
.bem-popup-btn {
  background-color: #FCC23C !important;
  color: #ffffff !important;
  border: none !important;
  width: 100% !important;
  padding: 9px !important;
  border-radius: 10px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  cursor: pointer !important;
  display: block !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}

/* Bounce animation for map markers */
@keyframes bem-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}
.bem-marker-inner { animation: bem-bounce 2s infinite ease-in-out; cursor: pointer; }

/* ── Mobile ── */
@media (max-width: 900px) {
  .bem-split {
    flex-direction: column !important;
    height: auto !important;
    border-radius: 28px !important;
  }
  .bem-list {
    width: 100% !important;
    min-width: 0 !important;
    height: 460px !important;
    border-right: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }
  .bem-map-wrap { display: none !important; }
  .bem { padding: 60px 0 !important; }
  .bem-in { padding: 0 20px !important; }
  .bem-title { margin-bottom: 32px !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7ee4f15 *//* ==========================================================================
   SECTION 3 — Pédagogie ("Pour que bébé grandisse à son rythme...")
   Goes with: 03-pedagogie.html
   Requires: 00-shared.css + 00-shared.js loaded on the page
   ========================================================================== */

.be-pedagogie-section{
  padding:96px 0;
  background:var(--be-cream);
  position:relative;
  overflow:hidden;
}

.be-pedagogie-heading{ text-align:center; margin-bottom:64px; }

.be-divider{
  width:96px; height:6px;
  background:var(--be-blue);
  margin:0 auto;
  border-radius:9999px;
}

.be-pedagogie-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
}
@media (min-width:1024px){ .be-pedagogie-grid{ grid-template-columns:repeat(3, 1fr); } }

.be-pedagogie-card{
  background:#fff;
  border-radius:50px;
  box-shadow:var(--be-shadow-xl);
  border:1px solid #f8fafc;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.be-pedagogie-image-wrap{
  height:256px;
  overflow:hidden;
  position:relative;
}
.be-pedagogie-image-wrap img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s ease;
  display:block;
}
.be-pedagogie-card:hover .be-pedagogie-image-wrap img{ transform:scale(1.1); }

.be-pedagogie-overlay{ position:absolute; inset:0; mix-blend-mode:multiply; }
.be-pedagogie-overlay--green{ background:rgba(151,199,114,.1); }
.be-pedagogie-overlay--blue{ background:rgba(98,172,194,.1); }
.be-pedagogie-overlay--orange{ background:rgba(224,112,42,.1); }

.be-pedagogie-body{
  padding:40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  flex:1;
}
.be-pedagogie-body h3{
  font-family:'Fredoka', sans-serif;
  font-size:24px;
  font-weight:700;
  color:#0f172a;
  margin:0 0 24px;
  line-height:1.3;
}
.be-pedagogie-body p{
  font-family:'Fredoka', sans-serif;
  color:#475569;
  line-height:1.7;
  margin:0;
}
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Inter:wght@100..900&family=Poppins:wght@400;600;700;800&display=swap');

:root{
  --be-green:#97C772;
  --be-blue:#62ACC2;
  --be-violet:#A774B1;
  --be-orange:#e0702a;
  --be-yellow:#FCC23C;
  --be-cream:#FFF9F2;
  --be-beige:#F7EFE5;

  --be-shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);
  --be-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --be-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --be-shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);
}

.be-section{ font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased; }

.be-container{ max-width:1280px; margin:0 auto; padding:0 16px; position:relative; z-index:10; }
@media (min-width:640px){ .be-container{ padding:0 24px; } }
@media (min-width:1024px){ .be-container{ padding:0 32px; } }
.be-container--narrow{ max-width:1024px; }

.be-h2{
  font-family:'Poppins', sans-serif; font-weight:700;
  font-size:36px; line-height:1.2; color:#0f172a; margin:0 0 24px;
}
@media (min-width:1024px){ .be-h2{ font-size:48px; } }
.be-h2--center{ text-align:center; }

.be-lead{ font-family:'Fredoka', sans-serif; font-size:20px; line-height:1.7; color:#475569; max-width:768px; }
.be-lead--center{ margin:0 auto; text-align:center; }

/* ── PILL FIX ── */
.be-pill{
  display:inline-block !important; color:#fff !important; padding:8px 20px; border-radius:20px;
  font-family:'Fredoka', sans-serif !important; font-weight:700 !important;
  box-shadow:var(--be-shadow-sm); margin:0 4px; white-space:nowrap;
  line-height:1.2; vertical-align:middle; text-decoration:none !important;
}
.be-pill--green{ background:var(--be-green) !important; }
.be-pill--blue{ background:var(--be-blue) !important; }
.be-pill--violet{ background:var(--be-violet) !important; }
.be-pill--orange{ background:var(--be-orange) !important; }

.be-text-green{ color:var(--be-green); }
.be-text-violet{ color:var(--be-violet); }

/* ── BUTTON FIX ── */
.be-btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
  font-family:'Fredoka', sans-serif !important; font-weight:700 !important;
  text-decoration:none !important;
  cursor:pointer; border:none; white-space:nowrap; transition:all .3s ease;
}
.be-btn:hover{ text-decoration:none !important; }

.be-btn--yellow,
.be-btn--yellow:link,
.be-btn--yellow:visited,
.be-btn--yellow:hover,
.be-btn--yellow:active{
  background:var(--be-yellow) !important;
  color:#fff !important;
}
.be-btn--yellow:hover{ transform:scale(1.05); }

.be-btn--outline,
.be-btn--outline:link,
.be-btn--outline:visited,
.be-btn--outline:hover,
.be-btn--outline:active{
  background:#fff !important;
  color:var(--be-orange) !important;
  border:2px solid rgba(224,112,42,.1) !important;
}
.be-btn--outline:hover{ background:rgba(224,112,42,.05) !important; }
.be-btn--outline-strong{ border-color:rgba(224,112,42,.2) !important; }

.be-btn--md{ padding:12px 32px; border-radius:16px; font-size:18px; }
.be-btn--lg{ padding:16px 40px; border-radius:16px; font-size:18px; }
.be-btn--xl{ padding:20px 48px; border-radius:24px; font-size:20px; }
.be-btn svg{ flex-shrink:0; }
.be-btn--md svg, .be-btn--lg svg{ width:20px; height:20px; }
.be-btn--xl svg{ width:24px; height:24px; }
.be-btn--shadow-lg{ box-shadow:var(--be-shadow-lg); }
.be-btn--shadow-xl{ box-shadow:var(--be-shadow-xl); }
.be-btn-group{ margin-top:64px; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }

/* Scroll reveal */
.be-reveal{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.be-reveal.is-visible{ opacity:1; transform:translateY(0); }
.be-reveal--scale{ transform:scale(.9); }
.be-reveal--scale.is-visible{ transform:scale(1); }
.be-delay-1{ transition-delay:.1s; }
.be-delay-2{ transition-delay:.2s; }
.be-delay-3{ transition-delay:.3s; }
.be-delay-4{ transition-delay:.4s; }

/* Section 3 specific */
.be-pedagogie-section{ padding:96px 0; background:var(--be-cream); position:relative; overflow:hidden; }
.be-pedagogie-heading{ text-align:center; margin-bottom:64px; }
.be-divider{ width:96px; height:6px; background:var(--be-blue); margin:0 auto; border-radius:9999px; }

.be-pedagogie-grid{ display:grid; grid-template-columns:1fr; gap:48px; }
@media (min-width:1024px){ .be-pedagogie-grid{ grid-template-columns:repeat(3, 1fr); } }

.be-pedagogie-card{
  background:#fff; border-radius:50px; box-shadow:var(--be-shadow-xl);
  border:1px solid #f8fafc; display:flex; flex-direction:column; overflow:hidden;
}
.be-pedagogie-image-wrap{ height:256px; overflow:hidden; position:relative; }
.be-pedagogie-image-wrap img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease; display:block; }
.be-pedagogie-card:hover .be-pedagogie-image-wrap img{ transform:scale(1.1); }
.be-pedagogie-overlay{ position:absolute; inset:0; mix-blend-mode:multiply; }
.be-pedagogie-overlay--green{ background:rgba(151,199,114,.1); }
.be-pedagogie-overlay--blue{ background:rgba(98,172,194,.1); }
.be-pedagogie-overlay--orange{ background:rgba(224,112,42,.1); }

.be-pedagogie-body{ padding:40px; display:flex; flex-direction:column; align-items:center; text-align:center; flex:1; }
.be-pedagogie-body h3{
  font-family:'Fredoka', sans-serif; font-size:24px; font-weight:700;
  color:#0f172a; margin:0 0 24px; line-height:1.3;
}
.be-pedagogie-body p{ font-family:'Fredoka', sans-serif; color:#475569; line-height:1.7; margin:0; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7ff3ff1 */.be-engagement-section{
  padding:96px 0;
  background:#fff;
  position:relative;
  overflow:hidden;
}

.be-engagement-heading{ text-align:center; margin-bottom:64px; }

.be-engagement-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
}
@media (min-width:768px){ .be-engagement-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px){ .be-engagement-grid{ grid-template-columns:repeat(4, 1fr); } }

.be-engagement-card{
  background:rgba(255,249,242,.5);
  padding:32px;
  border-radius:40px;
  border:1px solid var(--be-beige);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transition:box-shadow .3s ease;
}
.be-engagement-card:hover{ box-shadow:var(--be-shadow-xl); }

.be-engagement-icon{ font-size:48px; line-height:1; margin-bottom:24px; }
.be-engagement-card h4{
  font-family:'Fredoka', sans-serif;
  font-size:20px; font-weight:700;
  color:#0f172a; margin:0 0 16px;
}
.be-engagement-card p{
  font-family:'Fredoka', sans-serif;
  color:#475569; font-size:14px; line-height:1.7; margin:0;
}

.be-pill{
    font-weight:700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-930b080 */@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Inter:wght@100..900&family=Poppins:wght@400;600;700;800&display=swap');

:root{
  --be-green:#97C772;
  --be-blue:#62ACC2;
  --be-violet:#A774B1;
  --be-orange:#e0702a;
  --be-yellow:#FCC23C;
  --be-cream:#FFF9F2;
  --be-beige:#F7EFE5;

  --be-shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);
  --be-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --be-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --be-shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);
}

.be-section{ font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased; }

.be-container{ max-width:1280px; margin:0 auto; padding:0 16px; position:relative; z-index:10; }
@media (min-width:640px){ .be-container{ padding:0 24px; } }
@media (min-width:1024px){ .be-container{ padding:0 32px; } }
.be-container--narrow{ max-width:1024px; }

.be-h2{
  font-family:'Poppins', sans-serif; font-weight:700;
  font-size:36px; line-height:1.2; color:#0f172a; margin:0 0 24px;
}
@media (min-width:1024px){ .be-h2{ font-size:48px; } }
.be-h2--center{ text-align:center; }

.be-lead{ font-family:'Fredoka', sans-serif; font-size:20px; line-height:1.7; color:#475569; max-width:768px; }
.be-lead--center{ margin:0 auto; text-align:center; }

.be-pill{
  display:inline-block; color:#fff; padding:8px 20px; border-radius:20px;
  font-family:'Fredoka', sans-serif; font-weight:700;
  box-shadow:var(--be-shadow-sm); margin:0 4px; white-space:nowrap;
  line-height:1.2; vertical-align:middle;
}
.be-pill--green{ background:var(--be-green); }
.be-pill--blue{ background:var(--be-blue); }
.be-pill--violet{ background:var(--be-violet); }
.be-pill--orange{ background:var(--be-orange); }

.be-text-green{ color:var(--be-green); }
.be-text-violet{ color:var(--be-violet); }

/* Buttons */
.be-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:'Fredoka', sans-serif; font-weight:700; text-decoration:none;
  cursor:pointer; border:none; white-space:nowrap; transition:all .3s ease;
}
.be-btn:hover{ text-decoration:none; }
.be-btn--yellow{ background:var(--be-yellow); color:#fff; }
.be-btn--yellow:hover{ color:#fff; transform:scale(1.05); }
.be-btn--outline{ background:#fff; color:var(--be-orange); border:2px solid rgba(224,112,42,.1); }
.be-btn--outline:hover{ color:var(--be-orange); background:rgba(224,112,42,.05); }
.be-btn--outline-strong{ border-color:rgba(224,112,42,.2); }
.be-btn--md{ padding:12px 32px; border-radius:16px; font-size:18px; }
.be-btn--lg{ padding:16px 40px; border-radius:16px; font-size:18px; }
.be-btn--xl{ padding:20px 48px; border-radius:24px; font-size:20px; }
.be-btn svg{ flex-shrink:0; }
.be-btn--md svg, .be-btn--lg svg{ width:20px; height:20px; }
.be-btn--xl svg{ width:24px; height:24px; }
.be-btn--shadow-lg{ box-shadow:var(--be-shadow-lg); }
.be-btn--shadow-xl{ box-shadow:var(--be-shadow-xl); }
.be-btn-group{ margin-top:64px; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }

/* Scroll reveal */
.be-reveal{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.be-reveal.is-visible{ opacity:1; transform:translateY(0); }
.be-reveal--scale{ transform:scale(.9); }
.be-reveal--scale.is-visible{ transform:scale(1); }
.be-delay-1{ transition-delay:.1s; }
.be-delay-2{ transition-delay:.2s; }
.be-delay-3{ transition-delay:.3s; }
.be-delay-4{ transition-delay:.4s; }

/* Section 5.5 specific */
.be-financement-section{ padding:96px 0; background:var(--be-cream); position:relative; overflow:hidden; }
.be-financement-heading{ text-align:center; margin-bottom:64px; }

.be-financement-grid{ display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:64px; align-items:stretch; }
@media (min-width:768px){ .be-financement-grid{ grid-template-columns:repeat(3, 1fr); } }

.be-financement-card{
  background:#fff; padding:32px; border-radius:40px; box-shadow:var(--be-shadow-lg);
  border:1px solid #f8fafc; display:flex; flex-direction:column;
  align-items:center; text-align:center; height:100%;
}

.be-financement-icon{ font-size:48px; line-height:1; margin-bottom:24px; }
.be-financement-card h4{
  font-family:'Fredoka', sans-serif; font-size:18px; font-weight:700;
  color:#0f172a; margin:0 0 16px;
}
.be-financement-card p{
  font-family:'Fredoka', sans-serif; color:#475569; font-size:13px; line-height:1.7; margin:0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fedd204 *//* ==========================================================================
   SECTION 5 — Le Hack B2B (berceau d'entreprise)
   Goes with: 06-hack-b2b.html
   Requires: 00-shared.css + 00-shared.js loaded on the page
             (00-shared.js renders the mail icon — needs Lucide CDN)
   ========================================================================== */

.be-hackb2b-section{
  padding:96px 0;
  background:var(--be-blue);
  position:relative;
  overflow:hidden;
}

.be-hackb2b-card{
  background:#fff;
  border-radius:60px;
  padding:40px;
  box-shadow:var(--be-shadow-2xl);
  border:4px solid #fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
@media (min-width:768px){ .be-hackb2b-card{ padding:64px; } }

.be-hackb2b-card .be-h2{ margin-bottom:32px; }

.be-hackb2b-lead{
  font-family:'Fredoka', sans-serif;
  font-size:20px;
  line-height:1.7;
  color:#334155;
  margin:0 0 48px;
  max-width:768px;
}

.be-hackb2b-steps{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  margin-bottom:48px;
}
@media (min-width:768px){ .be-hackb2b-steps{ grid-template-columns:repeat(3, 1fr); } }

.be-hackb2b-step{
  position:relative;
  padding:24px;
  background:var(--be-cream);
  border-radius:24px;
  border:1px solid var(--be-beige);
  text-align:left;
}
.be-hackb2b-step-num{
  position:absolute;
  top:-16px; left:-16px;
  width:40px; height:40px;
  background:var(--be-green);
  color:#fff;
  border-radius:9999px;
  display:flex; align-items:center; justify-content:center;
  font-weight:700;
  font-family:'Inter', sans-serif;
  box-shadow:var(--be-shadow-lg);
}
.be-hackb2b-step p{
  font-family:'Fredoka', sans-serif;
  color:#334155; font-size:14px; line-height:1.7; margin:0;
}

.be-hackb2b-actions{
  display:flex; flex-wrap:wrap; justify-content:center; gap:16px;
}








@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Inter:wght@100..900&family=Poppins:wght@400;600;700;800&display=swap');

:root{
  --be-green:#97C772;
  --be-blue:#62ACC2;
  --be-violet:#A774B1;
  --be-orange:#e0702a;
  --be-yellow:#FCC23C;
  --be-cream:#FFF9F2;
  --be-beige:#F7EFE5;

  --be-shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);
  --be-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --be-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --be-shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);
}

.be-section{ font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased; }

.be-container{ max-width:1280px; margin:0 auto; padding:0 16px; position:relative; z-index:10; }
@media (min-width:640px){ .be-container{ padding:0 24px; } }
@media (min-width:1024px){ .be-container{ padding:0 32px; } }
.be-container--narrow{ max-width:1024px; }

.be-h2{
  font-family:'Poppins', sans-serif; font-weight:700;
  font-size:36px; line-height:1.2; color:#0f172a; margin:0 0 24px;
}
@media (min-width:1024px){ .be-h2{ font-size:48px; } }
.be-h2--center{ text-align:center; }

.be-lead{ font-family:'Fredoka', sans-serif; font-size:20px; line-height:1.7; color:#475569; max-width:768px; }
.be-lead--center{ margin:0 auto; text-align:center; }

.be-pill{
  display:inline-block; color:#fff; padding:8px 20px; border-radius:20px;
  font-family:'Fredoka', sans-serif; font-weight:700;
  box-shadow:var(--be-shadow-sm); margin:0 4px; white-space:nowrap;
  line-height:1.2; vertical-align:middle;
}
.be-pill--green{ background:var(--be-green); }
.be-pill--blue{ background:var(--be-blue); }
.be-pill--violet{ background:var(--be-violet); }
.be-pill--orange{ background:var(--be-orange); }

.be-text-green{ color:var(--be-green); }
.be-text-violet{ color:var(--be-violet); }

/* Buttons */
.be-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Fredoka', sans-serif; font-weight:700; text-decoration:none;
  cursor:pointer; border:none; white-space:nowrap; transition:all .3s ease;
}
.be-btn:hover{ text-decoration:none; }
.be-btn--yellow{ background:var(--be-yellow); color:#fff; }
.be-btn--yellow:hover{ color:#fff; transform:scale(1.05); }
.be-btn--outline{ background:#fff; color:var(--be-orange); border:2px solid rgba(224,112,42,.1); }
.be-btn--outline:hover{ color:var(--be-orange); background:rgba(224,112,42,.05); }
.be-btn--outline-strong{ border-color:rgba(224,112,42,.2); }
.be-btn--md{ padding:12px 32px; border-radius:16px; font-size:18px; }
.be-btn--lg{ padding:16px 40px; border-radius:16px; font-size:18px; }
.be-btn--xl{ padding:20px 48px; border-radius:24px; font-size:20px; }
.be-btn svg{ flex-shrink:0; }
.be-btn--md svg, .be-btn--lg svg{ width:20px; height:20px; }
.be-btn--xl svg{ width:24px; height:24px; }
.be-btn--shadow-lg{ box-shadow:var(--be-shadow-lg); }
.be-btn--shadow-xl{ box-shadow:var(--be-shadow-xl); }
.be-btn-group{ margin-top:64px; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }

/* Scroll reveal */
.be-reveal{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.be-reveal.is-visible{ opacity:1; transform:translateY(0); }
.be-reveal--scale{ transform:scale(.9); }
.be-reveal--scale.is-visible{ transform:scale(1); }
.be-delay-1{ transition-delay:.1s; }
.be-delay-2{ transition-delay:.2s; }
.be-delay-3{ transition-delay:.3s; }
.be-delay-4{ transition-delay:.4s; }

/* Section 5 specific */
.be-hackb2b-section{ padding:96px 0; background:var(--be-blue); position:relative; overflow:hidden; }

.be-hackb2b-card{
  background:#fff; border-radius:60px; padding:40px; box-shadow:var(--be-shadow-2xl);
  border:4px solid #fff; display:flex; flex-direction:column; align-items:center; text-align:center;
}
@media (min-width:768px){ .be-hackb2b-card{ padding:64px; } }

.be-hackb2b-card .be-h2{ margin-bottom:32px; }

.be-hackb2b-lead{
  font-family:'Fredoka', sans-serif; font-size:20px; line-height:1.7;
  color:#334155; margin:0 0 48px; max-width:768px;
}

.be-hackb2b-steps{ width:100%; display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:48px; }
@media (min-width:768px){ .be-hackb2b-steps{ grid-template-columns:repeat(3, 1fr); } }

.be-hackb2b-step{
  position:relative; padding:24px; background:var(--be-cream);
  border-radius:24px; border:1px solid var(--be-beige); text-align:left;
}
.be-hackb2b-step-num{
  position:absolute; top:-16px; left:-16px; width:40px; height:40px;
  background:var(--be-green); color:#fff; border-radius:9999px;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-family:'Inter', sans-serif; box-shadow:var(--be-shadow-lg);
}
.be-hackb2b-step p{ font-family:'Fredoka', sans-serif; color:#334155; font-size:14px; line-height:1.7; margin:0; }

.be-hackb2b-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-93ab0a7 */@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Inter:wght@100..900&family=Poppins:wght@400;600;700;800&display=swap');

:root{
  --be-green:#97C772;
  --be-blue:#62ACC2;
  --be-violet:#A774B1;
  --be-orange:#e0702a;
  --be-yellow:#FCC23C;
  --be-cream:#FFF9F2;
  --be-beige:#F7EFE5;

  --be-shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);
  --be-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --be-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --be-shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);
}

.be-section{ font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased; }

.be-container{ max-width:1280px; margin:0 auto; padding:0 16px; position:relative; z-index:10; }
@media (min-width:640px){ .be-container{ padding:0 24px; } }
@media (min-width:1024px){ .be-container{ padding:0 32px; } }
.be-container--narrow{ max-width:1024px; }

.be-h2{
  font-family:'Poppins', sans-serif; font-weight:700;
  font-size:36px; line-height:1.2; color:#0f172a; margin:0 0 24px;
}
@media (min-width:1024px){ .be-h2{ font-size:48px; } }
.be-h2--center{ text-align:center; }

.be-lead{ font-family:'Fredoka', sans-serif; font-size:20px; line-height:1.7; color:#475569; max-width:768px; }
.be-lead--center{ margin:0 auto; text-align:center; }

.be-pill{
  display:inline-block; color:#fff; padding:8px 20px; border-radius:20px;
  font-family:'Fredoka', sans-serif; font-weight:400;
  box-shadow:var(--be-shadow-sm); margin:0 4px; white-space:nowrap;
  line-height:1.2; vertical-align:middle;
}
.be-pill--green{ background:var(--be-green); }
.be-pill--blue{ background:var(--be-blue); }
.be-pill--violet{ background:var(--be-violet); }
.be-pill--orange{ background:var(--be-orange); }

.be-text-green{ color:var(--be-green); }
.be-text-violet{ color:var(--be-violet); }

/* Buttons */
.be-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Fredoka', sans-serif; font-weight:700; text-decoration:none;
  cursor:pointer; border:none; white-space:nowrap; transition:all .3s ease;
}
.be-btn:hover{ text-decoration:none; }
.be-btn--yellow{ background:var(--be-yellow); color:#fff; }
.be-btn--yellow:hover{ color:#fff; transform:scale(1.05); }
.be-btn--outline{ background:#fff; color:var(--be-orange); border:2px solid rgba(224,112,42,.1); }
.be-btn--outline:hover{ color:var(--be-orange); background:rgba(224,112,42,.05); }
.be-btn--outline-strong{ border-color:rgba(224,112,42,.2); }
.be-btn--md{ padding:12px 32px; border-radius:16px; font-size:18px; }
.be-btn--lg{ padding:16px 40px; border-radius:16px; font-size:18px; }
.be-btn--xl{ padding:20px 48px; border-radius:24px; font-size:20px; }
.be-btn svg{ flex-shrink:0; }
.be-btn--md svg, .be-btn--lg svg{ width:20px; height:20px; }
.be-btn--xl svg{ width:24px; height:24px; }
.be-btn--shadow-lg{ box-shadow:var(--be-shadow-lg); }
.be-btn--shadow-xl{ box-shadow:var(--be-shadow-xl); }
.be-btn-group{ margin-top:64px; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }

/* Scroll reveal */
.be-reveal{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.be-reveal.is-visible{ opacity:1; transform:translateY(0); }
.be-reveal--scale{ transform:scale(.9); }
.be-reveal--scale.is-visible{ transform:scale(1); }
.be-delay-1{ transition-delay:.1s; }
.be-delay-2{ transition-delay:.2s; }
.be-delay-3{ transition-delay:.3s; }
.be-delay-4{ transition-delay:.4s; }

/* Section 6 specific */
.be-awards-section{ padding:96px 0; background:#fff; border-top:1px solid #f1f5f9; }

.be-awards-heading{ text-align:center; margin-bottom:64px; }
.be-awards-heading h2{
  font-family:'Poppins', sans-serif; font-size:30px; font-weight:700;
  color:#0f172a; margin:0 0 16px;
}
.be-awards-divider{ width:80px; height:4px; background:var(--be-blue); margin:0 auto; border-radius:9999px; }

.be-awards-grid{ display:grid; grid-template-columns:1fr; gap:48px; margin-bottom:64px; }
@media (min-width:768px){ .be-awards-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px){ .be-awards-grid{ grid-template-columns:repeat(4, 1fr); } }

.be-award-card{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:32px; background:#f8fafc; border-radius:40px;
  text-decoration:none; transition:box-shadow .3s ease;
}
.be-award-card:hover{ box-shadow:var(--be-shadow-xl); text-decoration:none; }

.be-award-image-wrap{
  height:128px; margin-bottom:32px; display:flex; align-items:center; justify-content:center; width:100%;
}
.be-award-image-wrap img{ max-height:100%; max-width:100%; object-fit:contain; transition:transform .5s ease; }
.be-award-card:hover .be-award-image-wrap img{ transform:scale(1.1); }

.be-award-card h4{
  font-family:'Fredoka', sans-serif; font-size:18px; font-weight:700;
  color:#0f172a; margin:0 0 12px;
}
.be-award-card p{ font-family:'Fredoka', sans-serif; font-size:12px; color:#64748b; line-height:1.7; margin:0; }

.be-awards-actions{ text-align:center; margin-top:48px; }/* End custom CSS */