.site-header,
.site-header .nav {
  background: #F3EEE6;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.site-header .logo {
  display: block;
  width: 176px;
  height: 98px;
}

.site-header .logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-header .nav a {
  color: #1C5633;
  font-size: 16px;
  font-family: Urbanist, sans-serif !important;
  transition: color 160ms ease;
}

.site-header .nav a:hover,
.site-header .nav a:focus-visible,
.site-header .nav a.is-active {
  color: #2EAD5B;
}

.site-header {
  min-height: 106px;
  height: 106px;
  padding-top: 4px;
  padding-right: 5vw;
  padding-bottom: 4px;
  padding-left: 5.7vw;
  background: #F3EEE6;
  border-bottom-color: #DDD4C7;
}

.site-header .nav {
  gap: 28px;
}

footer .logo {
  display: block;
  width: 150px;
}

footer .logo img {
  display: block;
  width: 100%;
  height: auto;
}

.wordpress-page .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wordpress-page h1,
.wordpress-page h2,
.wordpress-page h3,
.wordpress-page h4,
.wordpress-page h5,
.wordpress-page h6,
.empty-page h1 {
  font-family: Urbanist, sans-serif !important;
}

.wordpress-page button,
.wordpress-page .wp-block-button__link,
#lfb-conciergerie .lfb-btn,
.menu-button {
  font-family: Urbanist, sans-serif !important;
}

.wordpress-page .is-content-justification-center {
  justify-content: center;
}

.page-accueil > .wp-block-cover:first-child {
  min-height: 684px !important;
  padding-right: 5.5vw !important;
  padding-left: 5.5vw !important;
}

.page-accueil > .wp-block-cover:first-child .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-accueil > .wp-block-cover:first-child .wp-block-cover__image-background {
  opacity: 1 !important;
  filter: brightness(0.82) saturate(0.94);
}

.page-accueil > .wp-block-cover:first-child .wp-block-cover__background {
  opacity: 0 !important;
}

.page-accueil > .wp-block-cover:first-child :is(h1, h2) {
  font-family: "Playfair Display", serif !important;
  font-size: 70px !important;
  transform: translateY(-74px);
  text-shadow: 0 2px 18px rgba(13, 60, 32, 0.24);
}

#lfb-conciergerie .lfb-hero h1 {
  font-family: "Playfair Display", serif !important;
}

.page-accueil > .wp-block-cover:first-child h4 {
  font-family: Lato, sans-serif !important;
  font-weight: 400 !important;
  transform: translateY(-18px);
  text-shadow: 0 2px 12px rgba(13, 60, 32, 0.3);
}

.page-accueil > .wp-block-cover:first-child .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 230px;
  min-width: 230px;
  height: 52px;
  min-height: 52px;
  padding: 14px 22px !important;
  border-radius: 16px !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  text-align: center;
  white-space: nowrap;
}

.wordpress-page .wp-block-button {
  display: inline-flex;
  vertical-align: top;
}

.wordpress-page .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 230px;
  min-width: 230px;
  height: 52px;
  min-height: 52px;
  padding: 14px 22px !important;
  border-radius: 16px !important;
  font-family: Urbanist, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center;
  white-space: nowrap;
  border-width: 0 !important;
  border-style: solid;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.wordpress-page .wp-block-button__link:hover,
.wordpress-page .wp-block-button__link:focus-visible {
  background: #0D3C20 !important;
  transform: translateY(-2px);
}

.lfb-testimonials-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 1080px;
  margin: 32px auto;
}

.lfb-testimonials-gallery img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(13, 60, 32, 0.12);
}

.page-accueil > .wp-block-cover:first-child .wp-block-buttons {
  transform: translateY(-36px);
}

