 :root {
      --primary: #0f5132;
      --secondary: #198754;
      --dark: #101820;
      --light: #f6f8f7;
    }

    body {
      font-family: Arial, Helvetica, sans-serif;
      color: #263238;
      background: #fff;
    }

    .navbar {
      box-shadow: 0 3px 15px rgba(0,0,0,.08);
    }

    .navbar-brand {
      font-weight: 800;
      color: var(--primary) !important;
    }

   .hero {
    background:
        
		linear-gradient(rgba(16,24,32,.70), rgba(16,24,32,.65)),
        url('../images/epaviste-paris-desktop.webp') center center / cover no-repeat;
        center center / cover no-repeat;
    color: #fff;
    padding: 120px 0 90px;
}

    @media (max-width: 991.98px) {
      .hero {
        background:
          linear-gradient(rgba(16,24,32,.70), rgba(16,24,32,.55)),
          url('../images/epaviste-paris-tablette.webp') center center / cover no-repeat;
        min-height: 600px;
      }
    }

    @media (max-width: 767.98px) {
      .hero {
        background:
          linear-gradient(rgba(16,24,32,.70), rgba(16,24,32,.55)),
          url('../images/epaviste-paris-mobile.webp') center center / cover no-repeat;
        min-height: 520px;
        padding-top: 120px;
        padding-bottom: 60px;
      }

      .hero h1 {
        font-size: 2rem;
        line-height: 1.15;
      }

      .hero .lead {
        font-size: 1rem;
      }
    }

    .hero h1 {
      font-size: clamp(2.2rem, 5vw, 4.2rem);
      font-weight: 900;
      line-height: 1.05;
    }

    .hero .lead {
      font-size: 1.25rem;
      max-width: 760px;
    }

    .badge-soft {
      background: rgba(25,135,84,.16);
      color: #d1f7e0;
      border: 1px solid rgba(209,247,224,.35);
      padding: .6rem .9rem;
      border-radius: 999px;
      font-weight: 700;
    }

    .btn-main {
      background: var(--secondary);
      border-color: var(--secondary);
      color: #fff;
      font-weight: 800;
      padding: .9rem 1.3rem;
      border-radius: 999px;
    }

    .btn-main:hover {
      background: #157347;
      color: #fff;
    }

    .section-padding {
      padding: 40px 0;
    }

    .section-title {
      font-weight: 900;
      color: var(--dark);
      margin-bottom: 1rem;
    }

    .section-subtitle {
      color: #607d8b;
      max-width: 760px;
      margin: 0 auto 3rem;
    }

    .bg-soft {
      background: var(--light);
    }

    .card-service {
      border: 0;
      border-radius: 22px;
      box-shadow: 0 10px 35px rgba(0,0,0,.08);
      height: 100%;
    }

    .icon-box {
    width: 64px;
    height: 64px;

    border-radius: 18px;
    background: rgba(25,135,84,.12);
    color: #198754;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 1.9rem;

    margin: 0 auto 1.2rem;
}
    .list-check li {
      margin-bottom: .8rem;
    }

    .list-check i {
      color: var(--secondary);
      margin-right: .45rem;
    }

    .cta-band {
      background: linear-gradient(135deg, var(--primary), var(--secondary));
      color: #fff;
      border-radius: 28px;
      padding: 45px;
      box-shadow: 0 18px 45px rgba(15,81,50,.25);
    }

    .step {
      display: flex;
      gap: 1rem;
      margin-bottom: 1.5rem;
    }

    .step-number {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: var(--secondary);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 900;
      flex: 0 0 42px;
    }
	#epaviste-paris img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 20px;
}
#galerie img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 16px;
    transition: transform .3s ease;
}

#galerie img:hover {
    transform: scale(1.03);
}
    footer {
      background: var(--dark);
      color: rgba(255,255,255,.78);
      padding: 45px 0 25px;
    }
.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}
    footer a {
      color: #fff;
      text-decoration: none;
    }

    .floating-call {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 999;
      border-radius: 999px;
      box-shadow: 0 12px 30px rgba(0,0,0,.25);
    }
	.floating-call {
    display: none;
}

/* Mobile uniquement */
@media (max-width: 767.98px) {
    .floating-call {
        display: inline-flex;
        align-items: center;
        position: fixed;
        right: 15px;
        bottom: 15px;
        z-index: 9999;
        border-radius: 50px;
        box-shadow: 0 8px 25px rgba(0,0,0,.25);
    }
}