.elementor-11 .elementor-element.elementor-element-e95ab3c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-0a12a5d{--display:flex;}.elementor-11 .elementor-element.elementor-element-b6722aa{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-4213125{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-e95ab3c *//* =========================================================
   SF HERO — Premium (Hello + Elementor)
   Scope : .sf-hero
   ========================================================= */

.sf-hero{
  position: relative;
  padding: clamp(60px, 8vw, 110px) 20px;
  background:
    radial-gradient(800px 400px at 10% -10%, rgba(47,106,139,.10), transparent 60%),
    radial-gradient(700px 350px at 90% 10%, rgba(47,106,139,.08), transparent 60%),
    #f8fafc;
  overflow: hidden;
}

.sf-hero__wrap{
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
}

/* ---------- Contenu ---------- */
.sf-hero__content{
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.sf-hero__badge{
  display: inline-block;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(47,106,139,.10);
  color: #1f506a;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .04em;
}

.sf-hero__title{
  font-size: clamp(32px, 4.2vw, 52px);
  line-height: 1.1;
  font-weight: 900;
  color: #0f172a;
  margin: 0;
}
.sf-hero__title span{
  color: #2F6A8B;
}

.sf-hero__text{
  font-size: 17px;
  line-height: 1.6;
  color: #334155;
  max-width: 560px;
}

/* ---------- Actions ---------- */
.sf-hero__actions{
  display: flex;
  gap: 14px;
  margin-top: 6px;
}

/* ---------- Preuves ---------- */
.sf-hero__proofs{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
  padding: 0;
  margin: 10px 0 0;
  font-size: 14px;
  color: #334155;
  font-weight: 600;
}

/* ---------- Visuel ---------- */
.sf-hero__media{
  position: relative;
}

.sf-hero__image{
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.25)),
    url("https://sophie.comm-web.fr/wp-content/uploads/2026/02/osteopathe-montceau-les-mines.webp")
      center / cover no-repeat;
  box-shadow: 0 30px 70px rgba(15,23,42,.18);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .sf-hero__wrap{
    grid-template-columns: 1fr;
  }

  .sf-hero__media{
    order: -1;
  }

  .sf-hero__image{
    aspect-ratio: 16 / 9;
  }

  .sf-hero__actions{
    flex-direction: column;
    align-items: stretch;
  }

  .sf-hero__proofs{
    gap: 10px 18px;
  }
}

@media (max-width: 420px){
  .sf-hero__text{
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0a12a5d *//* =========================================================
   SF SECTION 2 — Cartes services premium
   Scope : .sf-sec2
   ========================================================= */

.sf-sec2{
  padding: clamp(50px, 6vw, 90px) 20px;
  background:
    radial-gradient(700px 320px at 15% 0%, rgba(47,106,139,.08), transparent 60%),
    #ffffff;
}

.sf-sec2__wrap{
  max-width: 1180px;
  margin: 0 auto;
}

.sf-sec2__head{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 28px;
}

.sf-sec2__title{
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
  font-weight: 900;
  color: #0f172a;
}
.sf-sec2__sub{
  margin: 0;
  max-width: 720px;
  color: #334155;
  font-size: 16px;
  line-height: 1.6;
}

/* Cartes */
.sf-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.sf-card{
  border-radius: 20px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.80);
  box-shadow: 0 18px 40px rgba(15,23,42,.08);
  overflow: hidden;
}

.sf-card__link{
  display: grid;
  gap: 10px;
  padding: 18px 18px 16px;
  text-decoration: none;
  color: inherit;
  height: 100%;
  position: relative;
}

.sf-card__icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #1f506a;
  background: rgba(47,106,139,.12);
}

.sf-card__title{
  margin: 2px 0 0;
  font-size: 18px;
  font-weight: 900;
  color: #0f172a;
}

.sf-card__text{
  margin: 0;
  color: #334155;
  font-size: 14.8px;
  line-height: 1.55;
}

.sf-card__cta{
  margin-top: 6px;
  font-weight: 800;
  color: #2F6A8B;
  width: fit-content;
  position: relative;
  padding-bottom: 2px;
}
.sf-card__cta::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  border-radius:999px;
  background: linear-gradient(90deg, #2F6A8B, rgba(47,106,139,.18));
  transform: scaleX(.35);
  transform-origin: left;
  transition: transform .2s ease;
}

/* Hover premium */
.sf-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 55px rgba(15,23,42,.12);
}
.sf-card:hover .sf-card__cta::after{
  transform: scaleX(1);
}
.sf-card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sf-card:hover{
  border-color: rgba(47,106,139,.22);
}

/* Footer section */
.sf-sec2__foot{
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid rgba(15,23,42,.08);
}

.sf-sec2__bullets{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  color: #334155;
  font-weight: 650;
  font-size: 14px;
}

.sf-sec2__actions{
  display: inline-flex;
  gap: 12px;
  align-items: center;
}

/* Responsive */
@media (max-width: 900px){
  .sf-cards{
    grid-template-columns: 1fr;
  }
  .sf-sec2__foot{
    grid-template-columns: 1fr;
  }
  .sf-sec2__actions{
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b6722aa *//* =========================================================
   SF SECTION 3 — Confiance & méthode (premium)
   Scope : .sf-sec3, .sf-proof
   ========================================================= */

.sf-sec3{
  padding: clamp(55px, 6.5vw, 95px) 20px;
  background:
    radial-gradient(900px 420px at 85% 10%, rgba(47,106,139,.09), transparent 60%),
    radial-gradient(800px 380px at 10% 90%, rgba(47,106,139,.06), transparent 60%),
    #f8fafc;
  overflow: hidden;
}

.sf-sec3__wrap{
  max-width: 1180px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(26px, 5vw, 70px);
  align-items: center;
}

/* ---------- Media ---------- */
.sf-sec3__media{
  position: relative;
}

.sf-sec3__image{
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 26px;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 30px 70px rgba(15,23,42,.16);

  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.12)),
    url("https://sophie.comm-web.fr/wp-content/uploads/2026/02/262505687_125964423203343_6190112680160387403_n.webp")
      center / cover no-repeat;
}

