.elementor-401 .elementor-element.elementor-element-6180392{--display:flex;--padding-top:1px;--padding-bottom:1px;--padding-left:1px;--padding-right:1px;}.elementor-401 .elementor-element.elementor-element-274b23b1{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-401 .elementor-element.elementor-element-3e18d294{--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-401 .elementor-element.elementor-element-316c7ab5{--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-401 .elementor-element.elementor-element-274b23b1{--width:500px;}.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-6ba8f0c1 */.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-0fd3e1a */.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-cd41037 */.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-450bd30 */.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-089c79c */.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 */