@font-face { font-family: 'Cormorant Garamond'; src: url('./fonts/cormorant-garamond-latin.woff2') format('woff2'); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('./fonts/dm-sans-latin.woff2') format('woff2'); font-style: normal; font-weight: 400 700; font-display: swap; }
:root { --ab-display-font: 'Playfair Display', Georgia, serif; --ab-font: 'DM Sans', Arial, sans-serif; --ab-eyebrow-font: 'DM Sans', Arial, sans-serif; --ab-button-font: 'Playfair Display', Georgia, serif; --ab-quote-font: 'Playfair Display', Georgia, serif; }
/* Editor canvas preview for the content mapped to the Next.js landing. */
.elementor .e-con:has(.ab-content-headline),
.elementor .e-con:has(.ab-content-feature_heading),
.elementor .e-con:has(.ab-content-results_heading),
.elementor .e-con:has(.ab-content-testimonials_heading),
.elementor .e-con:has(.ab-content-booking_heading) {
  --ab-ink: #33292c;
  --ab-rose: #965d69;
  color: var(--ab-ink);
  font-family: var(--ab-font);
}
.elementor .e-con:has(.ab-content-headline) {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  column-gap: 45px;
  padding: 60px max(24px, calc((100vw - 1120px)/2));
  background: linear-gradient(120deg, #f6e4e0, #fffaf7);
}
.elementor .e-con:has(.ab-content-headline) > .elementor-element { min-width: 0; }
.elementor .ab-content-brand { grid-column: 1 / -1; }
.elementor .ab-content-brand .elementor-heading-title { font: 24px var(--ab-display-font); color: #33292c; }
.elementor .ab-content-eyebrow,
.elementor .ab-content-headline,
.elementor .ab-content-intro,
.elementor .ab-content-proof_one,
.elementor .ab-content-proof_two,
.elementor .ab-content-primary_cta { grid-column: 1; }
.elementor .ab-content-eyebrow .elementor-heading-title { color: #965d69; font: 800 12px var(--ab-font); letter-spacing: .15em; text-transform: uppercase; }
.elementor .ab-content-headline .elementor-heading-title { color: #33292c; font: clamp(39px, 5.2vw, 70px)/1.15 var(--ab-display-font); }
.elementor .ab-content-intro { font-size: 18px; }
.elementor .ab-content-primary_cta .elementor-button { background: #965d69; border-radius: 40px; padding: 14px 23px; font-weight: 700; }
.elementor .ab-content-hero_image { grid-column: 2; grid-row: 2 / span 6; min-height: 380px; border-radius: 28px; background: linear-gradient(145deg, #dcb9b6, #f3dbd6); overflow: hidden; }
.elementor .ab-content-hero_image img { width: 100%; min-height: 380px; object-fit: cover; }
.elementor .e-con:has(.ab-content-feature_heading),
.elementor .e-con:has(.ab-content-results_heading),
.elementor .e-con:has(.ab-content-testimonials_heading),
.elementor .e-con:has(.ab-content-booking_heading) { padding: 72px max(24px, calc((100vw - 1120px)/2)); }
.elementor .e-con:has(.ab-content-feature_heading) { background: #f8eeeb; }
.elementor .e-con:has(.ab-content-booking_heading) { background: #f1dbd7; }
.elementor .ab-content-feature_heading .elementor-heading-title,
.elementor .ab-content-results_heading .elementor-heading-title,
.elementor .ab-content-testimonials_heading .elementor-heading-title,
.elementor .ab-content-booking_heading .elementor-heading-title { color: #33292c; font: clamp(30px, 3.5vw, 44px)/1.15 var(--ab-display-font); }
.elementor .ab-content-whatsapp { display: none; }
.elementor .e-con:has(.ab-content-booking_heading) .ab-content-privacy_url::before { content: "Confidentialité: "; font-weight: 700; }
.elementor .e-con:has(.ab-content-booking_heading) .ab-content-legal_url::before { content: "Mentions légales: "; font-weight: 700; }
@media (max-width: 800px) {
  .elementor .e-con:has(.ab-content-headline) { display: flex; padding: 45px 24px; }
  .elementor .ab-content-hero_image { min-height: 260px; }
  .elementor .ab-content-hero_image img { min-height: 260px; }
}

/* Elementor puts widgets inside .e-con-inner, so the grid belongs there. */
.elementor .e-con:has(.ab-content-headline) > .e-con-inner {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  column-gap: 45px;
  align-items: center;
}
.elementor .e-con:has(.ab-content-headline) > .e-con-inner > .elementor-element { min-width: 0; }
.elementor .ab-content-brand { grid-column: 1 / -1; grid-row: 1; margin-bottom: 32px; }
.elementor .ab-content-eyebrow { grid-column: 1; grid-row: 2; }
.elementor .ab-content-headline { grid-column: 1; grid-row: 3; }
.elementor .ab-content-intro { grid-column: 1; grid-row: 4; }
.elementor .ab-content-proof_one,
.elementor .ab-content-proof_two { grid-column: 1; grid-row: 5; }
.elementor .ab-content-primary_cta { grid-column: 1; grid-row: 6; margin-top: 18px; }
.elementor .ab-content-headline .elementor-heading-title { font-weight: 500; line-height: 1.04; letter-spacing: -.025em; }
.elementor .ab-content-intro p { color: #5c5256; font: 16px/1.55 var(--ab-font); }
.elementor .ab-content-proof_two .elementor-heading-title,
.elementor .ab-content-proof_one .elementor-heading-title {
  display: inline-block;
  padding: 10px 15px;
  border-radius: 30px;
  background: #fff9;
  color: #65565c;
  font: 16px/1.55 var(--ab-font);
}
.elementor .ab-content-proof_two .elementor-heading-title::before,
.elementor .ab-content-proof_one .elementor-heading-title::before { content: "✓ "; }
.elementor .ab-hero-placeholder {
  grid-column: 2;
  grid-row: 2 / span 5;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 28px;
  background: linear-gradient(145deg, #dcb9b6, #f3dbd6);
  text-align: center;
}
.elementor .ab-hero-placeholder .elementor-heading-title { color: #744d55; font: 32px/1.2 var(--ab-display-font); }
.elementor .e-con:has(.ab-content-hero_image img) .ab-hero-placeholder { display: none; }
.elementor .e-con:has(.ab-content-hero_image img) .ab-content-hero_image { grid-column: 2; grid-row: 2 / span 5; }
.elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 0 !important;
}
.elementor .ab-content-feature_heading { grid-column: 1 / -1; text-align: center; width: 680px !important; max-width: 100%; justify-self: center; margin: 0 auto 35px; }
.elementor .ab-content-feature_eyebrow .elementor-heading-title,
.elementor .ab-content-booking_eyebrow .elementor-heading-title {
  color: #965d69;
  font: 800 12px/1.4 var(--ab-font);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.elementor .ab-content-feature_eyebrow { grid-column: 1 / -1; text-align: center; margin-bottom: 8px; }
.elementor .ab-content-booking_eyebrow { grid-column: 1; margin-bottom: -4px; }
.elementor .ab-content-feature_0_title,
.elementor .ab-content-feature_0_body { grid-column: 1; }
.elementor .ab-content-feature_1_title,
.elementor .ab-content-feature_1_body { grid-column: 2; }
.elementor .ab-content-feature_2_title,
.elementor .ab-content-feature_2_body { grid-column: 3; }
.elementor [class*="ab-content-feature_"][class*="_title"] {
  grid-row: 3;
  padding: 28px 28px 0;
  background: #fff;
  border: 1px solid #f0e4e1;
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
}
.elementor [class*="ab-content-feature_"][class*="_title"] .elementor-heading-title { color: #33292c; font: 700 21px/1.2 var(--ab-display-font); }
.elementor [class*="ab-content-feature_"][class*="_title"]::before {
  display: block;
  color: #33292c;
  font: 30px/1.2 var(--ab-display-font);
  margin-bottom: 16px;
}
.elementor .ab-content-feature_0_title::before { content: "♡"; }
.elementor .ab-content-feature_1_title::before { content: "✦"; }
.elementor .ab-content-feature_2_title::before { content: "☼"; }
.elementor [class*="ab-content-feature_"][class*="_body"] {
  grid-row: 4;
  padding: 0 28px 28px;
  background: #fff;
  border: 1px solid #f0e4e1;
  border-top: 0;
  border-radius: 0 0 22px 22px;
}
.elementor [class*="ab-content-feature_"][class*="_body"] p { color: #5c5256; font: 16px/1.55 var(--ab-font); }
.elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px 45px;
  align-items: start;
}
.elementor .ab-content-booking_heading,
.elementor .ab-content-booking_eyebrow,
.elementor .ab-content-booking_intro,
.elementor .ab-content-booking_disclaimer,
.elementor .ab-booking-included,
.elementor .ab-content-whatsapp,
.elementor .ab-content-privacy_url,
.elementor .ab-content-legal_url { grid-column: 1; }
.elementor .ab-booking-form { grid-column: 2; grid-row: 1 / span 7; }
.elementor .ab-content-booking_disclaimer { color: #756b6d; font: 12px/1.5 var(--ab-font); margin-top: 8px; }
@media (max-width: 800px) {
  .elementor .e-con:has(.ab-content-headline) > .e-con-inner,
  .elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner { display: flex; flex-direction: column; }
  .elementor .ab-hero-placeholder { width: 100%; min-height: 260px; }
  .elementor [class*="ab-content-feature_"][class*="_title"],
  .elementor [class*="ab-content-feature_"][class*="_body"] { width: 100%; }
  .elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner { display: flex; flex-direction: column; }
  .elementor .ab-booking-form { width: 100%; }
}

/* Elementor's boxed containers otherwise shrink the grid twice. */
.elementor .e-con:has(.ab-content-headline),
.elementor .e-con:has(.ab-content-feature_heading),
.elementor .e-con:has(.ab-content-results_heading),
.elementor .e-con:has(.ab-content-testimonials_heading),
.elementor .e-con:has(.ab-content-booking_heading) {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor .e-con:has(.ab-content-headline) > .e-con-inner,
.elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner,
.elementor .e-con:has(.ab-content-results_heading) > .e-con-inner,
.elementor .e-con:has(.ab-content-testimonials_heading) > .e-con-inner,
.elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 72px 38px !important;
  box-sizing: border-box;
}
.elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner { padding-top: 46px !important; padding-bottom: 58px !important; }
.elementor .e-con:has(.ab-content-headline) > .e-con-inner { padding-top: 0 !important; }
.elementor .ab-content-brand { margin: 0 0 32px; padding: 14px 0; position: relative; isolation: isolate; }
.elementor .ab-content-brand::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  background: #fff;
}
@media (max-width: 800px) {
  .elementor .e-con:has(.ab-content-headline) > .e-con-inner,
  .elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner,
  .elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner { padding: 45px 22px !important; }
}
.elementor .ab-content-brand { margin-bottom: 78px; padding: 24px 0; }
.elementor .ab-content-eyebrow { margin-top: 60px; }
.elementor .ab-content-headline { margin-bottom: -18px; }
.elementor .ab-hero-placeholder { margin-top: 40px; }
.elementor .e-con:has(.ab-content-headline) > .e-con-inner { padding-bottom: 68px !important; }
.elementor .ab-content-primary_cta { margin-top: 0; }
.elementor .ab-content-primary_cta .elementor-button-text::after { content: " ›"; }
.elementor .ab-nav-cta {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  padding-top: 14px;
  z-index: 1;
}
.elementor .ab-nav-cta .elementor-button {
  background: #965d69;
  border-radius: 40px;
  padding: 14px 23px;
  font: 700 16px/1.55 var(--ab-font);
}
.elementor .ab-hero-placeholder .elementor-heading-title { max-width: 300px; margin: auto; }
.elementor .e-con:has(.ab-content-feature_heading) { background: #f8eeeb !important; }
.elementor .e-con:has(.ab-content-booking_heading) { background: #f1dbd7 !important; }
body:not(.elementor-editor-active) .elementor .elementor-element-97fc8e6e:not(:has(.hc-before-after)),
body:not(.elementor-editor-active) .elementor .elementor-element-170707b6:not(:has([class*="ab-content-testimonial_"])):not(:has(.hc-testimonials)) {
  display: none !important;
}
body { overflow-x: clip; }
.elementor .e-con:has(.ab-content-results_heading) > .e-con-inner { max-width: none !important; padding: 0 !important; }
.elementor .e-con:has(.ab-content-results_heading) .ab-content-results_heading,
.elementor .e-con:has(.ab-content-results_heading) .ab-content-results_intro { display: none; }
.elementor .e-con:has(.ab-content-results_heading) .ab-before-after-gallery { width: 100%; }
.elementor .e-con:has(.ab-content-results_heading) .hc-before-after { max-width: 1400px; margin: auto; }
.elementor .e-con:has(.ab-content-testimonials_heading) { background: #fffaf7 !important; }
.elementor .e-con:has(.ab-content-testimonials_heading) > .e-con-inner { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 20px; }
.elementor .ab-content-testimonials_heading,
.elementor .ab-content-testimonials_intro { grid-column: 1/-1; text-align: center; }
.elementor .ab-content-testimonials_heading { margin-bottom: 12px; }
.elementor .ab-content-testimonials_intro { margin-bottom: 32px; color: #5c5256; }
.elementor [class*="ab-content-testimonial_"][class*="_quote"] { grid-row: 3; padding: 28px 28px 0; background: #fff; border: 1px solid #f0e4e1; border-bottom: 0; border-radius: 22px 22px 0 0; }
.elementor [class*="ab-content-testimonial_"][class*="_name"] { grid-row: 4; padding: 0 28px 28px; background: #fff; border: 1px solid #f0e4e1; border-top: 0; border-radius: 0 0 22px 22px; }
.elementor [class*="ab-content-testimonial_"][class*="_name"] .elementor-heading-title { color: #756b6d; font: 14px var(--ab-font); }
.elementor .ab-content-testimonial_0_quote,.elementor .ab-content-testimonial_0_name { grid-column: 1; }
.elementor .ab-content-testimonial_1_quote,.elementor .ab-content-testimonial_1_name { grid-column: 2; }
.elementor .ab-content-testimonial_2_quote,.elementor .ab-content-testimonial_2_name { grid-column: 3; }
@media(max-width:800px) { .elementor .e-con:has(.ab-content-testimonials_heading) > .e-con-inner { display: flex; flex-direction: column; } .elementor [class*="ab-content-testimonial_"][class*="_quote"] { margin-top: 16px; } }

/* A single widget keeps every quote and its attribution in the same card. */
.elementor .e-con:has(.hc-testimonials) { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; background: #fffaf7 !important; }
.elementor .e-con:has(.hc-testimonials) > .e-con-inner { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.elementor .e-con:has(.hc-testimonials) .ab-testimonials-widget { width: 100% !important; max-width: none !important; }
.elementor .e-con:has(.hc-testimonials) .hc-testimonials { max-width: 1400px; margin: 0 auto; }
.elementor .hc-testimonials-heading .hc-eyebrow { display: block !important; visibility: visible !important; color: #965d69 !important; font: 800 12px/1.4 var(--ab-font) !important; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 4px; }
.elementor .hc-testimonials-heading h2 { display: block !important; color: #33292c !important; font: 700 clamp(30px,3.5vw,44px)/1.15 var(--ab-display-font) !important; margin: 5px 0 14px !important; }
.elementor .hc-testimonials-heading p { color: #5c5256 !important; font: 16px/1.55 var(--ab-font) !important; }
.elementor .hc-testimonials .hc-testimonial-card { border: 0 !important; border-left: 4px solid #965d69 !important; border-radius: 14px !important; background: #fff !important; padding: 28px !important; }
.elementor .hc-testimonials .hc-testimonial-card p { color: #33292c !important; font: 16px/1.6 var(--ab-font) !important; margin: 0 0 14px !important; }
.elementor .hc-testimonials .hc-testimonial-card footer { color: #756b6d !important; font: 12px/1.5 var(--ab-font) !important; }
@media (max-width: 800px) {
  .elementor .ab-content-brand { margin-bottom: 28px; }
  .elementor .ab-content-eyebrow,
  .elementor .ab-hero-placeholder { margin-top: 0; }
  .elementor .ab-nav-cta { display: none; }
  .elementor .e-con:has(.ab-content-headline) > .e-con-inner,
  .elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner,
  .elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
  }
  .elementor .e-con:has(.ab-content-headline) > .e-con-inner {
    padding: 0 22px 45px !important;
  }
  .elementor .e-con:has(.ab-content-headline) > .e-con-inner > .elementor-element,
  .elementor .e-con:has(.ab-content-feature_heading) > .e-con-inner > .elementor-element,
  .elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner > .elementor-element {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .elementor .ab-content-brand { text-align: left; padding: 14px 0; }
  .elementor .ab-content-headline .elementor-heading-title { overflow-wrap: normal; }
  .elementor .ab-hero-placeholder { min-height: 260px; }
}

/* The WordPress menu and logo are rendered by the header shortcode. */
.elementor .ab-content-brand { padding: 0; margin-bottom: 78px; }
.elementor .ab-content-brand .ab-site-header-inner { padding: 14px 0; }
.elementor .ab-content-brand .ab-site-header { border: 0; background: transparent; }
@media (max-width: 800px) {
  .elementor .ab-content-brand { padding: 0; margin-bottom: 28px; }
}

/* Editorial benefits and testimonials, while keeping all copy in Elementor widgets. */
.elementor .e-con:has(.ab-content-feature_heading) { background: #fffaf7 !important; padding-top: 74px; padding-bottom: 76px; }
.elementor .ab-content-feature_heading { grid-row: 1; margin-bottom: 0; }
.elementor .ab-content-feature_heading .elementor-heading-title { font: 500 clamp(36px,3.5vw,44px)/1.04 var(--ab-display-font); letter-spacing: -.025em; }
.elementor .ab-content-feature_eyebrow { grid-row: 2; margin: 2px 0 26px; }
.elementor .ab-content-feature_eyebrow .elementor-heading-title { color: #8e7978; font-size: 11px; font-weight: 500; letter-spacing: .14em; }
.elementor [class*="ab-content-feature_"][class*="_title"] { min-height: 88px; padding: 24px 25px 0; border-color: #e5d1ca; border-radius: 7px 7px 0 0; background: #fffdfb; text-align: center; }
.elementor [class*="ab-content-feature_"][class*="_title"] .elementor-heading-title { font: 500 clamp(24px,2vw,29px)/1.08 var(--ab-display-font); }
.elementor [class*="ab-content-feature_"][class*="_title"]::before { content: '' !important; width: 42px; height: 42px; margin: 0 auto 13px; background: center/contain no-repeat url('./icons/feature-leaf.svg'); }
.elementor .ab-content-feature_1_title::before { background-image: url('./icons/feature-lotus.svg'); }
.elementor .ab-content-feature_2_title::before { background-image: url('./icons/feature-heart.svg'); }
.elementor [class*="ab-content-feature_"][class*="_body"] { min-height: 134px; padding: 7px 25px 26px; border-color: #e5d1ca; border-radius: 0 0 7px 7px; background: #fffdfb; text-align: center; }
.elementor [class*="ab-content-feature_"][class*="_body"] p { max-width: 275px; margin: 0 auto; font: 14px/1.5 var(--ab-font); }
.elementor .e-con:has(.hc-testimonials) { background: radial-gradient(ellipse at 95% 5%,#bca9a331,transparent 44%),linear-gradient(110deg,#f2e6e1,#faf1ed) !important; }
.elementor .hc-testimonials-heading { display: flex !important; flex-direction: column !important; gap: 4px !important; margin-bottom: 25px !important; }
.elementor .hc-testimonials-heading h2 { order: 1; font: 500 clamp(36px,3.5vw,44px)/1.04 var(--ab-display-font) !important; letter-spacing: -.025em; margin: 0 !important; }
.elementor .hc-gallery-heading h2 { max-width: none; font: 500 clamp(36px,3.5vw,44px)/1.04 var(--ab-display-font) !important; letter-spacing: -.025em; }
@media (min-width: 1100px) { .elementor .hc-gallery-heading h2 { white-space: nowrap; } }
.elementor .hc-testimonials-heading .hc-eyebrow { order: 2; color: #8e7978 !important; font: 500 11px/1.4 var(--ab-font) !important; letter-spacing: .14em; margin: 0 !important; }
.elementor .hc-testimonials-heading p { order: 3; font: 14px/1.5 var(--ab-font) !important; }
.elementor .hc-testimonials .hc-testimonial-card { position: relative; min-height: 195px; border: 0 !important; border-radius: 8px !important; background: #fffdfb !important; padding: 30px 28px 24px 43px !important; }
.elementor .hc-testimonials .hc-testimonial-card::before { content: '“'; position: absolute; left: 18px; top: 19px; color: #a46d68; font: 600 49px/1 var(--ab-display-font); }
.elementor .hc-testimonials .hc-testimonial-card p { font: italic 20px/1.3 var(--ab-quote-font) !important; margin: 0 0 20px !important; }
.elementor .hc-testimonials .hc-testimonial-card footer { font: 500 12px/1.5 var(--ab-font) !important; }
@media (max-width: 800px) {
  .elementor .ab-content-feature_heading, .elementor .ab-content-feature_eyebrow { order: -1; }
  .elementor [class*="ab-content-feature_"][class*="_body"] { min-height: 0; margin-bottom: 18px; }
}

/* Two-column hero, aligned with the other section containers. */
.elementor .e-con:has(.ab-content-headline) { overflow: hidden; padding: 0 max(38px,calc((100vw - 1324px)/2)) 28px !important; background: linear-gradient(105deg,#f8f1ec 0%,#fffaf7 54%,#f5e7e0 100%) !important; }
.elementor .e-con:has(.ab-content-headline) > .e-con-inner { display: grid !important; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr) !important; gap: 0 22px; align-items: center; padding: 0 !important; }
.elementor .e-con:has(.ab-content-headline) > .e-con-inner > .elementor-element { min-width: 0; }
.elementor .ab-content-brand { grid-column: 1/-1; grid-row: 1; margin: 0 0 28px !important; }
.elementor .ab-content-eyebrow { grid-column: 1; grid-row: 2; margin: 0 !important; }
.elementor .ab-content-eyebrow .elementor-heading-title { color: #5f5050; font: 500 11px/1.4 var(--ab-font); letter-spacing: .14em; }
.elementor .ab-content-headline { grid-column: 1; grid-row: 3; margin: 13px 0 0 !important; }
.elementor .ab-content-headline .elementor-heading-title { max-width: 660px; color: #241d1d; font: 500 clamp(48px,5vw,76px)/.96 var(--ab-display-font); letter-spacing: -.03em; }
.elementor .ab-content-headline_accent { grid-column: 1; grid-row: 4; margin: 0 0 14px !important; }
.elementor .ab-content-headline_accent .elementor-heading-title { color: #a36f6b; font: 500 clamp(48px,5vw,76px)/.96 var(--ab-display-font); letter-spacing: -.03em; }
.elementor .ab-content-intro { grid-column: 1; grid-row: 5; max-width: 510px; margin: 0 0 18px !important; }
.elementor .ab-content-intro p { color: #4d4444; font: 17px/1.5 var(--ab-font); }
.elementor .ab-content-primary_cta { grid-column: 1; grid-row: 6; justify-self: start; margin: 0 0 25px !important; }
.elementor .ab-content-primary_cta .elementor-button { position: relative; display: inline-block; min-height: 58px; padding: 13px 60px 19px; background: #8c625d; font-size: 21px; font-weight: 600; line-height: 1.3; text-align: center; }
.elementor .ab-content-primary_cta .elementor-button-text { display: block; }
.elementor .ab-content-primary_cta .elementor-button-text::after { content: ''; position: absolute; right: 27px; top: 50%; display: block; width: 22px; height: 18px; margin: 0; border: 0; transform: translateY(-50%); background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'%3E%3Cpath d='M2 9h17m-6-6 6 6-6 6' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.elementor .ab-content-proof_one, .elementor .ab-content-proof_two, .elementor .ab-content-proof_three { grid-column: 1; grid-row: 7; width: 32% !important; align-self: start; }
.elementor .ab-content-proof_one { justify-self: start; }
.elementor .ab-content-proof_two { justify-self: center; }
.elementor .ab-content-proof_three { justify-self: end; }
.elementor .ab-content-proof_one .elementor-heading-title, .elementor .ab-content-proof_two .elementor-heading-title, .elementor .ab-content-proof_three .elementor-heading-title { display: flex; align-items: center; gap: 8px; padding: 0; background: none; color: #5c4d4b; font: 12px/1.3 var(--ab-font); }
.elementor .ab-content-proof_one .elementor-heading-title::before, .elementor .ab-content-proof_two .elementor-heading-title::before, .elementor .ab-content-proof_three .elementor-heading-title::before { content: '' !important; display: block; width: 35px; height: 35px; flex: 0 0 35px; background: center/contain no-repeat url('./icons/feature-leaf.svg'); }
.elementor .ab-content-proof_two .elementor-heading-title::before { background-image: url('./icons/feature-lotus.svg'); }
.elementor .ab-content-proof_three .elementor-heading-title::before { background-image: url('./icons/feature-heart.svg'); }
.elementor .ab-content-hero_image { grid-column: 2; grid-row: 2/8; height: 520px; min-height: 0; margin: 0 !important; border-radius: 225px 225px 0 0; background: #c6aca0; }
.elementor .ab-content-hero_image .elementor-widget-container { height: 100%; }
.elementor .ab-content-hero_image img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 28%; }
.elementor .ab-hero-placeholder { display: none !important; }
@media (max-width: 1050px) { .elementor .e-con:has(.ab-content-headline) > .e-con-inner { grid-template-columns: 1fr .8fr !important; } }
@media (max-width: 700px) { .elementor .e-con:has(.ab-content-headline) { padding: 0 22px 24px !important; } .elementor .e-con:has(.ab-content-headline) > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; } .elementor .ab-content-brand { order: -2; } .elementor .ab-content-eyebrow { order: -1; } .elementor .ab-content-hero_image { order: 10; width: 100% !important; height: 360px; border-radius: 180px 180px 0 0; } .elementor .ab-content-proof_one, .elementor .ab-content-proof_two, .elementor .ab-content-proof_three { width: 100% !important; } }

.elementor .ab-content-eyebrow .elementor-heading-title, .elementor .ab-content-feature_eyebrow .elementor-heading-title, .elementor .ab-content-booking_eyebrow .elementor-heading-title, .elementor .hc-eyebrow { font-family: var(--ab-eyebrow-font) !important; }
.elementor .elementor-button, .elementor .form button { font-family: var(--ab-button-font) !important; }
.elementor .e-con:has(.ab-content-headline), .elementor .e-con:has(.ab-content-feature_heading), .elementor .e-con:has(.ab-content-booking_heading) { font-family: var(--ab-font) !important; }

/* Consultation section mirrors the headless landing. */
.elementor .e-con:has(.ab-content-booking_heading) { background: linear-gradient(115deg,#f2e4dd 0%,#faf4ef 56%,#f6eae4 100%) !important; }
.elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 12px clamp(48px,7vw,110px); align-items: center; padding: 100px 38px !important; }
.elementor .e-con:has(.ab-content-booking_heading) .ab-content-booking_heading .elementor-heading-title { color: #33292c; font: 500 clamp(42px,4vw,60px)/1.03 var(--ab-display-font); letter-spacing: -.03em; }
.elementor .e-con:has(.ab-content-booking_heading) .ab-content-booking_intro p { color: #574d4c; font: 17px/1.6 var(--ab-font); }
.elementor .ab-nav-cta .elementor-button { background: #8c625d; }
@media (max-width: 900px) { .elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 18px; padding: 65px 38px !important; } .elementor .ab-booking-form { width: 100%; max-width: 760px; } }
@media (max-width: 600px) { .elementor .e-con:has(.ab-content-booking_heading) > .e-con-inner { padding: 68px 22px !important; } }

/* Match the rendered Next.js sections when Elementor contains only the gallery widget. */
.elementor .e-con:has(.ab-before-after-gallery) { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; background: #fffaf7 !important; }
.elementor .e-con:has(.ab-before-after-gallery) > .e-con-inner { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.elementor .e-con:has(.ab-before-after-gallery) .ab-before-after-gallery { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
.elementor .e-con:has(.ab-before-after-gallery) .ab-content-results_intro { display: none !important; }
.elementor .e-con:has(.ab-before-after-gallery) .hc-before-after { max-width: 1400px; margin: 0 auto; }
.elementor .ab-content-feature_heading { width: auto !important; max-width: none !important; margin-bottom: 18px !important; }
.elementor [class*="ab-content-feature_"][class*="_title"].ab-content-feature_1_title::before { background-image: url('./icons/feature-lotus.svg'); }
.elementor [class*="ab-content-feature_"][class*="_title"].ab-content-feature_2_title::before { background-image: url('./icons/feature-heart.svg'); }