.lfb-home-intro {
  width: 100%;
  margin: 0 !important;
  padding: 62px 24px 30px;
  background: #EDE4D8;
  text-align: center;
  color: #1C5633 !important;
  font-family: Urbanist, sans-serif !important;
  font-size: clamp(31px, 3vw, 42px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
}

.lfb-home-intro span,
.lfb-fairy-copy h2 span,
.lfb-properties-editorial h2 span {
  background: linear-gradient(transparent 55%, #F2A3A0 55%, #F2A3A0 89%, transparent 89%);
  padding: 0 0.06em;
}

.lfb-service-cards {
  max-width: none !important;
  padding: 0 max(5.7vw, 30px) 62px !important;
  background: #EDE4D8 !important;
}

.lfb-service-cards > .wp-block-group__inner-container > .wp-block-group > h4,
.lfb-service-cards h4 {
  max-width: 850px !important;
  margin: 0 auto 30px !important;
  color: #605C56 !important;
  font-family: Lato, sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

.lfb-service-cards .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.lfb-service-cards .lfb-service-card {
  display: flex;
  flex-direction: column;
  min-height: 505px;
  padding: 20px 20px 22px !important;
  background: #F8F4EE !important;
  border: 2px solid rgba(28, 86, 51, 0.36) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(42, 39, 35, 0.08);
}

.lfb-service-cards .lfb-service-card h2 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #1C5633 !important;
  font-size: clamp(25px, 2vw, 31px) !important;
  font-weight: 600 !important;
}

.lfb-service-cards .lfb-service-card .wp-block-image {
  margin: 0 0 14px !important;
}

.lfb-service-cards .lfb-service-card .wp-block-image img {
  width: 100% !important;
  height: 148px !important;
  border-radius: 38px 12px 38px 12px !important;
  object-fit: cover !important;
}

.lfb-service-cards .lfb-service-card > .wp-block-group > .wp-block-group__inner-container,
.lfb-service-cards .lfb-service-card .wp-block-group__inner-container {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0 !important;
}

.lfb-service-cards .lfb-service-card p.has-text-align-center {
  min-height: 47px;
  margin: 0 0 10px !important;
  color: #1C5633;
  font-size: 18px !important;
  line-height: 1.17 !important;
}

.lfb-service-cards .lfb-service-card p.has-text-align-left {
  margin: 0 !important;
  padding: 0 !important;
  color: #605C56;
  font-size: 15.5px;
  line-height: 1.42;
}

.lfb-service-cards .lfb-service-card .wp-block-buttons {
  margin-top: auto;
  padding-top: 14px;
  transform: translateY(12px);
}

.lfb-fairy-section {
  display: grid;
  grid-template-columns: 290px minmax(0, 760px);
  align-items: center;
  gap: 30px;
  max-width: 1180px !important;
  margin: 74px auto !important;
  padding: 36px 42px !important;
  background: #DED5C6;
  border: 2px solid rgba(28, 86, 51, .55);
  border-radius: 30px;
}

.lfb-fairy-image {
  width: 300px !important;
  margin-left: -24px;
}

.lfb-fairy-copy h2,
.lfb-properties h2 {
  margin: 0 0 16px !important;
  color: #1C5633;
  font-family: Urbanist, sans-serif !important;
  font-size: clamp(32px, 2.7vw, 39px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.lfb-fairy-copy p {
  max-width: 660px;
  margin: 0 0 22px;
  color: #605C56;
  font-size: 18px;
  line-height: 1.58;
}

.lfb-soft-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 16px;
  border: 2px solid #E6332E;
  background: transparent;
  color: #E6332E;
  font: 700 16px Urbanist, sans-serif;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.lfb-soft-button:hover,
.lfb-soft-button:focus-visible {
  background: #CFC0AB;
  color: #E6332E;
  transform: translateY(-2px);
}

.lfb-properties {
  max-width: none;
  width: 100%;
  margin: 24px 0 62px;
  padding: 24px max(4.8vw, 50px) 34px;
  background: #DED5C6;
  border: 0;
  border-radius: 0;
}

.lfb-properties-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 8px;
  width: min(1000px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.lfb-house-mark {
  width: 190px;
  height: 190px;
  justify-self: start;
}

.lfb-house-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lfb-properties-heading p {
  margin: 0 0 6px;
  color: #E6332E;
  font: 500 clamp(28px, 2.7vw, 39px)/1.08 Urbanist, sans-serif;
  letter-spacing: -0.045em;
}

.lfb-properties-heading h2 { font-size: clamp(24px, 2.1vw, 31px) !important; }

.lfb-coming-soon {
  margin: 0 0 0 8px !important;
  padding: 12px 15px;
  border: 1.5px solid rgba(28, 86, 51, .56);
  border-radius: 13px;
  color: #605C56 !important;
  font: italic 500 19px/1.4 "Playfair Display", serif !important;
  letter-spacing: -.015em;
}

.lfb-coming-soon span {
  display: block;
  margin-top: 6px;
  color: #1C5633;
  font-size: 16px;
}

.lfb-properties-layout {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 22px;
  width: min(1000px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.lfb-map {
  width: 100%;
  height: 435px;
  padding: 0;
  border: 2px solid rgba(28, 86, 51, .48);
  border-radius: 20px;
  object-fit: cover;
  object-position: center;
}

.lfb-property-grid {
  display: grid;
  grid-column: span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  height: 435px;
}

.lfb-property-card {
  overflow: hidden;
  height: 435px;
  padding-bottom: 23px;
  background: #F4EEE5;
  border: 2px solid rgba(28, 86, 51, .48);
  border-radius: 20px;
  text-align: center;
}

.lfb-property-card > img {
  width: calc(100% - 28px);
  height: 175px;
  margin: 0 14px;
  border: 1px solid rgba(28, 86, 51, .26);
  border-radius: 14px;
  object-fit: cover;
}

.lfb-property-card h3 {
  margin: 20px 16px 16px;
  color: #1C5633;
  font: 600 29px/1 Urbanist, sans-serif;
}

.lfb-property-card p {
  min-height: 0;
  margin: 15px 18px 5px;
  color: #2A2723;
  font: 400 16px/1.35 Lato, sans-serif;
}

.lfb-property-card .lfb-property-detail {
  min-height: 42px;
  margin: 0 18px 17px;
  color: #605C56;
  font-size: 14px;
  line-height: 1.35;
}

.lfb-property-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 48px;
  border: 2px solid #1C5633;
  border-radius: 16px;
  color: #1C5633;
  font: 700 15px Urbanist, sans-serif;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.lfb-property-card a:hover,
.lfb-property-card a:focus-visible {
  background: #D2C3AE;
  transform: translateY(-2px);
}

.lfb-testimonials {
  max-width: none !important;
  margin: 0 !important;
  padding: 34px 0 42px !important;
  overflow: hidden;
  background: #DED5C6 !important;
  border-top: 1px solid rgba(28, 86, 51, .28);
  border-bottom: 1px solid rgba(28, 86, 51, .28);
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}

.lfb-testimonials h4 {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 4px !important;
  color: #1C5633 !important;
  text-align: left !important;
  font-family: Urbanist, sans-serif !important;
  font-size: clamp(32px, 2.7vw, 39px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
}

.lfb-testimonials-copy {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 !important;
}

.lfb-testimonials-copy h4 { width: 100% !important; }

.lfb-testimonials h4 + h4 {
  color: #605C56 !important;
  font-family: Lato, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  margin: 0 0 22px !important;
}

.lfb-testimonials .lfb-testimonials-gallery {
  display: flex;
  width: max-content;
  margin: 0;
  gap: 20px;
  animation: lfb-marquee 28s linear infinite;
}

.lfb-testimonials .lfb-testimonials-gallery img {
  width: 320px;
  height: auto;
  border-radius: 0;
  box-shadow: none;
  mix-blend-mode: multiply;
}

@keyframes lfb-marquee { to { transform: translateX(-50%); } }

.lfb-faq {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 34px;
  max-width: 1120px;
  margin: 72px auto !important;
  padding: 0;
  background: transparent;
}

.lfb-faq > img {
  width: 240px;
  align-self: center;
  margin-top: 26px;
  transform: translateX(-42px);
}

.lfb-faq-list { display: grid; gap: 12px; }
.lfb-faq details { border: 1px solid rgba(28,86,51,.2); border-radius: 14px; background: #fff; overflow: hidden; }
.lfb-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; color: #1C5633; cursor: pointer; font: 700 17px/1.3 Urbanist, sans-serif; list-style: none; }
.lfb-faq summary::after { content: '+'; flex: 0 0 auto; color: #E6332E; font-size: 27px; font-weight: 400; }
.lfb-faq details[open] summary::after { content: '–'; }
.lfb-faq details p { margin: 0; padding: 0 20px 20px; color: #605C56; font-size: 16px; line-height: 1.55; }
.lfb-faq details a { color: #1C5633; font-weight: 700; }

footer {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 38px max(5.7vw, 30px) 24px;
  background: #DED5C6;
  color: #1C5633;
}

footer .footer-brand > a {
  color: #1C5633;
  font: 500 31px/1 "Playfair Display", serif;
  text-decoration: none;
}

footer .footer-brand p { margin: 8px 0 0; color: #1C5633; font: 400 13px Lato, sans-serif; }

.footer-social { display: flex; align-items: center; gap: 12px; margin-left: 30px; }
.footer-social a { display: grid; width: 44px; height: 44px; place-items: center; border: 1.5px solid #1C5633; border-radius: 50%; color: #1C5633; }
.footer-social svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; }
.footer-legal a { color: #1C5633; font: 500 12px Urbanist, sans-serif; text-decoration: none; }
footer a:is(:hover, :focus-visible, :active), footer .footer-brand > a:is(:hover, :focus-visible, :active) { color: #2EAD5B; }
.footer-social a:is(:hover, :focus-visible, :active) { border-color: #2EAD5B; background: transparent; }

.empty-page {
  min-height: calc(100vh - 250px);
  display: grid;
  place-items: center;
}

.empty-page h1 {
  color: #2A2723;
  font: 500 clamp(42px, 5vw, 64px)/1.05 Urbanist, sans-serif;
}

@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .site-header {
    width: 100%;
    padding: 0 20px;
    gap: 12px;
  }

  .site-header .logo {
    width: 145px;
    height: 82px;
  }

  .menu-button {
    display: block !important;
    position: absolute;
    top: 36px;
    right: 20px;
    z-index: 101;
  }

  .page-accueil > .wp-block-cover:first-child {
    min-height: 650px !important;
    padding-right: 28px !important;
    padding-left: 38px !important;
  }

  .page-accueil > .wp-block-cover:first-child :is(h1, h2) {
    max-width: 310px;
    font-size: 43px !important;
    line-height: 0.98 !important;
    transform: translateY(-20px);
  }

  .page-accueil > .wp-block-cover:first-child h4 {
    max-width: 310px;
    white-space: normal !important;
    overflow-wrap: anywhere;
    font-size: 21px !important;
    line-height: 1.25;
    transform: none;
  }

  .page-accueil > .wp-block-cover:first-child .wp-block-buttons {
    transform: none;
  }

  .lfb-home-intro {
    width: min(390px, calc(100% - 36px));
    margin: 52px auto 18px !important;
    font-size: 34px !important;
  }

  .lfb-service-cards {
    padding: 28px 20px 42px !important;
  }

  .lfb-service-cards h4 {
    font-size: 17px !important;
  }

  .lfb-service-cards .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 18px !important;
  }

  .lfb-service-cards .lfb-service-card {
    min-height: 0;
  }

  .lfb-service-cards .lfb-service-card .wp-block-image img {
    height: 210px !important;
  }

  .lfb-fairy-section,
  .lfb-faq {
    grid-template-columns: 1fr;
    gap: 20px;
    width: min(420px, calc(100% - 32px));
    margin: 46px auto !important;
    padding: 28px 22px !important;
  }

  .lfb-fairy-image {
    width: 165px !important;
    margin-left: -10px;
  }

  .lfb-fairy-copy h2,
  .lfb-properties h2 {
    font-size: 32px !important;
  }

  .lfb-properties {
    width: min(420px, calc(100% - 32px));
    margin: 42px auto 52px;
    padding: 28px 20px;
  }

  .lfb-properties-heading,
  .lfb-properties-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .lfb-properties-heading { display: flex; flex-direction: column; align-items: flex-start; }

  .lfb-property-grid { grid-column: auto; grid-template-columns: 1fr; height: auto; }

  .lfb-property-card { height: auto; }

  .lfb-property-card > img { height: 220px; }

  .lfb-testimonials .lfb-testimonials-gallery img { width: 250px; }

  .lfb-faq > img { width: 120px; transform: none; }

  .wordpress-page .wp-block-button,
  .wordpress-page .wp-block-button__link {
    width: 100%;
  }

  .lfb-testimonials-gallery {
    grid-template-columns: 1fr;
    gap: 16px;
    width: min(420px, 100%);
  }

  .page-accueil > h2 {
    width: min(350px, calc(100% - 32px));
    margin-right: auto;
    margin-left: auto;
    font-size: 32px !important;
    line-height: 1.08;
  }

  .footer-links {
    margin: 20px 0;
  }
}

/* Accueil — nos biens : une carte décorative dans le décor, sans cadre ni image coupée. */
.lfb-properties-editorial {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 0;
  margin: 24px 0 62px;
  padding: 42px 8vw 42px calc(42vw + 40px);
  overflow: hidden;
  background: #F3EEE6;
  border: 0 !important;
  border-radius: 0 !important;
}

.lfb-properties-editorial::before {
  position: absolute;
  z-index: -2;
  inset: 0 auto 0 0;
  width: 42vw;
  content: "";
  background: radial-gradient(ellipse at left center, rgba(28, 86, 51, .10), rgba(28, 86, 51, .025) 62%, transparent 100%);
}

.lfb-properties-editorial .lfb-properties-heading,
.lfb-properties-editorial .lfb-property-list {
  position: relative;
  z-index: 1;
  width: min(670px, 100%);
  margin-right: 0;
  margin-left: 0;
}

.lfb-properties-editorial .lfb-properties-heading {
  display: block;
  margin-bottom: 26px;
}

.lfb-properties-editorial .lfb-properties-heading > p:first-child {
  margin: 0 0 8px;
  color: #E6332E;
  font: 600 16px/1.25 Urbanist, sans-serif;
  letter-spacing: -.02em;
}

.lfb-properties-editorial h2 {
  max-width: 590px;
  margin: 0 !important;
  color: #1C5633;
  font: 500 clamp(30px, 2.55vw, 38px)/1.08 Urbanist, sans-serif !important;
  letter-spacing: -.045em;
}

.lfb-properties-editorial h2 span {
  white-space: nowrap;
}

.lfb-properties-editorial .lfb-properties-soon {
  margin: 9px 0 0;
  color: #605C56;
  font: 400 15px/1.5 Lato, sans-serif;
  letter-spacing: 0;
}

.lfb-properties-editorial .lfb-properties-copy {
  max-width: 500px;
  margin: 13px 0 0 !important;
  color: #605C56 !important;
  font: 400 17px/1.5 Lato, sans-serif !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.lfb-properties-atlas {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  width: 42vw;
  margin: 0;
  pointer-events: none;
}

.lfb-properties-atlas svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.lfb-map-sea { fill: rgba(28, 86, 51, .105); }
.lfb-map-wave { fill: none; stroke: #1C5633; stroke-width: 1.8; }
.lfb-map-coast { fill: none; stroke: #1C5633; stroke-width: 2; }
.lfb-map-road { fill: none; stroke: rgba(166, 125, 49, .58); stroke-width: 2.4; stroke-dasharray: 4 8; }
.lfb-map-ocean { fill: #1C5633; font: 500 17px/1 Urbanist, sans-serif; letter-spacing: .13em; }
.lfb-map-city circle { fill: #1C5633; opacity: .75; }
.lfb-map-city { color: #1C5633; }
.lfb-map-city text { fill: #2A2723; font: 500 23px/1 Urbanist, sans-serif; letter-spacing: -.025em; }
.lfb-map-illustration { fill: none; stroke: #1C5633; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.lfb-map-illustration .facade { fill: #F4EEE5; }
.lfb-map-illustration .roof { fill: #52765E; fill-opacity: .12; }
.lfb-map-illustration .silhouette { fill: #1C5633; stroke: none; }
.lfb-map-light { opacity: .45; }
.lfb-map-surfer { stroke-width: 1; }
.lfb-map-city--featured circle { fill: #E6332E; opacity: .9; }

.lfb-properties-editorial .lfb-property-list { display: block; }

.lfb-properties-editorial .lfb-property-row {
  display: grid;
  grid-template-columns: minmax(210px, .9fr) minmax(260px, 1fr);
  align-items: center;
  gap: clamp(24px, 3vw, 42px);
  padding: 20px 0;
  border-top: 1px solid rgba(28, 86, 51, .25);
}

.lfb-properties-editorial .lfb-property-row:last-child { border-bottom: 1px solid rgba(28, 86, 51, .25); }

.lfb-properties-editorial .lfb-property-row > img {
  width: 100%;
  height: 195px;
  border: 1px solid rgba(28, 86, 51, .18);
  border-radius: 74px 16px 16px 16px;
  object-fit: cover;
}

.lfb-properties-editorial .lfb-property-row:nth-child(2) > img { border-radius: 16px 74px 16px 16px; }

.lfb-properties-editorial .lfb-property-row h3 {
  margin: 0 0 8px;
  color: #1C5633;
  font: 600 30px/1 Urbanist, sans-serif;
  letter-spacing: -.05em;
}

.lfb-properties-editorial .lfb-property-location {
  margin: 0 0 8px;
  color: #2A2723;
  font: 700 15px/1.35 Lato, sans-serif;
}

.lfb-properties-editorial .lfb-property-detail {
  margin: 0 0 18px;
  color: #605C56;
  font: 400 15px/1.42 Lato, sans-serif;
}

.lfb-properties-editorial .lfb-property-row a {
  display: inline-flex;
  padding: 0 0 5px;
  border-bottom: 1.5px solid #1C5633;
  color: #1C5633;
  font: 700 14px/1 Urbanist, sans-serif;
  text-decoration: none;
  transition: color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.lfb-properties-editorial .lfb-property-row a:hover,
.lfb-properties-editorial .lfb-property-row a:focus-visible {
  border-color: #0D3C20;
  color: #0D3C20;
  transform: translateX(3px);
}

@media (max-width: 980px) {
  .lfb-properties-editorial {
    min-height: 0;
    padding: 52px 7vw 58px 42vw;
  }

  .lfb-properties-editorial .lfb-property-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .lfb-properties-editorial .lfb-property-row > img { height: 185px; }
}

@media (max-width: 760px) {
  .lfb-properties-editorial {
    width: 100%;
    margin: 42px 0 52px;
    padding: 48px 24px 54px;
    background: #F3EEE6;
  }

  .lfb-properties-editorial::before { width: 100%; height: 360px; }

  .lfb-properties-editorial .lfb-properties-heading,
  .lfb-properties-editorial .lfb-property-list {
    width: min(520px, 100%);
    margin-right: auto;
    margin-left: auto;
  }

  .lfb-properties-editorial .lfb-properties-heading { margin-bottom: 22px; }
  .lfb-properties-editorial h2 { font-size: 32px !important; }

  .lfb-properties-atlas {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    width: calc(100% + 48px);
    height: 480px;
    margin: -48px -24px 30px;
    order: -1;
  }

  .lfb-properties-editorial { display: flex; flex-direction: column; }

  .lfb-properties-editorial .lfb-property-row {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 0;
  }

  .lfb-properties-editorial .lfb-property-row > img { height: 210px; }
}

/* Même beige que les témoignages, sur toutes les tailles d'écran. */
.lfb-properties-editorial { background: #F4EEE5; }

/* Le bloc des Fées retrouve sa forme de carte, distincte du bandeau des biens. */
.lfb-fairy-section {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 64px));
  margin: 58px auto !important;
  padding: 36px 42px !important;
  background: #DED5C6;
  border: 2px solid rgba(28, 86, 51, .62);
  border-radius: 30px;
}

.lfb-properties-editorial {
  padding-left: calc(45vw + 40px);
  background: #FBF9F5;
}

.lfb-properties-editorial::before { width: 45vw; }

.lfb-properties-atlas {
  left: 2.5vw;
  width: 43vw;
}

.lfb-fairy-section {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 64px));
  margin: 58px auto !important;
  padding: 36px 42px !important;
  background: #DED5C6;
  border: 2px solid rgba(28, 86, 51, .62);
  border-radius: 30px;
}
.lfb-fairy-copy h2 span { white-space: nowrap; }
.lfb-soft-button { background: #1C5633; border-color: #1C5633; color: #FFFFFF; }
.lfb-soft-button:is(:hover, :focus-visible) { background: #0D3C20; border-color: #0D3C20; color: #FFFFFF; }
.lfb-properties-editorial {
  margin-top: 30px;
  margin-bottom: 30px;
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.lfb-properties-editorial .lfb-properties-soon { font-size: 17px; }
@media (min-width: 981px) {
  .lfb-properties-editorial { padding: 30px 3vw 30px calc(46vw + 20px); }
  .lfb-properties-editorial .lfb-properties-heading { width: 100%; margin-bottom: 18px; }
  .lfb-properties-editorial .lfb-properties-copy { max-width: none; white-space: nowrap; text-wrap: nowrap; font-size: clamp(14px, 1.18vw, 17px) !important; }
  .lfb-properties-editorial .lfb-properties-soon { font-size: clamp(14px, 1.18vw, 17px); }
  .lfb-properties-editorial .lfb-property-row { padding: 16px 0; }
  .lfb-properties-editorial .lfb-property-row > img { height: 165px; }
}
@media (max-width: 760px) {
  .lfb-fairy-section {
    width: min(420px, calc(100% - 32px));
    margin: 46px auto !important;
    padding: 28px 22px !important;
    border: 2px solid rgba(28, 86, 51, .62);
    border-radius: 30px;
  }
  .lfb-properties-editorial { margin: 24px 0; }
  .lfb-properties-atlas { height: 410px; }
}

@media (max-width: 760px) {
  footer { grid-template-columns: 1fr; gap: 24px; padding: 30px 24px; }
  .footer-social { margin-left: 0; }
  .footer-legal { justify-content: flex-start; gap: 12px 18px; }
}

/* Accueil sur téléphone : la carte garde sa place et le titre respire. */
@media (max-width: 760px) {
  .lfb-properties-editorial {
    padding: 36px 24px 48px !important;
    background: #FBF9F5 !important;
  }

  .lfb-properties-editorial h2 {
    max-width: 100%;
    font-size: 31px !important;
  }

  .lfb-properties-editorial h2 span { white-space: normal; }

  .lfb-properties-atlas {
    left: auto !important;
    width: calc(100% + 48px) !important;
    height: 360px !important;
    margin: -36px -24px 30px !important;
  }
}

/* Accueil : un vrai fond beige pour les Fées, avec une carte bien visible. */
.lfb-fairy-backdrop {
  width: 100%;
  padding: 58px 0;
  background: #EDE4D8;
}

.lfb-fairy-backdrop .lfb-fairy-section {
  width: min(1180px, calc(100% - 64px));
  max-width: 1180px !important;
  margin: 0 auto !important;
  background: #F8F4EE !important;
  border: 2px solid rgba(28, 86, 51, .36) !important;
  border-radius: 30px !important;
  box-shadow: 0 10px 28px rgba(42, 39, 35, .08);
}

.lfb-service-cards h4 {
  max-width: 1200px !important;
  white-space: nowrap;
  font-size: 11.5px !important;
  letter-spacing: -.01em;
}

.lfb-properties-editorial .lfb-properties-copy {
  margin-top: 8px !important;
  line-height: 1.28 !important;
}

.lfb-properties-editorial .lfb-properties-soon {
  margin-top: 3px !important;
  line-height: 1.28 !important;
}

@media (max-width: 760px) {
  .lfb-fairy-backdrop { padding: 46px 0; }
  .lfb-fairy-backdrop .lfb-fairy-section {
    width: min(420px, calc(100% - 32px));
    margin: 0 auto !important;
  }
  .lfb-service-cards h4 {
    white-space: normal;
    font-size: 17px !important;
  }
}

/* Accueil : la fée répond au texte, la mer se prolonge comme un décor. */
@media (min-width: 761px) {
  .lfb-fairy-section {
    grid-template-columns: minmax(0, 1fr) 255px;
    gap: 20px;
    margin: 48px auto !important;
    padding: 26px 36px !important;
  }

  .lfb-fairy-copy { grid-column: 1; grid-row: 1; }

  .lfb-fairy-image {
    grid-column: 2;
    grid-row: 1;
    width: 245px !important;
    margin: 0;
    justify-self: end;
  }

  .lfb-properties-editorial::before {
    width: 46vw;
    background: #1C5633;
    border-radius: 0 48% 48% 0 / 0 42% 42% 0;
  }

  .lfb-properties-editorial { margin-bottom: 0 !important; }

  .lfb-properties-atlas {
    left: 3.5vw;
    width: 43.5vw;
  }

  .lfb-map-city { color: #FBF9F5; }
  .lfb-map-city text { fill: #FBF9F5; }
  .lfb-map-wave,
  .lfb-map-coast,
  .lfb-map-illustration { stroke: rgba(251, 249, 245, .76); }
  .lfb-map-ocean { fill: #FBF9F5; }
  .lfb-map-illustration .silhouette { fill: #FBF9F5; }
}

/* Retour à la version claire : la carte reste une aquarelle, jamais un aplat vert. */
@media (min-width: 761px) {
  .lfb-fairy-section {
    grid-template-columns: 290px minmax(0, 760px);
    gap: 30px;
    margin: 58px auto !important;
    padding: 36px 42px !important;
  }

  .lfb-fairy-image {
    grid-column: 1;
    grid-row: 1;
    width: 300px !important;
    margin-left: -24px;
    justify-self: start;
  }

  .lfb-fairy-copy { grid-column: 2; grid-row: 1; }

  .lfb-properties-editorial {
    margin-bottom: 30px !important;
  }

  .lfb-properties-editorial::before {
    width: 45vw;
    background: radial-gradient(ellipse at left center, rgba(28, 86, 51, .14), rgba(28, 86, 51, .035) 62%, transparent 100%);
    border-radius: 0;
  }

  .lfb-properties-atlas {
    left: 0;
    width: 45vw;
  }

  .lfb-map-city { color: #1C5633; }
  .lfb-map-city text { fill: #2A2723; }
  .lfb-map-wave,
  .lfb-map-coast,
  .lfb-map-illustration { stroke: #1C5633; }
  .lfb-map-ocean { fill: #1C5633; }
  .lfb-map-illustration .silhouette { fill: #1C5633; }
}

/* La mer donne un seul fond vert d'eau à toute la sélection de biens. */
@media (min-width: 761px) {
  .lfb-properties-editorial {
    margin-bottom: 0 !important;
    background: #F8FAF8;
  }

  .lfb-properties-editorial::before {
    width: 100%;
    background: linear-gradient(90deg, rgba(28, 86, 51, .075), rgba(28, 86, 51, .028) 46%, rgba(28, 86, 51, .012) 100%);
  }
}

@media (max-width: 760px) {
  .lfb-properties-editorial {
    background: #F8FAF8 !important;
  }

  .lfb-properties-editorial::before {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(28, 86, 51, .06), rgba(28, 86, 51, .015) 62%, transparent 100%);
  }
}

/* Réglages finaux de l'accueil. */
@media (min-width: 761px) {
  .lfb-service-cards h4 {
    max-width: 1200px !important;
    width: 1200px;
    white-space: nowrap;
    font-size: 11.5px !important;
    letter-spacing: -.01em;
  }
}

/* Accueil : le beige des services arrive sans coupure jusqu'aux biens. */
@media (min-width: 761px) {
  .lfb-properties-editorial { margin-top: 0 !important; }
}

/* Accueil : des séparations discrètes et une carte des Fées plus ramassée. */
@media (min-width: 761px) {
  .lfb-properties-editorial,
  .lfb-testimonials {
    border-top: 1px solid rgba(28, 86, 51, .48) !important;
  }

  .lfb-fairy-backdrop { padding: 42px 0 !important; }

  .lfb-fairy-backdrop .lfb-fairy-section {
    padding: 24px 42px !important;
  }

  .lfb-fairy-copy p { line-height: 1.38 !important; }

  .lfb-testimonials { background: #EDE4D8 !important; }
}

/* Conciergerie : mêmes fonds, mêmes tailles et mêmes repères que l'accueil. */
#lfb-conciergerie {
  --beige-dark: #EDE4D8 !important;
  --beige: #F8F4EE !important;
  --cream: #FBF9F5 !important;
  --white: #FFFFFF !important;
}

#lfb-conciergerie .lfb-hero {
  background: #EDE4D8 !important;
  border-top: 24px solid #FFFFFF !important;
}

#lfb-conciergerie .lfb-title,
#lfb-conciergerie .lfb-offers .lfb-section-intro .lfb-title {
  font-family: Urbanist, sans-serif !important;
  font-size: clamp(31px, 3vw, 42px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
}

#lfb-conciergerie :is(.lfb-section-intro p, .lfb-process-header p, .lfb-simulator-title p, .lfb-operation-copy p) {
  color: #605C56 !important;
  font-family: Lato, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}

#lfb-conciergerie .lfb-offer-card { background: #F8F4EE !important; }
#lfb-conciergerie .lfb-cost-note { background: #EDE4D8 !important; }
#lfb-conciergerie .lfb-process { background: #FBF9F5 !important; }
#lfb-conciergerie .lfb-simulator { background: #FBF9F5 !important; }
#lfb-conciergerie .lfb-simulator-box { background: #EDE4D8 !important; }

#lfb-conciergerie .lfb-simulator-label {
  color: #E6332E !important;
  font-family: Urbanist, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
}

#lfb-conciergerie .lfb-operation {
  padding: 44px 0 !important;
  background: #FBF9F5 !important;
}

#lfb-conciergerie .lfb-operation-box {
  display: block !important;
  width: min(1180px, calc(100% - 64px)) !important;
  padding: 28px 38px !important;
  border: 2px solid rgba(28, 86, 51, .36) !important;
  border-radius: 24px !important;
  background: #F8F4EE !important;
  box-shadow: 0 10px 28px rgba(42, 39, 35, .08) !important;
}

#lfb-conciergerie .lfb-operation-copy { padding: 0 !important; }
#lfb-conciergerie .lfb-operation-copy h2 {
  margin-bottom: 8px !important;
  color: #1C5633 !important;
  font-family: Urbanist, sans-serif !important;
  font-size: clamp(26px, 2.4vw, 34px) !important;
  line-height: 1.12 !important;
}

#lfb-conciergerie .lfb-final {
  padding: 54px 0 !important;
  background: #FBF9F5 !important;
  color: #2A2723 !important;
  text-align: left !important;
}

#lfb-conciergerie .lfb-final-card {
  display: grid;
  grid-template-columns: minmax(280px, 38%) 1fr;
  overflow: hidden;
  border: 2px solid rgba(28, 86, 51, .36);
  border-radius: 24px;
  background: #EDE4D8;
  box-shadow: 0 10px 28px rgba(42, 39, 35, .08);
}

#lfb-conciergerie .lfb-final-photo { min-height: 270px; }
#lfb-conciergerie .lfb-final-photo img { width: 100%; height: 100%; object-fit: cover; }
#lfb-conciergerie .lfb-final-copy { padding: 38px 44px; }
#lfb-conciergerie .lfb-final .lfb-title { margin-bottom: 10px !important; color: #1C5633 !important; }
#lfb-conciergerie .lfb-final p { margin: 0 0 22px !important; color: #605C56 !important; font: 18px/1.45 Lato, sans-serif !important; }
#lfb-conciergerie .lfb-final .lfb-btn-secondary { border-color: #1C5633 !important; color: #1C5633 !important; }
#lfb-conciergerie .lfb-final .lfb-btn-secondary:hover { background: #0D3C20 !important; border-color: #0D3C20 !important; color: #FFFFFF !important; }

@media (max-width: 760px) {
  #lfb-conciergerie .lfb-final-card { grid-template-columns: 1fr; }
  #lfb-conciergerie .lfb-final-copy { padding: 28px 24px; }
}

/* Conciergerie : proportions validées avec les repères de l'accueil. */
@media (min-width: 761px) {
  #lfb-conciergerie { margin-top: 0 !important; }

  #lfb-conciergerie .lfb-hero { border-top-width: 48px !important; }

  #lfb-conciergerie .lfb-process .lfb-container {
    width: min(1180px, calc(100% - 64px)) !important;
  }

  #lfb-conciergerie .lfb-benefits {
    padding: 46px 0 54px !important;
    background: #FBF9F5 !important;
  }
  #lfb-conciergerie .lfb-benefits .lfb-section-intro { margin-bottom: 26px !important; }
  #lfb-conciergerie .lfb-benefit-grid { width: min(1180px, calc(100% - 64px)) !important; margin: 0 auto !important; }
  #lfb-conciergerie .lfb-benefit { background: #EDE4D8 !important; }
  #lfb-conciergerie .lfb-benefit-icon { background: #1C5633 !important; color: #FFFFFF !important; }

  #lfb-conciergerie .lfb-operation-inline {
    padding: 20px 0 0 !important;
    background: transparent !important;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-box {
    width: min(1240px, calc(100% - 64px)) !important;
    padding: 18px 22px !important;
    border-width: 1px !important;
    border-radius: 16px !important;
    background: #EDE4D8 !important;
    box-shadow: none !important;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy h2 {
    margin-bottom: 4px !important;
    font-size: 21px !important;
    font-weight: 600 !important;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy {
    position: relative;
    padding-left: 62px !important;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy::before {
    content: "?";
    position: absolute;
    top: 1px;
    left: 0;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #1C5633;
    color: #FFFFFF;
    font: 700 25px/1 Urbanist, sans-serif;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy p {
    max-width: 910px !important;
    margin-bottom: 12px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
    align-items: end;
  }

  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy h2 { grid-column: 1 / -1; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy p { grid-column: 1; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy > div { grid-column: 2; grid-row: 2; margin-bottom: 0; }

  #lfb-conciergerie .lfb-operation-inline .lfb-btn {
    min-height: 44px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
  }

  #lfb-conciergerie .lfb-final .lfb-container {
    width: min(1180px, calc(100% - 64px)) !important;
  }

  #lfb-conciergerie .lfb-final-card {
    grid-template-columns: 320px 1fr !important;
    border-radius: 22px !important;
  }

  #lfb-conciergerie .lfb-final-photo { min-height: 230px !important; }
  #lfb-conciergerie .lfb-final-copy { padding: 28px 34px !important; }
  #lfb-conciergerie .lfb-final .lfb-title { font-size: 34px !important; }
  #lfb-conciergerie .lfb-final-buttons { justify-content: flex-start !important; }
}

/* Intendance : même langage visuel que la Conciergerie. */
#lfb-intendance {
  --lfb-green: #1C5633;
  --lfb-dark-green: #0D3C20;
  --lfb-red: #E6332E;
  --lfb-text: #2A2723;
  --lfb-cream: #FBF9F5;
  --lfb-beige: #F8F4EE;
  --lfb-beige-dark: #EDE4D8;
  color: var(--lfb-text);
  background: var(--lfb-cream);
}

#lfb-intendance * { box-sizing: border-box; }
#lfb-intendance :is(h1, h2, h3, p, figure) { margin-top: 0; }
#lfb-intendance h1 { font-family: 'Playfair Display', serif !important; font-weight: 500 !important; }
#lfb-intendance :is(h2, h3, .lfb-int-btn, .lfb-int-eyebrow, .lfb-int-kicker, .lfb-int-price) { font-family: Urbanist, sans-serif !important; }
#lfb-intendance p, #lfb-intendance li { font-family: Lato, sans-serif !important; }

#lfb-intendance .lfb-int-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(440px, 1fr);
  min-height: 570px;
  border-top: 48px solid #FFFFFF;
  background: var(--lfb-beige-dark);
}
#lfb-intendance .lfb-int-hero-copy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  max-width: 660px;
  padding: 78px clamp(46px, 7vw, 124px);
}
#lfb-intendance .lfb-int-eyebrow, #lfb-intendance .lfb-int-kicker { margin-bottom: 17px; color: var(--lfb-red); font-size: 12px; font-weight: 800; letter-spacing: .13em; }
#lfb-intendance .lfb-int-hero h1 { margin-bottom: 24px; color: var(--lfb-green); font-size: clamp(47px, 4.2vw, 68px); line-height: .98; letter-spacing: -.055em; }
#lfb-intendance .lfb-int-hero-copy > p:not(.lfb-int-eyebrow) { max-width: 530px; margin-bottom: 30px; color: #605C56; font-size: 18px; line-height: 1.52; }
#lfb-intendance .lfb-int-hero-photo { min-height: 522px; margin: 0; overflow: hidden; }
#lfb-intendance .lfb-int-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 53% 50%; display: block; }

#lfb-intendance .lfb-int-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 13px 22px; border: 2px solid var(--lfb-green); border-radius: 13px; font-size: 15px; font-weight: 800; line-height: 1; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease; }
#lfb-intendance .lfb-int-btn-primary { color: #FFFFFF; background: var(--lfb-green); }
#lfb-intendance .lfb-int-btn-primary:hover { background: var(--lfb-dark-green); border-color: var(--lfb-dark-green); color: #FFFFFF; }
#lfb-intendance .lfb-int-btn-secondary { color: var(--lfb-green); background: transparent; }
#lfb-intendance .lfb-int-btn-secondary:hover { background: #EDE4D8; color: var(--lfb-dark-green); border-color: var(--lfb-dark-green); }

#lfb-intendance .lfb-int-offers { padding: 78px 32px 58px; background: var(--lfb-cream); }
#lfb-intendance .lfb-int-section-head { width: min(1180px, 100%); margin: 0 auto 32px; }
#lfb-intendance .lfb-int-section-head h2, #lfb-intendance .lfb-int-process h2, #lfb-intendance .lfb-int-final h2 { margin-bottom: 14px; color: var(--lfb-green); font-size: clamp(31px, 3vw, 42px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
#lfb-intendance .lfb-int-section-head > p:last-child { max-width: 640px; margin-bottom: 0; color: #605C56; font-size: 18px; line-height: 1.45; }
#lfb-intendance .lfb-int-offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 18px; width: min(1180px, 100%); margin: 0 auto; }
#lfb-intendance .lfb-int-offer { position: relative; display: flex; flex-direction: column; min-height: 572px; padding: 30px 28px 28px; border: 1.5px solid rgba(28, 86, 51, .36); border-radius: 20px; background: var(--lfb-beige); box-shadow: 0 8px 22px rgba(42, 39, 35, .05); }
#lfb-intendance .lfb-int-offer-featured { border: 2px solid var(--lfb-green); background: #FFFFFF; box-shadow: 0 12px 28px rgba(28, 86, 51, .11); }
#lfb-intendance .lfb-int-badge { position: absolute; top: -13px; left: 25px; padding: 6px 12px; border-radius: 20px; background: var(--lfb-green); color: #FFFFFF; font: 800 12px/1 Urbanist, sans-serif; }
#lfb-intendance .lfb-int-offer-top { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
#lfb-intendance .lfb-int-offer h3 { margin: 0; color: var(--lfb-green); font-size: 27px; font-weight: 600; letter-spacing: -.03em; }
#lfb-intendance .lfb-int-price { flex: none; margin: 0; color: var(--lfb-red); font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
#lfb-intendance .lfb-int-price small { display: block; margin-top: 2px; color: #605C56; font-size: 10px; font-weight: 700; letter-spacing: .03em; text-align: right; }
#lfb-intendance .lfb-int-price-note { min-height: 32px; margin: -6px 0 10px; color: #605C56; font-size: 12px; line-height: 1.25; }
#lfb-intendance .lfb-int-tagline { min-height: 44px; margin: 0 0 18px; color: var(--lfb-text); font-size: 16px; font-weight: 700; line-height: 1.35; }
#lfb-intendance .lfb-int-offer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
#lfb-intendance .lfb-int-offer li { position: relative; padding-left: 20px; color: #605C56; font-size: 14px; line-height: 1.33; }
#lfb-intendance .lfb-int-offer li::before { content: '✓'; position: absolute; left: 0; color: var(--lfb-green); font-weight: 700; }
#lfb-intendance .lfb-int-extra { width: min(1180px, 100%); margin: 20px auto 0; padding: 17px 22px; border-radius: 14px; background: var(--lfb-beige-dark); color: #605C56; font-size: 15px; line-height: 1.4; }
#lfb-intendance .lfb-int-extra strong { color: var(--lfb-text); }

#lfb-intendance .lfb-int-process { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr); gap: 34px; padding: 74px max(32px, calc((100vw - 1180px) / 2)); background: var(--lfb-beige-dark); }
#lfb-intendance .lfb-int-process-wrap { display: grid; grid-template-columns: .72fr 1.28fr; gap: 36px; }
#lfb-intendance .lfb-int-process-copy p:not(.lfb-int-kicker) { max-width: 310px; margin-bottom: 0; color: #605C56; font-size: 17px; line-height: 1.5; }
#lfb-intendance .lfb-int-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 20px; margin: 0; padding: 0; list-style: none; }
#lfb-intendance .lfb-int-steps li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; }
#lfb-intendance .lfb-int-steps span { padding-top: 2px; color: var(--lfb-red); font: 800 13px/1 Urbanist, sans-serif; }
#lfb-intendance .lfb-int-steps h3 { margin-bottom: 4px; color: var(--lfb-green); font-size: 16px; font-weight: 700; line-height: 1.17; }
#lfb-intendance .lfb-int-steps p { margin: 0; color: #605C56; font-size: 14px; line-height: 1.32; }
#lfb-intendance .lfb-int-followup { padding: 30px; border: 2px solid rgba(28, 86, 51, .38); border-radius: 20px; background: var(--lfb-beige); }
#lfb-intendance .lfb-int-followup h3 { margin-bottom: 25px; color: var(--lfb-green); font-size: 23px; font-weight: 600; line-height: 1.12; letter-spacing: -.03em; }
#lfb-intendance .lfb-int-followup > div { padding: 15px 0; border-top: 1px solid rgba(28, 86, 51, .2); }
#lfb-intendance .lfb-int-followup strong { color: var(--lfb-text); font: 700 15px/1.25 Urbanist, sans-serif; }
#lfb-intendance .lfb-int-followup p { margin: 5px 0 0; color: #605C56; font-size: 14px; line-height: 1.36; }

#lfb-intendance .lfb-int-final { padding: 54px 32px; background: var(--lfb-cream); }
#lfb-intendance .lfb-int-final-card { display: grid; grid-template-columns: 320px 1fr; width: min(1180px, 100%); margin: 0 auto; overflow: hidden; border: 2px solid rgba(28, 86, 51, .36); border-radius: 22px; background: var(--lfb-beige-dark); box-shadow: 0 10px 28px rgba(42, 39, 35, .08); }
#lfb-intendance .lfb-int-final-card figure { min-height: 230px; margin: 0; }
#lfb-intendance .lfb-int-final-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; display: block; }
#lfb-intendance .lfb-int-final-card > div { padding: 29px 34px; }
#lfb-intendance .lfb-int-final-card h2 { margin-bottom: 8px; font-size: 34px; }
#lfb-intendance .lfb-int-final-card > div > p { margin-bottom: 20px; color: #605C56; font-size: 18px; line-height: 1.45; }
#lfb-intendance .lfb-int-final-actions { display: flex; flex-wrap: wrap; gap: 11px; }

@media (max-width: 960px) {
  #lfb-intendance .lfb-int-hero { grid-template-columns: 1fr; }
  #lfb-intendance .lfb-int-hero-photo { min-height: 440px; }
  #lfb-intendance .lfb-int-offer-grid { grid-template-columns: 1fr; max-width: 620px; }
  #lfb-intendance .lfb-int-offer { min-height: 0; }
  #lfb-intendance .lfb-int-process { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  #lfb-intendance .lfb-int-hero { border-top-width: 28px; }
  #lfb-intendance .lfb-int-hero-copy { padding: 54px 25px; }
  #lfb-intendance .lfb-int-hero h1 { font-size: 45px; }
  #lfb-intendance .lfb-int-hero-photo { min-height: 310px; }
  #lfb-intendance .lfb-int-offers, #lfb-intendance .lfb-int-final { padding: 52px 20px; }
  #lfb-intendance .lfb-int-offer { padding: 28px 22px; }
  #lfb-intendance .lfb-int-process { display: block; padding: 52px 24px; }
  #lfb-intendance .lfb-int-process-wrap { display: block; }
  #lfb-intendance .lfb-int-process-copy { margin-bottom: 35px; }
  #lfb-intendance .lfb-int-steps { grid-template-columns: 1fr; }
  #lfb-intendance .lfb-int-followup { margin-top: 30px; }
  #lfb-intendance .lfb-int-final-card { grid-template-columns: 1fr; }
  #lfb-intendance .lfb-int-final-card figure { min-height: 220px; }
  #lfb-intendance .lfb-int-final-card > div { padding: 26px 24px; }
}

/* Intendance : reprise directe des proportions validées sur Conciergerie. */
#lfb-intendance .lfb-int-hero {
  display: block;
  min-height: 0;
  padding-top: 0;
  border-top: 48px solid #FFFFFF;
  background: #EDE4D8;
}
#lfb-intendance .lfb-int-hero-copy,
#lfb-intendance .lfb-int-hero-photo {
  width: min(1440px, calc(100% - 26px));
  margin: 0 auto;
}
#lfb-intendance .lfb-int-hero-copy {
  display: flex;
  align-items: flex-start;
  min-height: 0;
  padding: 50px 50px 40px 52px;
}
#lfb-intendance .lfb-int-hero h1 {
  max-width: 770px;
  margin: 0 0 23px;
  color: #1C5633;
  font-size: clamp(39px, 4.4vw, 55px);
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.025em;
}
#lfb-intendance .lfb-int-hero-copy > p:not(.lfb-int-eyebrow) {
  max-width: 590px;
  margin: 0 0 29px;
  color: #2A2723;
  font-size: 19px;
  line-height: 1.55;
}
#lfb-intendance .lfb-int-btn { min-height: auto; padding: 14px 27px; border: 0; border-radius: 17px; font-size: 18px; line-height: 1.1; }
#lfb-intendance .lfb-int-hero-photo { height: 500px; min-height: 0; overflow: hidden; border-radius: 24px 0 0 24px; }
#lfb-intendance .lfb-int-hero-photo img { object-position: center 57%; }

#lfb-intendance .lfb-int-offers { padding: 112px 32px 38px; background: #FFFFFF; }
#lfb-intendance .lfb-int-section-head { width: min(1400px, 100%); margin: 0 auto 30px; text-align: center; }
#lfb-intendance .lfb-int-section-head h2 {
  margin-bottom: 12px;
  color: #1C5633;
  font-size: clamp(36px, 3.8vw, 46px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.045em;
  white-space: nowrap;
}
#lfb-intendance .lfb-highlight-red { position: relative; display: inline-block; z-index: 0; }
#lfb-intendance .lfb-highlight-red::after { content: ''; position: absolute; left: -2%; bottom: .14em; width: 104%; height: .46em; border-radius: 4px; background: rgba(230, 51, 46, .42); z-index: -1; }
#lfb-intendance .lfb-int-section-head > p:last-child { max-width: 760px; margin: 0 auto; color: #605C56; font-size: 18px; line-height: 1.45; white-space: normal; }
#lfb-intendance .lfb-int-offer-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; width: min(1240px, 100%); }
#lfb-intendance .lfb-int-offer,
#lfb-intendance .lfb-int-offer-featured {
  min-height: 0;
  padding: 28px 30px 22px;
  border: 1.5px solid #1C5633;
  border-radius: 24px;
  background: #F8F4EE;
  box-shadow: none;
}
#lfb-intendance .lfb-int-offer-top { gap: 18px; margin-bottom: 14px; }
#lfb-intendance .lfb-int-offer h3 { font-size: 25px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
#lfb-intendance .lfb-int-offer h3::after { content: ''; display: block; width: 88px; height: 2px; margin-top: 12px; background: rgba(28, 86, 51, .18); }
#lfb-intendance .lfb-int-price { min-width: 114px; padding: 12px 18px 10px; border-radius: 999px; background: #1C5633; color: #FFFFFF; font-size: 27px; font-weight: 800; line-height: 1; text-align: center; letter-spacing: -.02em; box-shadow: 0 8px 18px rgba(28, 86, 51, .1); }
#lfb-intendance .lfb-int-price small { margin-top: 4px; color: rgba(255,255,255,.9); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-align: center; }
#lfb-intendance .lfb-int-price-note { min-height: 0; margin: -4px 0 10px; color: #2A2723; font-size: 12px; }
#lfb-intendance .lfb-int-tagline { min-height: 0; margin-bottom: 18px; color: #2A2723; font-size: 16px; }
#lfb-intendance .lfb-int-offer ul { gap: 8px; }
#lfb-intendance .lfb-int-offer li { padding-left: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; color: #2A2723; font-size: 16px; line-height: 1.34; }
#lfb-intendance .lfb-int-offer li::before { position: static; font-size: 21px; line-height: 1.05; }
#lfb-intendance .lfb-int-badge { top: -13px; left: 25px; }

#lfb-intendance .lfb-int-process { grid-template-columns: minmax(0, 1.5fr) 320px; gap: 55px; align-items: center; padding: 74px max(32px, calc((100vw - 1180px) / 2)); background: #FBF9F5; }
#lfb-intendance .lfb-int-process-wrap { display: block; }
#lfb-intendance .lfb-int-process-copy { margin-bottom: 34px; }
#lfb-intendance .lfb-int-process-copy p:not(.lfb-int-kicker) { max-width: 900px; color: #2A2723; font-size: 18px; }
#lfb-intendance .lfb-int-steps { display: block; }
#lfb-intendance .lfb-int-steps li { grid-template-columns: 44px 1fr; gap: 20px; margin-bottom: 27px; }
#lfb-intendance .lfb-int-steps span { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; background: #1C5633; color: #FFFFFF; font-size: 18px; }
#lfb-intendance .lfb-int-steps h3 { margin-bottom: 5px; font-size: 20px; font-weight: 700; }
#lfb-intendance .lfb-int-steps p { color: #2A2723; font-size: 16px; line-height: 1.5; }
#lfb-intendance .lfb-int-phone { position: relative; width: 292px; padding: 10px; border: 5px solid #1D1D1F; border-radius: 45px; background: #1D1D1F; box-shadow: 0 22px 45px rgba(0,0,0,.16); transform: rotate(1.5deg); }
#lfb-intendance .lfb-int-phone::before { content: ''; position: absolute; top: 116px; left: -9px; width: 4px; height: 62px; border-radius: 3px 0 0 3px; background: #2B2B2D; box-shadow: 0 -36px #2B2B2D, 0 75px #2B2B2D; }
#lfb-intendance .lfb-int-phone::after { content: ''; position: absolute; top: 145px; right: -9px; width: 4px; height: 72px; border-radius: 0 3px 3px 0; background: #2B2B2D; }
#lfb-intendance .lfb-int-phone-bar { margin: 0; padding: 19px 15px 11px; border-radius: 35px 35px 0 0; background: #F7F7F7; color: #1C5633; font: 700 13px/1 Urbanist, sans-serif; text-align: center; }
#lfb-intendance .lfb-int-phone-bar span { position: absolute; top: 20px; left: 50%; width: 89px; height: 25px; transform: translateX(-50%); border-radius: 20px; background: #111; }
#lfb-intendance .lfb-int-phone-bar strong { display: block; margin-top: 21px; }
#lfb-intendance .lfb-int-phone-body { min-height: 392px; padding: 16px 12px 19px; border-radius: 0 0 35px 35px; background: #EEF5EC; }
#lfb-intendance .lfb-int-message { width: 88%; margin: 0 0 11px auto; padding: 10px 11px; border-radius: 11px 11px 2px 11px; background: #FFFFFF; color: #2A2723; font-size: 12px; line-height: 1.35; }
#lfb-intendance .lfb-int-message-fee { margin-left: 0; margin-right: auto; border-radius: 11px 11px 11px 2px; background: #DCEBDE; }

@media (max-width: 1000px) {
  #lfb-intendance .lfb-int-hero-copy, #lfb-intendance .lfb-int-hero-photo { width: min(100%, calc(100% - 28px)); }
  #lfb-intendance .lfb-int-hero-photo { height: 430px; border-radius: 0; }
  #lfb-intendance .lfb-int-section-head h2, #lfb-intendance .lfb-int-section-head > p:last-child { white-space: normal; }
  #lfb-intendance .lfb-int-offer-grid { grid-template-columns: 1fr; max-width: 760px; }
  #lfb-intendance .lfb-int-process { grid-template-columns: 1fr; }
  #lfb-intendance .lfb-int-phone { margin: 0 auto; }
}

/* Intendance : mêmes repères visuels que Conciergerie sur ordinateur. */
@media (min-width: 1001px) {
  #lfb-intendance .lfb-int-hero {
    display: grid;
    grid-template-columns: 46% 54%;
    width: 100%;
    margin: 0 auto;
    border-top: 48px solid #FFFFFF;
    background: #EDE4D8;
  }

  #lfb-intendance .lfb-int-hero-copy,
  #lfb-intendance .lfb-int-hero-photo {
    width: auto;
    margin: 0;
  }

  #lfb-intendance .lfb-int-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 500px;
    padding: 50px 58px 48px clamp(44px, 4vw, 70px);
  }

  #lfb-intendance .lfb-int-hero-photo {
    height: 500px;
    border-radius: 24px 0 0 24px;
  }
}

#lfb-intendance .lfb-int-section-head { margin-bottom: 48px; }
#lfb-intendance .lfb-int-badge {
  padding: 8px 15px;
  font-size: 14px;
  letter-spacing: .01em;
}
#lfb-intendance .lfb-int-price-note {
  margin: auto 0 0;
  padding-top: 17px;
  color: #605C56;
  font-size: 13px;
  line-height: 1.35;
}

#lfb-intendance .lfb-int-process { align-items: start; }
#lfb-intendance .lfb-int-process-copy h2 {
  margin: 0 0 20px;
  color: #1C5633;
  font: 500 clamp(31px, 3vw, 42px)/1.08 Urbanist, sans-serif;
  letter-spacing: -.045em;
}
#lfb-intendance .lfb-int-process-copy { margin-bottom: 38px; }
#lfb-intendance .lfb-int-process-copy p:not(.lfb-int-kicker) { max-width: 760px; }
#lfb-intendance .lfb-int-steps li { position: relative; margin-bottom: 30px; }
#lfb-intendance .lfb-int-steps li:not(:last-child) > span::after {
  content: '';
  position: absolute;
  top: 44px;
  left: 21px;
  width: 1px;
  height: calc(100% + 16px);
  background: rgba(28, 86, 51, .38);
}
#lfb-intendance .lfb-int-steps span { position: relative; z-index: 1; }
#lfb-intendance .lfb-int-phone { align-self: center; }
#lfb-intendance .lfb-int-mail-photo {
  float: right;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: -2px 0 5px 8px;
  border-radius: 8px;
  background: #FFFFFF;
  color: #1C5633;
  font: 700 18px/1 Urbanist, sans-serif;
}
#lfb-intendance .lfb-int-message strong { font-family: Urbanist, sans-serif; }

/* Le dernier appel reprend la carte Conciergerie, sans autre variante. */
#lfb-intendance .lfb-int-final { padding: 54px 0; background: #FBF9F5; }
#lfb-intendance .lfb-int-final-card {
  grid-template-columns: minmax(280px, 38%) 1fr;
  width: min(1180px, calc(100% - 64px));
  border: 2px solid rgba(28, 86, 51, .36);
  border-radius: 24px;
  background: #EDE4D8;
}
#lfb-intendance .lfb-int-final-card figure { min-height: 270px; }
#lfb-intendance .lfb-int-final-card > div { padding: 38px 44px; }
#lfb-intendance .lfb-int-final-card h2 { margin-bottom: 10px; font-size: clamp(31px, 3vw, 42px); }
#lfb-intendance .lfb-int-final-card > div > p { margin: 0 0 22px; color: #605C56; font-size: 18px; line-height: 1.45; }

@media (max-width: 1000px) {
  #lfb-intendance .lfb-int-section-head { margin-bottom: 36px; }
  #lfb-intendance .lfb-int-final-card { width: min(100% - 40px, 760px); }
}

/* Téléphone : copie des dimensions et de la structure Conciergerie. */
#lfb-intendance .lfb-int-phone-wrap {
  display: flex;
  align-self: center;
  justify-content: center;
}
#lfb-intendance .lfb-int-phone {
  width: 292px;
  padding: 10px;
  border: 5px solid #1d1d1f;
  border-radius: 45px;
  background: #1d1d1f;
  box-shadow: 0 22px 45px rgba(0,0,0,.16);
  transform: rotate(1.5deg);
}
#lfb-intendance .lfb-int-phone-screen {
  position: relative;
  padding: 48px 12px 19px;
  overflow: hidden;
  border-radius: 35px;
  background: #eef5ec;
}
#lfb-intendance .lfb-int-phone-screen::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 50%;
  width: 89px;
  height: 25px;
  transform: translateX(-50%);
  border-radius: 20px;
  background: #111;
}
#lfb-intendance .lfb-int-phone-header {
  margin: -4px -12px 15px;
  padding: 11px 15px;
  background: #f7f7f7;
  color: #1C5633;
  font: 700 13px/1 Urbanist, sans-serif;
}
#lfb-intendance .lfb-int-message {
  width: 87%;
  margin: 0 0 10px;
  padding: 9px 10px;
  border-radius: 9px;
  background: #FFFFFF;
  color: #2A2723;
  font: 11.5px/1.34 Arial, sans-serif;
}
#lfb-intendance .lfb-int-message-me {
  margin-left: auto;
  background: #d6f5c8;
}
#lfb-intendance .lfb-int-phone-photo {
  height: 112px;
  margin: 4px 0 11px;
  overflow: hidden;
  border-radius: 9px;
}
#lfb-intendance .lfb-int-phone-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Derniers repères repris sur la page Conciergerie. */
#lfb-intendance .lfb-int-hero-copy > p:not(.lfb-int-eyebrow) { line-height: 1.43; }
#lfb-intendance .lfb-int-steps { position: relative; }
#lfb-intendance .lfb-int-steps::before {
  content: '';
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 21px;
  width: 1px;
  background: #EDE4D8;
}
#lfb-intendance .lfb-int-steps li:not(:last-child) > span::after { content: none; }
#lfb-intendance .lfb-int-steps span { z-index: 2; }
#lfb-intendance .lfb-int-final-card > div { padding-top: 36px; padding-bottom: 20px; }
#lfb-intendance .lfb-int-final-card > div > p { margin-bottom: 32px; }
#lfb-intendance .lfb-int-final-actions { gap: 14px; }
#lfb-intendance .lfb-int-final-actions .lfb-int-btn-secondary {
  border: 2px solid #1C5633;
  background: transparent;
  color: #1C5633;
}
#lfb-intendance .lfb-int-final-actions .lfb-int-btn-secondary:hover {
  border-color: #0D3C20;
  background: #0D3C20;
  color: #FFFFFF;
}

