@charset "UTF-8";
@import url(main.css);
/*-----------------------------------------------FOOTER--------------------------------------------*/
.logo-footer { display: flex !important; align-items: center; justify-content: center; width: 100%; margin-right: auto !important; margin-left: auto !important; padding: 0 !important; }

.logo-footer .logo_nav { display: block; width: auto; max-width: 180px; height: auto; margin: 0 !important; padding: 0 !important; object-fit: contain; filter: brightness(0) invert(1); transform: none !important; }

/* ------------------------------------------------BARRE DE NAV----------------------------------------------------- */
#navigation-bar-show { width: 100%; padding: 0 !important; border: 0; border-bottom: 1px solid rgba(0, 32, 117, 0.1); background: #ffffff !important; background-color: #ffffff !important; box-shadow: 0 8px 30px rgba(0, 32, 117, 0.08); transition: box-shadow 0.3s ease; }

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

#navigation-bar-show .navbar-brand { display: flex; align-items: center; flex: 0 0 auto; margin: 0 35px 0 0; padding: 0; background: transparent !important; }

#navigation-bar-show .logo_nav { display: block; width: auto; max-width: 145px; height: 68px; object-fit: contain; }

#navigation-bar-show .navbar-collapse { align-items: center; background: transparent !important; }

#navigation-bar-show .navbar-nav { flex-wrap: nowrap !important; gap: 4px; margin-top: 0 !important; margin-bottom: 0 !important; background: transparent !important; }

#navigation-bar-show .navbar-nav > li { position: relative; padding: 8px 11px !important; background: transparent !important; box-shadow: none !important; }

#navigation-bar-show .navbar-nav > .d-flex { position: relative; flex: 0 0 auto; padding: 8px 11px; background: transparent !important; box-shadow: none !important; }

#navigation-bar-show .animated-border-button, #navigation-bar-show .nav-link { position: relative; display: inline-flex; align-items: center; justify-content: center; padding: 9px 2px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #172033 !important; font-size: 15px !important; font-weight: 600; line-height: 1.25; text-decoration: none !important; white-space: nowrap; box-shadow: none !important; cursor: pointer; transition: color 0.3s ease; }

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

#navigation-bar-show .animated-border-button::after, #navigation-bar-show .nav-link:first-child::after { content: ""; position: absolute; right: 0; bottom: 2px; left: 0; display: block; height: 2px; background-color: #002075; transform: scaleX(0); transform-origin: right center; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }

#navigation-bar-show .animated-border-button:hover, #navigation-bar-show .animated-border-button:focus, #navigation-bar-show .nav-link:hover, #navigation-bar-show .nav-link:focus, #navigation-bar-show .nav-link.show { background: transparent !important; color: #002075 !important; box-shadow: none !important; }

#navigation-bar-show .animated-border-button:hover::after, #navigation-bar-show .animated-border-button:focus::after, #navigation-bar-show .nav-link:first-child:hover::after, #navigation-bar-show .nav-link:first-child:focus::after, #navigation-bar-show .nav-link.show:first-child::after { transform: scaleX(1); transform-origin: left center; }

#navigation-bar-show .navbar-nav > .d-flex .nav-link { padding: 9px 2px !important; }

#navigation-bar-show .navbar-nav > .d-flex .nav-link + .nav-link { margin-left: 3px; padding: 9px 0 !important; }

#navigation-bar-show .navbar-nav > .d-flex .nav-link + .nav-link::after { display: none !important; }

#navigation-bar-show .navbar-nav .bi-chevron-down { margin: 0 4px !important; color: #002075; font-size: 12px !important; transition: transform 0.3s ease; }

#navigation-bar-show .navbar-nav .nav-link.show .bi-chevron-down { transform: rotate(180deg); }

#navigation-bar-show .dropdown-toggle::after { display: none !important; }

#navigation-bar-show .dropdown-menu { min-width: 235px; margin-top: 8px; padding: 8px; overflow: hidden; border: 1px solid rgba(0, 32, 117, 0.1); border-radius: 0; background: #ffffff !important; background-color: #ffffff !important; box-shadow: 0 18px 45px rgba(0, 32, 117, 0.14); }

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

#navigation-bar-show .dropdown-item { position: relative; padding: 13px 15px; border: 0; border-left: 3px solid transparent; border-radius: 0; background: transparent !important; background-color: transparent !important; color: #172033 !important; font-size: 15px; font-weight: 600; cursor: pointer; box-shadow: none !important; transition: color 0.3s ease, border-color 0.3s ease, padding-left 0.3s ease; }

#navigation-bar-show .dropdown-item:hover, #navigation-bar-show .dropdown-item:focus, #navigation-bar-show .dropdown-item:active { padding-left: 20px; border-left-color: #002075; background: transparent !important; background-color: transparent !important; color: #002075 !important; box-shadow: none !important; }

#navigation-bar-show .button-header-telephone { display: inline-flex !important; align-items: center; justify-content: center; gap: 9px; min-width: 175px; min-height: 48px; margin: 0 0 0 12px !important; padding: 11px 19px !important; border: 2px solid #f8ba27; border-radius: 0 !important; background: #f8ba27 !important; background-color: #f8ba27 !important; color: #111827 !important; font-size: 15px; font-weight: 700; line-height: 1; white-space: nowrap; box-shadow: none !important; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

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

#navigation-bar-show .button-header-telephone:hover, #navigation-bar-show .button-header-telephone:focus { border-color: #f8ba27; background: transparent !important; background-color: transparent !important; color: #172033 !important; transform: translateY(-2px); }

#navigation-bar-show .navbar-toggler { width: 48px; height: 48px; margin: 0; padding: 8px; border: 2px solid #002075; border-radius: 0; background: #ffffff !important; background-color: #ffffff !important; box-shadow: none !important; }

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

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

