.elementor-kit-187{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-187 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Styles communs d’accessibilité et effets du site Elementor.
   La disposition, les couleurs et les tailles sont dans les réglages natifs.
   Retirer ce fichier ne retire aucun contenu et ne bloque aucune interaction. */
#contenu a:focus-visible,
header a:focus-visible,
footer a:focus-visible,
.sj-form :is(input, select, textarea, button):focus-visible {
  outline: 3px solid #252525;
  outline-offset: 4px;
  box-shadow: 0 0 0 4px #FAF7F2;
}
.sj-button .elementor-button,
.sj-menu-link .elementor-button { min-height: 44px; }
#contenu .elementor-widget-text-editor a,
.elementor-location-footer .elementor-widget-text-editor a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .2em;
}
#formulaire, #contenu { scroll-margin-top: 32px; }
.sj-skip:not(:focus-within) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
/* Le H1 reste un widget Titre natif ; seul le span change d’aspect. */
@supports (-webkit-text-stroke: 1px #FAF7F2) {
  .sj-hero-title .sj-outline {
    color: transparent;
    -webkit-text-stroke: 1.5px #FAF7F2;
    paint-order: stroke fill;
  }
}
/* Biseaux de la maquette, sans transformer l’architecture des photos. */
@media (min-width: 1025px) {
  .sj-card-private { clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 96%); }
  .sj-card-pro { clip-path: polygon(0 0, 100% 0, 100% 96%, 0 100%); }
}
@media (max-width: 767px) {
  .sj-hero-title .sj-outline { -webkit-text-stroke-width: 1px; }
}
@media (forced-colors: active) {
  .sj-hero-title .sj-outline {
    color: CanvasText;
    -webkit-text-stroke: 0;
  }
}
.sj-button .elementor-button,
.sj-menu-link .elementor-button { transition: background-color .18s ease, color .18s ease; }
/* L’apparition est progressive et le contenu reste toujours visible.
   Les navigateurs ne gérant pas view() gardent la présentation statique. */
@supports (animation-timeline: view()) {
  @media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
    .sj-card {
      animation: sj-reveal linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 25%;
    }
    @keyframes sj-reveal {
      from { opacity: .85; transform: translateY(12px); }
      to { opacity: 1; transform: translateY(0); }
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .sj-card { animation: none !important; transform: none !important; }
  .sj-button .elementor-button,
  .sj-menu-link .elementor-button { transition: none; }
}/* End custom CSS */