body{padding-top:60px;font-family:Arial,sans-serif;color:#1f2937}
img{max-width:100%;height:auto}
.section{padding:15px 0}
.section-title{margin-top:.5rem;margin-bottom:1rem;font-weight:800;color:#0f172a;text-align:center}
.section-title::after{content:"";display:block;width:80px;height:2px;background:currentColor;margin:12px auto 0}
.brand-text{font-weight:700;letter-spacing:.5px}
.navbar-scrolled .navbar-logo{height:32px}
.navbar{background-color:#fffffff5;backdrop-filter:blur(8px);box-shadow:0 2px 20px #00000014}
.navbar-brand,.navbar .nav-link{color:#603962!important;font-weight:600;text-transform:uppercase}
.navbar .nav-link:hover,.navbar .nav-link.active{color:#5293F3!important}
.dropdown-menu{border:0;text-transform:uppercase;box-shadow:0 12px 30px #0000001a}
.hero{position:relative;display:flex;align-items:center;min-height:80vh;text-align:center;color:#fff;background:linear-gradient(180deg,#131c4f4d 0%,#131c4fb3 100%),url(/images/bg-hero.webp) center / cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000026,#0000004d)}
.hero .container{position:relative;z-index:1}
.hero-badge{display:inline-block;margin-bottom:1rem;padding:.625rem 1rem;border:1px solid #ffffff2e;border-radius:999px;background:#ffffff1f;font-size:.95rem}
.hero h1{margin-bottom:1rem;font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;font-weight:800}
.hero .lead{max-width:850px;margin:0 auto 1.75rem;color:#ffffffeb}
.hero-points{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;font-weight:600}
.hero-points span{padding:.625rem 1rem;border:1px solid #ffffff29;border-radius:999px;background:#ffffff1a;transition:all .25s ease}
.hero-points span:hover{box-shadow:0 0 0 2px #FFD700;color:#FFD700}
.card-soft{height:100%;padding:1.5rem;border:1px solid #e9ecef;border-radius:1rem;background-color:#f8f9fa;box-shadow:0 10px 30px #0000000d;transition:transform .25s ease,box-shadow .25s ease}
.card-soft:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001a}
.card-soft h3{margin-bottom:.875rem;font-size:1.25rem;font-weight:700;color:#0b3b8c}
.box{height:100%;padding:25px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 5px 15px #0000000d;transition:all .3s ease}
.box:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a;border-color:#0d6efd}
.box h3,.box h4,.box h5{margin-bottom:10px;font-weight:600}
.box h3{font-size:1.2rem}
.box p{margin:0;font-size:.95rem;color:#555}
.img-soft{border-radius:1.25rem;box-shadow:0 18px 50px #0000001a}
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out;will-change:opacity,transform}
.fade-in.visible{opacity:1;transform:translateY(0)}
.faq-item{margin-bottom:1rem;padding:1.5rem;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #0000000d}
.pourquoi-contact-card{padding:2rem;border:1px solid #e5e7eb;border-radius:1.25rem;background:#f8f9fa;box-shadow:0 10px 30px #0000000d}
.pourquoi-contact-item{padding:1.5rem;border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 6px 20px #0000000a}
.list-check{margin:1.25rem 0 0;padding-left:0;list-style:none}
.list-check li{margin-bottom:.75rem}
.list-check li::before{content:"\2713";margin-right:.625rem;color:#115B17;font-weight:700}
.btn-light-custom{padding:12px 24px;border:none;border-radius:999px;background:#fff;color:#0b3b8c;font-weight:700;transition:all .25s ease}
.btn-light-custom:hover{background:#F99A3B;color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px #0b3b8c40}
.btn-light-custom:active{transform:translateY(0);box-shadow:0 4px 10px #00000026}
.btn-outline-light-custom{padding:.75rem 1.5rem;border:1px solid #ffffff73;border-radius:999px;color:#fff;font-weight:700}
.btn-outline-light-custom:hover{color:#fff;opacity:.95}
.bd-green{color:#fff;background-color:#115B17}
.btn-green{color:#fff;background-color:#115B17;border-color:#033908}
.btn-green:hover{color:#fff;background-color:#003304;border-color:#6A0A14}
.prix-prestation{margin-top:1rem;font-weight:700;font-size:.95rem;color:#0f172a}
.prix-prestation span{display:inline-block;margin-left:.35rem;padding:.35rem .8rem;border-radius:999px;background:#5293f31f;color:#0b3b8c;font-weight:800}
.contact-final-box{padding:3rem 2rem;text-align:center;color:#fff;background:linear-gradient(135deg,#0b3b8c,#406BAB);box-shadow:0 18px 50px #0b3b8c2e}
.contact-final-box h2,.contact-final-box h3,.contact-final-box p{color:#fff}
.contact-final-actions{display:flex;flex-direction:column;align-items:center;gap:.875rem;margin-top:1.25rem}
.contact-final-actions .btn{min-width:220px}
.form-control:focus{box-shadow:none;outline:0 none}
#contact-page{padding-top:0;background:#fff;margin-bottom:50px}
#contact-page .contact-form .form-group label{color:#4E4E4E;font-size:14px;font-weight:300}
.form-group .form-control{padding:7px 12px;border-color:#f2f2f2;box-shadow:none}
.validation{color:red;display:none;margin:0 0 20px;font-weight:400;font-size:13px}
#sendmessage{color:green;border:1px solid green;display:none;text-align:center;padding:15px;font-weight:600;margin-bottom:15px}
#errormessage{color:red;display:none;border:1px solid red;text-align:left;padding:15px;font-weight:600;margin-bottom:15px}
#formulaire.cacher{display:none}
#sendmessage.show,#errormessage.show,.show{display:block}
#galerie{padding:50px 0;background:#fff}
#galerie h2{font-weight:700}
.multi-carousel-container{position:relative;overflow:hidden;max-width:100%}
.multi-carousel-inner{display:flex;transition:transform .45s ease;will-change:transform}
.multi-carousel-item{flex:0 0 33.3333%;padding:8px}
.multi-carousel-item img{display:block;width:100%;height:220px;object-fit:cover;border-radius:14px;box-shadow:0 6px 16px #00000026}
.multi-carousel-control-prev,.multi-carousel-control-next{position:absolute;top:50%;z-index:10;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#000000a6;cursor:pointer;transform:translateY(-50%)}
.multi-carousel-control-prev{left:10px}
.multi-carousel-control-next{right:10px}
.multi-carousel-control-prev::after,.multi-carousel-control-next::after{color:#fff;font-size:30px;font-weight:700;line-height:1}
.multi-carousel-control-prev::after{content:"‹"}
.multi-carousel-control-next::after{content:"›"}
footer{padding:30px 0;background-color:#06193D;color:#fff;border-top:1px solid #C7D3CF}
footer a{color:#FBC35B;text-decoration:none}
footer a:hover{color:#E7D5B4}
.badges-confiance{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.badge-item{padding:6px 14px;font-size:.85rem;font-weight:700;border-radius:999px;background:#ffd7001f;border:1px solid #ffd70066;color:#FFD700;letter-spacing:.3px;transition:all .25s ease}
.badge-item:hover{background:#FFD700;color:#000;transform:translateY(-2px);box-shadow:0 6px 15px #ffd70066}
@media (max-width: 991.98px) {
.navbar-collapse{margin-top:12px;padding:15px;border-radius:14px;background:#fff}
.hero{min-height:560px}
.multi-carousel-item{flex:0 0 50%}
.multi-carousel-item img{height:210px}
}
@media (min-width: 576px) {
.contact-final-actions{flex-direction:row;justify-content:center}
}
@media (max-width: 768px) {
.hero{min-height:60vh;background:linear-gradient(180deg,#131c4f4d 0%,#131c4fb3 100%),url(/images/bg-hero-768.webp) center / cover no-repeat}
#galerie{padding:40px 0}
.multi-carousel-item{flex:0 0 100%}
.multi-carousel-item img{height:240px}
.multi-carousel-control-prev,.multi-carousel-control-next{width:40px;height:40px}
}
@media (max-width: 767.98px) {
.section{padding:36px 0}
.pourquoi-contact-card,.contact-final-box{padding:1.5rem 1rem}
.pourquoi-contact-item,.faq-item,.card-soft{padding:1.125rem}
.contact-final-actions .btn{width:auto;min-width:auto}
}