/* Le téléphone conserve exactement le gabarit extérieur Conciergerie. */
#lfb-intendance .lfb-int-phone {
  box-sizing: border-box;
  height: 596px;
}
#lfb-intendance .lfb-int-phone-screen {
  height: 566px;
  box-sizing: border-box;
}
#lfb-intendance .lfb-int-message { font-size: 11px; }

/* Carte finale : contenu centré verticalement sur les deux pages. */
#lfb-conciergerie .lfb-final-copy,
#lfb-intendance .lfb-int-final-card > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#lfb-intendance .lfb-int-final-card > div {
  min-height: 230px;
  padding: 28px 34px;
  box-sizing: border-box;
}
#lfb-intendance .lfb-int-final-card > div > p { margin-bottom: 22px; }

/* Carte finale : mêmes valeurs que la carte finale Conciergerie. */
@media (min-width: 761px) {
  #lfb-intendance .lfb-int-final-card { grid-template-columns: 320px 1fr; border-radius: 22px; }
  #lfb-intendance .lfb-int-final-card figure { min-height: 230px; }
  #lfb-intendance .lfb-int-final-card > div { padding: 28px 34px; }
  #lfb-intendance .lfb-int-final-card h2 { font-size: 34px; }
}

/* Services sur mesure : une page plus visuelle, mais avec la même charte. */
#lfb-services { overflow: hidden; background: #FBF9F5; color: #2A2723; }
#lfb-services h1, #lfb-services h2, #lfb-services p, #lfb-services figure { margin-top: 0; }
#lfb-services .lfb-services-kicker { margin-bottom: 20px; color: #1C5633; font: 800 14px/1.1 Urbanist, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
#lfb-services .lfb-services-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 2px solid #1C5633; border-radius: 15px; background: #1C5633; color: #FFFFFF; font: 700 15px/1 Urbanist, sans-serif; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease; }
#lfb-services .lfb-services-button:hover { border-color: #0D3C20; background: #0D3C20; color: #FFFFFF; }
#lfb-services .lfb-services-button-outline { background: transparent; color: #1C5633; }
#lfb-services .lfb-services-button-outline:hover { background: #EDE4D8; color: #0D3C20; }

