.elementor-26677 .elementor-element.elementor-element-7303e7d8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.37;--padding-top:1px;--padding-bottom:1px;--padding-left:1px;--padding-right:1px;}.elementor-26677 .elementor-element.elementor-element-7303e7d8::before, .elementor-26677 .elementor-element.elementor-element-7303e7d8 > .elementor-background-video-container::before, .elementor-26677 .elementor-element.elementor-element-7303e7d8 > .e-con-inner > .elementor-background-video-container::before, .elementor-26677 .elementor-element.elementor-element-7303e7d8 > .elementor-background-slideshow::before, .elementor-26677 .elementor-element.elementor-element-7303e7d8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-26677 .elementor-element.elementor-element-7303e7d8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-26677 .elementor-element.elementor-element-78024f7c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-26677 .elementor-element.elementor-element-34891d90{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-26677 .elementor-element.elementor-element-249bacaf{--display:flex;}html{height:100vh;margin:0;overflow:hidden;}body{height:100vh;overflow:auto;scroll-snap-type:y mandatory;scroll-padding:21px;}:root{--page-title-display:none;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:end;scroll-snap-stop:normal;}@media(max-width:1024px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}@media(max-width:767px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}/* Start custom CSS for html, class: .elementor-element-3aae4425 */.header-logo {
    height: 2.5rem; /* équivalent à h-10 en Tailwind */
    width: 150px;
    transition: transform 0.3s ease;
}

.header-logo:hover {
    transform: scale(1.05);
}

.footer-logo {
    height: 2rem;
    width: auto;
    filter: brightness(200%);
    transition: transform 0.3s ease;
}

.footer-logo:hover {
    transform: scale(1.05);
}

/* Hero Section Styles */
.hero-section {
    position: relative;
    min-height: 85vh;
}

/* Style spécifique pour l'image de fond du hero */
.hero-section img.hero-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    animation: slowZoom 20s ease-in-out infinite alternate;
    transform-origin: center;
    will-change: transform;
    filter: brightness(0.9) contrast(1.1);
}

/* Styles généraux pour les sections avec images */
.section-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 0.75rem;
    transition: transform 0.3s ease;
}

.section-image:hover {
    transform: scale(1.02);
}

/* Conteneur d'image responsive */
.image-container {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1024px) {
    .hero-section {
        min-height: 90vh;
    }
    
    .hero-section .container {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .section-image {
        height: 400px;
    }
}

@keyframes slowZoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.1);
    }
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.transition-all {
    transition: all 0.3s ease;
}

.testimonial-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
}

/* Styles pour l'image héro */
.hero-image-container {
    position: relative;
    transition: transform 0.3s ease;
}

.hero-image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(0.95);
    transition: all 0.3s ease;
}

.hero-image-container:hover img {
    transform: scale(1);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f258f7 */.header-logo {
    height: 2.5rem; /* équivalent à h-10 en Tailwind */
    width: 150px;
    transition: transform 0.3s ease;
}

.header-logo:hover {
    transform: scale(1.05);
}

.footer-logo {
    height: 2rem;
    width: auto;
    filter: brightness(200%);
    transition: transform 0.3s ease;
}

.footer-logo:hover {
    transform: scale(1.05);
}

/* Hero Section Styles */
.hero-section {
    position: relative;
    min-height: 85vh;
}

/* Style spécifique pour l'image de fond du hero */
.hero-section img.hero-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    animation: slowZoom 20s ease-in-out infinite alternate;
    transform-origin: center;
    will-change: transform;
    filter: brightness(0.9) contrast(1.1);
}

/* Styles généraux pour les sections avec images */
.section-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 0.75rem;
    transition: transform 0.3s ease;
}

.section-image:hover {
    transform: scale(1.02);
}

/* Conteneur d'image responsive */
.image-container {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1024px) {
    .hero-section {
        min-height: 90vh;
    }
    
    .hero-section .container {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .section-image {
        height: 400px;
    }
}

@keyframes slowZoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.1);
    }
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.transition-all {
    transition: all 0.3s ease;
}

.testimonial-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
}

/* Styles pour l'image héro */
.hero-image-container {
    position: relative;
    transition: transform 0.3s ease;
}

.hero-image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(0.95);
    transition: all 0.3s ease;
}

.hero-image-container:hover img {
    transform: scale(1);
}/* End custom CSS */