@charset "UTF-8";
@import url(main.css);
/* -------------------------------------------------------NAVIGATION------------------------------------------------------- */
#navigation-bar-show { width: 100%; min-height: 88px; padding: 0 28px !important; background: #ffffff !important; border-bottom: 1px solid rgba(3, 91, 41, 0.1); box-shadow: 0 6px 30px rgba(20, 35, 25, 0.07); z-index: 1050; }

#navigation-bar-show *, #navigation-bar-show *::before, #navigation-bar-show *::after { box-sizing: border-box; }

#navigation-bar-show .container-fluid { width: 100%; max-width: 1600px; min-height: 88px; margin: 0 auto; padding: 0 !important; background: transparent !important; }

/* LOGO DU CMS */
#navigation-bar-show .navbar-brand { display: flex !important; flex: 0 0 auto !important; align-items: center; justify-content: flex-start; width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 25px 0 0 !important; padding: 7px 0 !important; background: transparent !important; }

#navigation-bar-show .navbar-brand img, #navigation-bar-show .navbar-brand .logo_nav { display: block !important; flex-shrink: 0; width: auto !important; height: auto !important; max-width: 190px !important; max-height: 72px !important; margin: 0 !important; padding: 0 !important; object-fit: contain !important; object-position: left center; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; transition: opacity 0.3s ease; }

#navigation-bar-show .navbar-brand:hover img { opacity: 0.78; }

/* MENU PRINCIPAL */
#navigation-bar-show .navbar-collapse { min-width: 0; align-items: center; background: transparent; }

#navigation-bar-show .navbar-nav { display: flex; flex-wrap: nowrap !important; align-items: center; justify-content: center; gap: 2px; margin: 0 auto !important; padding: 0 !important; background: transparent !important; }

#navigation-bar-show .navbar-nav > li, #navigation-bar-show .navbar-nav > div { position: relative; margin: 0 !important; padding: 0 !important; background: transparent !important; }

/* GROUPES AVEC MENU DÉROULANT */
#navigation-bar-show .navbar-nav > div, #navigation-bar-show .navbar-nav > li > .d-flex { position: relative; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center; gap: 0; min-height: 88px; padding: 0 13px !important; }

/* LIENS RÉALISATIONS ET CONTACT */
#navigation-bar-show .animated-border-button { position: relative; display: flex; align-items: center; justify-content: center; min-height: 88px; padding: 0 13px; color: #26332b !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; font-size: 14px !important; font-weight: 600; line-height: 1.25; text-decoration: none; white-space: nowrap; cursor: pointer; transition: color 0.3s ease, padding 0.3s ease; }

#navigation-bar-show .animated-border-button::after { content: ""; position: absolute; right: 13px; bottom: 23px; left: 13px; height: 2px; background: #035b29; transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; }

#navigation-bar-show .animated-border-button:hover { color: #035b29 !important; background: transparent !important; }

#navigation-bar-show .animated-border-button:hover::after { transform: scaleX(1); transform-origin: left; }

/* LIENS DES MENUS DÉROULANTS */
#navigation-bar-show .navbar-nav .nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 88px; margin: 0 !important; padding: 0 !important; color: #26332b !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; font-size: 14px !important; font-weight: 600; line-height: 1.25; text-decoration: none; white-space: nowrap; cursor: pointer; transition: color 0.3s ease; }

#navigation-bar-show .navbar-nav .nav-link:hover, #navigation-bar-show .navbar-nav .nav-link:focus, #navigation-bar-show .navbar-nav .nav-link.show { color: #035b29 !important; background: transparent !important; }

/* FLÈCHES */
#navigation-bar-show .dropdown-toggle::after { display: none !important; }

#navigation-bar-show .dropdown-toggle .bi-chevron-down { display: inline-block; margin: 0 0 0 8px !important; font-size: 12px !important; transition: transform 0.25s ease; }

#navigation-bar-show .dropdown-toggle[aria-expanded="true"] .bi-chevron-down { transform: rotate(180deg); }

/* SOUS-MENUS */
#navigation-bar-show .navbar-nav .dropdown-menu { position: absolute !important; top: 100% !important; right: auto !important; bottom: auto !important; left: 0 !important; width: max-content; min-width: 250px; max-width: 340px; margin: 0 !important; padding: 8px 0 !important; list-style: none; text-align: left; background: #ffffff !important; border: 1px solid rgba(3, 91, 41, 0.1) !important; border-top: 2px solid #035b29 !important; border-radius: 0 !important; box-shadow: 0 14px 30px rgba(20, 35, 25, 0.12); transform: none !important; z-index: 1060; }

#navigation-bar-show .dropdown-menu > li { margin: 0 !important; padding: 0 !important; }

#navigation-bar-show .dropdown-menu .dropdown-item { display: block; width: 100%; margin: 0 !important; padding: 12px 20px !important; color: #26332b !important; background: #ffffff !important; border: 0 !important; border-radius: 0 !important; font-size: 14px !important; font-weight: 500; line-height: 1.4; text-align: left; text-decoration: none; white-space: normal; cursor: pointer; transition: color 0.25s ease, background-color 0.25s ease; }

#navigation-bar-show .dropdown-menu .dropdown-item:hover, #navigation-bar-show .dropdown-menu .dropdown-item:focus { color: #035b29 !important; background: #eef5f0 !important; }

#navigation-bar-show .dropdown-menu .dropdown-item:active { color: #ffffff !important; background: #035b29 !important; }

#navigation-bar-show .dropdown-menu .dropdown-item.fw-bold { font-weight: 600 !important; }

#navigation-bar-show .dropdown-divider { margin: 6px 0 !important; border-top: 1px solid rgba(3, 91, 41, 0.12); }

/* BOUTON TÉLÉPHONE */
#navigation-bar-show .navbar-collapse > .d-flex { flex-shrink: 0; background: transparent !important; }

#navigation-bar-show .button-header-telephone { display: inline-flex !important; align-items: center; justify-content: center; gap: 9px; min-width: 180px; min-height: 48px; margin: 0 0 0 18px !important; padding: 12px 19px !important; color: #ffffff !important; background: #035b29 !important; border: 1px solid #035b29 !important; border-radius: 0 !important; font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; box-shadow: none !important; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

#navigation-bar-show .button-header-telephone:hover { color: #035b29 !important; background: #ffffff !important; border-color: #035b29 !important; transform: none !important; }

#navigation-bar-show .button-header-telephone i { margin: 0 !important; color: inherit !important; font-size: 16px !important; line-height: 1; }

/* BOUTON BURGER */
#navigation-bar-show .navbar-toggler { display: none; flex-shrink: 0; width: 46px; height: 46px; padding: 0 !important; color: #035b29; background: transparent !important; border: 1px solid rgba(3, 91, 41, 0.25) !important; border-radius: 0 !important; box-shadow: none !important; }

#navigation-bar-show .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(3, 91, 41, 0.12) !important; }

#navigation-bar-show .navbar-toggler-icon { width: 22px; height: 22px; }