/* Chips sur l'image */
.sf-sec3__chip{
  position: absolute;
  left: 14px;
  right: 14px;
  display: flex;
  justify-content: space-between;
  gap: 12px;

  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 45px rgba(15,23,42,.12);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.sf-sec3__chip--top{ top: 14px; }
.sf-sec3__chip--bottom{ bottom: 14px; }

.sf-sec3__chipK{
  font-weight: 900;
  color: #0f172a;
  letter-spacing: .02em;
}
.sf-sec3__chipV{
  font-weight: 800;
  color: #1f506a;
}

/* ---------- Content ---------- */
.sf-sec3__content{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sf-sec3__badge{
  display: inline-block;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(47,106,139,.10);
  color: #1f506a;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .04em;
}

.sf-sec3__title{
  margin: 0;
  font-size: clamp(26px, 3.2vw, 40px);
  line-height: 1.15;
  font-weight: 950;
  color: #0f172a;
}

.sf-sec3__lead{
  margin: 0;
  color: #334155;
  font-size: 16.5px;
  line-height: 1.65;
  max-width: 620px;
}

/* Bullets */
.sf-sec3__bullets{
  margin: 6px 0 0;
  padding-left: 18px;
  color: #334155;
  line-height: 1.65;
}
.sf-sec3__bullets li{
  margin: 6px 0;
}
.sf-sec3__bullets strong{
  color: #0f172a;
}

/* Grid preuves */
.sf-sec3__grid{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.sf-proof{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.78);
  box-shadow: 0 16px 38px rgba(15,23,42,.08);
  padding: 12px 12px;
}
.sf-proof__k{
  font-size: 12px;
  font-weight: 900;
  color: #64748b;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sf-proof__v{
  margin-top: 4px;
  font-size: 15px;
  font-weight: 900;
  color: #0f172a;
}

/* CTA */
.sf-sec3__actions{
  display: inline-flex;
  gap: 12px;
  align-items: center;
  margin-top: 6px;
}

/* Note */
.sf-sec3__note{
  margin: 10px 0 0;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.75);
  color: #334155;
  line-height: 1.6;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .sf-sec3__wrap{
    grid-template-columns: 1fr;
  }
  .sf-sec3__image{
    aspect-ratio: 16 / 9;
  }
  .sf-sec3__actions{
    flex-direction: column;
    align-items: stretch;
  }
  .sf-sec3__grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 420px){
  .sf-sec3__chip{
    flex-direction: column;
    align-items: flex-start;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4213125 *//* =========================================================
   SF FAQ — Premium accordéon (details/summary)
   Scope : .sf-faq
   ========================================================= */

.sf-faq{
  padding: clamp(55px, 6.5vw, 95px) 20px;
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(47,106,139,.08), transparent 60%),
    #ffffff;
}

.sf-faq__wrap{
  max-width: 1180px;
  margin: 0 auto;
}

.sf-faq__head{
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}

.sf-faq__title{
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
  font-weight: 950;
  color: #0f172a;
}
.sf-faq__sub{
  margin: 0;
  max-width: 760px;
  color: #334155;
  font-size: 16px;
  line-height: 1.6;
}

/* Grid */
.sf-faq__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* Item */
.sf-faq__item{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.88);
  box-shadow: 0 16px 38px rgba(15,23,42,.08);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sf-faq__item[open]{
  border-color: rgba(47,106,139,.22);
  box-shadow: 0 20px 52px rgba(15,23,42,.12);
}

/* Summary */
.sf-faq__q{
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  color: #0f172a;
  font-weight: 900;
  font-size: 15px;
  line-height: 1.35;
}
.sf-faq__q::-webkit-details-marker{ display:none; }

/* Icon chevron */
.sf-faq__icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(47,106,139,.08);
  position: relative;
  flex: 0 0 auto;
}
.sf-faq__icon::before,
.sf-faq__icon::after{
  content:"";
  position:absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background: #0f172a;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform .18s ease, opacity .18s ease;
}
.sf-faq__icon::after{
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: .9;
}

/* open -> minus */
.sf-faq__item[open] .sf-faq__icon::after{
  opacity: 0;
}

/* Answer */
.sf-faq__a{
  padding: 0 16px 14px;
  color: #334155;
  font-size: 15px;
  line-height: 1.65;
}
.sf-faq__a p{ margin: 10px 0 0; }

.sf-faq__note{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(248,250,252,.85);
  color: #334155;
}

/* Footer FAQ */
.sf-faq__foot{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(15,23,42,.08);

  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
}

.sf-faq__callout{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.80);
  padding: 12px 14px;
  box-shadow: 0 16px 38px rgba(15,23,42,.08);
}
.sf-faq__calloutK{
  font-weight: 950;
  color: #0f172a;
}
.sf-faq__calloutV{
  margin-top: 3px;
  color: #334155;
  line-height: 1.55;
}

.sf-faq__actions{
  display: inline-flex;
  gap: 12px;
  align-items: center;
}

/* Hover */
.sf-faq__item:hover{
  transform: translateY(-1px);
  border-color: rgba(47,106,139,.18);
}

/* Responsive */
@media (max-width: 900px){
  .sf-faq__foot{
    grid-template-columns: 1fr;
  }
  .sf-faq__actions{
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
}/* End custom CSS */