#lfb-services .lfb-services-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .94fr); align-items: center; min-height: 560px; padding: 78px max(54px, calc((100vw - 1180px) / 2)) 68px; gap: 55px; border-top: 48px solid #FFFFFF; background: #EDE4D8; }
#lfb-services .lfb-services-hero-copy { position: relative; z-index: 2; max-width: 620px; }
#lfb-services .lfb-services-hero h1 { margin-bottom: 23px; color: #1C5633; font-family: 'Playfair Display', serif !important; font-size: clamp(40px, 4.35vw, 64px) !important; font-weight: 500 !important; line-height: 1.02 !important; letter-spacing: -.04em; }
#lfb-services .lfb-services-hero h1::first-line { color: #1C5633; }
#lfb-services .lfb-services-hero-copy > p:last-of-type { max-width: 525px; margin-bottom: 30px; color: #2A2723; font: 400 19px/1.5 Lato, sans-serif; }
#lfb-services .lfb-services-hero-art { position: relative; min-height: 410px; }
#lfb-services .lfb-services-hero-photo { position: absolute; display: block; width: 100%; height: 100%; object-fit: cover; box-shadow: 0 19px 30px rgba(42, 39, 35, .13); }
#lfb-services .lfb-services-hero-food { z-index: 1; top: 8px; left: 0; width: 65%; height: 355px; border-radius: 44% 56% 55% 45% / 48% 40% 60% 52%; object-position: 52% center; }
#lfb-services .lfb-services-hero-breakfast { z-index: 2; right: 0; bottom: 0; width: 53%; height: 245px; border-radius: 56% 44% 51% 49% / 48% 59% 41% 52%; object-position: 52% center; }
#lfb-services .lfb-services-sun { position: absolute; z-index: 0; top: 50px; right: 5%; width: 160px; height: 160px; border-radius: 50%; background: #F3EEE6; }

#lfb-services .lfb-services-intro { width: min(880px, calc(100% - 48px)); margin: 0 auto; padding: 70px 0 62px; text-align: center; }
#lfb-services .lfb-services-intro p { margin: 0; color: #605C56; font: 400 20px/1.58 Lato, sans-serif; }

#lfb-services .lfb-services-categories { display: grid; grid-template-columns: repeat(12, 1fr); width: min(1180px, calc(100% - 64px)); margin: 0 auto; gap: 22px; }
#lfb-services .lfb-services-card { position: relative; overflow: hidden; border: 1.5px solid rgba(28, 86, 51, .5); border-radius: 28px; background: #FFFFFF; }
#lfb-services .lfb-services-card-copy { position: relative; z-index: 2; }
#lfb-services .lfb-services-number { margin-bottom: 11px; color: #E6332E; font: 700 14px/1 Urbanist, sans-serif; letter-spacing: .11em; }
#lfb-services .lfb-services-card h2 { margin-bottom: 20px; color: #1C5633; font: 600 clamp(26px, 2.3vw, 34px)/1.05 Urbanist, sans-serif; letter-spacing: -.045em; }
#lfb-services .lfb-services-card ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
#lfb-services .lfb-services-card li { display: grid; gap: 3px; }
#lfb-services .lfb-services-card strong { color: #2A2723; font: 700 16px/1.2 Lato, sans-serif; }
#lfb-services .lfb-services-card span { color: #605C56; font: 400 15px/1.35 Lato, sans-serif; }
#lfb-services .lfb-services-card-saveurs { grid-column: span 12; min-height: 400px; padding: 43px 48% 40px 46px; background: #F3EEE6; }
#lfb-services .lfb-services-card-move { grid-column: span 7; min-height: 300px; padding: 42px 44px; background: #FFFFFF; }
#lfb-services .lfb-services-card-wellness { grid-column: span 5; min-height: 300px; padding: 42px 45% 42px 44px; background: #EDE4D8; }
#lfb-services .lfb-services-blob { position: absolute; overflow: hidden; margin: 0; box-shadow: 0 12px 26px rgba(42, 39, 35, .13); }
#lfb-services .lfb-services-blob img { width: 100%; height: 100%; object-fit: cover; }
#lfb-services .lfb-services-blob-food { top: 31px; right: 25%; width: 195px; height: 305px; border-radius: 51% 49% 43% 57% / 46% 52% 48% 54%; }
#lfb-services .lfb-services-blob-breakfast { right: 26px; bottom: 25px; width: 220px; height: 220px; border-radius: 46% 54% 50% 50% / 57% 44% 56% 43%; }
#lfb-services .lfb-services-blob-surf { right: 35px; top: 28px; width: 240px; height: 245px; border-radius: 57% 43% 47% 53% / 52% 49% 51% 48%; }
#lfb-services .lfb-services-card-move .lfb-services-card-copy { max-width: 390px; }
#lfb-services .lfb-services-blob-wellness { top: 32px; right: 27px; width: 185px; height: 230px; border-radius: 48% 52% 59% 41% / 44% 54% 46% 56%; }

#lfb-services .lfb-services-special { display: grid; grid-template-columns: .6fr 1.55fr auto; align-items: center; width: min(1180px, calc(100% - 64px)); margin: 58px auto 0; padding: 38px 42px; gap: 38px; border-radius: 23px; background: #1C5633; color: #FFFFFF; }
#lfb-services .lfb-services-special .lfb-services-kicker { margin: 0; color: #FFFFFF; font-size: 15px; }
#lfb-services .lfb-services-special h2 { margin: 0 0 8px; color: #FFFFFF; font: 500 31px/1.05 'Playfair Display', serif; letter-spacing: -.03em; }
#lfb-services .lfb-services-special div p { margin: 0; color: #F3EEE6; font: 400 16px/1.45 Lato, sans-serif; }
#lfb-services .lfb-services-special .lfb-services-button-outline { border-color: #FFFFFF; color: #FFFFFF; }
#lfb-services .lfb-services-special .lfb-services-button-outline:hover { border-color: #FBF9F5; background: #FBF9F5; color: #1C5633; }

#lfb-services .lfb-services-final { padding: 54px 0; background: #FBF9F5; }
#lfb-services .lfb-services-final-card { display: grid; grid-template-columns: 320px 1fr; width: min(1180px, calc(100% - 64px)); margin: 0 auto; overflow: hidden; border: 2px solid rgba(28, 86, 51, .36); border-radius: 22px; background: #EDE4D8; }
#lfb-services .lfb-services-final-card figure { min-height: 230px; margin: 0; }
#lfb-services .lfb-services-final-card figure img { width: 100%; height: 100%; object-fit: cover; }
#lfb-services .lfb-services-final-card > div { display: flex; flex-direction: column; justify-content: center; padding: 28px 34px; }
#lfb-services .lfb-services-final-card h2 { margin: 0 0 10px; color: #1C5633; font: 500 34px/1.08 Urbanist, sans-serif; letter-spacing: -.045em; }
#lfb-services .lfb-services-final-card > div > p { margin: 0 0 22px; color: #605C56; font: 400 18px/1.45 Lato, sans-serif; }
#lfb-services .lfb-services-final-actions { display: flex; flex-wrap: wrap; gap: 14px; }

@media (max-width: 1000px) {
  #lfb-services .lfb-services-hero { grid-template-columns: 1fr; padding: 62px 32px; }
  #lfb-services .lfb-services-hero-art { max-width: 620px; width: 100%; margin: 0 auto; }
  #lfb-services .lfb-services-card-saveurs { padding-right: 42%; }
  #lfb-services .lfb-services-card-wellness { padding-right: 42%; }
}
@media (max-width: 700px) {
  #lfb-services .lfb-services-hero { min-height: auto; padding: 48px 22px 45px; gap: 32px; border-top-width: 28px; }
  #lfb-services .lfb-services-hero h1 { font-size: 42px; }
  #lfb-services .lfb-services-hero h1 br { display: none; }
  #lfb-services .lfb-services-hero-copy > p:last-of-type { font-size: 17px; }
  #lfb-services .lfb-services-hero-art { min-height: 330px; }
  #lfb-services .lfb-services-hero-food { height: 285px; }
  #lfb-services .lfb-services-hero-breakfast { height: 190px; }
  #lfb-services .lfb-services-intro { padding: 50px 0; }
  #lfb-services .lfb-services-intro p { font-size: 17px; }
  #lfb-services .lfb-services-categories { display: grid; grid-template-columns: 1fr; width: min(100% - 40px, 560px); }
  #lfb-services .lfb-services-card, #lfb-services .lfb-services-card-saveurs, #lfb-services .lfb-services-card-move, #lfb-services .lfb-services-card-wellness { grid-column: auto; min-height: 0; padding: 35px 27px; }
  #lfb-services .lfb-services-card-saveurs .lfb-services-card-copy, #lfb-services .lfb-services-card-wellness .lfb-services-card-copy { max-width: 100%; }
  #lfb-services .lfb-services-blob { position: relative; top: auto; right: auto; bottom: auto; display: inline-block; margin: 25px 6px 0 0; vertical-align: bottom; }
  #lfb-services .lfb-services-blob-food { width: 42%; height: 210px; }
  #lfb-services .lfb-services-blob-breakfast { width: 52%; height: 185px; }
  #lfb-services .lfb-services-blob-surf { width: 100%; height: 220px; }
  #lfb-services .lfb-services-blob-wellness { width: 100%; height: 220px; }
  #lfb-services .lfb-services-special { grid-template-columns: 1fr; width: min(100% - 40px, 560px); padding: 33px 27px; gap: 20px; }
  #lfb-services .lfb-services-final-card { grid-template-columns: 1fr; width: min(100% - 40px, 560px); }
  #lfb-services .lfb-services-final-card figure { height: 220px; min-height: 0; }
  #lfb-services .lfb-services-final-card > div { padding: 28px 25px; }
}

/* Services sur mesure : même gabarit de héros qu’Intendance, contenu plus libre. */
#lfb-services { background: #FFFFFF; }
#lfb-services .lfb-services-hero {
  grid-template-columns: 46% 54%;
  min-height: 500px;
  padding: 0;
  gap: 0;
  border-top: 48px solid #FFFFFF;
  background: #EDE4D8;
}
#lfb-services .lfb-services-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  max-width: none;
  min-height: 500px;
  padding: 50px 58px 48px clamp(44px, 4vw, 70px);
}
#lfb-services .lfb-services-hero h1 {
  max-width: 640px;
  margin: 0 0 23px;
  font-size: clamp(39px, 4.4vw, 55px) !important;
  line-height: .99 !important;
  letter-spacing: -.025em;
}
#lfb-services .lfb-services-hero-copy > p:last-of-type {
  max-width: 590px;
  margin: 0 0 29px;
  color: #2A2723;
  font-size: 19px;
  line-height: 1.43;
}
#lfb-services .lfb-services-hero-photo {
  position: relative;
  display: block;
  width: 100%;
  height: 500px;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 24px 0 0 24px;
  box-shadow: none;
}
#lfb-services .lfb-services-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
#lfb-services .lfb-services-hero-art, #lfb-services .lfb-services-sun { display: none; }
#lfb-services .lfb-services-intro { display: none; }

#lfb-services .lfb-services-categories {
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 310px 310px;
  width: min(1180px, calc(100% - 64px));
  margin: 70px auto 0;
  gap: 22px;
}
#lfb-services .lfb-services-card { border-color: rgba(28, 86, 51, .36); background: #F8F4EE; box-shadow: 0 8px 22px rgba(42,39,35,.05); }
#lfb-services .lfb-services-card-saveurs { grid-column: 1 / span 6; grid-row: 1 / span 2; min-height: 0; padding: 46px 37% 38px 42px; border-radius: 30px 78px 30px 66px; }
#lfb-services .lfb-services-card-move { grid-column: 7 / span 6; grid-row: 1; min-height: 0; padding: 40px 43% 35px 38px; border-radius: 68px 30px 56px 30px; }
#lfb-services .lfb-services-card-wellness { grid-column: 7 / span 6; grid-row: 2; min-height: 0; padding: 40px 42% 34px 38px; border-radius: 35px 72px 30px 58px; }
#lfb-services .lfb-services-card h2 { margin-bottom: 19px; font-size: clamp(27px, 2.45vw, 35px); }
#lfb-services .lfb-services-card ul { gap: 12px; }
#lfb-services .lfb-services-card strong { font-size: 15px; }
#lfb-services .lfb-services-card span { font-size: 14px; }
#lfb-services .lfb-services-number { display: none; }
#lfb-services .lfb-services-blob { box-shadow: none; }
#lfb-services .lfb-services-blob-food { top: 35px; right: 31px; width: 190px; height: 300px; border-radius: 49% 51% 55% 45% / 44% 54% 46% 56%; }
#lfb-services .lfb-services-blob-breakfast { display: none; }
#lfb-services .lfb-services-blob-surf { top: 27px; right: 29px; width: 190px; height: 245px; border-radius: 57% 43% 47% 53% / 52% 49% 51% 48%; }
#lfb-services .lfb-services-blob-wellness { top: 29px; right: 27px; width: 185px; height: 230px; border-radius: 48% 52% 59% 41% / 44% 54% 46% 56%; }