/* ÉCRANS INTERMÉDIAIRES */
@media screen and (min-width: 992px) and (max-width: 1450px) { #navigation-bar-show { padding: 0 18px !important; } #navigation-bar-show .navbar-brand { margin-right: 12px !important; } #navigation-bar-show .navbar-brand img, #navigation-bar-show .navbar-brand .logo_nav { max-width: 155px !important; max-height: 65px !important; } #navigation-bar-show .animated-border-button, #navigation-bar-show .navbar-nav > div, #navigation-bar-show .navbar-nav > li > .d-flex { padding-right: 8px !important; padding-left: 8px !important; } #navigation-bar-show .animated-border-button, #navigation-bar-show .navbar-nav .nav-link { font-size: 13px !important; } #navigation-bar-show .animated-border-button::after { right: 8px; left: 8px; } #navigation-bar-show .button-header-telephone { min-width: 160px; margin-left: 8px !important; padding-right: 13px !important; padding-left: 13px !important; font-size: 13px; } }

/* TABLETTE ET MOBILE */
@media screen and (max-width: 991.98px) { #navigation-bar-show { min-height: 76px; padding: 0 20px !important; } #navigation-bar-show .container-fluid { min-height: 76px; } #navigation-bar-show .navbar-brand { margin-right: 15px !important; padding: 5px 0 !important; } #navigation-bar-show .navbar-brand img, #navigation-bar-show .navbar-brand .logo_nav { max-width: 165px !important; max-height: 64px !important; } #navigation-bar-show .navbar-toggler { display: block; } #navigation-bar-show .navbar-collapse { position: absolute; top: 76px; right: 0; left: 0; max-height: calc(100vh - 76px); padding: 20px; overflow-y: auto; background: #ffffff !important; border-top: 1px solid rgba(3, 91, 41, 0.1); box-shadow: 0 20px 35px rgba(20, 35, 25, 0.12); } #navigation-bar-show .navbar-nav { width: 100%; flex-direction: column !important; align-items: stretch !important; gap: 0; } #navigation-bar-show .navbar-nav > li, #navigation-bar-show .navbar-nav > div { width: 100%; border-bottom: 1px solid rgba(3, 91, 41, 0.1); } #navigation-bar-show .navbar-nav > div, #navigation-bar-show .navbar-nav > li > .d-flex { min-height: 51px; padding: 0 !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: flex-start; } #navigation-bar-show .navbar-nav .nav-link { min-height: 51px; justify-content: flex-start; font-size: 15px !important; text-align: left !important; } #navigation-bar-show .navbar-nav .nav-link:first-child { flex: 1; padding-left: 5px !important; } #navigation-bar-show .navbar-nav .nav-link:nth-child(2) { width: 44px; flex: 0 0 44px; justify-content: center; } #navigation-bar-show .dropdown-toggle .bi-chevron-down { margin: 0 !important; } #navigation-bar-show .animated-border-button { min-height: 51px; padding: 0 5px; justify-content: flex-start; color: #172019 !important; font-size: 15px !important; text-align: left; } #navigation-bar-show .animated-border-button::after { top: 50%; right: auto; bottom: auto; left: 0; width: 3px; height: 18px; transform: translateY(-50%) scaleY(0); transform-origin: bottom; } #navigation-bar-show .animated-border-button:hover { padding-left: 14px; } #navigation-bar-show .animated-border-button:hover::after { transform: translateY(-50%) scaleY(1); } /* SOUS-MENUS MOBILES */ #navigation-bar-show .navbar-nav .dropdown-menu { position: static !important; width: 100%; min-width: 0; max-width: none; margin: 0 0 12px !important; padding: 4px 0 !important; flex: 0 0 100%; background: #f6f8f6 !important; border: 0 !important; border-left: 2px solid #035b29 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; } #navigation-bar-show .dropdown-menu .dropdown-item { padding: 11px 16px !important; background: transparent !important; font-size: 14px !important; } #navigation-bar-show .dropdown-menu .dropdown-item:hover, #navigation-bar-show .dropdown-menu .dropdown-item:focus { color: #035b29 !important; background: #e8f0eb !important; } #navigation-bar-show .dropdown-menu .dropdown-item:active { color: #ffffff !important; background: #035b29 !important; } #navigation-bar-show .navbar-collapse > .d-flex { width: 100%; margin: 20px 0 0 !important; } #navigation-bar-show .button-header-telephone { width: 100%; min-height: 52px; margin: 0 !important; } }

/* PETIT MOBILE */
@media screen and (max-width: 576px) { #navigation-bar-show { min-height: 70px; padding: 0 15px !important; } #navigation-bar-show .container-fluid { min-height: 70px; } #navigation-bar-show .navbar-brand img, #navigation-bar-show .navbar-brand .logo_nav { max-width: 145px !important; max-height: 58px !important; } #navigation-bar-show .navbar-toggler { width: 42px; height: 42px; } #navigation-bar-show .navbar-collapse { top: 70px; max-height: calc(100vh - 70px); padding: 16px 18px 22px; } }

/* -----------------------------------------------------------------------------HERO-------------------------------------------------------------------------- */
.drimys-hero, .drimys-hero * { box-sizing: border-box; }

.drimys-hero { position: relative; display: flex; align-items: center; justify-content: center; min-height: 790px; margin-bottom: 145px; padding: 90px 30px 190px; overflow: visible; isolation: isolate; background-color: #111111; }

.drimys-hero__carousel { position: absolute; inset: 0; z-index: -3; overflow: hidden; }

.drimys-hero__slide { position: absolute; inset: 0; opacity: 0; background-repeat: no-repeat; background-position: center; background-size: cover; animation: drimysHeroSlider 18s infinite; }

.drimys-hero__slide--1 { animation-delay: 0s; }

.drimys-hero__slide--2 { animation-delay: 6s; }

.drimys-hero__slide--3 { animation-delay: 12s; }

@keyframes drimysHeroSlider { 0% { opacity: 0; }
  5% { opacity: 1; }
  30% { opacity: 1; }
  36% { opacity: 0; }
  100% { opacity: 0; } }

.drimys-hero__overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.62) 100%); }

.drimys-hero__content { position: relative; z-index: 2; width: 100%; max-width: 950px; margin: 0 auto; color: #ffffff; text-align: center; }

.drimys-hero__logo { display: block; width: auto; max-width: 340px; max-height: 220px; margin: 0 auto 28px; object-fit: contain; filter: brightness(0) invert(1); }

.drimys-hero__title { margin-bottom: 18px; color: #ffffff; }

.drimys-hero__title h1, .drimys-hero__title h2, .drimys-hero__title h3 { margin-top: 0; margin-bottom: 0; color: #ffffff; }

.drimys-hero__description { max-width: 720px; margin: 0 auto; color: #ffffff; }

.drimys-hero__description p { margin: 0; color: #ffffff; font-size: 19px; line-height: 1.65; }

.drimys-hero__buttons { display: flex; align-items: stretch; justify-content: center; gap: 15px; margin-top: 32px; }

.drimys-hero__button { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 54px; padding: 14px 28px; border: 2px solid transparent; border-radius: 0; color: #ffffff; font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

.drimys-hero__button * { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: center !important; }

.drimys-hero__button--primary { border-color: #035b29; background-color: #035b29; }

.drimys-hero__button--primary:hover { color: #035b29; border-color: #ffffff; background-color: #ffffff; transform: translateY(-3px); }

.drimys-hero__button--outline { border-color: #ffffff; background-color: transparent; }

.drimys-hero__button--outline:hover { color: #ffffff; border-color: #035b29; background-color: #035b29; transform: translateY(-3px); }

.drimys-hero__services { position: absolute; right: 30px; bottom: -105px; left: 30px; z-index: 4; display: grid; grid-template-columns: repeat(4, 1fr); width: calc(100% - 60px); max-width: 1280px; min-height: 210px; margin: 0 auto; padding: 42px 35px; overflow: hidden; border-radius: 0; background-color: #ffffff; box-shadow: 0 18px 45px rgba(8, 35, 20, 0.15); }

.drimys-hero__service { position: relative; display: flex; align-items: center; gap: 18px; min-width: 0; padding: 0 28px; }

.drimys-hero__service:not(:last-child) { border-right: 1px solid #d9e3dc; }

.drimys-hero__service-icon { display: flex; flex: 0 0 70px; align-items: center; justify-content: center; width: 70px; height: 70px; border-radius: 8px; background-color: #edf4ef; }

.drimys-hero__service-icon svg { width: 39px; height: 39px; fill: none; stroke: #035b29; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.drimys-hero__service h2 { margin: 0; color: #14241a; font-size: 19px; font-weight: 650; line-height: 1.35; }

@media screen and (max-width: 1100px) { .drimys-hero { min-height: 780px; margin-bottom: 240px; padding-bottom: 220px; } .drimys-hero__logo { max-width: 290px; max-height: 190px; } .drimys-hero__services { bottom: -190px; grid-template-columns: repeat(2, 1fr); min-height: 295px; padding: 30px; } .drimys-hero__service { padding: 25px 30px; } .drimys-hero__service:nth-child(2) { border-right: 0; } .drimys-hero__service:nth-child(-n + 2) { border-bottom: 1px solid #d9e3dc; } }

@media screen and (max-width: 650px) { .drimys-hero { min-height: 720px; margin-bottom: 490px; padding: 70px 20px 180px; } .drimys-hero__logo { max-width: 245px; max-height: 160px; margin-bottom: 24px; } .drimys-hero__description p { font-size: 16px; line-height: 1.55; } .drimys-hero__buttons { flex-direction: column; align-items: center; gap: 12px; margin-top: 27px; } .drimys-hero__button { width: 100%; max-width: 310px; min-width: 0; } .drimys-hero__services { right: 18px; bottom: -435px; left: 18px; grid-template-columns: 1fr; width: calc(100% - 36px); min-height: 530px; padding: 20px 25px; } .drimys-hero__service { justify-content: flex-start; min-height: 120px; padding: 20px 5px; border-right: 0 !important; border-bottom: 1px solid #d9e3dc; } .drimys-hero__service:last-child { border-bottom: 0; } .drimys-hero__service-icon { flex-basis: 62px; width: 62px; height: 62px; } .drimys-hero__service-icon svg { width: 35px; height: 35px; } .drimys-hero__service h2 { font-size: 18px; } }

@media (prefers-reduced-motion: reduce) { .drimys-hero__slide { animation: none; } .drimys-hero__slide--1 { opacity: 1; } }

/*---------------------------------------------------------------------------------QSN------------------------------------------------------------------------------------*/
.drimys-about, .drimys-about * { box-sizing: border-box; }

.drimys-about { position: relative; padding: 130px 30px 110px; overflow: hidden; background-color: #ffffff; }

.drimys-about__container { position: relative; display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 100px; width: 100%; max-width: 1280px; margin: 0 auto; }

.drimys-about__visual { position: relative; min-height: 590px; }

.drimys-about__visual::before { position: absolute; top: 22px; left: 22px; z-index: 0; width: 100%; height: 100%; border: 1px solid rgba(3, 91, 41, 0.55); content: ""; pointer-events: none; }

.drimys-about__image { position: relative; z-index: 1; display: block; width: 100%; height: 590px; object-fit: cover; box-shadow: 0 24px 55px rgba(20, 36, 26, 0.13); }

.drimys-about__content { position: relative; padding: 30px 0; }

.drimys-about__eyebrow { display: block; margin-bottom: 18px; color: #035b29; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; }

.drimys-about__title { color: #14241a; }

.drimys-about__title h2, .drimys-about__title h3 { margin: 0; color: #14241a; }

.drimys-about__line { display: block; width: 70px; height: 2px; margin: 25px 0; background-color: #035b29; }

.drimys-about__description { max-width: 600px; color: #505c54; }

.drimys-about__description p { margin: 0 0 18px; color: #505c54; font-size: 17px; line-height: 1.75; }

.drimys-about__description p:last-child { margin-bottom: 0; }

.drimys-about__button, .drimys-about__button:link, .drimys-about__button:visited { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 54px; margin-top: 32px; padding: 14px 27px; border: 2px solid #035b29; border-radius: 0; color: #ffffff !important; -webkit-text-fill-color: #ffffff; font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none !important; background-color: #035b29; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

.drimys-about__button *, .drimys-about__button h1, .drimys-about__button h2, .drimys-about__button h3, .drimys-about__button h4, .drimys-about__button p, .drimys-about__button span, .drimys-about__button strong { margin: 0 !important; padding: 0 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font: inherit !important; line-height: inherit !important; text-align: center !important; text-decoration: none !important; }

.drimys-about__button svg { width: 20px; height: 20px; fill: none; stroke: #ffffff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.3s ease, transform 0.3s ease; }

.drimys-about__button:hover { color: #035b29 !important; -webkit-text-fill-color: #035b29; border-color: #035b29; background-color: transparent; transform: translateY(-3px); }

.drimys-about__button:hover *, .drimys-about__button:hover h1, .drimys-about__button:hover h2, .drimys-about__button:hover h3, .drimys-about__button:hover h4, .drimys-about__button:hover p, .drimys-about__button:hover span, .drimys-about__button:hover strong { color: #035b29 !important; -webkit-text-fill-color: #035b29 !important; }

.drimys-about__button:hover svg { stroke: #035b29; transform: translateX(4px); }

@media screen and (max-width: 991px) { .drimys-about { padding: 100px 30px 90px; } .drimys-about__container { grid-template-columns: 1fr; gap: 75px; } .drimys-about__visual { width: calc(100% - 22px); max-width: 720px; min-height: 520px; } .drimys-about__image { height: 520px; } .drimys-about__content { max-width: 720px; padding: 0; } }

@media screen and (max-width: 650px) { .drimys-about { padding: 80px 20px 70px; } .drimys-about__container { gap: 55px; } .drimys-about__visual { width: calc(100% - 12px); min-height: 400px; } .drimys-about__visual::before { top: 12px; left: 12px; } .drimys-about__image { height: 400px; } .drimys-about__description p { font-size: 16px; line-height: 1.65; } .drimys-about__button, .drimys-about__button:link, .drimys-about__button:visited { width: 100%; margin-top: 28px; } }

/*---------------------------------------------------------------------------HERO 2---------------------------------------------------------------------------------*/
.drimys-page-hero { position: relative; display: flex; min-height: 480px; padding: 150px 30px 80px; align-items: center; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: cover; }

.drimys-page-hero *, .drimys-page-hero *::before, .drimys-page-hero *::after { box-sizing: border-box; }

.drimys-page-hero__content { position: relative; z-index: 1; width: 100%; max-width: 1250px; margin: 0 auto; }

.drimys-page-hero__title { max-width: 850px; }

.drimys-page-hero__title::before { content: "Drimys"; display: block; width: max-content; margin-bottom: 20px; padding-bottom: 10px; color: rgba(255, 255, 255, 0.78); border-bottom: 2px solid #ffffff; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 2.5px; text-transform: uppercase; }

.drimys-page-hero__title h1 { margin: 0; color: #ffffff; font-weight: 500; line-height: 1.1; text-shadow: 0 4px 25px rgba(0, 0, 0, 0.25); }

/* ACCENT */
.drimys-page-hero::after { content: ""; position: absolute; right: 0; bottom: 0; width: 140px; height: 5px; background: #035b29; }

/* TABLETTE */
@media screen and (max-width: 991px) { .drimys-page-hero { min-height: 420px; padding: 130px 25px 65px; } .drimys-page-hero__title { max-width: 720px; } }

/* MOBILE */
@media screen and (max-width: 576px) { .drimys-page-hero { min-height: 370px; padding: 115px 20px 55px; background-position: center; } .drimys-page-hero__title::before { margin-bottom: 16px; } .drimys-page-hero::after { width: 90px; height: 4px; } }

/*---------------------------------------------------------------------------EXP--------------------------------------------------------------------------------------*/
.drimys-expertise { padding: 90px 30px; background: #f6f8f6; }

.drimys-expertise__container { max-width: 1280px; margin: 0 auto; }

.drimys-expertise__intro { max-width: 650px; margin-bottom: 55px; }

.drimys-expertise__label { display: block; margin-bottom: 14px; color: #035b29; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.drimys-expertise__intro h2 { margin: 0; color: #172019; font-weight: 500; line-height: 1.15; }

.drimys-expertise__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(3, 91, 41, 0.2); border-bottom: 1px solid rgba(3, 91, 41, 0.2); }

.drimys-expertise__item { position: relative; min-height: 275px; padding: 35px 28px 38px; display: flex; flex-direction: column; }

.drimys-expertise__item:not(:last-child) { border-right: 1px solid rgba(3, 91, 41, 0.2); }

.drimys-expertise__number { color: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 2px; }

.drimys-expertise__content { margin-top: auto; }

.drimys-expertise__content::before { content: ""; display: block; width: 34px; height: 2px; margin-bottom: 23px; background: #035b29; }

.drimys-expertise__content h3 { margin: 0 0 14px; color: #172019; font-weight: 600; line-height: 1.2; }

.drimys-expertise__content p { max-width: 260px; margin: 0; color: #5d675f; font-size: 15px; line-height: 1.7; }

@media screen and (max-width: 1100px) { .drimys-expertise__grid { grid-template-columns: repeat(2, 1fr); } }

@media screen and (max-width: 900px) { .drimys-expertise { padding: 70px 25px; } .drimys-expertise__item { min-height: auto; padding: 30px 20px; } .drimys-expertise__item:not(:last-child) { border-right: 0; border-bottom: 1px solid rgba(3, 91, 41, 0.2); } .drimys-expertise__content { margin-top: 45px; } .drimys-expertise__content p { max-width: 650px; } }

@media screen and (max-width: 576px) { .drimys-expertise { padding: 55px 20px; } .drimys-expertise__intro { margin-bottom: 38px; } .drimys-expertise__grid { grid-template-columns: 1fr; } .drimys-expertise__item { padding: 28px 5px; } .drimys-expertise__content { margin-top: 35px; } }

/*--------------------------------------------------------------SERVICES-------------------------------------------------------------------*/
.drimys-services { padding: 90px 30px 100px; background: #ffffff; }

.drimys-services *, .drimys-services *::before, .drimys-services *::after { box-sizing: border-box; }

.drimys-services__container { max-width: 1250px; margin: 0 auto; }

.drimys-services__heading { max-width: 650px; margin: 0 auto 50px; text-align: center; }

.drimys-services__eyebrow { display: block; margin-bottom: 18px; color: #035b29; font-size: 13px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; }

.drimys-services__heading h2 { margin: 0; color: #172019; font-weight: 500; line-height: 1.15; }

.drimys-services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.drimys-service-card { position: relative; display: flex; min-width: 0; flex-direction: column; color: inherit; background: #ffffff; text-decoration: none; box-shadow: 0 12px 35px rgba(23, 32, 25, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.drimys-service-card:hover { color: inherit; text-decoration: none; transform: translateY(-8px); box-shadow: 0 22px 45px rgba(23, 32, 25, 0.14); }

.drimys-service-card__image { width: 100%; height: 285px; overflow: hidden; }

.drimys-service-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.drimys-service-card:hover .drimys-service-card__image img { transform: scale(1.04); }

.drimys-service-card__icon { position: relative; z-index: 2; display: flex; width: 70px; height: 70px; margin: -35px auto 0; align-items: center; justify-content: center; color: #035b29; background: #edf3ef; border: 5px solid #ffffff; transition: color 0.3s ease, background 0.3s ease; }

.drimys-service-card__icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.drimys-service-card:hover .drimys-service-card__icon { color: #ffffff; background: #035b29; }

.drimys-service-card__content { display: flex; min-height: 235px; padding: 28px 25px 30px; flex: 1; flex-direction: column; align-items: center; text-align: center; }

.drimys-service-card__content h3 { margin: 0 0 14px; color: #172019; font-weight: 600; line-height: 1.25; }

.drimys-service-card__content p { margin: 0; color: #6c746e; font-size: 15px; line-height: 1.65; }

.drimys-service-card__arrow { display: flex; width: 38px; height: 38px; margin-top: auto; padding-top: 20px; align-items: center; justify-content: center; color: #035b29; font-size: 24px; transition: transform 0.3s ease; }

.drimys-service-card:hover .drimys-service-card__arrow { transform: translateX(6px); }

@media screen and (max-width: 1100px) { .drimys-services__grid { grid-template-columns: repeat(2, 1fr); } }

@media screen and (max-width: 650px) { .drimys-services { padding: 65px 20px 75px; } .drimys-services__heading { margin-bottom: 38px; } .drimys-services__grid { grid-template-columns: 1fr; gap: 25px; } .drimys-service-card__image { height: 270px; } .drimys-service-card__content { min-height: 210px; } }

/*-------------------------------------------------------------------CTA---------------------------------------------------------------------*/
.drimys-cta { position: relative; display: flex; min-height: 500px; padding: 80px 30px; align-items: center; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; }

.drimys-cta *, .drimys-cta *::before, .drimys-cta *::after { box-sizing: border-box; }

.drimys-cta__container { position: relative; z-index: 1; width: 100%; max-width: 1250px; margin: 0 auto; }

.drimys-cta__content { max-width: 700px; }

.drimys-cta__eyebrow { display: block; margin: 0 0 18px; color: #ffffff; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.drimys-cta__title h2 { margin: 0 0 32px; color: #ffffff; font-weight: 500; line-height: 1.15; }

.drimys-cta__button { position: relative; display: inline-flex; min-width: 190px; min-height: 54px; margin: 0 !important; padding: 14px 50px 14px 26px; align-items: center; justify-content: center; color: #ffffff !important; background: #035b29; border: 1px solid #035b29; border-radius: 0; font-size: 15px; font-weight: 600; line-height: 1; text-align: center; text-decoration: none !important; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

.drimys-cta__button:hover { color: #035b29 !important; background: #ffffff; border-color: #ffffff; text-decoration: none !important; }

.drimys-cta__button span { position: absolute; top: 50%; right: 20px; margin: 0; font-size: 21px; line-height: 1; transform: translateY(-50%); transition: transform 0.3s ease; }

.drimys-cta__button:hover span { transform: translate(5px, -50%); }

.drimys-cta__button h1, .drimys-cta__button h2, .drimys-cta__button h3, .drimys-cta__button h4, .drimys-cta__button p { margin: 0 !important; color: inherit !important; font: inherit; line-height: inherit; text-align: center; }

@media screen and (max-width: 900px) { .drimys-cta { min-height: 450px; padding: 70px 25px; background-attachment: scroll; } .drimys-cta__content { max-width: 620px; } }

@media screen and (max-width: 576px) { .drimys-cta { min-height: 420px; padding: 60px 20px; background-position: center; } .drimys-cta__title h2 { margin-bottom: 26px; } .drimys-cta__button { display: flex; width: 100%; } }

/* ---------------------------------------------------------------------SEO--------------------------------------------------------------------------- */
.first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 60px) !important; max-width: 1250px; margin: 45px auto !important; padding: 0 !important; overflow: hidden; color: #172019 !important; background: #f5f7f4 !important; border: 1px solid rgba(3, 91, 41, 0.12); border-radius: 0 !important; box-shadow: 0 18px 50px rgba(20, 35, 25, 0.08) !important; }

/* CARTE CENTRALE VERTE */
.second-activity-div { color: #ffffff !important; background: #035b29 !important; border-color: #035b29; }

/* FOND DÉCORATIF */
.first-activity-div > .background-image-div-opacity, .second-activity-div > .background-image-div-opacity, .third-activity-div > .background-image-div-opacity { display: none !important; }

/* STRUCTURE */
.first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { min-height: 430px; margin: 0 !important; padding: 0 !important; gap: 0 !important; }

/* COLONNES IMAGES */
.first-activity-div > .row > .col-lg-5, .second-activity-div > .row > .col-lg-5, .third-activity-div > .row > .col-lg-5 { align-self: stretch; padding: 0 !important; }

/* COLONNES TEXTES */
.first-activity-div > .row > .col-lg-7, .third-activity-div > .row > .col-lg-7 { display: flex; padding: 65px !important; flex-direction: column; justify-content: center; text-align: left; }

/* TEXTE DU BLOC CENTRAL À DROITE */
.second-activity-div > .row > .col-lg-7 { display: flex; padding: 65px !important; flex-direction: column; align-items: flex-end; justify-content: center; text-align: right; }

/* PETITS REPÈRES */
.first-activity-title::before, .second-activity-title::before, .third-activity-title::before { display: block; margin-bottom: 20px; color: #035b29; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 2px; text-transform: uppercase; }

.first-activity-title::before { content: "01 — Notre expertise"; }

.second-activity-title::before { content: "02 — Notre expertise"; color: rgba(255, 255, 255, 0.75); }

.third-activity-title::before { content: "03 — Notre expertise"; }

/* TITRES */
.first-activity-title, .second-activity-title, .third-activity-title { width: 100%; margin: 0 0 24px !important; font-weight: 500 !important; line-height: 1.15 !important; }

.first-activity-title, .third-activity-title { color: #172019 !important; }

.second-activity-title { color: #ffffff !important; }

.first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { max-width: 570px; margin: 0 !important; font-weight: 500; line-height: 1.15; }

.first-activity-title h2, .third-activity-title h2 { color: #172019 !important; }

.second-activity-title h2 { margin-left: auto !important; color: #ffffff !important; text-align: right; }

/* TRAITS SOUS LES TITRES */
.first-activity-title::after, .second-activity-title::after, .third-activity-title::after { content: ""; display: block; width: 48px; height: 2px; margin-top: 25px; }

.first-activity-title::after, .third-activity-title::after { background: #035b29; }

.second-activity-title::after { margin-right: 0; margin-left: auto; background: #ffffff; }

/* DESCRIPTIONS */
.first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { width: 100%; max-width: 580px; margin: 0 !important; font-size: 16px !important; font-weight: 400; line-height: 1.8; }

.first-activity-div .lead, .third-activity-div .lead { color: #606a63 !important; }

.second-activity-div .lead { margin-left: auto !important; color: rgba(255, 255, 255, 0.82) !important; text-align: right; }

.first-activity-div .lead p, .second-activity-div .lead p, .third-activity-div .lead p { margin: 0 !important; color: inherit !important; }

/* CARTES IMAGES */
.first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { position: relative; width: 100%; min-height: 430px; margin: 0; overflow: hidden !important; background-color: #dfe7e1; background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

/* DÉGRADÉ SUR LES IMAGES */
.first-activity-div .black-screen, .second-activity-div .black-screen, .third-activity-div .black-screen { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.03) 30%, rgba(0, 0, 0, 0.4) 100%); }

/* CONTENU DES CARTES IMAGES */
.first-activity-div .card-cover .d-flex, .second-activity-div .card-cover .d-flex, .third-activity-div .card-cover .d-flex { position: relative; min-height: 430px; padding: 0 !important; }

.first-activity-div .card-cover h3, .second-activity-div .card-cover h3, .third-activity-div .card-cover h3 { margin: 0 !important; padding: 0 !important; }

.first-activity-div .card-cover h3 a:empty, .second-activity-div .card-cover h3 a:empty, .third-activity-div .card-cover h3 a:empty { display: none; }

/* ACCENTS BAS DES CARTES */
.first-activity-div::after, .second-activity-div::after, .third-activity-div::after { content: ""; position: absolute; z-index: 3; bottom: 0; width: 90px; height: 4px; }

.first-activity-div::after, .third-activity-div::after { left: 0; background: #035b29; }

.second-activity-div::after { right: 0; background: #ffffff; }

/* TABLETTE */
@media screen and (max-width: 991px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 40px) !important; margin: 35px auto !important; } .first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { display: flex; min-height: auto; flex-direction: column; } .first-activity-div > .row > .col-lg-7, .second-activity-div > .row > .col-lg-7, .third-activity-div > .row > .col-lg-7 { width: 100%; padding: 45px !important; align-items: flex-start; order: 1 !important; text-align: left; } .first-activity-div > .row > .col-lg-5, .second-activity-div > .row > .col-lg-5, .third-activity-div > .row > .col-lg-5 { width: 100%; max-width: none; order: 2 !important; } .second-activity-title h2, .second-activity-div .lead { max-width: 650px; margin-left: 0 !important; text-align: left; } .second-activity-title::after { margin-right: auto; margin-left: 0; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover, .first-activity-div .card-cover .d-flex, .second-activity-div .card-cover .d-flex, .third-activity-div .card-cover .d-flex { min-height: 360px; } }

/* MOBILE */
@media screen and (max-width: 576px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 30px) !important; margin: 25px auto !important; } .first-activity-div > .row > .col-lg-7, .second-activity-div > .row > .col-lg-7, .third-activity-div > .row > .col-lg-7 { padding: 35px 25px !important; } .first-activity-title, .second-activity-title, .third-activity-title { margin-bottom: 20px !important; } .first-activity-title::before, .second-activity-title::before, .third-activity-title::before { margin-bottom: 16px; } .first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { font-size: 15px !important; line-height: 1.7; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover, .first-activity-div .card-cover .d-flex, .second-activity-div .card-cover .d-flex, .third-activity-div .card-cover .d-flex { min-height: 280px; } }

/* TITRES CENTRÉS SUR LES IMAGES */
.first-activity-div .card-cover .d-flex, .second-activity-div .card-cover .d-flex, .third-activity-div .card-cover .d-flex { position: relative; z-index: 2; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 25px !important; text-align: center !important; }

.first-activity-div .card-cover h3, .second-activity-div .card-cover h3, .third-activity-div .card-cover h3 { width: 100%; margin: 0 !important; padding: 0 !important; text-align: center !important; }

.first-activity-div .card-cover h3 a, .second-activity-div .card-cover h3 a, .third-activity-div .card-cover h3 a { color: #ffffff !important; text-decoration: none; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45); }

/*----------------------------------------------------------------MAPS------------------------------------------------------------------------------*/
.contact-map-section { padding: 95px 30px; background: #ffffff; }

.contact-map-section *, .contact-map-section *::before, .contact-map-section *::after { box-sizing: border-box; }

.contact-map-container { max-width: 1250px; margin: 0 auto; }

/* EN-TÊTE */
.contact-map-heading { max-width: 720px; margin: 0 auto 55px; text-align: center; }

.contact-map-eyebrow { display: block; margin-bottom: 17px; color: #035b29; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 2px; text-transform: uppercase; }

.contact-map-title h2 { margin: 0 0 20px; color: #172019; font-weight: 500; line-height: 1.15; }

.contact-map-description { max-width: 630px; margin: 0 auto; color: #657068; font-size: 16px; line-height: 1.75; }

.contact-map-description p { margin: 0; }

/* INFORMATIONS */
.contact-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 35px; background: #ffffff; border: 1px solid rgba(3, 91, 41, 0.13); box-shadow: 0 15px 45px rgba(20, 35, 25, 0.07); }

.contact-info-card { position: relative; display: flex; min-width: 0; min-height: 120px; padding: 27px 30px; align-items: center; gap: 20px; color: #172019; background: #ffffff; text-decoration: none; }

.contact-info-card:not(:last-child) { border-right: 1px solid rgba(3, 91, 41, 0.13); }

.contact-info-card--link { transition: color 0.3s ease, background-color 0.3s ease; }

.contact-info-card--link:hover { color: #ffffff; background: #035b29; text-decoration: none; }

.contact-info-icon { display: flex; width: 52px; height: 52px; flex: 0 0 52px; align-items: center; justify-content: center; color: #035b29; background: #edf3ef; border-radius: 50%; font-size: 20px; transition: color 0.3s ease, background-color 0.3s ease; }

.contact-info-card--link:hover .contact-info-icon { color: #035b29; background: #ffffff; }

.contact-info-content { min-width: 0; color: #172019; }

.contact-info-card--link:hover .contact-info-content { color: #ffffff; }

.contact-info-content p { margin: 0; color: inherit !important; font-size: 15px; font-weight: 500; line-height: 1.55; }

.contact-info-content strong { display: block; margin-bottom: 4px; color: inherit; font-weight: 700; }

/* CARTE */
.contact-map-wrapper { position: relative; width: 100%; height: 480px; overflow: hidden; background: #dfe7e1; border: 8px solid #ffffff; box-shadow: 0 18px 50px rgba(20, 35, 25, 0.12); }

.contact-map-wrapper::after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 2; width: 110px; height: 5px; pointer-events: none; background: #035b29; }

.contact-map-wrapper iframe { display: block; width: 100%; height: 100%; border: 0; filter: saturate(0.7) contrast(1.05); }

/* TABLETTE */
@media screen and (max-width: 991px) { .contact-map-section { padding: 75px 25px; } .contact-info-grid { grid-template-columns: 1fr; } .contact-info-card:not(:last-child) { border-right: 0; border-bottom: 1px solid rgba(3, 91, 41, 0.13); } .contact-map-wrapper { height: 400px; } }

/* MOBILE */
@media screen and (max-width: 576px) { .contact-map-section { padding: 60px 18px; } .contact-map-heading { margin-bottom: 38px; } .contact-info-grid { margin-bottom: 25px; } .contact-info-card { min-height: 105px; padding: 23px 20px; gap: 16px; } .contact-info-icon { width: 46px; height: 46px; flex-basis: 46px; font-size: 18px; } .contact-map-wrapper { height: 330px; border-width: 5px; } }

/*------------------------------------------------------------------A/A--------------------------------------------------------------------------*/
.drimys-comparison { padding: 90px 30px; overflow: hidden; background: #f6f8f6; }

.drimys-comparison *, .drimys-comparison *::before, .drimys-comparison *::after { box-sizing: border-box; }

.drimys-comparison__container { max-width: 1200px; margin: 0 auto; }

/* EN-TÊTE */
.drimys-comparison__heading { max-width: 720px; margin: 0 auto 45px; text-align: center; }

.drimys-comparison__eyebrow { display: block; margin-bottom: 16px; color: #035b29; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 2px; text-transform: uppercase; }

.drimys-comparison__title h2 { margin: 0 0 18px; color: #172019; font-weight: 500; line-height: 1.15; }

.drimys-comparison__description { max-width: 630px; margin: 0 auto; color: #657068; font-size: 16px; line-height: 1.75; }

.drimys-comparison__description p { margin: 0; }

/* COMPARATEUR */
.drimys-comparison__slider { position: relative; width: 100%; height: 600px; overflow: hidden; background: #dfe7e1; box-shadow: 0 25px 60px rgba(20, 35, 25, 0.15); user-select: none; touch-action: pan-y; }

.drimys-comparison__slider::after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 5; width: 120px; height: 5px; background: #035b29; pointer-events: none; }

/* IMAGES */
.drimys-comparison__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }

.drimys-comparison__image--before { z-index: 1; }

.drimys-comparison__image--after { z-index: 2; clip-path: inset(0 calc(100% - var(--position)) 0 0); }

/* LÉGENDES */
.drimys-comparison__label { position: absolute; top: 25px; z-index: 4; padding: 11px 18px; color: #ffffff; background: rgba(0, 0, 0, 0.62); font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: 1.5px; text-transform: uppercase; backdrop-filter: blur(8px); }

.drimys-comparison__label--before { right: 25px; }

.drimys-comparison__label--after { left: 25px; background: #035b29; }

/* SÉPARATEUR */
.drimys-comparison__separator { position: absolute; top: 0; bottom: 0; left: var(--position); z-index: 4; width: 2px; background: #ffffff; box-shadow: 0 0 18px rgba(0, 0, 0, 0.28); transform: translateX(-50%); pointer-events: none; }

.drimys-comparison__handle { position: absolute; top: 50%; left: 50%; display: flex; width: 62px; height: 62px; align-items: center; justify-content: center; color: #035b29; background: #ffffff; border: 5px solid rgba(255, 255, 255, 0.3); border-radius: 50%; background-clip: padding-box; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24); transform: translate(-50%, -50%); }

.drimys-comparison__handle svg { width: 30px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* CURSEUR INVISIBLE */
.drimys-comparison__range { position: absolute; inset: 0; z-index: 6; width: 100%; height: 100%; margin: 0; cursor: ew-resize; opacity: 0; }

.drimys-comparison__range:focus-visible + * { outline: 2px solid #ffffff; outline-offset: 4px; }

/* INSTRUCTION */
.drimys-comparison__instruction { margin: 20px 0 0; color: #69736c; font-size: 13px; line-height: 1.5; letter-spacing: 0.3px; text-align: center; }

/* TABLETTE */
@media screen and (max-width: 991px) { .drimys-comparison { padding: 75px 25px; } .drimys-comparison__slider { height: 500px; } }

/* MOBILE */
@media screen and (max-width: 650px) { .drimys-comparison { padding: 60px 18px; } .drimys-comparison__heading { margin-bottom: 35px; } .drimys-comparison__slider { height: 420px; } .drimys-comparison__label { top: 15px; padding: 9px 13px; } .drimys-comparison__label--before { right: 15px; } .drimys-comparison__label--after { left: 15px; } .drimys-comparison__handle { width: 54px; height: 54px; } }

/* PETIT MOBILE */
@media screen and (max-width: 480px) { .drimys-comparison__slider { height: 350px; } }

/*-------------------------------------------------------------------3D--------------------------------------------------------------------*/
.drimys-3d { position: relative; padding: 105px 30px; overflow: hidden; background: #f5f7f4; }

.drimys-3d *, .drimys-3d *::before, .drimys-3d *::after { box-sizing: border-box; }

.drimys-3d::before { content: "3D"; position: absolute; right: -25px; bottom: -80px; color: rgba(3, 91, 41, 0.035); font-size: 300px; font-weight: 800; line-height: 1; pointer-events: none; }

.drimys-3d__container { position: relative; z-index: 1; display: grid; max-width: 1250px; margin: 0 auto; grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: 90px; }

/* CONTENU */
.drimys-3d__content { max-width: 540px; }

.drimys-3d__eyebrow { display: block; margin-bottom: 17px; color: #035b29; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 2px; text-transform: uppercase; }

.drimys-3d__title h2 { margin: 0 0 24px; color: #172019; font-weight: 500; line-height: 1.15; }

.drimys-3d__description { color: #657068; font-size: 16px; line-height: 1.8; }

.drimys-3d__description p { margin: 0; }

/* AVANTAGES */
.drimys-3d__benefits { display: grid; margin-top: 38px; gap: 20px; }

.drimys-3d__benefit { display: grid; grid-template-columns: 46px 1fr; align-items: start; gap: 16px; }

.drimys-3d__benefit-icon { display: flex; width: 46px; height: 46px; align-items: center; justify-content: center; color: #035b29; background: #ffffff; border: 1px solid rgba(3, 91, 41, 0.15); border-radius: 0; }

.drimys-3d__benefit-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.drimys-3d__benefit strong { display: block; margin: 1px 0 5px; color: #172019; font-size: 15px; font-weight: 700; }

.drimys-3d__benefit p { margin: 0; color: #6c766f; font-size: 14px; line-height: 1.6; }

/* SCÈNE 3D */
.drimys-3d__visual { position: relative; padding: 55px 35px; perspective: 1300px; }

.drimys-3d__scene { position: relative; width: 100%; height: 480px; transform-style: preserve-3d; }

.drimys-3d__layer { position: absolute; inset: 0; border: 1px solid rgba(3, 91, 41, 0.2); transform-style: preserve-3d; }

.drimys-3d__layer--back { background: rgba(3, 91, 41, 0.08); transform: translate3d(45px, -38px, -80px) rotateY(-5deg) rotateX(3deg); }

.drimys-3d__layer--middle { background: rgba(255, 255, 255, 0.75); transform: translate3d(23px, -20px, -35px) rotateY(-3deg) rotateX(2deg); }

/* IMAGE */
.drimys-3d__image-card { position: absolute; inset: 0; overflow: hidden; background: #dfe7e1; box-shadow: 30px 35px 60px rgba(20, 35, 25, 0.22); transform: rotateY(-7deg) rotateX(3deg); transform-origin: center; transform-style: preserve-3d; animation: drimys-image-3d 7s ease-in-out infinite; }

.drimys-3d__image-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.5) 100%); pointer-events: none; }

.drimys-3d__image-card img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ÉTIQUETTES */
.drimys-3d__image-label { position: absolute; bottom: 24px; left: 25px; z-index: 2; color: #ffffff; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }

.drimys-3d__image-badge { position: absolute; top: 22px; right: 22px; z-index: 2; display: inline-flex; min-height: 44px; padding: 10px 15px; align-items: center; gap: 9px; color: #ffffff; background: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 0.5px; }

.drimys-3d__image-badge svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ANIMATION 3D */
@keyframes drimys-image-3d { 0%, 100% { transform: rotateY(-7deg) rotateX(3deg) translateY(0); }
  50% { transform: rotateY(-3deg) rotateX(1deg) translateY(-10px); } }

/* TABLETTE */
@media screen and (max-width: 991px) { .drimys-3d { padding: 80px 25px; } .drimys-3d__container { grid-template-columns: 1fr; gap: 55px; } .drimys-3d__content { max-width: 680px; } .drimys-3d__visual { padding: 30px; } .drimys-3d__scene { height: 500px; } }

/* MOBILE */
@media screen and (max-width: 650px) { .drimys-3d { padding: 65px 20px; } .drimys-3d::before { display: none; } .drimys-3d__container { gap: 40px; } .drimys-3d__visual { padding: 15px 8px 8px; perspective: none; } .drimys-3d__scene { height: 360px; } .drimys-3d__layer { display: none; } .drimys-3d__image-card { box-shadow: 0 18px 45px rgba(20, 35, 25, 0.17); transform: none; animation: none; } .drimys-3d__image-badge { top: 15px; right: 15px; } .drimys-3d__image-label { bottom: 18px; left: 18px; } }

/* ACCESSIBILITÉ */
@media (prefers-reduced-motion: reduce) { .drimys-3d__image-card { animation: none; } }

/*--------------------------------------------------------------------BLOC--------------------------------------------------------------------------*/
.paysage-offres { padding: 105px 24px; overflow: hidden; background: #f7f8f5; color: #172019; }

.paysage-offres * { box-sizing: border-box; }

.paysage-offres__container { width: 100%; max-width: 1280px; margin: 0 auto; }

/* BLOC */
.paysage-offre { display: grid; grid-template-columns: 52% 48%; min-height: 610px; margin-bottom: 70px; background: #ffffff; box-shadow: 0 22px 65px rgba(17, 48, 29, 0.1); }

.paysage-offre:last-child { margin-bottom: 0; }

.paysage-offre--reverse .paysage-offre__carousel { order: 2; }

.paysage-offre--reverse .paysage-offre__content { order: 1; }

/* CARROUSEL */
.paysage-offre__carousel { position: relative; min-height: 610px; overflow: hidden; background: #183c28; }

.paysage-offre__slides, .paysage-offre__slide { position: absolute; inset: 0; }

.paysage-offre__slide { background-position: center; background-repeat: no-repeat; background-size: cover; opacity: 0; transition: opacity 0.8s ease; }

.paysage-offre__slide.is-active { opacity: 1; }

.paysage-offre__overlay { position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(5, 20, 10, 0.08) 45%, rgba(5, 20, 10, 0.65) 100%); pointer-events: none; }

.paysage-offre__image-label { position: absolute; z-index: 3; top: 30px; left: 30px; padding: 11px 16px; background: #ffffff; color: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }

/* COMMANDES DU CARROUSEL */
.paysage-offre__controls { position: absolute; z-index: 4; right: 30px; bottom: 30px; left: 30px; display: flex; align-items: center; justify-content: space-between; }

.paysage-offre__arrow { display: flex; width: 46px; height: 46px; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, 0.65); border-radius: 0; background: rgba(0, 0, 0, 0.16); color: #ffffff; align-items: center; justify-content: center; cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; }

.paysage-offre__arrow:hover { border-color: #ffffff; background: #035b29; }

.paysage-offre__arrow svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.paysage-offre__dots { display: flex; gap: 8px; align-items: center; }

.paysage-offre__dots button { width: 22px; height: 3px; margin: 0; padding: 0; border: 0; border-radius: 0; background: rgba(255, 255, 255, 0.45); cursor: pointer; transition: width 0.3s ease, background-color 0.3s ease; }

.paysage-offre__dots button.is-active { width: 42px; background: #ffffff; }

/* CONTENU */
.paysage-offre__content { display: flex; padding: 70px 65px; flex-direction: column; align-items: flex-start; justify-content: center; }

.paysage-offre__eyebrow { display: block; margin-bottom: 18px; color: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.paysage-offre__content h2 { margin: 0 0 23px; color: #172019; font-size: 44px; font-weight: 700; line-height: 1.1; }

.paysage-offre__content > p { margin: 0 0 32px; color: #69736c; font-size: 16px; line-height: 1.75; }

/* LISTE */
.paysage-offre__list { display: grid; width: 100%; margin: 0 0 38px; padding: 0; gap: 0; list-style: none; }

.paysage-offre__list li { display: flex; min-height: 51px; padding: 12px 0; border-bottom: 1px solid rgba(3, 91, 41, 0.15); color: #27342b; font-size: 15px; font-weight: 600; align-items: center; gap: 14px; }

.paysage-offre__list li:first-child { border-top: 1px solid rgba(3, 91, 41, 0.15); }

.paysage-offre__check { display: flex; width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid rgba(3, 91, 41, 0.35); color: #035b29; font-size: 12px; align-items: center; justify-content: center; }

/* BOUTON */
.paysage-offre__button { display: inline-flex; min-height: 51px; margin: 0; padding: 14px 23px; border: 1px solid #035b29; border-radius: 0; background: #035b29; color: #ffffff !important; font-size: 14px; font-weight: 650; line-height: 1.2; text-align: center; text-decoration: none !important; align-items: center; justify-content: center; gap: 17px; transition: color 0.3s ease, background-color 0.3s ease, transform 0.3s ease; }

.paysage-offre__button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }

.paysage-offre__button:hover { background: transparent; color: #035b29 !important; transform: translateY(-2px); }

.paysage-offre__button:hover svg { transform: translateX(5px); }

/* TABLETTE */
@media (max-width: 1050px) { .paysage-offre { grid-template-columns: 1fr; } .paysage-offre__carousel, .paysage-offre__content, .paysage-offre--reverse .paysage-offre__carousel, .paysage-offre--reverse .paysage-offre__content { order: initial; } .paysage-offre__carousel { min-height: 520px; } .paysage-offre__content { padding: 60px; } }

/* MOBILE */
@media (max-width: 600px) { .paysage-offres { padding: 65px 16px; } .paysage-offre { margin-bottom: 38px; } .paysage-offre__carousel { min-height: 390px; } .paysage-offre__image-label { top: 20px; left: 20px; } .paysage-offre__controls { right: 20px; bottom: 20px; left: 20px; } .paysage-offre__arrow { width: 42px; height: 42px; } .paysage-offre__content { padding: 42px 25px; } .paysage-offre__content h2 { font-size: 34px; } .paysage-offre__content > p { font-size: 15px; } .paysage-offre__button { width: 100%; } }

/* LISTE PLUS COMPACTE */
.paysage-offre__list { grid-template-columns: repeat(2, 1fr); column-gap: 24px; margin-bottom: 30px; }

.paysage-offre__list li { min-height: 44px; padding: 9px 0; font-size: 14px; }

.paysage-offre__content { padding-top: 48px; padding-bottom: 48px; }

.paysage-offre__content h2 { margin-bottom: 16px; }

.paysage-offre__content > p { margin-bottom: 24px; line-height: 1.6; }

.paysage-offre__check { width: 23px; height: 23px; flex: 0 0 23px; }

/* ÉVITE UNE HAUTEUR EXCESSIVE */
.paysage-offre, .paysage-offre__carousel { min-height: 540px; }

/* MOBILE */
@media (max-width: 600px) { .paysage-offre__list { grid-template-columns: 1fr; column-gap: 0; } .paysage-offre__content { padding-top: 38px; padding-bottom: 38px; } .paysage-offre, .paysage-offre__carousel { min-height: initial; } }

/*-----------------------------------------------------GALERIE 1--------------------------------------------------------------*/
.projets-galerie { padding: 100px 24px; overflow: hidden; background: #f7f8f5; color: #172019; }

.projets-galerie * { box-sizing: border-box; }

.projets-galerie__container { width: 100%; max-width: 1280px; margin: 0 auto; }

/* EN-TÊTE */
.projets-galerie__header { max-width: 760px; margin: 0 auto 48px; text-align: center; }

.projets-galerie__eyebrow { display: block; margin-bottom: 17px; color: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.projets-galerie__header h2 { margin: 0 0 20px; color: #172019; font-size: 52px; font-weight: 700; line-height: 1.08; }

.projets-galerie__header p { max-width: 660px; margin: 0 auto; color: #68726b; font-size: 17px; line-height: 1.75; }

/* FILTRES */
.projets-galerie__filters { display: flex; margin-bottom: 55px; align-items: center; justify-content: center; }

.projets-galerie__filter { min-height: 54px; margin: 0; padding: 14px 30px; border: 1px solid #035b29; border-radius: 0; background: transparent; color: #035b29; font-size: 14px; font-weight: 700; text-align: center; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; }

.projets-galerie__filter + .projets-galerie__filter { border-left: 0; }

.projets-galerie__filter:hover, .projets-galerie__filter.is-active { background: #035b29; color: #ffffff; }

/* CATÉGORIES */
.projets-galerie__category { display: none; }

.projets-galerie__category.is-active { display: block; animation: projetsGalleryAppear 0.5s ease both; }

.projets-galerie__category-header { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 30px; align-items: end; gap: 50px; }

.projets-galerie__category-header span { display: block; margin-bottom: 8px; color: #035b29; font-size: 11px; font-weight: 700; letter-spacing: 1.7px; text-transform: uppercase; }

.projets-galerie__category-header h3 { margin: 0; color: #172019; font-size: 34px; font-weight: 700; line-height: 1.2; }

.projets-galerie__category-header p { max-width: 540px; margin: 0 0 3px auto; color: #68726b; font-size: 15px; line-height: 1.7; }

/* GRILLE */
.projets-galerie__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 260px; gap: 16px; }

.projets-galerie__item { position: relative; display: block; width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: #dfe5df; cursor: pointer; }

.projets-galerie__item--large { grid-column: span 2; grid-row: span 2; }

.projets-galerie__item--wide { grid-column: span 2; }

.projets-galerie__item::after { position: absolute; content: ""; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(4, 21, 10, 0.68) 100%); opacity: 0; transition: opacity 0.4s ease; }

.projets-galerie__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }

.projets-galerie__item span { position: absolute; z-index: 2; right: 23px; bottom: 20px; left: 23px; color: #ffffff; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-align: left; text-transform: uppercase; opacity: 0; transform: translateY(10px); transition: opacity 0.35s ease, transform 0.35s ease; }

.projets-galerie__item:hover::after { opacity: 1; }

.projets-galerie__item:hover img { transform: scale(1.035); }

.projets-galerie__item:hover span { opacity: 1; transform: translateY(0); }

/* LIGHTBOX */
.projets-lightbox { position: fixed; z-index: 9999; inset: 0; display: flex; padding: 70px 30px 30px; background: rgba(5, 14, 8, 0.94); align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.35s ease, visibility 0.35s ease; }

.projets-lightbox.is-open { opacity: 1; visibility: visible; }

.projets-lightbox img { display: block; max-width: 1180px; width: auto; max-height: 82vh; height: auto; object-fit: contain; box-shadow: 0 20px 70px rgba(0, 0, 0, 0.4); }

.projets-lightbox__close { position: absolute; top: 20px; right: 28px; width: 46px; height: 46px; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, 0.65); border-radius: 0; background: transparent; color: #ffffff; font-size: 30px; font-weight: 300; line-height: 1; cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; }

.projets-lightbox__close:hover { border-color: #035b29; background: #035b29; }

/* ANIMATION */
@keyframes projetsGalleryAppear { from { opacity: 0;
    transform: translateY(12px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* TABLETTE */
@media (max-width: 991px) { .projets-galerie { padding: 80px 20px; } .projets-galerie__header h2 { font-size: 43px; } .projets-galerie__category-header { grid-template-columns: 1fr; gap: 14px; } .projets-galerie__category-header p { margin-left: 0; } .projets-galerie__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 280px; } }

/* MOBILE */
@media (max-width: 600px) { .projets-galerie { padding: 65px 16px; } .projets-galerie__header { margin-bottom: 35px; } .projets-galerie__header h2 { font-size: 34px; } .projets-galerie__header p { font-size: 16px; } .projets-galerie__filters { display: grid; grid-template-columns: 1fr; margin-bottom: 42px; } .projets-galerie__filter { width: 100%; } .projets-galerie__filter + .projets-galerie__filter { border-top: 0; border-left: 1px solid #035b29; } .projets-galerie__category-header h3 { font-size: 28px; } .projets-galerie__grid { grid-template-columns: 1fr; grid-auto-rows: 280px; } .projets-galerie__item--large, .projets-galerie__item--wide { grid-column: auto; grid-row: auto; } .projets-galerie__item::after { opacity: 0.5; } .projets-galerie__item span { opacity: 1; transform: none; } .projets-lightbox { padding: 70px 16px 25px; } .projets-lightbox img { max-width: 100%; } }

/*----------------------------------------------------------GALERIE 2----------------------------------------------------------------------*/
.galerie-projets { padding: 110px 24px; background: #f7f8f5; }

.galerie-projets__container { width: 100%; max-width: 1280px; margin: 0 auto; }

.galerie-projets__header { max-width: 750px; margin-bottom: 55px; }

.galerie-projets__eyebrow { display: block; margin-bottom: 15px; color: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.galerie-projets__header h2 { margin: 0 0 20px; color: #172019; font-size: 44px; line-height: 1.1; }

.galerie-projets__header p { margin: 0; color: #69736c; line-height: 1.7; }

/* GALERIE */
.galerie-projets__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }

.galerie-projets__item { position: relative; height: 360px; padding: 0; overflow: hidden; border: 0; background: none; cursor: pointer; }

.galerie-projets__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }

.galerie-projets__item::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.55)); }

.galerie-projets__item:hover img { transform: scale(1.05); }

/* LIGHTBOX */
.galerie-projets__lightbox { position: fixed; z-index: 9999; inset: 0; display: flex; opacity: 0; visibility: hidden; background: rgba(0, 0, 0, 0.85); align-items: center; justify-content: center; transition: .3s ease; }

.galerie-projets__lightbox.is-open { opacity: 1; visibility: visible; }

.galerie-projets__lightbox img { max-width: 90%; max-height: 85%; }

.galerie-projets__close { position: absolute; top: 30px; right: 40px; border: 0; background: transparent; color: #fff; font-size: 45px; cursor: pointer; }

/* RESPONSIVE */
@media (max-width: 900px) { .galerie-projets__grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 600px) { .galerie-projets { padding: 70px 16px; } .galerie-projets__grid { grid-template-columns: 1fr; } .galerie-projets__header h2 { font-size: 34px; } }

/*------------------------------------------------------------AVIS-------------------------------------------------------------*/
.avis-clients { padding: 110px 24px; background: #f7f8f5; }

.avis-clients__container { max-width: 1280px; margin: 0 auto; }

.avis-clients__header { max-width: 720px; margin-bottom: 55px; }

.avis-clients__eyebrow { display: block; margin-bottom: 16px; color: #035b29; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.avis-clients__header h2 { margin: 0 0 20px; color: #172019; font-size: 44px; line-height: 1.15; }

.avis-clients__header p { margin: 0; color: #69736c; font-size: 16px; line-height: 1.7; }

/* CARTES */
.avis-clients__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

.avis-client { display: flex; min-height: 290px; padding: 35px 30px; background: #ffffff; box-shadow: 0 20px 55px rgba(17, 48, 29, 0.08); flex-direction: column; }

.avis-client__top { margin-bottom: 20px; }

.avis-client__author { color: #172019; font-size: 16px; font-weight: 700; }

.avis-client__source { margin-top: 5px; color: #69736c; font-size: 13px; }

.avis-client__stars { margin-bottom: 18px; color: #d6a33d; font-size: 20px; letter-spacing: 3px; }

.avis-client p { margin: 0 0 20px; color: #465149; font-size: 15px; line-height: 1.7; }

.avis-client__date { margin-top: auto; color: #8a928c; font-size: 13px; }

/* BOUTON */
.avis-clients__button { margin-top: 55px; text-align: center; }

.avis-clients__button a { display: inline-flex; min-height: 52px; padding: 15px 28px; border: 1px solid #035b29; background: #035b29; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; align-items: center; justify-content: center; transition: .3s ease; }

.avis-clients__button a:hover { background: transparent; color: #035b29; }

@media (max-width: 1100px) { .avis-clients__grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 600px) { .avis-clients { padding: 70px 16px; } .avis-clients__grid { grid-template-columns: 1fr; } .avis-clients__header h2 { font-size: 34px; } }

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