@charset "UTF-8";
@import url(main.css);
/*------------------------------------------------------------FOOTER------------------------------------------------------------*/
footer .d-flex.flex-column.flex-lg-row:has(> i.bi-geo-alt) { display: none !important; }

/*------------------------------------------------------------BARRE DE NAV------------------------------------------------------------*/
/* ========================================= BARRE DE NAVIGATION ========================================= */
#navigation-bar-show { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; min-height: 120px; padding: 8px 28px; background-color: #fff; background-image: linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)), url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FXxHwV9AM49Yp0mL93m5r0lGsuOv1%2Fthumbnails%2F687f3771dedcc7a3a97a6e41_optimized_tdpp.webp") !important; background-position: center center !important; background-size: auto !important; background-repeat: repeat !important; box-shadow: 0 5px 22px rgba(15, 46, 73, 0.1); }

#navigation-bar-show > .container-fluid { position: static; width: 100%; max-width: none; min-height: 104px; margin: 0; padding: 0; }

/* ========================================= LOGO ========================================= */
#navigation-bar-show .navbar-brand { position: absolute; z-index: 3; top: 50%; left: 50%; width: 190px; margin: 0; padding: 0; transform: translate(-50%, -50%); }

#navigation-bar-show .logo_nav { display: block; width: 100%; height: 70px; max-width: none; max-height: none; object-fit: contain; }

/* ========================================= LIENS DU MENU ========================================= */
#navigation-bar-show .navbar-nav > li { padding: 8px 12px !important; }

#navigation-bar-show .animated-border-button { color: #0f2e49; font-weight: 600; cursor: pointer; white-space: nowrap; transition: color .25s ease; }

#navigation-bar-show .animated-border-button:hover { color: #327e88; }

#navigation-bar-show .navbar-nav > li, #navigation-bar-show .navbar-nav .animated-border-button, #navigation-bar-show .navbar-nav .obftrucs { background: transparent !important; box-shadow: none !important; }

#navigation-bar-show .animated-border-button::before, #navigation-bar-show .animated-border-button::after { display: none !important; }

/* ========================================= MENU DÉROULANT ========================================= */
/* Titre du menu déroulant */
#navigation-bar-show .navbar-nav > .dropdown .dropdown-toggle { color: #0f2e49 !important; font-weight: 600; line-height: 1.2; text-decoration: none; background: transparent !important; box-shadow: none !important; }

/* Aucun effet de survol sur le titre */
#navigation-bar-show .navbar-nav > .dropdown .dropdown-toggle:hover, #navigation-bar-show .navbar-nav > .dropdown .dropdown-toggle:focus, #navigation-bar-show .navbar-nav > .dropdown .dropdown-toggle.show { color: #0f2e49 !important; background: transparent !important; box-shadow: none !important; }

/* Liste déroulante */
#navigation-bar-show .dropdown-menu { min-width: 220px; padding: 8px 0; border: none; border-radius: 6px; background-color: #0f2e49 !important; box-shadow: 0 5px 18px rgba(15, 46, 73, 0.15); }

/* Liens du menu déroulant */
#navigation-bar-show .dropdown-menu .dropdown-item { padding: 10px 16px; color: #fff !important; background-color: #0f2e49 !important; white-space: normal; transition: none !important; }

/* Aucun effet de survol sur les liens */
#navigation-bar-show .dropdown-menu .dropdown-item:hover, #navigation-bar-show .dropdown-menu .dropdown-item:focus, #navigation-bar-show .dropdown-menu .dropdown-item:active { color: #fff !important; background-color: #0f2e49 !important; box-shadow: none !important; transform: none !important; }

#navigation-bar-show .dropdown-divider { border-color: rgba(255, 255, 255, 0.25); }

/* ========================================= BOUTON TÉLÉPHONE ========================================= */
#navigation-bar-show .button-header-telephone { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 54px; margin: 0 !important; padding: 13px 26px !important; border: 2px solid #0f2e49; border-radius: 6px !important; background: #0f2e49; color: #fff !important; font-size: 1rem; font-weight: 700 !important; line-height: 1.2; white-space: nowrap; box-shadow: none; transition: background .25s ease, color .25s ease; }

#navigation-bar-show .button-header-telephone:hover { background: transparent; color: #0f2e49 !important; transform: none; }