@media screen and (max-width: 1250px) { #navigation-bar-show .container-fluid { padding-right: 20px; padding-left: 20px; } #navigation-bar-show .navbar-brand { margin-right: 20px; } #navigation-bar-show .logo_nav { max-width: 125px; height: 62px; } #navigation-bar-show .navbar-nav > li, #navigation-bar-show .navbar-nav > .d-flex { padding-right: 7px !important; padding-left: 7px !important; } #navigation-bar-show .animated-border-button, #navigation-bar-show .nav-link { font-size: 14px !important; } #navigation-bar-show .button-header-telephone { min-width: 155px; padding-right: 14px !important; padding-left: 14px !important; font-size: 14px; } }

@media screen and (max-width: 991px) { #navigation-bar-show { background: #ffffff !important; background-color: #ffffff !important; } #navigation-bar-show .container-fluid { min-height: 76px; padding: 8px 18px; } #navigation-bar-show .navbar-brand { margin-right: 0; } #navigation-bar-show .logo_nav { max-width: 125px; height: 58px; } #navigation-bar-show .navbar-collapse { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100vh - 76px); padding: 18px; overflow-y: auto; border-top: 1px solid rgba(0, 32, 117, 0.1); background: #ffffff !important; background-color: #ffffff !important; box-shadow: 0 20px 35px rgba(0, 32, 117, 0.12); } #navigation-bar-show .navbar-nav { align-items: stretch !important; gap: 0; width: 100%; background: transparent !important; } #navigation-bar-show .navbar-nav > li, #navigation-bar-show .navbar-nav > .d-flex { width: 100%; padding: 0 !important; border-bottom: 1px solid rgba(0, 32, 117, 0.1); background: transparent !important; } #navigation-bar-show .animated-border-button, #navigation-bar-show .nav-link { justify-content: flex-start; width: 100%; padding: 15px 10px !important; background: transparent !important; font-size: 16px !important; text-align: left !important; } #navigation-bar-show .animated-border-button::after, #navigation-bar-show .nav-link:first-child::after { display: none; } #navigation-bar-show .navbar-nav > .d-flex { display: grid !important; grid-template-columns: 1fr 45px; } #navigation-bar-show .navbar-nav > .d-flex .nav-link + .nav-link { width: 45px; margin: 0; padding: 15px 5px !important; } #navigation-bar-show .dropdown-menu { grid-column: 1 / -1; position: static !important; width: 100%; margin: 0 0 10px; padding: 5px 10px 10px; border: 0; border-left: 3px solid #002075; background: transparent !important; background-color: transparent !important; box-shadow: none; transform: none !important; } #navigation-bar-show .dropdown-item { padding: 12px 14px; background: transparent !important; } #navigation-bar-show .button-header-telephone { width: 100%; min-height: 52px; margin: 15px 0 0 !important; } }

@media screen and (max-width: 480px) { #navigation-bar-show .container-fluid { padding-right: 15px; padding-left: 15px; } #navigation-bar-show .logo_nav { max-width: 110px; height: 54px; } #navigation-bar-show .navbar-toggler { width: 44px; height: 44px; } #navigation-bar-show .navbar-collapse { padding: 14px 16px 18px; } }

@media (prefers-reduced-motion: reduce) { #navigation-bar-show, #navigation-bar-show .animated-border-button, #navigation-bar-show .nav-link, #navigation-bar-show .dropdown-item, #navigation-bar-show .button-header-telephone, #navigation-bar-show .navbar-nav .bi-chevron-down { transition: none; } }

/*--------------------------------------HERO---------------------------------------*/
.custom-hero { position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; max-width: none !important; min-height: 720px !important; height: auto !important; margin: 0 !important; padding: 170px 30px 100px !important; overflow: hidden !important; background-position: center center !important; background-repeat: no-repeat !important; background-size: cover !important; box-sizing: border-box !important; isolation: isolate; }

.custom-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: inherit; background-position: center center !important; background-repeat: no-repeat !important; background-size: cover !important; transform: scale(1.01); }

.custom-hero__overlay { position: absolute !important; inset: 0 !important; z-index: 1 !important; width: 100% !important; height: 100% !important; background: linear-gradient(180deg, rgba(0, 0, 0, 0.52) 0%, rgba(0, 0, 0, 0.8) 100%) !important; pointer-events: none; }

.custom-hero__content { position: relative !important; z-index: 2 !important; display: flex !important; flex-direction: column !important; align-items: center !important; width: 100% !important; max-width: 950px !important; height: auto !important; margin: 0 auto !important; padding: 0 !important; text-align: center !important; transform: none !important; box-sizing: border-box !important; }

.custom-hero__logo { display: block !important; width: auto !important; max-width: 380px !important; max-height: 190px !important; height: auto !important; margin: 0 auto 32px !important; padding: 0 !important; object-fit: contain !important; filter: brightness(0) invert(1); transform: none !important; }

.custom-hero__title { width: 100% !important; max-width: 850px !important; margin: 0 auto !important; padding: 0 !important; color: #ffffff !important; font-size: 44px !important; font-weight: 600 !important; line-height: 1.15 !important; text-align: center !important; }

.custom-hero__title h1, .custom-hero__title h2, .custom-hero__title h3, .custom-hero__title h4, .custom-hero__title p { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: inherit !important; }

.custom-hero__title span, .custom-hero__title strong { color: inherit !important; font: inherit !important; }

.custom-hero__title::after { content: ""; display: block; width: 75px; height: 3px; margin: 24px auto !important; background-color: #002075; }

.custom-hero__description { width: 100% !important; max-width: 720px !important; margin: 0 auto 34px !important; padding: 0 !important; color: rgba(255, 255, 255, 0.92) !important; font-size: 18px !important; font-weight: 400 !important; line-height: 1.65 !important; text-align: center !important; }

.custom-hero__description p { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: inherit !important; }

.custom-hero__description span, .custom-hero__description strong { color: inherit !important; }

.custom-hero__actions { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 14px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }

.custom-hero__button { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 205px !important; min-height: 54px !important; margin: 0 !important; padding: 13px 28px !important; border: 2px solid #ffffff !important; border-radius: 0 !important; color: #ffffff !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.2 !important; text-align: center !important; text-decoration: none !important; box-sizing: border-box !important; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease !important; }

.custom-hero__button p, .custom-hero__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: center !important; }

.custom-hero__button--primary, .custom-hero__button--primary:link, .custom-hero__button--primary:visited { color: #ffffff !important; background-color: #002075 !important; border-color: #002075 !important; }

.custom-hero__button--outline, .custom-hero__button--outline:link, .custom-hero__button--outline:visited { color: #ffffff !important; background-color: transparent !important; border-color: #ffffff !important; }

.custom-hero__button--primary:hover, .custom-hero__button--primary:focus, .custom-hero__button--outline:hover, .custom-hero__button--outline:focus { color: #ffffff !important; background-color: transparent !important; border-color: #ffffff !important; transform: translateY(-3px); }

.custom-hero__button:focus-visible { outline: 2px solid #ffffff !important; outline-offset: 4px; }

@media screen and (max-width: 991px) { .custom-hero { min-height: 650px !important; padding: 150px 25px 85px !important; } .custom-hero__content { max-width: 780px !important; } .custom-hero__logo { max-width: 330px !important; max-height: 175px !important; margin-bottom: 28px !important; } .custom-hero__title { max-width: 720px !important; font-size: 38px !important; } .custom-hero__description { max-width: 650px !important; font-size: 17px !important; } }

@media screen and (max-width: 767px) { .custom-hero { min-height: 610px !important; padding: 125px 20px 70px !important; } .custom-hero__logo { max-width: 260px !important; max-height: 145px !important; margin-bottom: 25px !important; } .custom-hero__title { max-width: 600px !important; font-size: 32px !important; line-height: 1.2 !important; } .custom-hero__title::after { width: 60px; margin: 20px auto !important; } .custom-hero__description { max-width: 560px !important; margin-bottom: 28px !important; font-size: 16px !important; line-height: 1.6 !important; } .custom-hero__actions { flex-direction: column !important; gap: 12px !important; } .custom-hero__button { width: 100% !important; max-width: 310px !important; } }

@media screen and (max-width: 480px) { .custom-hero { min-height: 570px !important; padding: 115px 18px 60px !important; } .custom-hero__logo { max-width: 225px !important; max-height: 130px !important; margin-bottom: 22px !important; } .custom-hero__title { font-size: 28px !important; } .custom-hero__description { font-size: 15px !important; } .custom-hero__button { min-height: 52px !important; padding: 12px 22px !important; } }

@media (prefers-reduced-motion: reduce) { .custom-hero__button { transition: none !important; } }

/*--------------------------------------HERO 2-----------------------------------------*/
.secondary-hero { position: relative; display: flex; align-items: center; justify-content: center; min-height: 500px; padding: 150px 30px 90px; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: cover; }

/* --- DÉGRADÉ --- */
.secondary-hero__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0.72) 100%); }

/* --- CONTENU --- */
.secondary-hero__content { position: relative; z-index: 2; width: 100%; max-width: 950px; margin: 0 auto; text-align: center; }

/* --- TITRE --- */
.secondary-hero__title { color: #ffffff; font-size: 48px; font-weight: 600; line-height: 1.15; }

.secondary-hero__title h1, .secondary-hero__title h2, .secondary-hero__title h3, .secondary-hero__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.secondary-hero__title span, .secondary-hero__title strong { color: inherit !important; }

/* --- TRAIT BLEU --- */
.secondary-hero__line { display: block; width: 75px; height: 4px; margin: 24px auto 0; background-color: #002075; }

/* --- TABLETTE --- */
@media screen and (max-width: 991px) { .secondary-hero { min-height: 430px; padding: 135px 25px 80px; } .secondary-hero__title { font-size: 40px; } }

/* --- MOBILE --- */
@media screen and (max-width: 600px) { .secondary-hero { min-height: 370px; padding: 120px 20px 70px; } .secondary-hero__title { font-size: 32px; line-height: 1.2; } .secondary-hero__line { width: 60px; height: 3px; margin-top: 20px; } }

/*----------------------------------------QSN------------------------------------------*/
.premium-about { position: relative; padding: 130px 30px; overflow: hidden; background-color: #ffffff; }

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

.premium-about__visual { position: relative; padding: 0 0 28px 28px; }

.premium-about__visual::before { content: ""; position: absolute; bottom: 0; left: 0; width: 68%; height: 70%; background-color: #002075; }

.premium-about__image-wrapper { position: relative; height: 600px; overflow: hidden; background-color: #eceef3; }

.premium-about__image { display: block; width: 100%; height: 100%; object-fit: cover; animation: premium-about-image 1.3s ease-out both; }

.premium-about__paint { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; background-color: #002075; transform-origin: right center; animation: premium-about-paint 1.25s cubic-bezier(0.77, 0, 0.18, 1) 0.15s forwards; }

@keyframes premium-about-image { from { opacity: 0;
    transform: scale(1.04); }
  to { opacity: 1;
    transform: scale(1); } }

@keyframes premium-about-paint { from { transform: scaleX(1); }
  to { transform: scaleX(0); } }

.premium-about__content { max-width: 510px; }

.premium-about__eyebrow { margin-bottom: 20px; color: #002075; font-size: 13px; font-weight: 700; letter-spacing: 3px; line-height: 1.4; text-transform: uppercase; }

.premium-about__title { color: #111827; font-size: 43px; font-weight: 600; line-height: 1.17; }

.premium-about__title h1, .premium-about__title h2, .premium-about__title h3, .premium-about__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-about__line { display: block; width: 70px; height: 3px; margin: 28px 0; background-color: #002075; transform-origin: left center; animation: premium-about-line 0.9s ease-out 0.8s both; }

@keyframes premium-about-line { from { transform: scaleX(0); }
  to { transform: scaleX(1); } }

.premium-about__description { color: #4b5563; font-size: 18px; line-height: 1.8; }

.premium-about__description p { margin: 0 0 18px; color: inherit; font: inherit; line-height: inherit; }

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

@media screen and (max-width: 991px) { .premium-about { padding: 100px 25px; } .premium-about__container { gap: 60px; } .premium-about__image-wrapper { height: 520px; } .premium-about__title { font-size: 37px; } }

@media screen and (max-width: 767px) { .premium-about { padding: 80px 20px; } .premium-about__container { grid-template-columns: 1fr; gap: 60px; } .premium-about__visual { width: 100%; max-width: 540px; margin: 0 auto; padding: 0 0 20px 20px; } .premium-about__image-wrapper { height: 480px; } .premium-about__content { max-width: 100%; } .premium-about__title { font-size: 33px; } }

@media screen and (max-width: 480px) { .premium-about { padding: 65px 18px; } .premium-about__image-wrapper { height: 390px; } .premium-about__title { font-size: 29px; } }

@media (prefers-reduced-motion: reduce) { .premium-about__image, .premium-about__paint, .premium-about__line { animation: none; } .premium-about__paint { display: none; } }

/*---------------------------------------SERVICES--------------------------------------------*/
.sector-cards-section { position: relative; width: 100vw; max-width: none; margin-left: calc(50% - 50vw); padding: 0; overflow: hidden; background-color: #111111; }

.sector-cards { display: flex; flex-wrap: nowrap; width: 100%; max-width: none; margin: 0; padding: 0; }

.sector-card { position: relative; display: flex; flex: 1 1 0; align-items: flex-end; min-width: 0; min-height: 540px; overflow: hidden; border-right: 1px solid rgba(255, 255, 255, 0.22); border-radius: 0; color: #ffffff; text-decoration: none; transition: flex-grow 0.55s cubic-bezier(0.22, 1, 0.36, 1), flex-basis 0.55s cubic-bezier(0.22, 1, 0.36, 1); }

.sector-card:last-child { border-right: 0; }

.sector-card-img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease; }

.sector-card-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0.68) 100%); transition: background 0.5s ease; }

.sector-card-content { position: relative; z-index: 2; width: 100%; padding: 0 34px 58px; transform: translateY(0); transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); }

.sector-card-title { color: #ffffff; font-size: 28px; font-weight: 600; line-height: 1.18; }

.sector-card-title h2, .sector-card-title h3, .sector-card-title h4, .sector-card-title h5, .sector-card-title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.sector-card-title span, .sector-card-title strong { color: inherit !important; }

.sector-card-line { display: block; width: 54px; height: 3px; margin: 18px 0 24px; overflow: hidden; background-color: #002075; transform-origin: left center; transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.3s ease; }

.sector-card-button { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; min-height: 50px; margin: 0; padding: 12px 22px; border: 2px solid #ffffff; border-radius: 0; color: #ffffff; background-color: transparent; font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

.sector-card-button p { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit; line-height: inherit; }

.sector-card:hover, .sector-card:focus-visible { flex-grow: 1.35; }

.sector-card:hover .sector-card-img, .sector-card:focus-visible .sector-card-img { transform: scale(1.08); filter: saturate(1.05); }

.sector-card:hover .sector-card-overlay, .sector-card:focus-visible .sector-card-overlay { background: linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.62) 100%); }

.sector-card:hover .sector-card-content, .sector-card:focus-visible .sector-card-content { transform: translateY(-8px); }

.sector-card:hover .sector-card-line, .sector-card:focus-visible .sector-card-line { width: 95px; background-color: #002075; }

.sector-card:hover .sector-card-button, .sector-card:focus-visible .sector-card-button { color: #002075; background-color: #ffffff; border-color: #ffffff; }

.sector-card:hover .sector-card-title, .sector-card:hover .sector-card-title h2, .sector-card:hover .sector-card-title h3, .sector-card:hover .sector-card-title h4, .sector-card:hover .sector-card-title h5, .sector-card:hover .sector-card-title p, .sector-card:hover .sector-card-title span, .sector-card:focus-visible .sector-card-title, .sector-card:focus-visible .sector-card-title h2, .sector-card:focus-visible .sector-card-title h3, .sector-card:focus-visible .sector-card-title h4, .sector-card:focus-visible .sector-card-title h5, .sector-card:focus-visible .sector-card-title p, .sector-card:focus-visible .sector-card-title span { color: #ffffff !important; }

.sector-card:focus-visible { z-index: 3; outline: 3px solid #ffffff; outline-offset: -3px; }

@media screen and (max-width: 1100px) { .sector-cards { flex-wrap: wrap; } .sector-card { flex: 0 0 50%; min-height: 430px; border-bottom: 1px solid rgba(255, 255, 255, 0.22); } .sector-card:nth-child(2n) { border-right: 0; } .sector-card:nth-child(3), .sector-card:nth-child(4) { border-bottom: 0; } .sector-card:hover, .sector-card:focus-visible { flex: 0 0 50%; } .sector-card-content { padding: 0 30px 48px; } }

@media screen and (max-width: 600px) { .sector-card { flex: 0 0 100%; min-height: 390px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.22); } .sector-card:nth-child(3) { border-bottom: 1px solid rgba(255, 255, 255, 0.22); } .sector-card:last-child { border-bottom: 0; } .sector-card:hover, .sector-card:focus-visible { flex: 0 0 100%; } .sector-card-content { padding: 0 24px 40px; } .sector-card-title { font-size: 24px; } .sector-card-line { margin: 15px 0 20px; } .sector-card-button { min-width: 140px; min-height: 48px; padding: 11px 20px; } }

@media (prefers-reduced-motion: reduce) { .sector-card, .sector-card-img, .sector-card-overlay, .sector-card-content, .sector-card-line, .sector-card-button { transition: none; } }

/*----------------------------------------SEO--------------------------------------------*/
.first-activity-div, .second-activity-div, .third-activity-div { position: relative; width: calc(100% - 60px) !important; max-width: 1200px !important; margin: 80px auto !important; padding: 60px !important; overflow: hidden; border: 1px solid rgba(0, 32, 117, 0.12); border-radius: 0 !important; background: #ffffff !important; box-shadow: 0 25px 70px rgba(0, 32, 117, 0.08) !important; }

.first-activity-div::before, .third-activity-div::before { content: ""; position: absolute; top: 0; left: 0; width: 90px; height: 4px; background-color: #002075; }

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

.first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { position: relative; z-index: 2; margin: 0 !important; padding: 0 !important; --bs-gutter-x: 70px; }

.first-activity-div .card, .second-activity-div .card, .third-activity-div .card { position: relative; width: 100%; min-height: 380px; overflow: hidden; border: 0 !important; border-radius: 0 !important; background-color: #e8ebf2; box-shadow: none !important; transition: transform 0.5s ease; }

.first-activity-div .card::after, .second-activity-div .card::after, .third-activity-div .card::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 32, 117, 0.02) 0%, rgba(0, 32, 117, 0.18) 100%); pointer-events: none; }

.first-activity-div .card:hover, .second-activity-div .card:hover, .third-activity-div .card:hover { transform: scale(1.015); }

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

.first-activity-title, .second-activity-title, .third-activity-title { position: relative; margin: 0 0 30px !important; padding-bottom: 28px; }

.first-activity-title::after, .second-activity-title::after, .third-activity-title::after { content: ""; position: absolute; bottom: 0; left: 0; width: 70px; height: 3px; background-color: #002075; }

.first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { margin: 0 !important; color: #111827 !important; font-size: 42px !important; font-weight: 600 !important; line-height: 1.18 !important; }

.first-activity-title h2 span, .second-activity-title h2 span, .third-activity-title h2 span { color: inherit !important; font: inherit !important; line-height: inherit !important; }

.first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { margin: 0 !important; color: #4b5563 !important; font-size: 18px !important; font-weight: 400 !important; line-height: 1.8 !important; }

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

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

.first-activity-div .card a, .second-activity-div .card a, .third-activity-div .card a { color: #ffffff; text-decoration: none; }

.second-activity-div { border-color: #002075; background: #002075 !important; box-shadow: 0 30px 75px rgba(0, 32, 117, 0.2) !important; }

.second-activity-div::before { content: ""; position: absolute; top: 0; right: 0; width: 150px; height: 4px; background-color: #ffffff; }

.second-activity-div::after { content: ""; position: absolute; right: -120px; bottom: -170px; width: 360px; height: 360px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 50%; pointer-events: none; }

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

.second-activity-title::after { background-color: #ffffff; }

.second-activity-div .lead, .second-activity-div .lead p { color: rgba(255, 255, 255, 0.82) !important; }

.second-activity-div .card { border: 1px solid rgba(255, 255, 255, 0.28) !important; background-color: rgba(255, 255, 255, 0.1); }

.second-activity-div .card::after { background: linear-gradient(180deg, rgba(0, 32, 117, 0.02) 0%, rgba(0, 14, 52, 0.28) 100%); }

@media screen and (max-width: 991px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 40px) !important; margin: 60px auto !important; padding: 45px !important; } .first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { --bs-gutter-x: 40px; --bs-gutter-y: 45px; } .first-activity-div .col-sm-8, .second-activity-div .col-sm-8, .third-activity-div .col-sm-8 { width: 100%; max-width: 620px; margin-right: auto !important; margin-left: auto !important; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { min-height: 420px; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 36px !important; } }

@media screen and (max-width: 767px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 30px) !important; margin: 45px auto !important; padding: 30px !important; } .first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { --bs-gutter-y: 35px; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { min-height: 340px; } .first-activity-title, .second-activity-title, .third-activity-title { margin-bottom: 24px !important; padding-bottom: 22px; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 31px !important; } .first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { font-size: 18px !important; line-height: 1.7 !important; } }

@media screen and (max-width: 480px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 24px) !important; padding: 24px !important; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { min-height: 290px; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 27px !important; } }

/*-----------------------------------WHY------------------------------------------*/
.services-block { position: relative; padding: 85px 30px; overflow: hidden; background-color: #f7f8fb; }

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

.services-block__left { position: relative; min-height: 500px; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: cover; }

.services-block__left::before { content: ""; position: absolute; top: 0; left: 0; z-index: 3; width: 80px; height: 4px; background-color: #002075; }

.services-block__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0.78) 100%); }

.services-block__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; height: 100%; min-height: 500px; padding: 42px; color: #ffffff; }

.services-block__main-title { max-width: 480px; color: #ffffff; font-size: 36px; font-weight: 600; line-height: 1.15; }

.services-block__main-title h2, .services-block__main-title h3, .services-block__main-title h4, .services-block__main-title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.services-block__main-title span, .services-block__main-title strong { color: inherit !important; }

.services-block__main-title::after { content: ""; display: block; width: 65px; height: 3px; margin: 20px 0; background-color: #002075; }

.services-block__main-description { max-width: 500px; color: rgba(255, 255, 255, 0.86); font-size: 17px; line-height: 1.6; }

.services-block__main-description p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.services-block__button { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-width: 180px; min-height: 50px; margin-top: 24px; padding: 12px 25px; border: 2px solid #ffffff; border-radius: 0; color: #ffffff !important; background-color: transparent; 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, transform 0.3s ease; }

.services-block__button p, .services-block__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit; line-height: inherit; }

.services-block__button:hover, .services-block__button:focus { color: #002075 !important; background-color: #ffffff; transform: translateY(-3px); }

.services-block__right { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; }

.services-block__card { position: relative; display: flex; flex-direction: column; justify-content: flex-start; min-height: 0; padding: 26px 24px; overflow: hidden; border: 1px solid rgba(0, 32, 117, 0.12); border-radius: 0; background-color: #ffffff; box-shadow: 0 12px 35px rgba(0, 32, 117, 0.05); }

.services-block__card::after { content: ""; position: absolute; right: 0; bottom: 0; width: 40px; height: 3px; background-color: #002075; }

.services-block__card-icon { display: flex; align-items: center; justify-content: center; flex: none; width: 70px; height: 70px; margin-bottom: 18px; padding: 11px; background-color: #002075; }

.services-block__card-icon img { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1); }

.services-block__card-title { margin-bottom: 10px; color: #111827; font-size: 20px; font-weight: 600; line-height: 1.2; }

.services-block__card-title h2, .services-block__card-title h3, .services-block__card-title h4, .services-block__card-title h5, .services-block__card-title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.services-block__card-title span, .services-block__card-title strong { color: inherit !important; }

.services-block__card-description { color: #5b6472; font-size: 16px; line-height: 1.5; }

.services-block__card-description p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

@media screen and (max-width: 991px) { .services-block { padding: 75px 25px; } .services-block__container { grid-template-columns: 1fr; } .services-block__left, .services-block__content { min-height: 460px; } .services-block__content { padding: 38px; } .services-block__right { grid-template-rows: auto; } .services-block__card { min-height: 220px; } }

@media screen and (max-width: 767px) { .services-block { padding: 60px 20px; } .services-block__right { grid-template-columns: 1fr; } .services-block__left, .services-block__content { min-height: 430px; } .services-block__content { padding: 30px; } .services-block__main-title { font-size: 31px; } .services-block__card { min-height: 0; padding: 26px; } }

@media screen and (max-width: 480px) { .services-block { padding: 50px 18px; } .services-block__left, .services-block__content { min-height: 400px; } .services-block__content { padding: 25px 22px; } .services-block__main-title { font-size: 27px; } .services-block__button { width: 100%; } .services-block__card-description { font-size: 16px; } }

/*---------------------------------------AVIS-------------------------------------------*/
.reviews-section { position: relative; padding: 80px 30px; overflow: hidden; background-color: #ffffff; }

.reviews-section__container { width: 100%; max-width: 1200px; margin: 0 auto; }

.reviews-section__header { max-width: 720px; margin: 0 auto 40px; text-align: center; }

.reviews-section__eyebrow { margin-bottom: 14px; color: #002075; font-size: 13px; font-weight: 700; letter-spacing: 3px; line-height: 1.4; text-transform: uppercase; }

.reviews-section__title { color: #111827; font-size: 40px; font-weight: 600; line-height: 1.15; }

.reviews-section__title h1, .reviews-section__title h2, .reviews-section__title h3, .reviews-section__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.reviews-section__title span, .reviews-section__title strong { color: inherit !important; }

.reviews-section__line { display: block; width: 70px; height: 3px; margin: 20px auto; background-color: #002075; }

.reviews-section__intro { max-width: 650px; margin: 0 auto; color: #5b6472; font-size: 17px; line-height: 1.65; }

.reviews-section__intro p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.reviews-section__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.review-card { position: relative; display: flex; flex-direction: column; min-height: 280px; padding: 26px; overflow: hidden; border: 1px solid rgba(0, 32, 117, 0.12); background-color: #ffffff; box-shadow: 0 12px 35px rgba(0, 32, 117, 0.05); }

.review-card::after { content: ""; position: absolute; right: 0; bottom: 0; width: 45px; height: 3px; background-color: #002075; }

.review-card__top { display: grid; grid-template-columns: 46px 1fr 30px; align-items: center; gap: 12px; }

.review-card__avatar { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; color: #ffffff; background-color: #002075; font-size: 18px; font-weight: 700; line-height: 1; }

.review-card__identity h3 { margin: 0 0 3px; color: #111827; font-size: 17px; font-weight: 600; line-height: 1.25; }

.review-card__identity span { color: #727986; font-size: 13px; line-height: 1.3; }

.review-card__google { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid rgba(0, 32, 117, 0.12); border-radius: 50%; color: #4285f4; font-size: 16px; font-weight: 700; }

.review-card__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 20px 0 16px; }

.review-card__stars { display: flex; gap: 1px; color: #002075; font-size: 16px; line-height: 1; }

.review-card__score { color: #111827; font-size: 13px; font-weight: 700; }

.review-card__date { color: #7a818e; font-size: 13px; }

.review-card__text { flex-grow: 1; margin: 0; color: #414957; font-size: 16px; line-height: 1.6; }

.review-card__visit { margin-top: auto; padding-top: 16px; color: #7a818e; font-size: 13px; line-height: 1.4; }

.reviews-section__footer { display: flex; justify-content: center; margin-top: 35px; }

.reviews-section__button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 52px; padding: 13px 26px; border: 2px solid #002075; border-radius: 0; color: #002075; background-color: transparent; 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, transform 0.3s ease; }

.reviews-section__button span { font-size: 21px; line-height: 1; transition: transform 0.3s ease; }

.reviews-section__button:hover, .reviews-section__button:focus { color: #ffffff; background-color: #002075; transform: translateY(-3px); }

.reviews-section__button:hover span, .reviews-section__button:focus span { transform: translateX(5px); }

@media screen and (max-width: 991px) { .reviews-section { padding: 70px 25px; } .reviews-section__grid { grid-template-columns: 1fr 1fr; } .review-card:last-child { grid-column: 1 / -1; } .reviews-section__title { font-size: 36px; } }

@media screen and (max-width: 767px) { .reviews-section { padding: 60px 20px; } .reviews-section__grid { grid-template-columns: 1fr; } .review-card:last-child { grid-column: auto; } .reviews-section__title { font-size: 31px; } }

@media screen and (max-width: 480px) { .reviews-section { padding: 50px 18px; } .reviews-section__header { margin-bottom: 32px; } .reviews-section__title { font-size: 28px; } .review-card { min-height: 0; padding: 23px 20px; } .reviews-section__button { width: 100%; } }

/*----------------------------------------MAPS---------------------------------------------*/
.contact-map-section { position: relative; padding: 85px 30px; overflow: hidden; background-color: #f7f8fb; }

.contact-map-container { width: 100%; max-width: 1200px; margin: 0 auto; }

/* EN-TÊTE */
.contact-map-header { max-width: 780px; margin: 0 auto 48px; text-align: center; }

.contact-map-eyebrow { margin-bottom: 12px; color: #002075; font-size: 14px; font-weight: 700; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; }

.contact-map-heading { color: #111827; font-size: 40px; font-weight: 600; line-height: 1.15; }

.contact-map-heading h1, .contact-map-heading h2, .contact-map-heading h3, .contact-map-heading h4, .contact-map-heading p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.contact-map-heading span, .contact-map-heading strong { color: inherit !important; }

.contact-map-title-line { display: block; width: 68px; height: 3px; margin: 20px auto; background-color: #002075; }

.contact-map-description { max-width: 680px; margin: 0 auto; color: #5b6472; font-size: 17px; line-height: 1.65; }

.contact-map-description p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

/* INFORMATIONS */
.contact-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }

.contact-info-card { display: flex; align-items: center; gap: 18px; min-height: 105px; padding: 24px; border: 1px solid rgba(0, 32, 117, 0.12); border-radius: 0; background-color: #ffffff; color: inherit; text-decoration: none; box-shadow: 0 12px 35px rgba(0, 32, 117, 0.05); transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; }

a.contact-info-card:hover, a.contact-info-card:focus { border-color: #002075; box-shadow: 0 18px 40px rgba(0, 32, 117, 0.1); transform: translateY(-4px); }

.contact-info-icon { display: flex; flex: 0 0 50px; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 0; background-color: #002075; color: #ffffff; font-size: 19px; }

.contact-info-content { color: #111827; font-size: 16px; font-weight: 600; line-height: 1.45; }

.contact-info-content p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.contact-info-content span { color: inherit !important; }

/* CARTE */
.contact-map-frame { position: relative; padding: 0 10px 10px 0; }

.contact-map-frame::after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 0; width: calc(100% - 18px); height: calc(100% - 18px); background-color: #002075; }

.contact-map-wrapper { position: relative; z-index: 1; width: 100%; height: 430px; overflow: hidden; background-color: #e9edf5; }

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

/* TABLETTE */
@media screen and (max-width: 991px) { .contact-map-section { padding: 75px 25px; } .contact-map-header { margin-bottom: 42px; } .contact-map-heading { font-size: 36px; } .contact-info-grid { grid-template-columns: 1fr; } .contact-info-card { min-height: 95px; } .contact-map-wrapper { height: 380px; } }

/* MOBILE */
@media screen and (max-width: 600px) { .contact-map-section { padding: 60px 18px; } .contact-map-header { margin-bottom: 35px; } .contact-map-eyebrow { font-size: 12px; letter-spacing: 0.12em; } .contact-map-heading { font-size: 30px; } .contact-map-title-line { width: 58px; margin: 18px auto; } .contact-map-description { font-size: 16px; line-height: 1.6; } .contact-info-grid { gap: 14px; margin-bottom: 30px; } .contact-info-card { min-height: 90px; padding: 20px; } .contact-info-icon { flex-basis: 46px; width: 46px; height: 46px; } .contact-map-wrapper { height: 320px; } }

@media (prefers-reduced-motion: reduce) { .contact-info-card { transition: none; } }

/*--------------------------------------CTA------------------------------------------*/
.custom-cta { position: relative; display: flex; align-items: center; justify-content: center; width: 100vw; max-width: none; min-height: 480px; margin-left: calc(50% - 50vw); padding: 90px 30px; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; }

.custom-cta__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.52) 0%, rgba(0, 0, 0, 0.78) 100%); }

.custom-cta__content { position: relative; z-index: 2; width: 100%; max-width: 850px; margin: 0 auto; text-align: center; }

.custom-cta__title { color: #ffffff; font-size: 42px; font-weight: 600; line-height: 1.15; }

.custom-cta__title h1, .custom-cta__title h2, .custom-cta__title h3, .custom-cta__title h4, .custom-cta__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.custom-cta__title span, .custom-cta__title strong { color: inherit !important; }

.custom-cta__line { display: block; width: 70px; height: 3px; margin: 22px auto; background-color: #002075; }

.custom-cta__description { max-width: 700px; margin: 0 auto; color: rgba(255, 255, 255, 0.9); font-size: 18px; line-height: 1.65; }

.custom-cta__description p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.custom-cta__description span, .custom-cta__description strong { color: inherit !important; }

.custom-cta__button { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 52px; margin-top: 30px; padding: 13px 28px; border: 2px solid #002075; border-radius: 0; background-color: #002075; color: #ffffff !important; 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; }

.custom-cta__button p, .custom-cta__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit; line-height: inherit; }

.custom-cta__button:hover, .custom-cta__button:focus { border-color: #ffffff; background-color: transparent; color: #ffffff !important; transform: translateY(-3px); }

@media screen and (max-width: 991px) { .custom-cta { min-height: 430px; padding: 75px 25px; } .custom-cta__title { font-size: 37px; } }

@media screen and (max-width: 767px) { .custom-cta { min-height: 400px; padding: 65px 20px; background-attachment: scroll; } .custom-cta__title { font-size: 31px; line-height: 1.2; } .custom-cta__description { font-size: 17px; line-height: 1.6; } .custom-cta__button { width: 100%; max-width: 300px; } }

@media (prefers-reduced-motion: reduce) { .custom-cta { background-attachment: scroll; } .custom-cta__button { transition: none; } }

/*------------------------------------BULLET POINT---------------------------------------------*/
.premium-service { position: relative; padding: 100px 30px; overflow: hidden; background-color: #f7f8fb; }

.premium-service__container { display: grid; grid-template-columns: 0.95fr 1.05fr; align-items: center; gap: 75px; width: 100%; max-width: 1200px; margin: 0 auto; }

.premium-service__visual { position: relative; padding: 0 0 24px 24px; }

.premium-service__visual::before { content: ""; position: absolute; top: -24px; left: 0; width: 105px; height: 4px; background-color: #002075; }

.premium-service__image-frame { position: relative; z-index: 2; height: 570px; overflow: hidden; background-color: #e6e9f0; }

.premium-service__image { display: block; width: 100%; height: 100%; object-fit: cover; }

.premium-service__image-decoration { position: absolute; bottom: 0; left: 0; z-index: 1; width: calc(100% - 24px); height: calc(100% - 65px); background-color: #002075; }

.premium-service__content { position: relative; }

.premium-service__title { max-width: 580px; color: #111827; font-size: 40px; font-weight: 600; line-height: 1.15; }

.premium-service__title h1, .premium-service__title h2, .premium-service__title h3, .premium-service__title h4, .premium-service__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-service__title span, .premium-service__title strong { color: inherit !important; }

.premium-service__line { display: block; width: 70px; height: 3px; margin: 22px 0; background-color: #002075; }

.premium-service__description { max-width: 610px; color: #5b6472; font-size: 17px; line-height: 1.65; }

.premium-service__description p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-service__description span, .premium-service__description strong { color: inherit !important; }

.premium-service__list { display: flex; flex-direction: column; gap: 0; max-width: 610px; margin: 28px 0 0; padding: 0; list-style: none; }

.premium-service__item { display: flex; align-items: flex-start; gap: 14px; width: 100%; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(0, 32, 117, 0.13); }

.premium-service__item:first-child { padding-top: 0; }

.premium-service__item-icon { position: relative; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; background-color: #002075; }

.premium-service__item-icon::before { content: ""; position: absolute; top: 5px; left: 7px; width: 6px; height: 9px; border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff; transform: rotate(45deg); }

.premium-service__item-text { color: #222b38; font-size: 16px; font-weight: 600; line-height: 1.45; }

.premium-service__item-text p { margin: 0; padding: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-service__item-text span, .premium-service__item-text strong { color: inherit !important; }

.premium-service__button { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 52px; margin-top: 32px; padding: 13px 28px; border: 2px solid #002075; border-radius: 0; background-color: transparent; color: #002075 !important; 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, transform 0.3s ease; }

.premium-service__button p, .premium-service__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit; line-height: inherit; }

.premium-service__button:hover, .premium-service__button:focus { background-color: #002075; color: #ffffff !important; transform: translateY(-3px); }

@media screen and (max-width: 991px) { .premium-service { padding: 80px 25px; } .premium-service__container { grid-template-columns: 1fr; gap: 60px; } .premium-service__visual { width: 100%; max-width: 680px; margin: 0 auto; } .premium-service__content { width: 100%; max-width: 680px; margin: 0 auto; } .premium-service__image-frame { height: 500px; } .premium-service__title { font-size: 36px; } .premium-service__description, .premium-service__list { max-width: none; } }

@media screen and (max-width: 600px) { .premium-service { padding: 65px 18px; } .premium-service__container { gap: 45px; } .premium-service__visual { padding: 0 0 15px 15px; } .premium-service__visual::before { top: -18px; width: 80px; } .premium-service__image-frame { height: 390px; } .premium-service__image-decoration { width: calc(100% - 15px); height: calc(100% - 45px); } .premium-service__title { font-size: 30px; line-height: 1.2; } .premium-service__description { font-size: 16px; line-height: 1.6; } .premium-service__item { padding: 13px 0; } .premium-service__button { width: 100%; } }

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

.premium-service-reverse { position: relative; padding: 100px 30px; overflow: hidden; background-color: #ffffff; }

.premium-service-reverse__container { display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 75px; width: 100%; max-width: 1200px; margin: 0 auto; }

.premium-service-reverse__content { position: relative; }

.premium-service-reverse__title { max-width: 580px; color: #111827; font-size: 40px; font-weight: 600; line-height: 1.15; }

.premium-service-reverse__title h1, .premium-service-reverse__title h2, .premium-service-reverse__title h3, .premium-service-reverse__title h4, .premium-service-reverse__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-service-reverse__title span, .premium-service-reverse__title strong { color: inherit !important; }

.premium-service-reverse__line { display: block; width: 70px; height: 3px; margin: 22px 0; background-color: #002075; }

.premium-service-reverse__description { max-width: 610px; color: #5b6472; font-size: 17px; line-height: 1.65; }

.premium-service-reverse__description p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-service-reverse__description span, .premium-service-reverse__description strong { color: inherit !important; }

.premium-service-reverse__list { display: flex; flex-direction: column; gap: 0; max-width: 610px; margin: 28px 0 0; padding: 0; list-style: none; }

.premium-service-reverse__item { display: flex; align-items: flex-start; gap: 14px; width: 100%; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(0, 32, 117, 0.13); }

.premium-service-reverse__item:first-child { padding-top: 0; }

.premium-service-reverse__item-icon { position: relative; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; background-color: #002075; }

.premium-service-reverse__item-icon::before { content: ""; position: absolute; top: 5px; left: 7px; width: 6px; height: 9px; border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff; transform: rotate(45deg); }

.premium-service-reverse__item-text { color: #222b38; font-size: 16px; font-weight: 600; line-height: 1.45; }

.premium-service-reverse__item-text p { margin: 0; padding: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-service-reverse__item-text span, .premium-service-reverse__item-text strong { color: inherit !important; }

.premium-service-reverse__button { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 52px; margin-top: 32px; padding: 13px 28px; border: 2px solid #002075; border-radius: 0; background-color: transparent; color: #002075 !important; 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, transform 0.3s ease; }

.premium-service-reverse__button p, .premium-service-reverse__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit; line-height: inherit; }

.premium-service-reverse__button:hover, .premium-service-reverse__button:focus { background-color: #002075; color: #ffffff !important; transform: translateY(-3px); }

.premium-service-reverse__visual { position: relative; padding: 0 24px 24px 0; }

.premium-service-reverse__visual::before { content: ""; position: absolute; top: -24px; right: 0; width: 105px; height: 4px; background-color: #002075; }

.premium-service-reverse__image-frame { position: relative; z-index: 2; height: 570px; overflow: hidden; background-color: #e6e9f0; }

.premium-service-reverse__image { display: block; width: 100%; height: 100%; object-fit: cover; }

.premium-service-reverse__image-decoration { position: absolute; right: 0; bottom: 0; z-index: 1; width: calc(100% - 24px); height: calc(100% - 65px); background-color: #002075; }

@media screen and (max-width: 991px) { .premium-service-reverse { padding: 80px 25px; } .premium-service-reverse__container { grid-template-columns: 1fr; gap: 60px; } .premium-service-reverse__visual { order: 1; width: 100%; max-width: 680px; margin: 0 auto; } .premium-service-reverse__content { order: 2; width: 100%; max-width: 680px; margin: 0 auto; } .premium-service-reverse__image-frame { height: 500px; } .premium-service-reverse__title { font-size: 36px; } .premium-service-reverse__description, .premium-service-reverse__list { max-width: none; } }

@media screen and (max-width: 600px) { .premium-service-reverse { padding: 65px 18px; } .premium-service-reverse__container { gap: 45px; } .premium-service-reverse__visual { padding: 0 15px 15px 0; } .premium-service-reverse__visual::before { top: -18px; width: 80px; } .premium-service-reverse__image-frame { height: 390px; } .premium-service-reverse__image-decoration { width: calc(100% - 15px); height: calc(100% - 45px); } .premium-service-reverse__title { font-size: 30px; line-height: 1.2; } .premium-service-reverse__description { font-size: 16px; line-height: 1.6; } .premium-service-reverse__item { padding: 13px 0; } .premium-service-reverse__button { width: 100%; } }

@media (prefers-reduced-motion: reduce) { .premium-service-reverse__button { transition: none; } }

/*------------------------------------------GAERIE------------------------------------------*/
.premium-gallery { position: relative; padding: 100px 30px; overflow: hidden; background-color: #f7f8fb; }

.premium-gallery__container { width: 100%; max-width: 1200px; margin: 0 auto; }

.premium-gallery__header { max-width: 800px; margin: 0 auto 50px; text-align: center; }

.premium-gallery__eyebrow { margin-bottom: 12px; color: #002075; font-size: 14px; font-weight: 700; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; }

.premium-gallery__title { color: #111827; font-size: 40px; font-weight: 600; line-height: 1.15; }

.premium-gallery__title h1, .premium-gallery__title h2, .premium-gallery__title h3, .premium-gallery__title h4, .premium-gallery__title p { margin: 0; color: inherit; font: inherit; line-height: inherit; }

.premium-gallery__title span, .premium-gallery__title strong { color: inherit !important; }

.premium-gallery__line { display: block; width: 70px; height: 3px; margin: 22px auto 0; background-color: #002075; }

.premium-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.premium-gallery__item { position: relative; display: block; width: 100%; height: 340px; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background-color: #e6e9f0; cursor: pointer; }

.premium-gallery__image { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }

.premium-gallery__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.15) 100%); transition: background-color 0.35s ease; }

.premium-gallery__zoom { position: absolute; top: 50%; left: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; background-color: #002075; color: #ffffff; font-size: 20px; opacity: 0; transform: translate(-50%, -40%); transition: opacity 0.35s ease, transform 0.35s ease; }

.premium-gallery__item:hover .premium-gallery__image, .premium-gallery__item:focus-visible .premium-gallery__image { transform: scale(1.07); }

.premium-gallery__item:hover .premium-gallery__overlay, .premium-gallery__item:focus-visible .premium-gallery__overlay { background-color: rgba(0, 0, 0, 0.35); }

.premium-gallery__item:hover .premium-gallery__zoom, .premium-gallery__item:focus-visible .premium-gallery__zoom { opacity: 1; transform: translate(-50%, -50%); }

.premium-gallery__item:focus-visible { outline: 3px solid #002075; outline-offset: 4px; }

.premium-gallery__lightbox { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 70px 110px; visibility: hidden; opacity: 0; transition: visibility 0.35s ease, opacity 0.35s ease; }

.premium-gallery__lightbox.is-open { visibility: visible; opacity: 1; }

.premium-gallery__lightbox-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.94); cursor: pointer; }

.premium-gallery__lightbox-content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }

.premium-gallery__lightbox-image { display: block; max-width: 100%; max-height: 82vh; object-fit: contain; opacity: 0; transform: scale(0.96); transition: opacity 0.25s ease, transform 0.25s ease; }

.premium-gallery__lightbox.is-open .premium-gallery__lightbox-image { opacity: 1; transform: scale(1); }

.premium-gallery__close { position: absolute; top: 25px; right: 30px; z-index: 4; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0; border: 2px solid #ffffff; border-radius: 0; background-color: transparent; color: #ffffff; font-size: 22px; cursor: pointer; transition: color 0.3s ease, background-color 0.3s ease; }

.premium-gallery__close:hover, .premium-gallery__close:focus-visible { background-color: #ffffff; color: #002075; }

.premium-gallery__arrow { position: absolute; top: 50%; z-index: 4; display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; padding: 0; border: 2px solid #ffffff; border-radius: 0; background-color: transparent; color: #ffffff; font-size: 25px; cursor: pointer; transform: translateY(-50%); transition: color 0.3s ease, background-color 0.3s ease; }

.premium-gallery__arrow:hover, .premium-gallery__arrow:focus-visible { background-color: #ffffff; color: #002075; }

.premium-gallery__arrow--previous { left: 30px; }

.premium-gallery__arrow--next { right: 30px; }

.premium-gallery__counter { position: absolute; right: 0; bottom: -38px; left: 0; color: rgba(255, 255, 255, 0.8); font-size: 14px; font-weight: 600; letter-spacing: 0.12em; text-align: center; }

body.premium-gallery-open { overflow: hidden; }

@media screen and (max-width: 991px) { .premium-gallery { padding: 80px 25px; } .premium-gallery__title { font-size: 36px; } .premium-gallery__grid { grid-template-columns: repeat(2, 1fr); } .premium-gallery__item { height: 320px; } .premium-gallery__lightbox { padding: 75px 85px; } }

@media screen and (max-width: 600px) { .premium-gallery { padding: 65px 18px; } .premium-gallery__header { margin-bottom: 35px; } .premium-gallery__title { font-size: 30px; line-height: 1.2; } .premium-gallery__grid { grid-template-columns: 1fr; gap: 15px; } .premium-gallery__item { height: 290px; } .premium-gallery__zoom { width: 48px; height: 48px; opacity: 1; transform: translate(-50%, -50%); } .premium-gallery__lightbox { padding: 75px 15px 95px; } .premium-gallery__close { top: 15px; right: 15px; width: 46px; height: 46px; } .premium-gallery__arrow { top: auto; bottom: 20px; width: 48px; height: 48px; transform: none; } .premium-gallery__arrow--previous { left: calc(50% - 58px); } .premium-gallery__arrow--next { right: calc(50% - 58px); } .premium-gallery__counter { bottom: -45px; } }

@media (prefers-reduced-motion: reduce) { .premium-gallery__image, .premium-gallery__overlay, .premium-gallery__zoom, .premium-gallery__lightbox, .premium-gallery__lightbox-image { transition: none; } }

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