#lfb-services .lfb-services-special { display: block; width: min(1180px, calc(100% - 64px)); margin: 54px auto 0; padding: 38px 42px; border: 2px solid rgba(28, 86, 51, .36); border-radius: 24px; background: #EDE4D8; color: #2A2723; }
#lfb-services .lfb-services-special h2 { margin: 0 0 13px; color: #1C5633; font-family: Urbanist, sans-serif; font-size: clamp(31px, 3vw, 42px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
#lfb-services .lfb-services-special h2 span { position: relative; display: inline-block; z-index: 0; }
#lfb-services .lfb-services-special h2 span::after { content: ''; position: absolute; z-index: -1; bottom: .12em; left: -2%; width: 104%; height: .46em; border-radius: 4px; background: rgba(230, 51, 46, .42); }
#lfb-services .lfb-services-special div p { max-width: 880px; margin: 0; color: #2A2723; font: 400 18px/1.45 Lato, sans-serif; }

/* Sur très grand écran, l’image garde le même format et le beige reste visible à droite. */
@media (min-width: 1200px) {
  #lfb-intendance .lfb-int-hero, #lfb-services .lfb-services-hero { grid-template-columns: 658px 602px 1fr; }
}

@media (max-width: 1000px) {
  #lfb-services .lfb-services-hero { grid-template-columns: 1fr; padding: 0; }
  #lfb-services .lfb-services-hero-copy { min-height: 0; padding: 54px 32px; }
  #lfb-services .lfb-services-hero-photo { width: calc(100% - 28px); height: 430px; margin-left: auto; border-radius: 24px 0 0 24px; }
  #lfb-services .lfb-services-categories { grid-template-rows: auto; }
  #lfb-services .lfb-services-card-saveurs { padding-right: 37%; }
  #lfb-services .lfb-services-card-wellness { padding-right: 38%; }
}
@media (max-width: 700px) {
  #lfb-services .lfb-services-hero { border-top-width: 28px; }
  #lfb-services .lfb-services-hero-copy { padding: 50px 25px; }
  #lfb-services .lfb-services-hero h1 { font-size: 45px !important; }
  #lfb-services .lfb-services-hero-photo { width: 100%; height: 310px; margin: 0; border-radius: 0; }
  #lfb-services .lfb-services-categories { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; width: min(100% - 40px, 560px); margin-top: 52px; }
  #lfb-services .lfb-services-card-saveurs, #lfb-services .lfb-services-card-move, #lfb-services .lfb-services-card-wellness { grid-column: auto; grid-row: auto; padding: 35px 27px; border-radius: 26px; }
  #lfb-services .lfb-services-blob { position: relative; top: auto; right: auto; width: 100%; height: 220px; margin: 25px 0 0; border-radius: 45% 55% 48% 52% / 54% 47% 53% 46%; }
  #lfb-services .lfb-services-special { width: min(100% - 40px, 560px); padding: 33px 27px; }
}

/* Héros : même grille intérieure que Conciergerie. */
@media (min-width: 1001px) {
  #lfb-intendance .lfb-int-hero,
  #lfb-services .lfb-services-hero {
    box-sizing: border-box;
    grid-template-columns: 52% 48%;
    padding-right: max(13px, calc((100vw - 1440px) / 2));
    padding-left: max(13px, calc((100vw - 1440px) / 2));
  }
}
@media (min-width: 1200px) {
  #lfb-intendance .lfb-int-hero,
  #lfb-services .lfb-services-hero { grid-template-columns: 52% 48%; }
}

/* Cartes Services : plus compactes et volontairement différentes les unes des autres. */
#lfb-services .lfb-services-categories { grid-template-rows: 274px 274px; }
#lfb-services .lfb-services-card-saveurs { padding: 39px 39% 28px 42px; border-radius: 34px 85px 32px 72px; }
#lfb-services .lfb-services-card-move { padding: 35px 30px; border-radius: 72px 28px 60px 32px; }
#lfb-services .lfb-services-card-wellness { padding: 34px 36% 26px 38px; border-radius: 32px 78px 30px 60px; }
#lfb-services .lfb-services-card h2 { margin-bottom: 17px; }
#lfb-services .lfb-services-card span { font-size: 15.5px; line-height: 1.35; }
#lfb-services .lfb-services-blob-food { top: 28px; right: 27px; width: 210px; height: 386px; border-radius: 43% 57% 48% 52% / 57% 42% 58% 43%; }
#lfb-services .lfb-services-blob-surf { top: auto; right: 26px; bottom: 22px; width: 155px; height: 172px; border-radius: 58% 42% 65% 35% / 45% 58% 42% 55%; }
#lfb-services .lfb-services-card-move .lfb-services-card-copy { max-width: none; }
#lfb-services .lfb-services-card-move ul { max-width: 370px; }
#lfb-services .lfb-services-card-move h2 { font-size: clamp(25px, 2.1vw, 32px); white-space: nowrap; }
#lfb-services .lfb-services-blob-wellness { top: auto; right: 25px; bottom: 20px; width: 165px; height: 185px; border-radius: 44% 56% 38% 62% / 57% 43% 57% 43%; }

/* Envie spéciale : le même ton doux que les cartes de l’accueil, avec la fée. */
#lfb-services .lfb-services-special { display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; min-height: 205px; padding: 30px 48px; background: #F8F4EE; }
#lfb-services .lfb-services-special > div { max-width: 860px; }
#lfb-services .lfb-services-special > img { width: 154px; justify-self: end; transform: scaleX(-1); }

@media (max-width: 1000px) {
  #lfb-services .lfb-services-categories { grid-template-rows: auto; }
}
@media (max-width: 700px) {
  #lfb-services .lfb-services-card-saveurs, #lfb-services .lfb-services-card-move, #lfb-services .lfb-services-card-wellness { padding: 35px 27px; }
  #lfb-services .lfb-services-card-move h2 { white-space: normal; }
  #lfb-services .lfb-services-blob { width: 100%; height: 220px; }
  #lfb-services .lfb-services-special { display: block; min-height: 0; }
  #lfb-services .lfb-services-special > img { display: block; margin: 22px 0 0 auto; }
}

/* Ajustements Services : plus d’air dans les expériences et un héros en deux lignes. */
@media (min-width: 1001px) {
  #lfb-services .lfb-services-hero-copy { padding-right: 20px; }
  #lfb-services .lfb-services-hero h1 {
    max-width: 575px;
    font-size: 46px !important;
    letter-spacing: -.03em;
  }
  #lfb-services .lfb-services-categories {
    grid-template-columns: repeat(12, 1fr);
    width: min(1140px, calc(100% - 96px));
    grid-template-rows: 274px 274px;
  }
  #lfb-services .lfb-services-card-saveurs {
    grid-column: 1 / span 7;
    padding: 54px 42% 22px 42px;
  }
  #lfb-services .lfb-services-card-move {
    grid-column: 8 / span 5;
    padding: 39px 31px 26px 34px;
  }
  #lfb-services .lfb-services-card-wellness {
    grid-column: 8 / span 5;
    padding: 38px 39% 23px 34px;
  }
  #lfb-services .lfb-services-blob-food {
    top: 74px;
    right: 28px;
    width: 252px;
    height: 358px;
    border-radius: 20px;
  }
  #lfb-services .lfb-services-blob-surf {
    right: 22px;
    bottom: 19px;
    width: 188px;
    height: 194px;
  }
  #lfb-services .lfb-services-blob-wellness {
    right: 21px;
    bottom: 18px;
    width: 188px;
    height: 198px;
  }
  #lfb-services .lfb-services-card-move ul { max-width: 214px; }
  #lfb-services .lfb-services-card-wellness ul { max-width: 222px; }
  #lfb-services .lfb-services-card-wellness h2 { font-size: clamp(25px, 2.1vw, 31px); white-space: nowrap; }
}

#lfb-services .lfb-services-special {
  grid-template-columns: minmax(0, 1fr) 260px;
  min-height: 215px;
}
#lfb-services .lfb-services-special > img {
  width: 204px;
  justify-self: start;
}
#lfb-services .lfb-services-final { background: #FFFFFF; }

/* Les boutons de héros suivent le modèle validé sur Intendance. */
#lfb-intendance .lfb-int-hero .lfb-int-btn,
#lfb-services .lfb-services-hero .lfb-services-button,
#lfb-conciergerie .lfb-hero .lfb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 27px;
  border: 0;
  border-radius: 17px;
  font: 800 18px/1.1 Urbanist, sans-serif;
}

/* Même taille d’image dans les trois héros sur ordinateur. */
@media (min-width: 1001px) {
  #lfb-intendance .lfb-int-hero,
  #lfb-services .lfb-services-hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-left: 13px;
    padding-right: 13px;
  }
}

/* Une envie spéciale devient une respiration avant les expériences. */
#lfb-services .lfb-services-special {
  width: min(1140px, calc(100% - 96px));
  min-height: 142px;
  margin: 52px auto 34px;
  padding: 12px 34px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
#lfb-services .lfb-services-special { grid-template-columns: minmax(0, 1fr) 320px; }
#lfb-services .lfb-services-special > img { width: 224px; }
#lfb-services .lfb-services-special div p { color: #605C56; font-size: 18px; line-height: 1.45; }
#lfb-services .lfb-services-special + .lfb-services-categories { margin-top: 12px; }

@media (min-width: 1001px) {
  #lfb-services .lfb-services-categories {
    grid-template-rows: 250px 250px;
    gap: 20px;
  }
  #lfb-services .lfb-services-card-saveurs {
    height: 520px;
    align-self: start;
    padding-top: 26px;
  }
  #lfb-services .lfb-services-card-saveurs .lfb-services-card-copy { transform: none; }
  #lfb-services .lfb-services-card-move { padding-top: 26px; }
  #lfb-services .lfb-services-card-wellness { padding-top: 25px; }
  #lfb-services .lfb-services-blob-food {
    top: 104px;
    right: 23px;
    width: 270px;
    height: 340px;
    border-radius: 46% 54% 43% 57% / 39% 47% 53% 61%;
  }
  #lfb-services .lfb-services-blob-surf {
    right: 27px;
    bottom: 18px;
    width: 160px;
    height: 162px;
    border-radius: 43% 57% 62% 38% / 52% 38% 62% 48%;
  }
  #lfb-services .lfb-services-blob-wellness {
    right: 26px;
    bottom: 17px;
    width: 166px;
    height: 174px;
  }
}

@media (max-width: 700px) {
  #lfb-services .lfb-services-special { width: min(100% - 40px, 560px); padding: 0; }
}

