@charset "UTF-8";
@import url(main.css);
.video-background-holder { display: none; }

.maps-section.position-relative.bg-primaryColor { background-color: #a5e42e21; }

h1.display-4.fw-bold.bandeauTitre.titles.text-color-seventh { color: #284f3a !important; }

span.display-5.fw-bold.text-body-emphasis.titles { color: #284f3a !important; }

.row.align-items-center.g-lg-5.py-5 { background-color: #a5e42e21; }

h2.display-6.fw-bold.p-3.pt-lg-3.titles { color: #284f3a; }

.px-5.pt-5.display-6.text-color-primary.titles { color: #254b38 !important; }

span.display-4.fw-bold.lh-1.text-body-emphasis.mb-3.titles { color: #2b533c; }

.fs-6.lead { font-family: 'Poppins', sans-serif; font-size: 0.95rem !important; line-height: 1.7; color: #1a3a2e; opacity: 0.85; font-weight: 400; }

.fs-6.lead.mt-4.mb-4 { font-family: 'Poppins', sans-serif; font-size: 0.95rem !important; line-height: 1.7; color: #1a3a2e; opacity: 0.85; font-weight: 400; }

.b-bloc-divider { height: 40px !important; background-color: transparent !important; border: none !important; box-shadow: none !important; }

.lh-1.mb-3.titles p { font-family: 'Poppins'; padding-top: 1rem; line-height: 1.5; opacity: 0.85; }

button.w-100.btn.btn-outline-dark { color: #1a3a2e; font-weight: 600; background-color: #a5e42e; border: 1px solid #a5e42e; }

button.w-100.btn.btn-outline-dark:hover { border: 1px solid #a5e42e; color: #1a3a2e; font-weight: 600; background-color: #a5e42e; }

.animated-border-button:after { background-color: #a5e42e; }

.navbar { box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1); /* Optionnel : ajoute une ombre subtile */ }

/* =========================== SECTION VALEURS - PAGES SERVICES =========================== */
.values-section-services { position: relative; background: linear-gradient(135deg, #1a3a2e 0%, #2d5a45 100%); padding: 6rem 2rem; overflow: hidden; }

.values-section-services::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 20% 50%, rgba(165, 228, 46, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(165, 228, 46, 0.08) 0%, transparent 50%); pointer-events: none; }

.values-container-services { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.5fr; gap: 4rem; align-items: center; position: relative; z-index: 2; }

.values-content-services { color: #ffffff; }

.values-main-title-services { font-family: 'DM Serif Display', serif; font-size: 3rem; line-height: 1.2; margin-bottom: 2rem; color: #ffffff; }

.values-cta-services { margin-top: 2.5rem; }

.values-grid-services { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem; margin-top: 5rem; }

.value-item-services { position: relative; }

.value-icon-services { width: 90px; height: 90px; margin-bottom: 1rem; display: flex; align-items: center; justify-content: center; }

.value-icon-services img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }

.value-title-services { font-family: 'DM Serif Display', serif; font-size: 1.6rem; color: #ffffff; margin-bottom: 0.75rem; }

.value-description-services { font-family: 'Poppins', sans-serif; font-size: 0.95rem; line-height: 1.7; color: #d4e8d4; }

@media (max-width: 1024px) { .values-container-services { gap: 3rem; } .values-main-title-services { font-size: 2.5rem; } }

@media (max-width: 768px) { .values-section-services { padding: 4rem 1.5rem; } .values-container-services { grid-template-columns: 1fr; gap: 3rem; } .values-main-title-services { font-size: 2.5rem; } .values-grid-services { grid-template-columns: 1fr; gap: 2rem; margin-top: 3rem; } }

/* ============================== GALERIE IMAGES ============================== */
#custom-gallery .img-responsive { border-radius: 15px; /* arrondi doux, tu peux augmenter ou diminuer la valeur */ }

#custom-gallery .img-overlay { border-radius: 15px; }

#custom-gallery { padding-top: 40px; }

@media screen and (min-width: 991px) { #custom-gallery { padding: 60px 30px 0 30px; } }

#custom-gallery .image { height: 400px !important; margin: 20px 0; }

.img-wrapper { position: relative; height: 100%; margin-top: 15px; }

.img-wrapper img { width: 100%; }

.img-overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; }

.img-overlay i { color: #fff; font-size: 3em; }

#overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; z-index: 999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#overlay img { margin: 0; width: 80%; height: auto; object-fit: contain; padding: 5%; }

@media screen and (min-width: 768px) { #overlay img { width: 60%; } }

@media screen and (min-width: 1200px) { #overlay img { width: 50%; } }

#nextButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#nextButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #nextButton { font-size: 3em; } }

#prevButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#prevButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #prevButton { font-size: 3em; } }

#exitButton { color: #fff; font-size: 2em; transition: opacity 0.8s; position: absolute; top: 15px; right: 15px; }

#exitButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #exitButton { font-size: 3em; } }

.img-responsive { height: 100% !important; object-fit: cover !important; }

/* ============================== HEADER IMAGE – PAGES SERVICES RÉMI PAYSAGES ============================== */
.header-image-sols { position: relative; width: 100%; height: 55vh; min-height: 380px; overflow: hidden; background-color: #1a3a2e; }

/* Image de fond */
.header-image-bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: 0; }

/* Overlay vert élégant */
.header-image-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(26, 58, 46, 0.85) 0%, rgba(34, 87, 63, 0.8) 50%, rgba(52, 120, 88, 0.75) 100%); z-index: 2; pointer-events: none; }

/* Container */
.header-image-container { position: relative; z-index: 2; max-width: 1200px; height: 100%; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: 40px; }

/* Logo */
.header-image-logo { display: flex; align-items: center; justify-content: right; }

.header-image-logo img { max-width: 280px; width: 100%; height: auto; filter: drop-shadow(0 4px 15px rgba(0, 0, 0, 0.4)); }

/* Texte + trait */
.header-image-text-lined { display: flex; align-items: center; gap: 50px; }

/* Trait vert */
.header-image-line { width: 4px; background-color: #a5e42e; margin-top: 6px; margin-bottom: 6px; height: 200px; }

/* Texte */
.header-image-text-content h1 { font-family: 'DM Serif Display', serif; font-size: 55px; color: #ffffff; line-height: 1.1; font-weight: 400; }

.header-image-text-content p { font-family: 'Poppins', sans-serif; font-size: 1.1rem; color: #e8f5e9; line-height: 1.7; margin-top: 1rem; }

/* ============================== Responsive ============================== */
/* Tablettes */
@media (max-width: 900px) { .header-image-container { grid-template-columns: 1fr; gap: 30px; padding: 30px 20px; justify-items: center; text-align: center; } .header-image-logo { justify-content: center; } .header-image-logo img { max-width: 180px; } .header-image-text-lined { justify-content: center; gap: 20px; } .header-image-text-content { display: flex; flex-direction: column; align-items: center; } .header-image-text-content p { max-width: 100%; } }

/* Mobiles */
@media (max-width: 600px) { .header-image-sols { height: auto; min-height: 500px; padding: 40px 0; } .header-image-container { padding: 20px 15px; gap: 25px; } .header-image-logo img { max-width: 150px; } .header-image-text-lined { flex-direction: column; align-items: center; gap: 15px; } /* Trait horizontal mobile */ .header-image-line { width: 60px; height: 4px; margin: 0; } .header-image-text-content h1 { margin-bottom: 1rem; letter-spacing: 1px; font-size: 45px; } }

/* =========================== SECTION MAPS =========================== */
/* Zone Intervention Section */
.zone-intervention { background: linear-gradient(135deg, #1a3a2e 0%, #2d5a45 100%); padding: 6rem 2rem; position: relative; overflow: hidden; }

.zone-intervention::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 20% 50%, rgba(165, 228, 46, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(165, 228, 46, 0.08) 0%, transparent 50%); pointer-events: none; }

.zone-intervention-container { max-width: 1200px; margin: 0 auto; position: relative; z-index: 2; }

.zone-intervention-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }

.zone-intervention-map { border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); }

.zone-intervention-map iframe { width: 100%; height: 450px; display: block; border: none; }

.zone-intervention-content { color: #ffffff; }

.zone-intervention-title { font-family: 'DM Serif Display', serif; font-size: 2.9rem; line-height: 1.2; margin-bottom: 1.5rem; color: #ffffff; }

.zone-intervention-title-highlight { color: #a5e42e; }

.zone-intervention-text { font-family: 'Poppins', sans-serif; font-size: 1.1rem; line-height: 1.8; color: #d4e8d4; }

@media (max-width: 1024px) { .zone-intervention-grid { gap: 3rem; } .zone-intervention-title { font-size: 3rem; } }

@media (max-width: 768px) { .zone-intervention { padding: 4rem 1.5rem; } .zone-intervention-grid { grid-template-columns: 1fr; gap: 2.5rem; } .zone-intervention-title { font-size: 2.5rem; } .zone-intervention-text { font-size: 1rem; } .zone-intervention-map iframe { height: 350px; } }

/* =========================== SECTION FACEBOOK =========================== */
/* Facebook Section */
.facebook-section { background: linear-gradient(135deg, #1a3a2e 0%, #2d5a45 100%); padding: 5rem 2rem; position: relative; overflow: hidden; text-align: center; }

.facebook-container { max-width: 800px; margin: 0 auto; position: relative; z-index: 2; }

.facebook-title { font-family: 'DM Serif Display', serif; font-size: 3rem; line-height: 1.2; margin-bottom: 1.5rem; color: #ffffff; }

.facebook-title-accent { color: #a5e42e; }

.facebook-description { font-family: 'Poppins', sans-serif; font-size: 1.1rem; line-height: 1.8; color: #d4e8d4; margin-bottom: 2.5rem; }

.facebook-button { display: inline-flex; align-items: center; gap: 0.75rem; padding: 1rem 2.5rem; background-color: #a5e42e; color: #1a3a2e; font-family: 'Poppins', sans-serif; font-size: 1rem; font-weight: 600; border-radius: 50px; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 4px 20px rgba(165, 228, 46, 0.4); }

.facebook-button:hover { background-color: #95d41e; transform: translateY(-2px); box-shadow: 0 6px 30px rgba(165, 228, 46, 0.5); }

.facebook-icon { width: 24px; height: 24px; }

@media (max-width: 768px) { .facebook-section { padding: 4rem 1.5rem; } .facebook-title { font-size: 2.5rem; } .facebook-description { font-size: 1rem; } .facebook-button { width: 100%; justify-content: center; } }

/* =========================== SECTION VALEURS =========================== */
.values-section { position: relative; background-color: #ffffff; padding: 6rem 2rem; overflow: hidden; background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0h2v20H9V0zm25.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm-20 20l1.732 1-10 17.32-1.732-1 10-17.32zM58.16 4.134l1 1.732-17.32 10-1-1.732 17.32-10zm-40 40l1 1.732-17.32 10-1-1.732 17.32-10zM80 9v2H60V9h20zM20 69v2H0v-2h20zm79.32-55l-1 1.732-17.32-10L82 4l17.32 10zm-80 80l-1 1.732-17.32-10L2 84l17.32 10zm96.546-75.84l-1.732 1-10-17.32 1.732-1 10 17.32zm-100 100l-1.732 1-10-17.32 1.732-1 10 17.32zM38.16 24.134l1 1.732-17.32 10-1-1.732 17.32-10zM60 29v2H40v-2h20zm19.32 5l-1 1.732-17.32-10L62 24l17.32 10zm16.546 4.16l-1.732 1-10-17.32 1.732-1 10 17.32zM111 40h-2V20h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zM40 49v2H20v-2h20zm19.32 5l-1 1.732-17.32-10L42 44l17.32 10zm16.546 4.16l-1.732 1-10-17.32 1.732-1 10 17.32zM91 60h-2V40h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm24.026 3.294l1 1.732-17.32 10-1-1.732 17.32-10zM39.32 74l-1 1.732-17.32-10L22 64l17.32 10zm16.546 4.16l-1.732 1-10-17.32 1.732-1 10 17.32zM71 80h-2V60h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm24.026 3.294l1 1.732-17.32 10-1-1.732 17.32-10zM120 89v2h-20v-2h20zm-84.134 9.16l-1.732 1-10-17.32 1.732-1 10 17.32zM51 100h-2V80h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm24.026 3.294l1 1.732-17.32 10-1-1.732 17.32-10zM100 109v2H80v-2h20zm19.32 5l-1 1.732-17.32-10 1-1.732 17.32 10zM31 120h-2v-20h2v20z' fill='%23a5e42e' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E"); background-repeat: repeat-x; }

.values-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.5fr; gap: 4rem; align-items: center; position: relative; z-index: 2; }

.values-content { color: #ffffff; }

.values-main-title { font-family: 'DM Serif Display', serif; font-size: 3rem; line-height: 1.2; margin-bottom: 2rem; color: #1a3a2e; }

.values-cta { margin-top: 2.5rem; }

.values-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem; margin-top: 5rem; }

.value-item { position: relative; }

.value-icon { width: 90px; height: 90px; margin-bottom: 1rem; display: flex; align-items: center; justify-content: center; }

.value-icon img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }

.value-title { font-family: 'DM Serif Display', serif; font-size: 1.6rem; color: #1a3a2e; margin-bottom: 0.75rem; }

.value-description { font-family: 'Poppins', sans-serif; font-size: 0.95rem; line-height: 1.7; color: #1a3a2e; opacity: 0.85; }

@media (max-width: 1024px) { .values-container { gap: 3rem; } .values-main-title { font-size: 3rem; } }

@media (max-width: 768px) { .values-section { padding: 4rem 1.5rem; } .values-container { grid-template-columns: 1fr; gap: 3rem; } .values-main-title { font-size: 2.5rem; } .values-grid { grid-template-columns: 1fr; gap: 2rem; } .values-label::after { width: 40px; } }

/* =========================== SECTION SERVICES =========================== */
.services-section { padding: 6rem 2rem; position: relative; background: linear-gradient(135deg, #1a3a2e 0%, #2d5a45 100%); }

.services-container { max-width: 95% !important; margin: 0 auto; }

.services-header { text-align: center; margin-bottom: 4rem; }

.services-title { font-family: 'DM Serif Display', serif; font-size: 3rem; color: #fff; margin-bottom: 1rem; line-height: 1.2; }

.services-title-accent { color: #a5e42e; }

.services-subtitle { font-family: 'Poppins', sans-serif; font-size: 1.15rem; color: #4a5568; font-weight: 300; max-width: 700px; margin: 0 auto; }

.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }

.service-card { position: relative; background: #ffffff; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); transition: all 0.4s ease; cursor: pointer; text-decoration: none; display: block; }

.service-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(165, 228, 46, 0.2); }

.service-card-image { width: 100%; height: 280px; overflow: hidden; position: relative; }

.service-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }

.service-card:hover .service-card-image img { transform: scale(1.1); }

.service-card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.service-card-content { padding: 2rem; position: relative; }

.service-card-title { font-family: 'DM Serif Display', serif; font-size: 1.8rem; color: #1a3a2e; margin-bottom: 0.75rem; transition: color 0.3s ease; }

.service-card:hover .service-card-title { color: #a5e42e; }

.service-card-description { font-family: 'Poppins', sans-serif; font-size: 0.95rem; color: #1a3a2e; opacity: 0.85; line-height: 1.7; margin-bottom: 1.5rem; }

.service-card-link { font-family: 'Poppins', sans-serif; font-size: 0.9rem; font-weight: 600; color: #a5e42e; display: inline-flex; align-items: center; gap: 0.5rem; transition: gap 0.3s ease; }

.service-card:hover .service-card-link { gap: 1rem; }

.service-card-arrow { transition: transform 0.3s ease; }

.service-card:hover .service-card-arrow { transform: translateX(5px); }

/* Tablette */
@media (max-width: 1024px) { .services-section { padding: 5rem 1.8rem; } .services-title { font-size: 2.6rem; } .services-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } .service-card-image { height: 240px; } .service-card-content { padding: 1.6rem; } .service-card-title { font-size: 1.6rem; } }

/* Mobile */
@media (max-width: 768px) { .services-section { padding: 4rem 1.2rem; } .services-container { max-width: 100%; } .services-header { margin-bottom: 2.5rem; } .services-title { font-size: 2.2rem; line-height: 1.15; } .services-subtitle { font-size: 1rem; } .services-grid { grid-template-columns: 1fr; gap: 1.5rem; } .service-card { width: 100%; } .service-card-image { height: 220px; } .service-card-content { padding: 1.4rem; } .service-card-title { font-size: 1.5rem; } .service-card-description { font-size: 0.95rem; line-height: 1.6; } }

/* Petit mobile */
@media (max-width: 480px) { .services-section { padding: 3.5rem 1rem; } .services-title { font-size: 1.9rem; } .service-card-image { height: 200px; } .service-card-content { padding: 1.2rem; } .service-card-title { font-size: 1.35rem; } .service-card-description { font-size: 0.92rem; } }

/* =========================== SECTION ABOUT =========================== */
.about-section { position: relative; background-color: #ffffff; padding: 6rem 2rem; padding-top: 12rem; overflow: hidden; background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0h2v20H9V0zm25.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm-20 20l1.732 1-10 17.32-1.732-1 10-17.32zM58.16 4.134l1 1.732-17.32 10-1-1.732 17.32-10zm-40 40l1 1.732-17.32 10-1-1.732 17.32-10zM80 9v2H60V9h20zM20 69v2H0v-2h20zm79.32-55l-1 1.732-17.32-10L82 4l17.32 10zm-80 80l-1 1.732-17.32-10L2 84l17.32 10zm96.546-75.84l-1.732 1-10-17.32 1.732-1 10 17.32zm-100 100l-1.732 1-10-17.32 1.732-1 10 17.32zM38.16 24.134l1 1.732-17.32 10-1-1.732 17.32-10zM60 29v2H40v-2h20zm19.32 5l-1 1.732-17.32-10L62 24l17.32 10zm16.546 4.16l-1.732 1-10-17.32 1.732-1 10 17.32zM111 40h-2V20h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zM40 49v2H20v-2h20zm19.32 5l-1 1.732-17.32-10L42 44l17.32 10zm16.546 4.16l-1.732 1-10-17.32 1.732-1 10 17.32zM91 60h-2V40h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm24.026 3.294l1 1.732-17.32 10-1-1.732 17.32-10zM39.32 74l-1 1.732-17.32-10L22 64l17.32 10zm16.546 4.16l-1.732 1-10-17.32 1.732-1 10 17.32zM71 80h-2V60h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm24.026 3.294l1 1.732-17.32 10-1-1.732 17.32-10zM120 89v2h-20v-2h20zm-84.134 9.16l-1.732 1-10-17.32 1.732-1 10 17.32zM51 100h-2V80h2v20zm3.134.84l1.732 1-10 17.32-1.732-1 10-17.32zm24.026 3.294l1 1.732-17.32 10-1-1.732 17.32-10zM100 109v2H80v-2h20zm19.32 5l-1 1.732-17.32-10 1-1.732 17.32 10zM31 120h-2v-20h2v20z' fill='%23a5e42e' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E"); background-repeat: repeat-x; }

.about-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; position: relative; z-index: 2; }

.about-content { padding-right: 2rem; }

.about-title { font-family: 'DM Serif Display', serif; font-size: 3.4rem; color: #1a3a2e; margin-bottom: 1.5rem; line-height: 1.2; }

.about-title-services { font-family: 'DM Serif Display', serif; font-size: 2.5rem; color: #1a3a2e; margin-bottom: 1.5rem; line-height: 1.2; }

.about-title-accent { color: #a5e42e; }

.about-title-accent-services { color: #a5e42e; }

.about-text { font-family: 'Poppins', sans-serif; font-size: 1.1rem; line-height: 1.9; color: #1a3a2e; opacity: 0.85; margin-bottom: 1.5rem; }

.about-highlight { color: #a5e42e; font-weight: 600; }

.about-images { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; position: relative; }

.about-image-wrapper { position: relative; overflow: hidden; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); transition: transform 0.4s ease, box-shadow 0.4s ease; }

.about-image-wrapper:first-child { grid-row: span 2; height: 500px; }

.about-image-wrapper:nth-child(2), .about-image-wrapper:nth-child(3) { height: 240px; }

.about-image-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; }

.about-image-large { height: 100%; }

.about-image-small { height: 100%; }

@media (max-width: 1024px) { .about-container { grid-template-columns: 1fr; gap: 3rem; } .about-content { padding-right: 0; } .about-title { font-size: 3rem; } }

@media (max-width: 768px) { .about-section { padding: 4rem 1.5rem; } .about-title { font-size: 2.5rem; } .about-text { font-size: 1rem; } .about-images { grid-template-columns: 1fr; } .about-image-wrapper:first-child { grid-row: span 1; height: 300px; } .about-image-wrapper:nth-child(2), .about-image-wrapper:nth-child(3) { height: 300px; } }

@media (max-width: 768px) { .about-mobile-text-first { display: flex; flex-direction: column; } .about-mobile-text-first .about-content { order: 1; } .about-mobile-text-first .about-images { order: 2; } }

/* =========================== SECTION ACCUEIL =========================== */
.hero-section { position: relative; width: 100%; height: 100vh; overflow: hidden; background-color: #1a3a2e; }

.hero-logo { max-width: 300px; margin-bottom: 2rem; opacity: 0; animation: fadeInUp 1s ease forwards 0.2s; }

.hero-logo img { width: 100%; height: auto; filter: drop-shadow(0 4px 15px rgba(0, 0, 0, 0.4)); }

.video-background-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; gap: 0; }

.video-column { flex: 1; height: 100%; overflow: hidden; position: relative; }

.video-column video { width: 100%; height: 100%; object-fit: cover; opacity: 0.4; }

.video-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(26, 58, 46, 0.52) 0%, rgba(34, 87, 63, 0.77) 50%, rgba(52, 120, 88, 0.48) 100%); }

.hero-content { position: relative; z-index: 10; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 2rem; color: #ffffff; }

.hero-title { font-family: 'DM Serif Display', serif; font-size: 3.6rem; font-weight: 400; line-height: 1.1; color: #ffffff; margin-bottom: 2rem; opacity: 0; animation: fadeInUp 1s ease forwards 0.6s; }

.hero-title-accent { color: #a5e42e; }

.hero-description { font-family: 'Poppins', sans-serif; font-size: 1.15rem; font-weight: 300; line-height: 1.8; color: #e8f5e9; max-width: 1050px; margin-bottom: 3rem; opacity: 0; animation: fadeInUp 1s ease forwards 0.9s; }

.hero-cta-container { display: flex; gap: 1.5rem; opacity: 0; animation: fadeInUp 1s ease forwards 1.2s; }

.btn-primary { font-family: 'Poppins', sans-serif; padding: 1rem 2.5rem; font-size: 1rem; font-weight: 500; border: none; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-block; }

.btn-green { background-color: #a5e42e; color: #1a3a2e; font-weight: 600; box-shadow: 0 4px 20px rgba(164, 214, 94, 0.4); }

.btn-green:hover { background-color: #a5e42e; color: #1a3a2e !important; transform: translateY(-2px); box-shadow: 0 6px 30px rgba(164, 214, 94, 0.5); }

.btn-outline { background-color: transparent; color: #ffffff; border: 2px solid #ffffff; }

.btn-outline:hover { background-color: rgba(255, 255, 255, 0.1); transform: translateY(-2px); }

@keyframes fadeInUp { from { opacity: 0;
    transform: translateY(30px); }
  to { opacity: 1;
    transform: translateY(0); } }

@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

@media (max-width: 1024px) { .hero-title { font-size: 4rem; } .video-column:nth-child(3) { display: none; } }

@media (max-width: 768px) { .hero-logo { max-width: 200px; } .hero-title { font-size: 2.5rem; } .hero-description { font-size: 1rem; } .hero-cta-container { flex-direction: column; width: 100%; max-width: 300px; } .btn-primary { width: 100%; } .video-column:nth-child(2) { display: none; } .video-background-container { justify-content: center; } }

/*# sourceMappingURL=custom.css.map */