/* ========================================= GRANDS ÉCRANS 2 liens à gauche et 2 liens à droite ========================================= */
@media (min-width: 1600px) { #navigation-bar-show .navbar-collapse { position: absolute; inset: 0; display: flex !important; align-items: center; width: 100%; } #navigation-bar-show .navbar-nav { position: absolute; top: 50%; left: 50%; display: grid !important; grid-template-columns: 1fr 1fr 220px 1fr 1fr; align-items: center; width: 950px; margin: 0 !important; transform: translate(-50%, -50%); } /* Nos services */ #navigation-bar-show .navbar-nav > li:nth-child(1) { grid-column: 1; } /* Nos réalisations */ #navigation-bar-show .navbar-nav > li:nth-child(2) { grid-column: 2; } /* Contact */ #navigation-bar-show .navbar-nav > li:nth-child(3) { grid-column: 4; } /* Recherches fréquentes */ #navigation-bar-show .navbar-nav > li:nth-child(4) { grid-column: 5; } /* Bouton téléphone */ #navigation-bar-show .navbar-collapse > div:last-child { position: absolute; top: 50%; right: 28px; margin: 0 !important; transform: translateY(-50%); } }

/* ========================================= ÉCRANS INTERMÉDIAIRES Menu placé sous le logo ========================================= */
@media (min-width: 992px) and (max-width: 1599px) { #navigation-bar-show { min-height: 150px; } #navigation-bar-show > .container-fluid { min-height: 134px; } #navigation-bar-show .navbar-brand { top: 45px; width: 160px; } #navigation-bar-show .logo_nav { height: 70px; } #navigation-bar-show .navbar-collapse { position: absolute; inset: 0; display: flex !important; width: 100%; } #navigation-bar-show .navbar-nav { position: absolute; bottom: 8px; left: 50%; display: flex !important; flex-wrap: nowrap !important; align-items: center; width: max-content; margin: 0 !important; transform: translateX(-50%); } #navigation-bar-show .navbar-collapse > div:last-child { position: absolute; top: 12px; right: 20px; margin: 0 !important; } #navigation-bar-show .button-header-telephone { min-height: 46px; padding: 9px 16px !important; } }

/* ========================================= TABLETTE ET MOBILE ========================================= */
@media (max-width: 991px) { #navigation-bar-show { min-height: 78px; padding: 6px 18px; } #navigation-bar-show > .container-fluid { position: relative; min-height: 66px; } #navigation-bar-show .navbar-brand { top: 6px; width: 140px; transform: translateX(-50%); } #navigation-bar-show .logo_nav { height: 54px; } #navigation-bar-show .navbar-toggler { position: relative; z-index: 4; margin-left: auto; border: 1px solid #d9e2e8; box-shadow: none; } #navigation-bar-show .navbar-collapse { width: 100%; max-height: calc(100vh - 78px); overflow-y: auto; padding: 20px 0 14px; border-top: 1px solid rgba(15, 46, 73, 0.12); } #navigation-bar-show .navbar-nav { width: 100%; margin: 0 !important; } #navigation-bar-show .navbar-nav > li { width: 100%; padding: 9px 0 !important; } #navigation-bar-show .navbar-collapse > div:last-child { margin: 15px 0 0 !important; } /* Menu déroulant centré */ #navigation-bar-show .dropdown-menu { width: 100%; max-width: 320px; margin: 10px auto 0; text-align: center; } /* Logo masqué lorsque le menu mobile est ouvert */ #navigation-bar-show:has(.navbar-collapse.show) .navbar-brand, #navigation-bar-show:has(.navbar-collapse.collapsing) .navbar-brand { display: none; } }

/*------------------------------------------------------------HERO------------------------------------------------------------*/
.mk-hero { position: relative; min-height: 800px; display: flex; align-items: center; overflow: hidden; isolation: isolate; background: #0f2e49; color: #fff; }

.mk-hero__image, .mk-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }

.mk-hero__image { z-index: -2; object-fit: cover; object-position: center; }

.mk-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(5, 19, 32, 0.88) 0%, rgba(5, 19, 32, 0.72) 42%, rgba(5, 19, 32, 0.3) 100%); }

.mk-hero__container { width: 100%; max-width: 1250px; margin: 0 auto; padding: 110px 30px; }

.mk-hero__content { max-width: 720px; }

.mk-hero__logo { display: block; width: auto; max-width: 180px; max-height: 110px; margin-bottom: 32px; object-fit: contain; object-position: left center; }

.mk-hero__title { margin: 0 0 24px; font-size: 4rem; line-height: 1.1; font-weight: 700; letter-spacing: -.035em; }

.mk-hero__line { display: block; width: 58px; height: 3px; margin-bottom: 24px; background: #9adbd8; }

.mk-hero__title p, .mk-hero__description p, .mk-hero__button p { margin: 0; }

.mk-hero__description { max-width: 620px; margin-bottom: 36px; font-size: 1.15rem; line-height: 1.7; color: rgba(255, 255, 255, 0.9); }

.mk-hero__buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }

.mk-hero__button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 13px 26px; border: 2px solid #7db9b2; border-radius: 6px; background: #7db9b2; color: #0f2e49 !important; text-align: center; text-decoration: none; font-size: 1rem; font-weight: 600; line-height: 1.2; transition: background .25s ease, border-color .25s ease, color .25s ease; }

.mk-hero__button:hover, .mk-hero__button:focus-visible { border-color: #fff; background: transparent; color: #fff !important; }

.mk-hero__button--phone { border-color: #fff; background: transparent; color: #fff !important; }

.mk-hero__button--phone:hover, .mk-hero__button--phone:focus-visible { border-color: #7db9b2; background: #7db9b2; color: #0f2e49 !important; }

.mk-hero__button p { display: inline; padding: 0; line-height: inherit; }

@media (max-width: 768px) { .mk-hero { min-height: 600px; } .mk-hero__shade { background: linear-gradient(90deg, rgba(5, 19, 32, 0.87), rgba(5, 19, 32, 0.62)); } .mk-hero__container { padding: 90px 24px; } .mk-hero__logo { max-width: 150px; max-height: 90px; margin-bottom: 28px; } .mk-hero__title { font-size: 2.8rem; } .mk-hero__description { font-size: 1.05rem; } }

@media (max-width: 480px) { .mk-hero { min-height: 620px; } .mk-hero__container { padding: 80px 20px; } .mk-hero__logo { max-width: 130px; max-height: 80px; } .mk-hero__title { font-size: 2.3rem; } .mk-hero__buttons { flex-direction: column; align-items: stretch; } .mk-hero__button { width: 100%; } }

/*------------------------------------------------------------QSN------------------------------------------------------------*/
.mk-about { position: relative; overflow: hidden; padding: 110px 24px 125px; background: #f7f9f9; }

.mk-about__background { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }

.mk-about__background::after { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.88); }

.mk-about__container { position: relative; z-index: 1; display: grid; grid-template-columns: 0.95fr 1.05fr; align-items: center; gap: 85px; max-width: 1320px; margin: 0 auto; }

/* Photo et logo */
.mk-about__visual { position: relative; min-width: 0; padding-bottom: 34px; }

.mk-about__frame { height: 570px; padding: 0; border-radius: 62px 0 0 62px; background: transparent; }

.mk-about__photo { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 62px 0 0 62px; }

.mk-about__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, transparent 50%, rgba(4, 12, 19, 0.36) 100%); pointer-events: none; }

.mk-about__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.mk-about__logo { position: absolute; z-index: 2; right: 22px; bottom: -20px; display: block; width: 155px; height: auto; max-height: 185px; object-fit: contain; filter: drop-shadow(0 7px 13px rgba(0, 0, 0, 0.23)); pointer-events: none; }

/* Contenu */
.mk-about__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; color: #9adbd8; font-size: .88rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.mk-about__eyebrow::before, .mk-about__eyebrow::after { content: ""; display: block; width: 24px; height: 2px; flex: 0 0 24px; background: #9adbd8; }

.mk-about__eyebrow p, .mk-about__subtitle p, .mk-about__text p { margin: 0; }

.mk-about__title h2, .mk-about__title h3 { margin: 0 0 22px; color: #0f2e49; font-size: 3rem; font-weight: 400; line-height: 1.16; letter-spacing: -.035em; }

.mk-about__subtitle { margin-bottom: 24px; color: #0f2e49; font-size: 1.28rem; font-weight: 600; line-height: 1.5; }

.mk-about__rule { display: block; width: 62px; height: 3px; margin-bottom: 28px; background: #9adbd8; }

.mk-about__text { color: #4c5963; font-size: 1rem; line-height: 1.85; }

.mk-about__text p + p { margin-top: 17px; }

.mk-about__text strong { color: #0f2e49; font-weight: 700; }

/* Apparition du texte */
.mk-about [data-mk-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }

.mk-about .is-visible[data-mk-reveal] { opacity: 1; transform: translateY(0); }

.mk-about [data-mk-reveal-delay="1"] { transition-delay: .12s; }

.mk-about [data-mk-reveal-delay="2"] { transition-delay: .24s; }

/* Responsive */
@media (max-width: 1050px) { .mk-about__container { gap: 45px; } .mk-about__frame { height: 540px; } .mk-about__title h2, .mk-about__title h3 { font-size: 2.5rem; } .mk-about__logo { width: 130px; } }

@media (max-width: 768px) { .mk-about { padding: 80px 22px 90px; } .mk-about__container { grid-template-columns: 1fr; gap: 55px; } .mk-about__visual, .mk-about__content { width: 100%; max-width: 650px; margin: 0 auto; } .mk-about__frame { height: 440px; } }

@media (max-width: 480px) { .mk-about { padding: 70px 20px 80px; } .mk-about__frame { height: 330px; padding: 0; border-radius: 39px 0 0 39px; } .mk-about__photo { border-radius: 39px 0 0 39px; } .mk-about__logo { right: 12px; bottom: -8px; width: 95px; max-height: 120px; } .mk-about__title h2, .mk-about__title h3 { font-size: 2.15rem; } .mk-about__subtitle { font-size: 1.13rem; } }

@media (prefers-reduced-motion: reduce) { .mk-about [data-mk-reveal] { opacity: 1; transform: none; transition: none; } }

/*------------------------------------------------------------SERVICES------------------------------------------------------------*/
.mk-services-compact { padding: 65px 24px 75px; background: #0f2e49; color: #fff; }

.mk-services-compact-container { max-width: 1380px; margin: 0 auto; }

/* INTRODUCTION */
.mk-services-compact-intro { max-width: 760px; margin: 0 auto 38px; text-align: center; }

.mk-services-compact-eyebrow { margin-bottom: 10px; color: #9adbd8; font-size: 13px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.mk-services-compact-heading h2, .mk-services-compact-heading h3 { margin: 0 0 12px; color: #fff; font-size: 38px; line-height: 1.2; }

.mk-services-compact-description { color: #d8e4ea; line-height: 1.6; }

.mk-services-compact-eyebrow p, .mk-services-compact-description p, .mk-services-compact-text p { margin: 0; }

/* PRESTATIONS */
.mk-services-compact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }

.mk-services-compact-item { min-width: 0; }

.mk-services-compact-photo { height: 205px; overflow: hidden; border-radius: 12px; background: #29465b; }

.mk-services-compact-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

.mk-services-compact-content { padding: 20px 4px 0; text-align: left; }

.mk-services-compact-number { display: block; margin-bottom: 8px; color: #9adbd8; font-size: 13px; font-weight: 700; letter-spacing: .12em; }

.mk-services-compact-title h3, .mk-services-compact-title h4 { margin: 0 0 9px; color: #fff; font-size: 21px; line-height: 1.25; }

.mk-services-compact-text { color: #d8e4ea; font-size: 14px; line-height: 1.6; }

/* RESPONSIVE */
@media (max-width: 1000px) { .mk-services-compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; } }

@media (max-width: 600px) { .mk-services-compact { padding: 55px 20px 65px; } .mk-services-compact-heading h2, .mk-services-compact-heading h3 { font-size: 31px; } .mk-services-compact-grid { grid-template-columns: 1fr; gap: 30px; } .mk-services-compact-photo { height: 230px; } }

/*------------------------------------------------------------WHY------------------------------------------------------------*/
.services-block { position: relative; isolation: isolate; overflow: hidden; padding: 110px 24px; background: #f7f9f9; }

.services-block__background { position: absolute; z-index: -1; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }

.services-block__background::after { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.88); }

.services-block__container { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; max-width: 1320px; margin: 0 auto; }

/* Panneau gauche */
.services-block__left { position: relative; isolation: isolate; min-height: 540px; overflow: hidden; border-radius: 24px; background-color: #0f2e49; background-position: center; background-size: cover; background-repeat: no-repeat; box-shadow: 0 20px 45px rgba(15, 46, 73, 0.13); }

.services-block__overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(135deg, rgba(8, 28, 45, 0.73), rgba(8, 28, 45, 0.92)); }

.services-block__content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; height: 100%; padding: 60px; color: #fff; }

.services-block__title h2, .services-block__title h3 { margin: 0; color: #fff; font-size: 2.7rem; line-height: 1.18; letter-spacing: -.03em; }

.services-block__line { display: block; width: 62px; height: 3px; margin: 25px 0; background: #9adbd8; }

.services-block__intro { max-width: 480px; margin-bottom: 30px; color: #e5eff1; font-size: 1rem; line-height: 1.8; }

.services-block__intro p { margin: 0; }

.services-block__intro p + p { margin-top: 14px; }

.services-block__button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #fff; border-radius: 6px; background: #fff; color: #0f2e49 !important; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease; }

.services-block__button p { margin: 0; }

.services-block__button:hover { transform: translateY(-3px); background: transparent; color: #fff !important; }

/* Cartes droites */
.services-block__right { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }

.services-block__card { position: relative; display: flex; flex-direction: column; justify-content: flex-start; min-width: 0; min-height: 258px; padding: 32px; overflow: hidden; border: 1px solid rgba(15, 46, 73, 0.08); border-radius: 20px; background: rgba(255, 255, 255, 0.94); box-shadow: 0 12px 35px rgba(15, 46, 73, 0.07); transition: transform .3s ease, box-shadow .3s ease; }

.services-block__card::before { content: ""; position: absolute; top: 0; left: 32px; width: 45px; height: 3px; background: #9adbd8; }

.services-block__card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(15, 46, 73, 0.13); }

.services-block__card-icon { display: flex; flex: 0 0 58px; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 22px; border-radius: 14px; background: #eaf5f5; }

.services-block__card-icon img { display: block; width: 42px; height: 42px; object-fit: contain; }

.services-block__card-title { min-height: 3.2em; color: #0f2e49 !important; }

.services-block__card-title h2, .services-block__card-title h3, .services-block__card-title h4, .services-block__card-title p { margin: 0 0 11px; color: #0f2e49 !important; font-size: 1.23rem; font-weight: 700; line-height: 1.3; }

.services-block__card-description { color: #53636d; font-size: .95rem; line-height: 1.7; }

.services-block__card-description p { margin: 0; }

/* Apparition */
.services-block__left, .services-block__card { animation: services-block-appear .8s ease both; }

.services-block__card:nth-child(1) { animation-delay: .1s; }

.services-block__card:nth-child(2) { animation-delay: .2s; }

.services-block__card:nth-child(3) { animation-delay: .3s; }

.services-block__card:nth-child(4) { animation-delay: .4s; }

@keyframes services-block-appear { from { opacity: 0;
    transform: translateY(24px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* Responsive */
@media (max-width: 1050px) { .services-block__container { grid-template-columns: 1fr; } .services-block__left { min-height: 440px; } .services-block__card { min-height: 220px; } }

@media (max-width: 700px) { .services-block { padding: 80px 20px; } .services-block__content { padding: 42px 32px; } .services-block__title h2, .services-block__title h3 { font-size: 2.25rem; } .services-block__right { gap: 16px; } .services-block__card { padding: 26px; } }

@media (max-width: 575px) { .services-block__right { grid-template-columns: 1fr; } .services-block__left { min-height: 430px; } .services-block__content { padding: 38px 28px; } .services-block__title h2, .services-block__title h3 { font-size: 2rem; } .services-block__card { min-height: 205px; } }

@media (prefers-reduced-motion: reduce) { .services-block__left, .services-block__card { animation: none; } .services-block__card, .services-block__button { transition: none; } }

/*------------------------------------------------------------CTA------------------------------------------------------------*/
.mk-cta { position: relative; isolation: isolate; overflow: hidden; padding: 75px 24px; background-color: #0f2e49; background-position: center; background-size: cover; background-repeat: no-repeat; color: #fff; }

.mk-cta__overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(8, 28, 45, 0.82) 0%, rgba(8, 28, 45, 0.65) 55%, rgba(8, 28, 45, 0.48) 100%); }

.mk-cta__container { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 80px; max-width: 1320px; margin: 0 auto; }

.mk-cta__content { min-width: 0; }

.mk-cta__title h2, .mk-cta__title h3 { margin: 0; color: #fff; font-size: 2.8rem; line-height: 1.16; letter-spacing: -.035em; }

.mk-cta__line { display: block; width: 62px; height: 3px; margin: 22px 0; background: #9adbd8; }

.mk-cta__description { max-width: 650px; color: #f0f5f6; font-size: 1.05rem; line-height: 1.75; }

.mk-cta__description p { margin: 0; }

.mk-cta__description p + p { margin-top: 12px; }

.mk-cta__buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }

.mk-cta__button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 11px 25px; border: 2px solid #fff; border-radius: 6px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease; }

.mk-cta__button p { margin: 0; padding: 0; line-height: 1.2; }

.mk-cta__button--primary { background: #fff; color: #0f2e49 !important; }

.mk-cta__button--primary:hover { transform: translateY(-3px); background: transparent; color: #fff !important; }

.mk-cta__button--phone { background: transparent; color: #fff !important; }

.mk-cta__button--phone:hover { transform: translateY(-3px); background: #fff; color: #0f2e49 !important; }

.mk-cta__button--primary:hover p { color: #fff !important; }

.mk-cta__button--phone:hover p { color: #0f2e49 !important; }

/* Liste des repères à droite */
.mk-cta__highlights { display: flex; flex-direction: column; min-width: 0; }

.mk-cta__highlight { display: flex; align-items: center; gap: 20px; padding: 22px 0; }

.mk-cta__highlight + .mk-cta__highlight { border-top: 1px solid rgba(255, 255, 255, 0.35); }

.mk-cta__highlight img { display: block; width: 54px; height: 54px; flex: 0 0 54px; object-fit: contain; }

.mk-cta__highlight div { display: flex; flex-direction: column; gap: 3px; }

.mk-cta__highlight strong { color: #9adbd8; font-size: 1.4rem; line-height: 1.2; }

.mk-cta__highlight span { color: #fff; font-size: 1rem; line-height: 1.45; }

@media (max-width: 950px) { .mk-cta__container { gap: 45px; } .mk-cta__title h2, .mk-cta__title h3 { font-size: 2.4rem; } }

@media (max-width: 700px) { .mk-cta { padding: 65px 20px; } .mk-cta__overlay { background: rgba(8, 28, 45, 0.72); } .mk-cta__container { grid-template-columns: 1fr; gap: 35px; } .mk-cta__highlights { border-top: 1px solid rgba(255, 255, 255, 0.35); } .mk-cta__highlight { padding: 17px 0; } }

@media (max-width: 480px) { .mk-cta__title h2, .mk-cta__title h3 { font-size: 2rem; } .mk-cta__buttons { flex-direction: column; align-items: stretch; } .mk-cta__button { width: 100%; } .mk-cta__highlight img { width: 46px; height: 46px; flex-basis: 46px; } .mk-cta__highlight strong { font-size: 1.2rem; } }

@media (prefers-reduced-motion: reduce) { .mk-cta__button { transition: none; } }

/*------------------------------------------------------------HERO------------------------------------------------------------*/
.mk-faq { position: relative; isolation: isolate; overflow: hidden; padding: 100px 24px; background: #f7f9f9; }

.mk-faq__background { position: absolute; z-index: -1; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }

.mk-faq__background::after { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.88); }

.mk-faq__container { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 85px; max-width: 1320px; margin: 0 auto; }

/* Introduction */
.mk-faq__heading { position: sticky; top: 145px; }

.mk-faq__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #5caaa7; font-size: .88rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.mk-faq__eyebrow::before, .mk-faq__eyebrow::after { content: ""; width: 24px; height: 2px; flex: 0 0 24px; background: #9adbd8; }

.mk-faq__eyebrow p, .mk-faq__intro p { margin: 0; }

.mk-faq__title h2, .mk-faq__title h3 { margin: 0; color: #0f2e49; font-size: 2.8rem; line-height: 1.16; letter-spacing: -.035em; }

.mk-faq__line { display: block; width: 62px; height: 3px; margin: 25px 0; background: #9adbd8; }

.mk-faq__intro { max-width: 460px; color: #53636d; font-size: 1.05rem; line-height: 1.8; }

.mk-faq__intro strong { color: #0f2e49; }

/* Questions */
.mk-faq__list { display: grid; gap: 16px; }

.mk-faq__item { overflow: hidden; border: 1px solid rgba(15, 46, 73, 0.1); border-radius: 16px; background: rgba(255, 255, 255, 0.94); box-shadow: 0 12px 35px rgba(15, 46, 73, 0.05); transition: border-color .25s ease, box-shadow .25s ease; }

.mk-faq__item:hover, .mk-faq__item[open] { border-color: rgba(92, 170, 167, 0.45); box-shadow: 0 16px 38px rgba(15, 46, 73, 0.09); }

.mk-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 92px; padding: 25px 30px; color: #0f2e49; font-size: 1.16rem; font-weight: 700; line-height: 1.4; cursor: pointer; list-style: none; }

.mk-faq__item summary::-webkit-details-marker { display: none; }

.mk-faq__item summary:focus-visible { outline: 3px solid #9adbd8; outline-offset: -5px; }

.mk-faq__icon { position: relative; display: block; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: #eaf5f5; }

.mk-faq__icon::before, .mk-faq__icon::after { content: ""; position: absolute; top: 17px; left: 11px; width: 14px; height: 2px; border-radius: 2px; background: #0f2e49; }

.mk-faq__icon::after { transform: rotate(90deg); transition: transform .25s ease; }

.mk-faq__item[open] .mk-faq__icon::after { transform: rotate(0); }

.mk-faq__answer { padding: 0 30px 28px; color: #53636d; font-size: 1rem; line-height: 1.8; }

.mk-faq__answer p { margin: 0; }

.mk-faq__answer strong { color: #0f2e49; font-weight: 700; }

@media (max-width: 950px) { .mk-faq__container { gap: 45px; } .mk-faq__title h2, .mk-faq__title h3 { font-size: 2.4rem; } }

@media (max-width: 768px) { .mk-faq { padding: 75px 22px; } .mk-faq__container { grid-template-columns: 1fr; gap: 35px; } .mk-faq__heading { position: static; } }

@media (max-width: 480px) { .mk-faq { padding: 65px 20px; } .mk-faq__title h2, .mk-faq__title h3 { font-size: 2.1rem; } .mk-faq__item summary { min-height: 78px; padding: 20px; font-size: 1.04rem; } .mk-faq__answer { padding: 0 20px 22px; } }

@media (prefers-reduced-motion: reduce) { .mk-faq__item, .mk-faq__icon::after { transition: none; } }

/*------------------------------------------------------------GALERIE INTRO------------------------------------------------------------*/
.mk-gallery-teaser { position: relative; overflow: hidden; padding: 100px 24px; background: #0f2e49; color: #fff; }

.mk-gallery-teaser__container { display: grid; grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr); align-items: center; gap: 55px; max-width: 1600px; margin: 0 auto; }

/* Contenu */
.mk-gallery-teaser__content { min-width: 0; }

.mk-gallery-teaser__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; color: #9adbd8; font-size: .88rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.mk-gallery-teaser__eyebrow::before, .mk-gallery-teaser__eyebrow::after { content: ""; display: block; width: 24px; height: 2px; flex: 0 0 24px; background: #9adbd8; }

.mk-gallery-teaser__eyebrow p, .mk-gallery-teaser__description p, .mk-gallery-teaser__button p { margin: 0; }

.mk-gallery-teaser__title h2, .mk-gallery-teaser__title h3 { margin: 0; color: #fff; font-size: 3rem; line-height: 1.16; letter-spacing: -.035em; }

.mk-gallery-teaser__line { display: block; width: 62px; height: 3px; margin: 26px 0; background: #9adbd8; }

.mk-gallery-teaser__description { max-width: 500px; color: #dce9ed; font-size: 1.05rem; line-height: 1.8; }

.mk-gallery-teaser__description p + p { margin-top: 14px; }

.mk-gallery-teaser__button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin-top: 34px; padding: 12px 28px; border: 2px solid #fff; border-radius: 6px; background: #fff; color: #0f2e49 !important; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease; }

.mk-gallery-teaser__button:hover { transform: translateY(-3px); background: transparent; color: #fff !important; }

/* Mosaïque de photos */
.mk-gallery-teaser__mosaic { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: repeat(2, 260px); gap: 16px; min-width: 0; }

.mk-gallery-teaser__photo { position: relative; min-width: 0; overflow: hidden; border-radius: 16px; background: #183b58; }

.mk-gallery-teaser__photo--large { grid-row: span 2; }

.mk-gallery-teaser__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }

.mk-gallery-teaser__photo:hover img { transform: scale(1.05); }

/* Responsive */
@media (max-width: 1100px) { .mk-gallery-teaser__container { grid-template-columns: 1fr; gap: 45px; } .mk-gallery-teaser__content { max-width: 700px; } .mk-gallery-teaser__mosaic { grid-template-rows: repeat(2, 240px); } }

@media (max-width: 768px) { .mk-gallery-teaser { padding: 80px 22px; } .mk-gallery-teaser__title h2, .mk-gallery-teaser__title h3 { font-size: 2.5rem; } .mk-gallery-teaser__mosaic { grid-template-rows: repeat(2, 210px); gap: 12px; } }

@media (max-width: 600px) { .mk-gallery-teaser { padding: 70px 20px; } .mk-gallery-teaser__title h2, .mk-gallery-teaser__title h3 { font-size: 2.15rem; } .mk-gallery-teaser__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 340px repeat(2, 190px); } .mk-gallery-teaser__photo--large { grid-column: 1 / -1; grid-row: auto; } .mk-gallery-teaser__photo { border-radius: 12px; } }

@media (prefers-reduced-motion: reduce) { .mk-gallery-teaser__photo img, .mk-gallery-teaser__button { transition: none; } }

.mk-gallery-teaser { position: relative; overflow: hidden; padding: 100px 24px; background: #0f2e49; color: #fff; }

.mk-gallery-teaser__container { display: grid; grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr); align-items: center; gap: 55px; max-width: 1600px; margin: 0 auto; }

/* Contenu */
.mk-gallery-teaser__content { min-width: 0; }

.mk-gallery-teaser__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; color: #9adbd8; font-size: .88rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.mk-gallery-teaser__eyebrow::before, .mk-gallery-teaser__eyebrow::after { content: ""; display: block; width: 24px; height: 2px; flex: 0 0 24px; background: #9adbd8; }

.mk-gallery-teaser__eyebrow p, .mk-gallery-teaser__description p, .mk-gallery-teaser__button p { margin: 0; }

.mk-gallery-teaser__title h2, .mk-gallery-teaser__title h3 { margin: 0; color: #fff; font-size: 3rem; line-height: 1.16; letter-spacing: -.035em; }

.mk-gallery-teaser__line { display: block; width: 62px; height: 3px; margin: 26px 0; background: #9adbd8; }

.mk-gallery-teaser__description { max-width: 500px; color: #dce9ed; font-size: 1.05rem; line-height: 1.8; }

.mk-gallery-teaser__description p + p { margin-top: 14px; }

.mk-gallery-teaser__button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin-top: 34px; padding: 12px 28px; border: 2px solid #fff; border-radius: 6px; background: #fff; color: #0f2e49 !important; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease; }

.mk-gallery-teaser__button:hover { transform: translateY(-3px); background: transparent; color: #fff !important; }

/* Mosaïque de photos */
.mk-gallery-teaser__mosaic { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: repeat(2, 260px); gap: 16px; min-width: 0; }

.mk-gallery-teaser__photo { position: relative; min-width: 0; overflow: hidden; border-radius: 16px; background: #183b58; }

.mk-gallery-teaser__photo--large { grid-row: span 2; }

.mk-gallery-teaser__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }

.mk-gallery-teaser__photo:hover img { transform: scale(1.05); }

/* Responsive */
@media (max-width: 1100px) { .mk-gallery-teaser__container { grid-template-columns: 1fr; gap: 45px; } .mk-gallery-teaser__content { max-width: 700px; } .mk-gallery-teaser__mosaic { grid-template-rows: repeat(2, 240px); } }

@media (max-width: 768px) { .mk-gallery-teaser { padding: 80px 22px; } .mk-gallery-teaser__title h2, .mk-gallery-teaser__title h3 { font-size: 2.5rem; } .mk-gallery-teaser__mosaic { grid-template-rows: repeat(2, 210px); gap: 12px; } }

@media (max-width: 600px) { .mk-gallery-teaser { padding: 70px 20px; } .mk-gallery-teaser__title h2, .mk-gallery-teaser__title h3 { font-size: 2.15rem; } .mk-gallery-teaser__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 340px repeat(2, 190px); } .mk-gallery-teaser__photo--large { grid-column: 1 / -1; grid-row: auto; } .mk-gallery-teaser__photo { border-radius: 12px; } }

@media (prefers-reduced-motion: reduce) { .mk-gallery-teaser__photo img, .mk-gallery-teaser__button { transition: none; } }

/*------------------------------------------------------------SEO------------------------------------------------------------*/
/* BLOCS SEO — MK PLAFONDS */
.first-activity-div, .second-activity-div, .third-activity-div { position: relative; isolation: isolate; overflow: hidden; max-width: 1320px; min-height: 340px; margin-top: 32px !important; margin-bottom: 32px !important; padding: 42px 50px !important; border: 1px solid rgba(15, 46, 73, 0.08); border-radius: 22px !important; background: #f7f9f9 !important; box-shadow: 0 18px 45px rgba(15, 46, 73, 0.08) !important; color: #0f2e49 !important; }

.first-activity-div > .background-image-div-opacity, .second-activity-div > .background-image-div-opacity, .third-activity-div > .background-image-div-opacity { display: none; }

.first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { margin-top: 0 !important; padding: 0 !important; }

.first-activity-div .first-activity-title, .second-activity-div .second-activity-title, .third-activity-div .third-activity-title { margin-bottom: 22px !important; line-height: 1.2 !important; }

.first-activity-div .first-activity-title h2, .second-activity-div .second-activity-title h2, .third-activity-div .third-activity-title h2 { margin: 0; color: #0f2e49 !important; font-size: 2.4rem; line-height: 1.18; letter-spacing: -.03em; }

.first-activity-div .first-activity-title::after, .second-activity-div .second-activity-title::after, .third-activity-div .third-activity-title::after { content: ""; display: block; width: 62px; height: 3px; margin-top: 22px; background: #9adbd8; }

.first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { max-width: 630px; margin-top: 0 !important; margin-bottom: 0 !important; color: #53636d; font-size: 1.05rem !important; line-height: 1.8; }

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

/* Espaces visuels : affichés lorsqu'une image sera renseignée dans le CMS */
.first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 260px; border: 0; border-radius: 16px !important; background-color: #dce9ed; box-shadow: 0 16px 35px rgba(15, 46, 73, 0.12) !important; }

.first-activity-div .card-cover .black-screen, .second-activity-div .card-cover .black-screen, .third-activity-div .card-cover .black-screen { display: none; }

.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; }

/* BLOC CENTRAL BLEU FONCÉ */
.second-activity-div { border-color: rgba(255, 255, 255, 0.1); background: #0f2e49 !important; box-shadow: 0 22px 48px rgba(15, 46, 73, 0.2) !important; color: #fff !important; }

.second-activity-div .second-activity-title h2, .second-activity-div .second-activity-title h2 span { color: #fff !important; }

.second-activity-div .lead, .second-activity-div .lead p { color: #dce9ed !important; }

.second-activity-div .card-cover { background-color: #183b58; }

/* RESPONSIVE */
@media (max-width: 991px) { .first-activity-div, .second-activity-div, .third-activity-div { min-height: 0; padding: 36px !important; } .first-activity-div .row > .col-sm-8, .second-activity-div .row > .col-sm-8, .third-activity-div .row > .col-sm-8 { width: 100%; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 250px; } }

@media (max-width: 600px) { .first-activity-div, .second-activity-div, .third-activity-div { margin-top: 20px !important; margin-bottom: 20px !important; padding: 28px 22px !important; border-radius: 18px !important; } .first-activity-div .first-activity-title h2, .second-activity-div .second-activity-title h2, .third-activity-div .third-activity-title h2 { font-size: 1.9rem; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 210px; } .first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { font-size: 1rem !important; } }

/* BLOCS SEO — MK PLAFONDS */
.first-activity-div, .second-activity-div, .third-activity-div { position: relative; isolation: isolate; overflow: hidden; max-width: 1320px; min-height: 340px; margin-top: 32px !important; margin-bottom: 32px !important; padding: 42px 50px !important; border: 1px solid rgba(15, 46, 73, 0.08); border-radius: 22px !important; background: #f7f9f9 !important; box-shadow: 0 18px 45px rgba(15, 46, 73, 0.08) !important; color: #0f2e49 !important; }

.first-activity-div > .background-image-div-opacity, .second-activity-div > .background-image-div-opacity, .third-activity-div > .background-image-div-opacity { display: none; }

/* Image de fond avec filtre blanc pour les blocs 1 et 3 */
.first-activity-div, .third-activity-div { background-image: linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)), url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FXxHwV9AM49Yp0mL93m5r0lGsuOv1%2Fthumbnails%2F687f3771dedcc7a3a97a6e41_optimized_tdpp.webp") !important; background-position: center !important; background-size: cover !important; background-repeat: no-repeat !important; }

.first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { margin-top: 0 !important; padding: 0 !important; }

.first-activity-div .first-activity-title, .second-activity-div .second-activity-title, .third-activity-div .third-activity-title { margin-bottom: 22px !important; line-height: 1.2 !important; }

.first-activity-div .first-activity-title h2, .second-activity-div .second-activity-title h2, .third-activity-div .third-activity-title h2 { margin: 0; color: #0f2e49 !important; font-size: 2.4rem; line-height: 1.18; letter-spacing: -.03em; }

.first-activity-div .first-activity-title::after, .second-activity-div .second-activity-title::after, .third-activity-div .third-activity-title::after { content: ""; display: block; width: 62px; height: 3px; margin-top: 22px; background: #9adbd8; }

.first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { max-width: 630px; margin-top: 0 !important; margin-bottom: 0 !important; color: #53636d; font-size: 1.05rem !important; line-height: 1.8; }

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

/* Images des cartes */
.first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 260px; border: 0; border-radius: 16px !important; background-color: #dce9ed; box-shadow: 0 16px 35px rgba(15, 46, 73, 0.12) !important; }

.first-activity-div .card-cover .black-screen, .second-activity-div .card-cover .black-screen, .third-activity-div .card-cover .black-screen { display: none; }

.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; }

/* Bloc central bleu foncé */
.second-activity-div { border-color: rgba(255, 255, 255, 0.1); background: #0f2e49 !important; box-shadow: 0 22px 48px rgba(15, 46, 73, 0.2) !important; color: #fff !important; }

.second-activity-div .second-activity-title h2, .second-activity-div .second-activity-title h2 span { color: #fff !important; }

.second-activity-div .lead, .second-activity-div .lead p { color: #dce9ed !important; }

.second-activity-div .card-cover { background-color: #183b58; }

/* Responsive */
@media (max-width: 991px) { .first-activity-div, .second-activity-div, .third-activity-div { min-height: 0; padding: 36px !important; } .first-activity-div .row > .col-sm-8, .second-activity-div .row > .col-sm-8, .third-activity-div .row > .col-sm-8 { width: 100%; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 250px; } }

@media (max-width: 600px) { .first-activity-div, .second-activity-div, .third-activity-div { margin-top: 20px !important; margin-bottom: 20px !important; padding: 28px 22px !important; border-radius: 18px !important; } .first-activity-div .first-activity-title h2, .second-activity-div .second-activity-title h2, .third-activity-div .third-activity-title h2 { font-size: 1.9rem; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 210px; } .first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { font-size: 1rem !important; } }

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