/* Nos biens : première version visuelle, sans réservation en ligne. */
#lfb-properties-page {
  background: #FBF9F5;
  color: #2A2723;
  padding: 54px 0 88px;
}
#lfb-properties-page, #lfb-properties-page * { box-sizing: border-box; }
.lfb-properties-hero {
  width: min(1140px, calc(100% - 96px));
  min-height: 280px;
  margin: 0 auto 56px;
  padding: 43px 52px 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  overflow: hidden;
  border: 1.5px solid #1C5633;
  border-radius: 28px;
  background: #FFFFFF;
}
.lfb-properties-hero-copy { max-width: 715px; }
.lfb-properties-kicker {
  margin: 0 0 13px;
  color: #1C5633;
  font: 800 14px/1 Urbanist, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.lfb-properties-hero h1 {
  margin: 0;
  color: #1C5633;
  font: 500 clamp(42px, 4.3vw, 61px)/.98 "Playfair Display", serif !important;
  letter-spacing: -.045em;
}
.lfb-properties-hero-copy > p:not(.lfb-properties-kicker):not(.lfb-direct-note) {
  max-width: 620px;
  margin: 20px 0 0;
  color: #605C56;
  font: 400 17px/1.55 Lato, sans-serif;
}
.lfb-direct-note {
  margin: 16px 0 0;
  color: #1C5633;
  font: 700 15px/1.4 Urbanist, sans-serif;
}
.lfb-properties-house {
  width: 300px;
  max-width: 30%;
  height: auto;
  object-fit: contain;
  opacity: .96;
  transform: translateX(-90px);
}
.lfb-stay-card {
  width: min(1140px, calc(100% - 96px));
  margin: 0 auto 40px;
  padding: 26px;
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(270px, .9fr) minmax(250px, .72fr);
  align-items: stretch;
  gap: 30px;
  border: 1.5px solid #1C5633;
  border-radius: 28px;
  background: #EDE4D8;
}
.lfb-stay-card-sunset { background: #FFFFFF; }
.lfb-stay-gallery { min-width: 0; }
.lfb-gallery-main {
  display: block;
  width: 100%;
  height: 330px;
  object-fit: cover;
  border-radius: 19px;
  background: #DDD4C7;
}
.lfb-gallery-thumbnails {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin-top: 11px;
}
.lfb-gallery-thumbnails button {
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
}
.lfb-gallery-thumbnails button.is-active { border-color: #1C5633; }
.lfb-gallery-thumbnails img { display: block; width: 100%; height: 60px; object-fit: cover; }
.lfb-stay-details { padding: 10px 0; }
.lfb-stay-place {
  margin: 0 0 9px;
  color: #E6332E;
  font: 800 13px/1.2 Urbanist, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.lfb-stay-details h2 {
  margin: 0;
  color: #1C5633;
  font: 600 39px/1.03 Urbanist, sans-serif !important;
  letter-spacing: -.045em;
}
.lfb-stay-intro { margin: 16px 0; color: #2A2723; font: 400 16px/1.52 Lato, sans-serif; }
.lfb-stay-features { display: flex; flex-wrap: wrap; gap: 8px 7px; margin: 0; padding: 0; list-style: none; }
.lfb-stay-features li { padding: 7px 9px; border-radius: 99px; background: rgba(255,255,255,.74); color: #1C5633; font: 700 12px/1 Urbanist, sans-serif; }
.lfb-stay-card-sunset .lfb-stay-features li { background: #EDE4D8; }
.lfb-stay-footnote { margin: 17px 0 0; color: #605C56; font: italic 15px/1.42 Lato, sans-serif; }
.lfb-property-request {
  min-width: 0;
  padding: 21px;
  align-self: center;
  border-radius: 18px;
  background: #FFFFFF;
  box-shadow: 0 9px 22px rgba(28,86,51,.08);
}
.lfb-stay-card-sunset .lfb-property-request { background: #EDE4D8; }
.lfb-form-title { margin: 0 0 6px; color: #1C5633; font: 800 20px/1.1 Urbanist, sans-serif; }
.lfb-form-note { min-height: 33px; margin: 0 0 14px; color: #605C56; font: 400 12px/1.35 Lato, sans-serif; }
.lfb-property-request label { display: block; margin: 0 0 10px; color: #2A2723; font: 700 12px/1.1 Urbanist, sans-serif; }
.lfb-property-request :is(input, select) {
  display: block;
  width: 100%;
  height: 37px;
  margin-top: 5px;
  padding: 7px 9px;
  border: 1px solid #D4CABD;
  border-radius: 8px;
  outline-color: #1C5633;
  background: rgba(255,255,255,.86);
  color: #2A2723;
  font: 400 13px Lato, sans-serif;
}
.lfb-property-request button {
  width: 100%;
  min-height: 45px;
  margin-top: 3px;
  padding: 10px 12px;
  border: 0;
  border-radius: 15px;
  background: #1C5633;
  color: #FFFFFF;
  font: 800 14px/1.1 Urbanist, sans-serif;
  cursor: pointer;
  transition: background-color 170ms ease, transform 170ms ease;
}
.lfb-property-request button:hover, .lfb-property-request button:focus-visible { background: #0D3C20; transform: translateY(-1px); }
.lfb-form-result { min-height: 16px; margin: 9px 0 0; color: #1C5633; font: 700 11px/1.35 Lato, sans-serif; }
.lfb-properties-more {
  width: min(1140px, calc(100% - 96px));
  margin: 10px auto 0;
  padding: 21px 34px;
  border-top: 1px solid #1C5633;
  border-bottom: 1px solid #1C5633;
  text-align: center;
}
.lfb-properties-more p { margin: 0; color: #1C5633; font: italic 500 20px/1.3 "Playfair Display", serif; }

@media (max-width: 900px) {
  .lfb-properties-hero, .lfb-stay-card, .lfb-properties-more { width: min(100% - 48px, 640px); }
  .lfb-properties-hero { padding: 34px; }
  .lfb-stay-card { grid-template-columns: 1fr 1fr; }
  .lfb-property-request { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
  .lfb-property-request :is(.lfb-form-title, .lfb-form-note, button, .lfb-form-result) { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  #lfb-properties-page { padding-top: 25px; }
  .lfb-properties-hero, .lfb-stay-card, .lfb-properties-more { width: min(100% - 32px, 540px); }
  .lfb-properties-hero { min-height: 0; padding: 30px 25px; display: block; }
  .lfb-properties-hero-copy { width: 100%; max-width: none; }
  .lfb-properties-hero h1 { font-size: 43px !important; }
  .page-nos-biens .lfb-properties-house { display: none !important; }
  .lfb-stay-card { grid-template-columns: 1fr; padding: 16px; gap: 18px; }
  .lfb-gallery-main { height: 286px; }
  .lfb-property-request { display: block; padding: 18px; }
  .lfb-properties-more { padding: 19px; }
}

/* À propos : une page sans héros, centrée sur l'histoire et l'équipe. */
#lfb-about {
  padding: 64px 0 92px;
  background: #FBF9F5;
  color: #2A2723;
}
#lfb-about, #lfb-about * { box-sizing: border-box; }
.lfb-about-story {
  width: min(1140px, calc(100% - 96px));
  margin: 0 auto;
  padding: 16px 0 66px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(370px, .85fr);
  align-items: center;
  gap: 74px;
}
.lfb-about-kicker {
  margin: 0 0 13px;
  color: #1C5633;
  font: 800 14px/1 Urbanist, sans-serif;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.lfb-about-story h1 {
  max-width: 700px;
  margin: 0;
  color: #1C5633;
  font: 500 clamp(42px, 4vw, 57px)/1.03 "Playfair Display", serif !important;
  letter-spacing: -.045em;
}
.lfb-about-story-copy > p:not(.lfb-about-kicker) {
  max-width: 640px;
  margin: 20px 0 0;
  color: #605C56;
  font: 400 17px/1.58 Lato, sans-serif;
}
.lfb-about-story-photo { height: 405px; margin: 0; overflow: hidden; border-radius: 27px 27px 72px 27px; }
.lfb-about-story-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 65%; }
.lfb-about-values {
  width: min(1140px, calc(100% - 96px));
  margin: 0 auto;
  padding: 29px 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  border-top: 1.5px solid #1C5633;
  border-bottom: 1.5px solid #1C5633;
  background: #EDE4D8;
}
.lfb-about-values article { display: flex; align-items: flex-start; gap: 17px; padding: 10px 6px; }
.lfb-about-values svg { flex: 0 0 43px; width: 43px; height: 43px; stroke: #1C5633; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.lfb-about-values h2 { margin: 0 0 8px; color: #1C5633; font: 700 19px/1.16 Urbanist, sans-serif !important; letter-spacing: -.025em; }
.lfb-about-values p { margin: 0; color: #2A2723; font: 400 14px/1.5 Lato, sans-serif; }
.lfb-about-team { width: min(1140px, calc(100% - 96px)); margin: 79px auto 0; }
.lfb-about-team > header { margin-bottom: 38px; }
.lfb-about-team > header h2 { margin: 0; color: #1C5633; font: 500 clamp(36px, 3.35vw, 47px)/1.05 Urbanist, sans-serif !important; letter-spacing: -.045em; }
.lfb-fairy-profile {
  min-height: 370px;
  display: grid;
  grid-template-columns: 350px minmax(0, 1fr);
  align-items: center;
  gap: 70px;
  padding: 30px 0;
  border-top: 1.5px solid #1C5633;
}
.lfb-fairy-profile:last-child { border-bottom: 1.5px solid #1C5633; }
.lfb-fairy-profile figure { width: 100%; height: 300px; margin: 0; overflow: hidden; border-radius: 24px; background: #EDE4D8; }
.lfb-fairy-profile figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.lfb-fairy-nat figure img { object-position: 48% 23%; }
.lfb-fairy-profile > div > p:not(.lfb-fairy-role) { max-width: 650px; margin: 0 0 14px; color: #605C56; font: 400 16px/1.6 Lato, sans-serif; }
.lfb-fairy-role { margin: 0 0 19px; color: #1C5633; font: 700 24px/1.15 Urbanist, sans-serif; letter-spacing: -.025em; }
.lfb-fairy-camille { grid-template-columns: minmax(0, 1fr) 350px; }
.lfb-fairy-camille > div { grid-column: 1; grid-row: 1; }
.lfb-fairy-camille figure { grid-column: 2; grid-row: 1; }

@media (max-width: 800px) {
  .lfb-about-story, .lfb-about-values, .lfb-about-team { width: min(100% - 48px, 620px); }
  .lfb-about-story { grid-template-columns: 1fr; gap: 30px; }
  .lfb-about-story-photo { height: 360px; }
  .lfb-about-values { grid-template-columns: 1fr; gap: 0; }
  .lfb-about-values article + article { border-top: 1px solid rgba(28,86,51,.35); }
  .lfb-fairy-profile, .lfb-fairy-camille { grid-template-columns: 1fr; gap: 22px; padding: 28px 0; }
  .lfb-fairy-profile figure, .lfb-fairy-camille figure { grid-column: 1; grid-row: auto; height: 330px; }
  .lfb-fairy-profile > div, .lfb-fairy-camille > div { grid-column: 1; grid-row: auto; }
}

/* À propos — reprise stricte du gabarit de héros Services sur mesure. */
@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero {
    box-sizing: border-box;
    grid-template-columns: 52% 48%;
    min-height: 500px;
    padding-right: max(13px, calc((100vw - 1440px) / 2));
    padding-left: max(13px, calc((100vw - 1440px) / 2));
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy {
    box-sizing: border-box;
    width: auto;
    min-height: 500px;
    margin: 0;
    padding: 50px 20px 48px clamp(44px, 4vw, 70px);
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero h1 {
    max-width: 575px;
    margin: 0 0 23px;
    font-size: 46px !important;
    line-height: .99 !important;
    letter-spacing: -.03em;
    white-space: normal;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p {
    max-width: 650px;
    margin: 0 0 29px;
    font-size: 17px;
    line-height: 1.5;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-photo {
    width: 100%;
    height: 500px;
    margin: 0;
    border-radius: 24px 0 0 24px;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-photo img {
    object-position: center 52%;
  }
}

/* Même surlignage rouge que les titres validés des autres pages. */
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span {
  padding: 0;
  background: transparent !important;
}
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span::after {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: .12em;
  left: -2%;
  width: 104%;
  height: .46em;
  border-radius: 4px;
  background: rgba(230, 51, 46, .42);
}

/* Le bandeau des valeurs conserve un axe clair : pictogramme, titre, texte. */
#lfb-about.lfb-about-page-v2 .lfb-about-values {
  border: 2px solid rgba(28, 86, 51, .36);
}
#lfb-about.lfb-about-page-v2 .lfb-about-values article {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
}
#lfb-about.lfb-about-page-v2 .lfb-about-values svg {
  margin: 0 auto 15px;
}
#lfb-about.lfb-about-page-v2 .lfb-about-values h2,
#lfb-about.lfb-about-page-v2 .lfb-about-values p {
  width: min(100%, 285px);
  max-width: 285px;
  margin-left: auto;
  margin-right: auto;
}

/* Accueil — corrections de proportion mobile, ajoutées après toutes les variantes. */
@media (max-width: 760px) {
  .lfb-service-cards { padding: 14px 20px 38px !important; }
  .lfb-service-cards > .wp-block-group__inner-container > .wp-block-group > h4,
  .lfb-service-cards h4 {
    max-width: 334px !important;
    margin: 0 auto 22px !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
  }
  .lfb-service-cards .lfb-service-card .wp-block-buttons { padding-top: 10px !important; transform: none !important; }
  .lfb-service-cards .lfb-service-card .wp-block-button,
  .lfb-service-cards .lfb-service-card .wp-block-button__link {
    width: auto !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    font-size: 13px !important;
    border-radius: 13px !important;
  }
  .lfb-fairy-image { width: 142px !important; }
  .lfb-fairy-copy .lfb-soft-button { min-height: 40px !important; padding: 9px 13px !important; font-size: 13px !important; border-radius: 13px !important; }

  .lfb-properties-editorial { margin: 0 !important; padding-top: 28px !important; }
  .lfb-properties-editorial h2 { font-size: 26px !important; letter-spacing: -.06em !important; white-space: nowrap; }
  .lfb-properties-editorial .lfb-properties-heading { margin-bottom: 15px !important; }
  .lfb-properties-editorial .lfb-properties-copy,
  .lfb-properties-editorial .lfb-properties-soon { font-size: 14px !important; line-height: 1.32 !important; }
  .lfb-properties-atlas { margin-top: -28px !important; }

  .lfb-testimonials { padding-top: 29px !important; }
  .lfb-testimonials-copy { margin-bottom: 21px !important; }
  .lfb-testimonials h4 + h4 { margin-bottom: 0 !important; }

  .lfb-faq summary {
    gap: 6px !important;
    padding: 13px 12px !important;
    font-size: 13px !important;
    line-height: 1.26 !important;
    letter-spacing: -.018em;
  }
  .lfb-faq summary::after { font-size: 22px !important; }

  footer .footer-legal {
    width: 100%;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
  }
  footer .footer-legal a { font-size: 10px !important; white-space: nowrap; }
}

/* Accueil — affinage mobile validé page par page. */
@media (max-width: 760px) {
  .lfb-service-cards { padding: 14px 20px 38px !important; }
  .lfb-service-cards h4 {
    max-width: 334px !important;
    margin: 0 auto 22px !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
  }
  .lfb-service-cards .lfb-service-card .wp-block-buttons { padding-top: 10px !important; transform: none !important; }
  .lfb-service-cards .lfb-service-card .wp-block-button,
  .lfb-service-cards .lfb-service-card .wp-block-button__link {
    width: auto !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
  .lfb-fairy-image { width: 140px !important; }
  .lfb-fairy-copy .lfb-soft-button { min-height: 42px !important; padding: 10px 15px !important; font-size: 14px !important; }

  .lfb-properties-editorial {
    margin: 0 !important;
    padding-top: 30px !important;
  }
  .lfb-properties-editorial h2 { font-size: 27px !important; letter-spacing: -.055em !important; white-space: nowrap; }
  .lfb-properties-editorial .lfb-properties-heading { margin-bottom: 16px !important; }
  .lfb-properties-atlas { margin-top: -30px !important; }

  .lfb-testimonials { padding-top: 30px !important; }
  .lfb-testimonials-copy { margin-bottom: 18px !important; }
  .lfb-testimonials h4 + h4 { margin-bottom: 0 !important; }

  .lfb-faq summary { gap: 8px !important; padding: 14px 13px !important; font-size: 14px !important; letter-spacing: -.012em; }
  .lfb-faq summary::after { font-size: 23px !important; }

  footer .footer-legal {
    width: 100%;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
  }
  footer .footer-legal a { font-size: 10.5px !important; white-space: nowrap; }
}

/* -------------------------------------------------------------------------
   Mobile pass — compact, calm and deliberately separate from desktop.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .site-header { min-height: 70px; padding: 11px 20px !important; }
  .site-header .logo { width: 142px !important; }
  .menu-button { position: relative; z-index: 1002; }
  .nav {
    position: fixed !important;
    z-index: 1001;
    inset: 0 0 0 auto !important;
    display: flex !important;
    width: min(76vw, 292px) !important;
    height: 100dvh !important;
    padding: 88px 27px 28px !important;
    gap: 0 !important;
    overflow-y: auto;
    border-left: 1px solid rgba(28,86,51,.23);
    background: #F3EEE6 !important;
    box-shadow: -14px 0 32px rgba(42,39,35,.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform .25s ease, opacity .2s ease, visibility .2s ease;
  }
  .nav.open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }
  .nav a { width: 100%; padding: 12px 0 !important; border-bottom: 1px solid rgba(28,86,51,.18); font-size: 15px !important; line-height: 1.15; }
  .nav a:last-child { border-bottom: 0; }

  .wordpress-page .wp-block-button__link,
  #lfb-conciergerie .lfb-btn,
  #lfb-intendance .lfb-int-btn,
  #lfb-services .lfb-services-button,
  #lfb-about .lfb-about-hero-button {
    min-height: 44px !important;
    padding: 11px 17px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
  }

  /* Accueil */
  .page-accueil > .wp-block-cover:first-child { min-height: 555px !important; }
  .page-accueil > .wp-block-cover:first-child h2 { max-width: 340px !important; font-size: 35px !important; line-height: .98 !important; }
  .page-accueil > .wp-block-cover:first-child h4 { max-width: 336px !important; font-size: 15px !important; line-height: 1.3 !important; }
  .page-accueil > .wp-block-cover:first-child .wp-block-buttons { gap: 10px !important; margin-top: 22px !important; }
  .page-accueil > .wp-block-cover:first-child .wp-block-button__link { min-width: 194px !important; }
  .lfb-home-intro { width: 100% !important; margin: 0 !important; padding: 36px 24px 12px !important; background: #F8F4EE !important; font-size: 29px !important; line-height: 1.04 !important; }
  .lfb-service-cards { margin-top: 0 !important; padding-top: 14px !important; background: #F8F4EE !important; }
  .lfb-fairy-backdrop { padding: 38px 0 !important; }
  .lfb-fairy-backdrop .lfb-fairy-section { grid-template-columns: 1fr !important; justify-items: center; gap: 17px !important; padding: 25px 21px !important; text-align: center; }
  .lfb-fairy-image { width: 126px !important; margin: 0 auto !important; }
  .lfb-fairy-copy h2 { max-width: 326px; margin-left: auto !important; margin-right: auto !important; font-size: 29px !important; line-height: 1.05 !important; }
  .lfb-fairy-copy p { font-size: 15px !important; line-height: 1.38 !important; }
  .lfb-fairy-copy .lfb-soft-button { display: table; margin: 17px auto 0 !important; }
  .lfb-testimonials { padding: 39px 0 42px !important; }
  .lfb-testimonials-copy h4:first-child { font-size: 28px !important; line-height: 1.06 !important; }
  .lfb-testimonials h4 + h4 { font-size: 15px !important; line-height: 1.35 !important; }
  .lfb-faq { width: min(100% - 40px, 560px) !important; padding: 43px 0 !important; gap: 17px !important; }
  .lfb-faq > img { width: 158px !important; margin: 0 auto !important; }
  .lfb-faq summary { padding: 15px 16px !important; font-size: 15px !important; line-height: 1.28 !important; }
  .lfb-faq details p { padding: 0 16px 16px !important; font-size: 14px !important; line-height: 1.45 !important; }
  footer .footer-links { justify-content: center !important; gap: 11px !important; font-size: 12px !important; }
  footer .footer-social, footer .social-links { justify-content: center !important; }

  /* Conciergerie */
  #lfb-conciergerie .lfb-hero h1 { max-width: 315px !important; font-size: 35px !important; line-height: .98 !important; }
  #lfb-conciergerie .lfb-hero p { font-size: 15px !important; line-height: 1.38 !important; }
  #lfb-conciergerie .lfb-section-intro .lfb-title,
  #lfb-conciergerie .lfb-process-header h2,
  #lfb-conciergerie .lfb-simulator-title h2 { font-size: 29px !important; line-height: 1.06 !important; }
  #lfb-conciergerie :is(.lfb-section-intro p, .lfb-process-header p, .lfb-simulator-title p) { font-size: 15px !important; line-height: 1.4 !important; }
  #lfb-conciergerie .lfb-hero::after { display: none !important; }
  #lfb-conciergerie .lfb-operation-inline { padding: 25px 0 !important; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-box { width: min(100% - 40px, 560px) !important; padding: 18px 18px !important; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy { display: block !important; padding-left: 48px !important; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy::before { top: 2px !important; left: 0 !important; width: 32px !important; height: 32px !important; font-size: 18px !important; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy h2 { font-size: 19px !important; line-height: 1.15 !important; }
  #lfb-conciergerie .lfb-operation-inline .lfb-operation-copy p { font-size: 14px !important; line-height: 1.4 !important; }
  #lfb-conciergerie .lfb-operation-inline .lfb-btn { margin-top: 14px !important; }
  #lfb-conciergerie .lfb-simulator { padding: 38px 0 !important; }
  #lfb-conciergerie .lfb-simulator-box { padding: 24px 18px !important; }
  #lfb-conciergerie .lfb-simulator .lfb-simulator-row { gap: 13px !important; }
  #lfb-conciergerie .lfb-benefit { min-height: 0 !important; padding: 19px 52px 19px 19px !important; position: relative; }
  #lfb-conciergerie .lfb-benefit-icon { position: absolute; top: 19px; right: 17px; }
  #lfb-conciergerie .lfb-final-card { width: min(100% - 40px, 560px) !important; }
  #lfb-conciergerie .lfb-final-copy { padding: 25px 20px !important; }
  #lfb-conciergerie .lfb-final-copy h2 { font-size: 25px !important; line-height: 1.05 !important; white-space: nowrap; }
  #lfb-conciergerie .lfb-final-copy p { font-size: 14px !important; line-height: 1.4 !important; }

  /* Intendance */
  #lfb-intendance .lfb-int-hero { grid-template-columns: 1fr !important; min-height: 0 !important; border-top-width: 28px !important; }
  #lfb-intendance .lfb-int-hero-copy { min-height: 0 !important; padding: 44px 25px 37px !important; }
  #lfb-intendance .lfb-int-hero h1 { font-size: 35px !important; line-height: .98 !important; }
  #lfb-intendance .lfb-int-hero-copy > p:not(.lfb-int-eyebrow) { font-size: 15px !important; line-height: 1.38 !important; }
  #lfb-intendance .lfb-int-hero-photo { width: 100% !important; height: 255px !important; margin: 0 !important; border-radius: 0 !important; }
  #lfb-intendance .lfb-int-section-head h2, #lfb-intendance .lfb-int-process h2 { font-size: 29px !important; line-height: 1.06 !important; }
  #lfb-intendance .lfb-int-section-head p, #lfb-intendance .lfb-int-process-copy > p { font-size: 15px !important; line-height: 1.4 !important; }
  #lfb-intendance .lfb-int-offer-grid { width: min(100% - 40px, 560px) !important; }
  #lfb-intendance .lfb-int-offer { min-height: 0 !important; padding: 25px 21px !important; }
  #lfb-intendance .lfb-int-offer li { margin-bottom: 7px !important; font-size: 14px !important; line-height: 1.3 !important; }
  #lfb-intendance .lfb-int-steps li { line-height: 1.35 !important; }
  #lfb-intendance .lfb-int-steps h3 { word-break: normal !important; hyphens: none !important; }
  #lfb-intendance .lfb-int-phone { width: 252px !important; transform: none !important; }
  #lfb-intendance .lfb-int-phone-screen { min-height: 405px !important; }
  #lfb-intendance .lfb-int-final { padding: 45px 0 !important; }
  #lfb-intendance .lfb-int-final-card { width: min(100% - 40px, 560px) !important; }
  #lfb-intendance .lfb-int-final-card figure { min-height: 195px !important; }
  #lfb-intendance .lfb-int-final-card > div { padding: 25px 20px !important; }
  #lfb-intendance .lfb-int-final-card h2 { font-size: 25px !important; line-height: 1.05 !important; white-space: nowrap; }
  #lfb-intendance .lfb-int-final-card > div > p { font-size: 14px !important; line-height: 1.4 !important; }

  /* Services sur mesure */
  #lfb-services .lfb-services-hero h1 { font-size: 35px !important; line-height: .98 !important; }
  #lfb-services .lfb-services-hero-copy > p:last-of-type { font-size: 15px !important; line-height: 1.38 !important; }
  #lfb-services .lfb-services-special { text-align: center; }
  #lfb-services .lfb-services-special > img { width: 142px !important; margin: 18px auto 0 !important; }
  #lfb-services .lfb-services-categories { gap: 18px !important; margin-top: 34px !important; }
  #lfb-services .lfb-services-card { display: flex !important; flex-direction: column !important; padding: 24px !important; }
  #lfb-services .lfb-services-card .lfb-services-blob { order: 0; width: 100% !important; height: 205px !important; margin: 0 0 21px !important; }
  #lfb-services .lfb-services-card .lfb-services-card-copy { order: 1; max-width: none !important; }
  #lfb-services .lfb-services-card h2 { font-size: 26px !important; line-height: 1.08 !important; }
  #lfb-services .lfb-services-card ul { gap: 9px !important; }
  #lfb-services .lfb-services-card span { font-size: 14px !important; line-height: 1.35 !important; }

  /* À propos */
  #lfb-about.lfb-about-page-v2 .lfb-about-hero h1 { font-size: 35px !important; line-height: .98 !important; white-space: normal !important; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p { font-size: 15px !important; line-height: 1.38 !important; }
  #lfb-about.lfb-about-page-v2 .lfb-about-values svg { width: 48px !important; height: 48px !important; margin-bottom: 12px !important; transform: translateY(7px); }
  #lfb-about.lfb-about-page-v2 .lfb-fairy-profile, #lfb-about.lfb-about-page-v2 .lfb-fairy-camille { grid-template-columns: 1fr !important; gap: 20px !important; }
  #lfb-about.lfb-about-page-v2 .lfb-fairy-profile figure, #lfb-about.lfb-about-page-v2 .lfb-fairy-camille figure { grid-column: 1 !important; grid-row: 1 !important; height: 235px !important; }
  #lfb-about.lfb-about-page-v2 .lfb-fairy-profile > div, #lfb-about.lfb-about-page-v2 .lfb-fairy-camille > div { grid-column: 1 !important; grid-row: 2 !important; }
}

/* Pages d'information légale : lecture simple, sans visuel décoratif. */
.lfb-legal-page {
  min-height: 70vh;
  padding: 74px max(28px, calc((100vw - 1180px) / 2)) 96px;
  color: #2A2723;
  background: #FBF9F5;
}
.lfb-legal-header { max-width: 840px; margin: 0 0 52px; }
.lfb-legal-kicker {
  margin: 0 0 12px;
  color: #E6332E;
  font-family: Urbanist, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lfb-legal-header h1 {
  margin: 0 0 17px;
  color: #1C5633;
  font-family: Urbanist, sans-serif;
  font-size: clamp(38px, 4.2vw, 56px);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1;
}
.lfb-legal-header > p:not(.lfb-legal-kicker):not(.lfb-legal-updated) {
  max-width: 720px;
  margin: 0;
  color: #4b4842;
  font-family: Lato, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}
.lfb-legal-updated {
  margin: 17px 0 0;
  color: #756f66;
  font-family: Lato, sans-serif;
  font-size: 13px;
}
.lfb-legal-layout {
  display: grid;
  grid-template-columns: 215px minmax(0, 760px);
  align-items: start;
  gap: clamp(38px, 7vw, 96px);
}
.lfb-legal-nav {
  position: sticky;
  top: 106px;
  padding: 22px 21px;
  border: 1px solid rgba(28, 86, 51, .3);
  border-radius: 16px;
  background: #F1EBE0;
}
.lfb-legal-nav p {
  margin: 0 0 12px;
  color: #1C5633;
  font-family: Urbanist, sans-serif;
  font-size: 14px;
  font-weight: 800;
}
.lfb-legal-nav a {
  display: block;
  margin: 0 0 9px;
  color: #4b4842;
  font-family: Lato, sans-serif;
  font-size: 13px;
  line-height: 1.32;
  text-decoration: none;
}
.lfb-legal-nav a:last-child { margin-bottom: 0; }
.lfb-legal-nav a:hover { color: #1C5633; }
.lfb-legal-content section {
  scroll-margin-top: 104px;
  padding: 0 0 31px;
  margin: 0 0 31px;
  border-bottom: 1px solid rgba(28, 86, 51, .22);
}
.lfb-legal-content section:last-child { margin-bottom: 0; }
.lfb-legal-content h2 {
  margin: 0 0 12px;
  color: #1C5633;
  font-family: Urbanist, sans-serif;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.lfb-legal-content p {
  margin: 0 0 12px;
  color: #3d3a35;
  font-family: Lato, sans-serif;
  font-size: 16px;
  line-height: 1.62;
}
.lfb-legal-content p:last-child { margin-bottom: 0; }
.lfb-legal-content a { color: #1C5633; font-weight: 700; }
@media (max-width: 760px) {
  .lfb-legal-page { padding: 52px 24px 72px; }
  .lfb-legal-header { margin-bottom: 35px; }
  .lfb-legal-layout { grid-template-columns: 1fr; gap: 30px; }
  .lfb-legal-nav { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  .lfb-legal-nav p { grid-column: 1 / -1; }
  .lfb-legal-content p { font-size: 15px; }
}

/* Mobile : le journal conserve la même marge latérale que le reste du site. */
@media (max-width: 620px) {
  #site-content .lfb-blog-index,
  #site-content .lfb-blog-article { padding: 44px 20px 58px; }
  #lfb-blog .lfb-blog-featured > img { width: 100%; }
}


/* Blog — journal éditorial SEO */
#lfb-contact.lfb-contact-page { background: #FBF9F5; color: #2A2723; }
#lfb-contact .lfb-contact-hero { display: grid; grid-template-columns: minmax(0, 1fr) 43%; align-items: center; min-height: 438px; padding-left: max(50px, calc((100vw - 1240px) / 2)); overflow: hidden; background: #EDE4D8; }
#lfb-contact .lfb-contact-hero > div { max-width: 630px; padding: 52px 50px 52px 0; }
#lfb-contact .lfb-contact-kicker { margin: 0 0 13px; color: #1C5633; font: 700 14px/1.2 Urbanist, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
#lfb-contact .lfb-contact-hero h1 { margin: 0; color: #1C5633; font: 400 clamp(44px, 4.55vw, 64px)/1.02 'Playfair Display', Georgia, serif; letter-spacing: -.045em; }
#lfb-contact .lfb-contact-hero h1 span { position: relative; z-index: 0; }
#lfb-contact .lfb-contact-hero h1 span::after { content: ''; position: absolute; z-index: -1; left: -2%; right: -2%; bottom: .1em; height: .38em; border-radius: 4px; background: rgba(230, 51, 46, .42); }
#lfb-contact .lfb-contact-hero p:not(.lfb-contact-kicker) { max-width: 545px; margin: 22px 0 28px; color: #4e4a45; font: 400 18px/1.52 Lato, sans-serif; }
#lfb-contact .lfb-contact-hero figure { height: 370px; margin: 0 0 0 auto; width: 100%; overflow: hidden; border-radius: 27px 0 0 27px; }
#lfb-contact .lfb-contact-hero figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
#lfb-contact .lfb-contact-primary, #lfb-contact .lfb-contact-form button { display: inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 26px; border:2px solid #1C5633; border-radius:15px; background:#1C5633; color:#fff; font:700 15px/1 Urbanist,sans-serif; text-decoration:none; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
#lfb-contact .lfb-contact-primary:hover, #lfb-contact .lfb-contact-form button:hover { background:#0D3C20; border-color:#0D3C20; }
#lfb-contact .lfb-contact-methods { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; width:min(1180px,calc(100% - 64px)); margin:82px auto 68px; }
#lfb-contact .lfb-contact-methods article { min-height:230px; padding:28px 29px; border:1.5px solid rgba(28,86,51,.38); border-radius:19px; background:#F1EBE0; }
#lfb-contact .lfb-contact-methods article:nth-child(2) { background:#fff; }
#lfb-contact .lfb-contact-icon { display:block; width:42px; height:42px; margin-bottom:17px; color:#E6332E; }
#lfb-contact .lfb-contact-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
#lfb-contact .lfb-contact-methods h1, #lfb-contact .lfb-contact-methods h2 { margin:0 0 10px; color:#1C5633; font:700 25px/1.1 Urbanist,sans-serif; letter-spacing:-.03em; }
#lfb-contact .lfb-contact-methods p { margin:0 0 20px; color:#4e4a45; font:400 16px/1.48 Lato,sans-serif; }
#lfb-contact .lfb-contact-methods > article > a { color:#1C5633; font:700 15px/1 Urbanist,sans-serif; text-decoration:none; }
#lfb-contact .lfb-contact-methods > article > a:hover { color:#0D3C20; }
#lfb-contact .lfb-contact-direct-details { margin-top:26px !important; }
#lfb-contact .lfb-contact-detail { color:#605C56; font-weight:700; text-decoration:none; }
#lfb-contact .lfb-contact-detail:hover { color:#1C5633; }
#lfb-contact .lfb-contact-form-section { display:grid; grid-template-columns:.74fr 1.26fr; gap:clamp(48px,8vw,110px); align-items:start; padding:54px max(32px,calc((100vw - 1180px)/2)) 62px; border-top:1px solid rgba(28,86,51,.26); background:#fff; }
#lfb-contact .lfb-contact-form-intro h2 { max-width:400px; margin:0 0 16px; color:#1C5633; font:500 clamp(34px,3.3vw,46px)/1.06 Urbanist,sans-serif; letter-spacing:-.045em; }
#lfb-contact .lfb-contact-kicker { color:#E6332E; }
#lfb-contact .lfb-contact-form-intro > p:last-child { max-width:380px; margin:0; color:#4e4a45; font:400 17px/1.55 Lato,sans-serif; }
#lfb-contact .lfb-contact-form-photo { position:relative; width:min(100%,410px); height:235px; margin:23px 0 0; overflow:hidden; border:1.5px solid rgba(28,86,51,.35); border-radius:18px; }
#lfb-contact .lfb-contact-form-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 50%; }
#lfb-contact .lfb-shirt-fee { position:absolute; z-index:1; display:block; width:9.5%; aspect-ratio: .96; pointer-events:none; }
#lfb-contact .lfb-shirt-fee svg { display:block; width:100%; height:100%; overflow:visible; filter:brightness(1.45) contrast(1.5); }
#lfb-contact .lfb-shirt-fee-one { left:27%; top:39%; transform:rotate(-4deg); }
#lfb-contact .lfb-shirt-fee-two { left:49%; top:39%; transform:rotate(0); }
#lfb-contact .lfb-shirt-fee-three { left:71%; top:39%; transform:rotate(4deg); }
#lfb-contact .lfb-contact-form { display:grid; gap:13px; padding:25px 28px; border:2px solid rgba(28,86,51,.36); border-radius:21px; background:#EDE4D8; }
#lfb-contact .lfb-contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
#lfb-contact .lfb-contact-form label { display:grid; gap:5px; color:#1C5633; font:700 14px/1.2 Urbanist,sans-serif; }
#lfb-contact .lfb-contact-form .lfb-contact-label-text { color:#1C5633; }
#lfb-contact .lfb-contact-form .lfb-contact-label-text b { margin-left:2px; color:#E6332E; font:inherit; }
#lfb-contact .lfb-contact-form input, #lfb-contact .lfb-contact-form select, #lfb-contact .lfb-contact-form textarea { box-sizing:border-box; width:100%; border:1.5px solid rgba(28,86,51,.42); border-radius:10px; outline:0; background:#fff; color:#2A2723; font:400 16px/1.4 Lato,sans-serif; padding:10px 12px; }
#lfb-contact .lfb-contact-form textarea { resize:vertical; min-height:106px; }
#lfb-contact .lfb-contact-form input:focus, #lfb-contact .lfb-contact-form select:focus, #lfb-contact .lfb-contact-form textarea:focus { border-color:#1C5633; box-shadow:0 0 0 3px rgba(28,86,51,.11); }
#lfb-contact .lfb-contact-privacy, #lfb-contact .lfb-contact-preview-note { margin:0; color:#605C56; font:400 12.5px/1.4 Lato,sans-serif; }
#lfb-contact .lfb-contact-form button { width:max-content; min-height:48px; margin-top:1px; }
#lfb-contact .lfb-contact-preview-note { color:#1C5633; }
#lfb-contact .lfb-contact-preview-note.is-error { color:#B32620; }
#lfb-contact .lfb-contact-form button:disabled { cursor:wait; opacity:.72; }
#lfb-contact .lfb-contact-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media (max-width:900px) { #lfb-contact .lfb-contact-hero { grid-template-columns:1fr 42%; padding-left:32px; } #lfb-contact .lfb-contact-methods { grid-template-columns:1fr; max-width:620px; } #lfb-contact .lfb-contact-form-section { grid-template-columns:1fr; gap:35px; } }
@media (max-width:620px) { #lfb-contact .lfb-contact-hero { grid-template-columns:1fr; padding:48px 20px 0; } #lfb-contact .lfb-contact-hero > div { padding:0 0 38px; } #lfb-contact .lfb-contact-hero figure { height:270px; border-radius:20px 20px 0 0; } #lfb-contact .lfb-contact-methods { width:min(100% - 40px,560px); margin:44px auto; } #lfb-contact .lfb-contact-form-section { padding:50px 20px 60px; } #lfb-contact .lfb-contact-form { padding:25px 20px; } #lfb-contact .lfb-contact-form-row { grid-template-columns:1fr; } }

#site-content .lfb-blog-index,
#site-content .lfb-blog-article {
  background: #FBF9F5;
  color: #2A2723;
  padding: 74px max(28px, calc((100vw - 1240px) / 2)) 96px;
}
.lfb-blog-header { max-width: 810px; margin: 0 0 52px; }
.lfb-blog-kicker {
  margin: 0 0 13px;
  color: #1C5633;
  font: 700 14px/1.2 Urbanist, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.lfb-blog-header h1,
.lfb-blog-article-head h1 {
  margin: 0;
  color: #1C5633;
  font: 600 clamp(40px, 4.2vw, 59px)/1.02 Urbanist, sans-serif;
  letter-spacing: -.04em;
}
.lfb-blog-header h1 {
  color: #1C5633;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 400;
  letter-spacing: -.045em;
}
.lfb-blog-header h1 span { position: relative; z-index: 0; }
.lfb-blog-header h1 span::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: -2%; right: -2%; bottom: .08em; height: .34em;
  border-radius: 4px;
  background: rgba(230, 51, 46, .42);
}
.lfb-blog-header h1 span::after { display: none; }
.lfb-blog-header .lfb-blog-introduction {
  max-width: 650px;
  margin: 22px 0 0;
  color: #4e4a45;
  font: 400 19px/1.55 Lato, sans-serif;
}
@media (min-width: 1001px) {
  .lfb-blog-header .lfb-blog-introduction { max-width: none; white-space: nowrap; }
  .lfb-blog-team-cta { height: 230px; min-height: 0; }
  .lfb-blog-team-cta > img { height: 230px; min-height: 0; }
}
.lfb-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.lfb-blog-featured {
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(0, 1.05fr);
  height: 300px;
  min-height: 0;
  margin: 0 0 25px;
  overflow: hidden;
  border: 1.5px solid rgba(28, 86, 51, .45);
  border-radius: 19px;
  background: #eee6d9;
}
.lfb-blog-featured > img { width: 100%; height: 300px; min-height: 0; object-fit: cover; object-position: center 52%; }
.lfb-blog-featured > div { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 22px 34px 20px; }
.lfb-blog-featured .lfb-blog-card-meta { width: 100%; }
.lfb-blog-featured-label { margin: 0 0 11px; color: #E6332E; font: 700 13px/1 Urbanist, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.lfb-blog-featured h2 { max-width: 600px; margin: 0 0 8px; color: #1C5633; font: 700 clamp(25px, 2.1vw, 31px)/1.03 Urbanist, sans-serif; letter-spacing: -.035em; }
.lfb-blog-featured > div > p:not(.lfb-blog-card-meta):not(.lfb-blog-featured-label) { max-width: 560px; margin: 0 0 12px; color: #4e4a45; font: 400 15px/1.4 Lato, sans-serif; }
.lfb-blog-featured > div > a { display: inline-flex; gap: 8px; margin-top: auto; color: #1C5633; font: 700 15px/1 Urbanist, sans-serif; text-decoration: none; }
.lfb-blog-featured > div > a span { transition: transform .2s ease; }
.lfb-blog-featured:hover > div > a span { transform: translateX(5px); }
.lfb-blog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 310px;
  padding: 29px 29px 27px;
  overflow: hidden;
  border: 1.5px solid rgba(28, 86, 51, .4);
  border-radius: 18px;
  background: #f1ebe0;
}
.lfb-blog-card:nth-child(3n + 2) { background: #fff; }
.lfb-blog-card:nth-child(3n) { background: #e8e1d4; }
.lfb-blog-card-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 21px;
  color: #1C5633;
  font: 700 12px/1 Urbanist, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lfb-blog-category {
  display: inline-block;
  padding: 5px 7px 4px;
  border-radius: 4px;
  background: rgba(230, 51, 46, .42);
  color: #1C5633;
}
.lfb-blog-card h2 {
  position: relative;
  max-width: 95%;
  margin: 0 0 14px;
  color: #1C5633;
  font: 700 22px/1.1 Urbanist, sans-serif;
  letter-spacing: -.025em;
}
.lfb-blog-card > p:not(.lfb-blog-card-meta):not(.lfb-blog-card-number) {
  position: relative;
  margin: 0 0 23px;
  color: #4e4a45;
  font: 400 15px/1.48 Lato, sans-serif;
}
.lfb-blog-card > a,
.lfb-blog-footer-cta a,
.lfb-blog-article-cta a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  color: #1C5633;
  font: 700 15px/1 Urbanist, sans-serif;
  text-decoration: none;
}
.lfb-blog-card > a span { transition: transform .2s ease; }
.lfb-blog-card:hover > a span { transform: translateX(5px); }
.lfb-blog-footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-top: 54px;
  padding-top: 28px;
  border-top: 1px solid rgba(28, 86, 51, .45);
}
.lfb-blog-footer-cta p { margin: 0; color: #1C5633; font: 600 22px/1.2 Urbanist, sans-serif; }
.lfb-blog-footer-cta a,
.lfb-blog-article-cta a {
  padding: 14px 20px;
  border: 1.5px solid #1C5633;
  border-radius: 12px;
  background: #1C5633;
  color: #fff;
  transition: background .2s ease, border-color .2s ease;
}
.lfb-blog-footer-cta a:hover,
.lfb-blog-article-cta a:hover { border-color: #0D3C20; background: #0D3C20; }
.lfb-blog-team-cta {
  display: grid;
  grid-template-columns: 320px 1fr;
  width: min(1180px, 100%);
  min-height: 230px;
  margin: 54px auto 0;
  overflow: hidden;
  border: 2px solid rgba(28, 86, 51, .36);
  border-radius: 22px;
  background: #EDE4D8;
}
.lfb-blog-team-cta > img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; object-position: center 50%; }
.lfb-blog-team-cta > div { display: flex; flex-direction: column; justify-content: center; padding: 28px 34px; }
.lfb-blog-team-cta h2 { margin: 0 0 10px; color: #1C5633; font: 500 34px/1.08 Urbanist, sans-serif; letter-spacing: -.045em; }
.lfb-blog-team-cta > div > p:not(.lfb-blog-team-actions) { max-width: 570px; margin: 0; color: #605C56; font: 400 18px/1.45 Lato, sans-serif; }
.lfb-blog-team-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.lfb-blog-team-actions a { display: inline-block; padding: 13px 18px; border: 1.5px solid #1C5633; border-radius: 12px; background: #1C5633; color: #fff; font: 700 14px/1 Urbanist, sans-serif; text-decoration: none; }
.lfb-blog-team-actions a:last-child { background: transparent; color: #1C5633; }
.lfb-blog-team-actions a:first-child:hover { background: #0D3C20; border-color: #0D3C20; }
.lfb-blog-team-actions a:last-child:hover { background: rgba(28, 86, 51, .08); }

/* Blog : mêmes mesures que le bloc final validé de Services sur mesure. */
#lfb-blog .lfb-blog-team-cta {
  display: block;
  grid-template-columns: none;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 54px 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: #FBF9F5;
}
#lfb-blog .lfb-blog-team-cta-card {
  display: grid;
  grid-template-columns: 320px 1fr;
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  overflow: hidden;
  border: 2px solid rgba(28, 86, 51, .36);
  border-radius: 22px;
  background: #EDE4D8;
}
#lfb-blog .lfb-blog-team-cta > .lfb-blog-team-cta-card { padding: 0; }
#lfb-blog .lfb-blog-team-cta-card figure { min-height: 230px; margin: 0; }
#lfb-blog .lfb-blog-team-cta-card figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
#lfb-blog .lfb-blog-team-cta-card > div { display: flex; flex-direction: column; justify-content: center; padding: 28px 34px; }
#lfb-blog .lfb-blog-team-cta-card h2 { margin: 0 0 10px; color: #1C5633; font: 500 34px/1.08 Urbanist, sans-serif; letter-spacing: -.045em; }
#lfb-blog .lfb-blog-team-cta-card > div > p:not(.lfb-blog-team-actions) { max-width: none; margin: 0 0 22px; color: #605C56; font: 400 18px/1.45 Lato, sans-serif; }
#lfb-blog .lfb-blog-team-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
#lfb-blog .lfb-blog-team-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 2px solid #1C5633; border-radius: 15px; background: #1C5633; color: #FFFFFF; font: 700 15px/1 Urbanist, sans-serif; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease; }
#lfb-blog .lfb-blog-team-actions a:last-child { background: transparent; color: #1C5633; }
#lfb-blog .lfb-blog-team-actions a:first-child:hover { border-color: #0D3C20; background: #0D3C20; }
#lfb-blog .lfb-blog-team-actions a:last-child:hover { background: #EDE4D8; color: #0D3C20; }
@media (max-width: 700px) {
  #lfb-blog .lfb-blog-team-cta { padding: 38px 0; }
  #lfb-blog .lfb-blog-team-cta-card { grid-template-columns: 1fr; width: min(100% - 40px, 560px); }
  #lfb-blog .lfb-blog-team-cta-card figure { height: 220px; min-height: 0; }
  #lfb-blog .lfb-blog-team-cta-card > div { padding: 28px 25px; }
}

.lfb-blog-article-head { max-width: 1130px; margin: 0 auto 58px; }
.lfb-blog-back {
  display: inline-block;
  margin-bottom: 31px;
  color: #1C5633;
  font: 700 15px/1 Urbanist, sans-serif;
  text-decoration: none;
}
.lfb-blog-back:hover { color: #28744b; }
.lfb-blog-article-head .lfb-blog-kicker { color: #E6332E; }
.lfb-blog-article-head .lfb-blog-kicker span { padding: 0 5px; color: #E6332E; }
.lfb-blog-article-head-content { display: grid; grid-template-columns: minmax(0, 1fr) 410px; align-items: start; gap: clamp(38px, 4.2vw, 52px); }
.lfb-blog-article-head h1 { max-width: 660px; font-size: clamp(36px, 3.55vw, 52px); }
.lfb-blog-article-image { width: 410px; height: 320px; margin: -82px 0 0; overflow: hidden; border-radius: 18px; border: 1.5px solid rgba(28, 86, 51, .36); background: #EDE4D8; }
.lfb-blog-article-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lfb-blog-lead {
  max-width: 760px;
  margin: 24px 0 0;
  color: #4e4a45;
  font: 400 20px/1.52 Lato, sans-serif;
}
.lfb-blog-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 730px) minmax(230px, 280px);
  justify-content: center;
  gap: clamp(48px, 8vw, 120px);
}
.lfb-blog-prose { font: 400 17px/1.7 Lato, sans-serif; }
.lfb-blog-prose p { margin: 0; color: #403d38; }
.lfb-blog-prose section p + p { margin-top: 18px; }
.lfb-blog-prose ul { margin: 17px 0 3px; padding-left: 23px; color: #403d38; }
.lfb-blog-prose li { margin: 8px 0; padding-left: 3px; }
.lfb-blog-intro {
  margin-bottom: 36px !important;
  color: #2A2723 !important;
  font-size: 20px;
  line-height: 1.6;
}
.lfb-blog-prose section:not(.lfb-blog-article-cta) { margin: 0 0 35px; }
.lfb-blog-prose .lfb-blog-opening { margin-top: 0; }
.lfb-blog-prose h2 {
  margin: 0 0 10px;
  color: #1C5633;
  font: 700 28px/1.14 Urbanist, sans-serif;
  letter-spacing: -.02em;
}
.lfb-blog-prose p strong { color: #2A2723; font-weight: 700; }
.lfb-blog-source {
  margin: 43px 0;
  padding: 22px 24px;
  border-left: 3px solid #E6332E;
  border-radius: 0 12px 12px 0;
  background: #eee6d9;
}
.lfb-blog-source strong { display: block; margin-bottom: 7px; color: #1C5633; font: 700 16px/1.2 Urbanist, sans-serif; }
.lfb-blog-source p { font-size: 14px; line-height: 1.5; }
.lfb-blog-source a { display: inline-block; margin-top: 12px; color: #1C5633; font: 700 14px/1.3 Urbanist, sans-serif; }
.lfb-blog-article-cta {
  margin-top: 48px;
  padding: 31px;
  border: 1.5px solid rgba(28, 86, 51, .45);
  border-radius: 17px;
  background: #f1ebe0;
}
.lfb-blog-article-cta h2 { margin-bottom: 9px; }
.lfb-blog-article-cta p { max-width: 610px; }
.lfb-blog-article-cta a { margin-top: 21px; }
.lfb-blog-aside { padding-top: 7px; }
.lfb-blog-aside > p { margin: 0 0 15px; color: #E6332E; font: 700 13px/1 Urbanist, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.lfb-blog-aside a {
  display: block;
  padding: 17px 0;
  border-top: 1px solid rgba(28, 86, 51, .36);
  color: #1C5633;
  font: 700 16px/1.26 Urbanist, sans-serif;
  text-decoration: none;
}
.lfb-blog-aside a:last-child { border-bottom: 1px solid rgba(28, 86, 51, .36); }
.lfb-blog-aside a span { float: right; color: #E6332E; }
@media (max-width: 900px) {
  #site-content .lfb-blog-index, #site-content .lfb-blog-article { padding: 54px 28px 74px; }
  .lfb-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lfb-blog-article-layout { grid-template-columns: 1fr; gap: 36px; }
  .lfb-blog-article-head-content { grid-template-columns: minmax(0, 1fr) 310px; gap: 32px; }
  .lfb-blog-article-image { width: 310px; height: 250px; margin-top: -48px; }
  .lfb-blog-aside { max-width: 730px; }
  .lfb-blog-featured { grid-template-columns: 42% 58%; }
  .lfb-blog-featured > div { padding: 31px; }
  .lfb-blog-team-cta { grid-template-columns: 40% 60%; }
  .lfb-blog-team-cta > div { padding: 31px; }
}
@media (max-width: 620px) {
  #site-content .lfb-blog-index, #site-content .lfb-blog-article { padding: 44px 20px 58px; }
  .lfb-blog-header { margin-bottom: 37px; }
  .lfb-blog-header h1, .lfb-blog-article-head h1 { font-size: 38px; }
  .lfb-blog-grid { grid-template-columns: 1fr; }
  .lfb-blog-card { min-height: 275px; padding: 25px; }
  .lfb-blog-featured { height: auto; grid-template-columns: 1fr; }
  .lfb-blog-featured > img { height: 245px; min-height: 0; }
  .lfb-blog-featured > div { min-height: 285px; padding: 27px 25px; }
  .lfb-blog-featured h2 { font-size: 29px; }
  .lfb-blog-footer-cta { display: block; margin-top: 39px; }
  .lfb-blog-footer-cta a { margin-top: 18px; }
  .lfb-blog-article-head { margin-bottom: 40px; }
  .lfb-blog-article-head-content { grid-template-columns: 1fr; gap: 25px; }
  .lfb-blog-article-image { width: 100%; height: 220px; margin: 0; }
  .lfb-blog-lead, .lfb-blog-intro { font-size: 18px; }
  .lfb-blog-prose { font-size: 16px; }
  .lfb-blog-prose h2 { font-size: 25px; }
  .lfb-blog-article-cta { padding: 24px; }
  .lfb-blog-team-cta { grid-template-columns: 1fr; }
  .lfb-blog-team-cta > img { height: 260px; min-height: 0; }
  .lfb-blog-team-cta > div { padding: 30px 25px; }
}

/* Corps des héros : même respiration que la page À propos. */
@media (min-width: 1001px) {
  #lfb-conciergerie .lfb-hero p,
  #lfb-intendance .lfb-int-hero-copy > p:not(.lfb-int-eyebrow),
  #lfb-services .lfb-services-hero-copy > p:last-of-type {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }
}

/* À propos : on garde le titre sans trait de séparation superflu. */
#lfb-about.lfb-about-page-v2 .lfb-fairy-profile:first-of-type { border-top: 0 !important; }
#lfb-about.lfb-about-page-v2 .lfb-fairy-profile:last-child { border-bottom: 0 !important; }

/* Les trois valeurs s'alignent sur leur propre axe, avec davantage d'air à droite. */
@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-values {
    grid-template-columns: 1.18fr .9fr 1fr !important;
    gap: 24px !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values article {
    align-items: stretch !important;
    text-align: left !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values svg {
    align-self: center;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values h2,
  #lfb-about.lfb-about-page-v2 .lfb-about-values p {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values article:nth-child(2) { padding-left: 16px !important; }
  #lfb-about.lfb-about-page-v2 .lfb-about-values article:nth-child(3) { padding-left: 20px !important; }
}

/* À propos : une respiration après le héros et un axe propre dans chaque valeur. */
@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-team { margin-top: 128px !important; }
  #lfb-about.lfb-about-page-v2 .lfb-about-values article {
    align-items: center !important;
    text-align: left !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values svg {
    width: 52px !important;
    height: 52px !important;
    align-self: center !important;
    margin: 0 auto 16px !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values h2 {
    display: table;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values p {
    width: 285px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
}

/* Bandeau des valeurs : lecture classique, alignée à gauche. */
@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-values article {
    align-items: flex-start !important;
    text-align: left !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values svg {
    width: 58px !important;
    height: 58px !important;
    align-self: flex-start !important;
    margin: 0 0 17px !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values h2 {
    display: block;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 10px !important;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-values p {
    width: 300px !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p {
    max-width: 650px;
    margin: 0 0 29px;
    font-size: 17px;
    line-height: 1.5;
  }
}

/* À propos — le héros reprend maintenant exactement la grille Services sur mesure. */
#lfb-about.lfb-about-page-v2 .lfb-about-hero {
  grid-template-columns: 52% 48%;
  min-height: 500px;
  padding: 0;
  gap: 0;
  border-top: 48px solid #FFFFFF;
  background: #EDE4D8;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: auto;
  min-height: 500px;
  margin: 0;
  padding: 50px 20px 48px clamp(44px, 4vw, 70px);
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero h1 {
  max-width: 575px;
  margin: 0 0 23px;
  font-size: 46px !important;
  line-height: .99 !important;
  letter-spacing: -.03em;
  white-space: normal;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p {
  max-width: 590px;
  margin: 0 0 29px;
  color: #2A2723;
  font-size: 19px;
  line-height: 1.43;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-photo {
  position: relative;
  display: block;
  width: 100%;
  height: 500px;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 24px 0 0 24px;
  box-shadow: none;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-photo img { object-position: center 52%; }
#lfb-about.lfb-about-page-v2 .lfb-about-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 27px;
  border-radius: 17px;
  background: #1C5633;
  color: #FFFFFF;
  font: 800 18px/1.1 Urbanist, sans-serif;
  text-decoration: none;
  transition: background-color 180ms ease, transform 180ms ease;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-button:hover,
#lfb-about.lfb-about-page-v2 .lfb-about-hero-button:focus-visible { background: #0D3C20; transform: translateY(-2px); }
#lfb-about.lfb-about-page-v2 .lfb-about-team { margin-top: 72px; }
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 { font-size: clamp(31px, 3vw, 42px) !important; }
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span {
  position: relative;
  display: inline-block;
  z-index: 0;
  background: transparent;
}
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span::after {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: .12em;
  left: -2%;
  width: 104%;
  height: .46em;
  border-radius: 4px;
  background: rgba(230, 51, 46, .42);
}
#lfb-about.lfb-about-page-v2 .lfb-about-values {
  width: min(1180px, calc(100% - 64px));
  margin: 58px auto 0;
  padding: 34px 48px 32px;
  align-items: start;
  gap: 48px;
}
#lfb-about.lfb-about-page-v2 .lfb-about-values article { text-align: center; }
#lfb-about.lfb-about-page-v2 .lfb-about-values svg { margin: 0 auto 15px; }
#lfb-about.lfb-about-page-v2 .lfb-about-values p { max-width: 290px; margin: 0 auto; }

@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero { width: 100vw; margin-left: calc(50% - 50vw); padding-left: 13px; padding-right: 13px; }
}
@media (max-width: 800px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero { grid-template-columns: 1fr; min-height: 0; border-top-width: 28px; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy { min-height: 0; padding: 50px 25px; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero h1 { font-size: 42px !important; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-photo { width: 100%; height: 310px; border-radius: 0; }
  #lfb-about.lfb-about-page-v2 .lfb-about-values { width: min(100% - 40px, 560px); gap: 24px; }
}
@media (max-width: 520px) {
  #lfb-about { padding-top: 35px; }
  .lfb-about-story, .lfb-about-values, .lfb-about-team { width: min(100% - 32px, 500px); }
  .lfb-about-story { padding-bottom: 43px; }
  .lfb-about-story h1 { font-size: 42px !important; }
  .lfb-about-story-photo { height: 300px; }
  .lfb-about-values { padding: 16px 18px; }
}

/* À propos — même proportion de bandeau que Conciergerie, Intendance et Services. */
#lfb-about.lfb-about-page-v2 { padding: 0 0 92px; }
#lfb-about.lfb-about-page-v2 .lfb-about-hero {
  width: 100%;
  min-height: 500px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  overflow: hidden;
  background: #EDE4D8;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-copy {
  width: min(650px, calc(100% - 42px));
  margin-left: auto;
  padding: 44px 20px 44px 0;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero h1 {
  margin: 0;
  color: #1C5633;
  font: 500 clamp(40px, 3.25vw, 47px)/1.02 "Playfair Display", serif !important;
  letter-spacing: -.045em;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p {
  max-width: 470px;
  margin: 21px 0 0;
  color: #2A2723;
  font: 400 17px/1.55 Lato, sans-serif;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-photo {
  width: min(602px, calc(50vw - 13px));
  height: 500px;
  margin: 0;
  overflow: hidden;
  border-radius: 0 0 0 0;
}
#lfb-about.lfb-about-page-v2 .lfb-about-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 64%; }
#lfb-about.lfb-about-page-v2 .lfb-about-values {
  width: min(1140px, calc(100% - 96px));
  margin: 57px auto 0;
  padding: 33px 44px 31px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 38px;
  border: 0;
  border-radius: 27px;
  background: #EDE4D8;
}
#lfb-about.lfb-about-page-v2 .lfb-about-values article { display: block; padding: 0; text-align: left; }
#lfb-about.lfb-about-page-v2 .lfb-about-values svg { display: block; width: 45px; height: 45px; margin: 0 0 15px; }
#lfb-about.lfb-about-page-v2 .lfb-about-values h2 { margin: 0 0 10px; font-size: 20px !important; }
#lfb-about.lfb-about-page-v2 .lfb-about-values p { max-width: 285px; font-size: 15px; }
#lfb-about.lfb-about-page-v2 .lfb-about-team { width: min(1140px, calc(100% - 96px)); margin: 76px auto 0; }
#lfb-about.lfb-about-page-v2 .lfb-about-team > header { margin-bottom: 32px; }
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 { font-size: clamp(38px, 3.4vw, 49px) !important; }
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span {
  background: linear-gradient(transparent 58%, #F2A3A0 58%, #F2A3A0 89%, transparent 89%);
  padding: 0 .04em;
}
#lfb-about.lfb-about-page-v2 .lfb-fairy-profile {
  grid-template-columns: 420px minmax(0, 1fr);
  min-height: 460px;
  gap: 68px;
  padding: 34px 0;
}
#lfb-about.lfb-about-page-v2 .lfb-fairy-profile figure { height: 390px; border-radius: 27px; }
#lfb-about.lfb-about-page-v2 .lfb-fairy-profile > div > p:not(.lfb-fairy-role) { max-width: 645px; margin-bottom: 14px; font-size: 15.5px; line-height: 1.57; }
#lfb-about.lfb-about-page-v2 .lfb-fairy-role { margin-bottom: 18px; font-size: 25px; }
#lfb-about.lfb-about-page-v2 .lfb-fairy-camille { grid-template-columns: minmax(0, 1fr) 420px; }
#lfb-about.lfb-about-page-v2 .lfb-fairy-camille > div { grid-column: 1; grid-row: 1; }
#lfb-about.lfb-about-page-v2 .lfb-fairy-camille figure { grid-column: 2; grid-row: 1; }

@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero { width: 100vw; margin-left: calc(50% - 50vw); padding-left: 13px; padding-right: 13px; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero h1 { white-space: nowrap; }
}
@media (max-width: 800px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero { grid-template-columns: 1fr; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy { width: min(100% - 48px, 620px); margin: 0 auto; padding: 48px 0; }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-photo { width: 100%; height: 380px; }
  #lfb-about.lfb-about-page-v2 .lfb-about-values, #lfb-about.lfb-about-page-v2 .lfb-about-team { width: min(100% - 48px, 620px); }
  #lfb-about.lfb-about-page-v2 .lfb-about-values { grid-template-columns: 1fr; gap: 23px; }
  #lfb-about.lfb-about-page-v2 .lfb-fairy-profile, #lfb-about.lfb-about-page-v2 .lfb-fairy-camille { grid-template-columns: 1fr; gap: 24px; }
  #lfb-about.lfb-about-page-v2 .lfb-fairy-profile figure, #lfb-about.lfb-about-page-v2 .lfb-fairy-camille figure { grid-column: 1; grid-row: auto; height: 390px; }
  #lfb-about.lfb-about-page-v2 .lfb-fairy-profile > div, #lfb-about.lfb-about-page-v2 .lfb-fairy-camille > div { grid-column: 1; grid-row: auto; }
}

/* Ces valeurs viennent après les variantes mobiles pour ne pas être écrasées. */
@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p {
    max-width: 650px;
    margin: 0 0 29px;
    font-size: 17px;
    line-height: 1.5;
  }
}

/* À propos — dernier réglage : mêmes mesures appliquées que Services sur mesure. */

/* Accueil — corrections de proportion mobile, appliquées après toutes les variantes. */
@media (max-width: 760px) {
  .lfb-service-cards { padding: 14px 20px 38px !important; }
  .lfb-service-cards h4 {
    max-width: 334px !important;
    margin: 0 auto 22px !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
  }
  .lfb-service-cards .lfb-service-card .wp-block-buttons { padding-top: 10px !important; transform: none !important; }
  .lfb-service-cards .lfb-service-card .wp-block-button,
  .lfb-service-cards .lfb-service-card .wp-block-button__link {
    width: auto !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    font-size: 13px !important;
    border-radius: 13px !important;
  }
  .lfb-fairy-image { width: 142px !important; }
  .lfb-fairy-copy .lfb-soft-button { min-height: 40px !important; padding: 9px 13px !important; font-size: 13px !important; border-radius: 13px !important; }
  .lfb-properties-editorial { margin: 0 !important; padding-top: 28px !important; }
  .lfb-properties-editorial h2 { font-size: 26px !important; letter-spacing: -.06em !important; white-space: nowrap; }
  .lfb-properties-editorial .lfb-properties-heading { margin-bottom: 15px !important; }
  .lfb-properties-editorial .lfb-properties-copy,
  .lfb-properties-editorial .lfb-properties-soon { font-size: 14px !important; line-height: 1.32 !important; }
  .lfb-properties-atlas { margin-top: -28px !important; }
  .lfb-testimonials { padding-top: 29px !important; }
  .lfb-testimonials-copy { margin-bottom: 21px !important; }
  .lfb-testimonials h4 + h4 { margin-bottom: 0 !important; }
  .lfb-faq summary { gap: 6px !important; padding: 13px 12px !important; font-size: 13px !important; line-height: 1.26 !important; letter-spacing: -.018em; }
  .lfb-faq summary::after { font-size: 22px !important; }
  footer .footer-legal { width: 100%; justify-content: center !important; flex-wrap: nowrap !important; gap: 6px !important; }
  footer .footer-legal a { font-size: 10px !important; white-space: nowrap; }
}
@media (min-width: 1001px) {
  #lfb-about.lfb-about-page-v2 .lfb-about-hero {
    box-sizing: border-box;
    grid-template-columns: 52% 48%;
    min-height: 500px;
    padding-right: max(13px, calc((100vw - 1440px) / 2));
    padding-left: max(13px, calc((100vw - 1440px) / 2));
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy {
    box-sizing: border-box;
    width: auto;
    min-height: 500px;
    margin: 0;
    padding: 50px 20px 48px clamp(44px, 4vw, 70px);
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero h1 {
    max-width: 575px;
    margin: 0 0 23px;
    font-size: 46px !important;
    line-height: .99 !important;
    letter-spacing: -.03em;
    white-space: normal;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-copy p {
    max-width: 650px;
    margin: 0 0 29px;
    font-size: 17px;
    line-height: 1.5;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-photo {
    width: 100%;
    height: 500px;
    margin: 0;
    border-radius: 24px 0 0 24px;
  }
  #lfb-about.lfb-about-page-v2 .lfb-about-hero-photo img { object-position: center 52%; }
}

#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span {
  padding: 0;
  background: transparent !important;
}
#lfb-about.lfb-about-page-v2 .lfb-about-team > header h2 span::after {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: .12em;
  left: -2%;
  width: 104%;
  height: .46em;
  border-radius: 4px;
  background: rgba(230, 51, 46, .42);
}

#lfb-about.lfb-about-page-v2 .lfb-about-values { border: 2px solid rgba(28, 86, 51, .36); }
#lfb-about.lfb-about-page-v2 .lfb-about-values article {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  text-align: left;
}
#lfb-about.lfb-about-page-v2 .lfb-about-values svg { margin: 0 auto 15px; }
#lfb-about.lfb-about-page-v2 .lfb-about-values h2,
#lfb-about.lfb-about-page-v2 .lfb-about-values p {
  width: min(100%, 285px);
  max-width: 285px;
  margin-left: auto;
  margin-right: auto;
}
