/* ══════════════════════════════════════════════════════
   ESCO BRAND STUDIO — services.css v2
   Style "carte flottante" inspiré de Clearwave
   Couleurs ESCO conservées (fond sombre + orange)
   ✅ Sans soulignement sous "Parler de ce service"
══════════════════════════════════════════════════════ */

/* ── HERO ── */
.sv-hero{
  position:relative;
  padding:180px 72px 100px;
  background:var(--dark);
  text-align:center;
  overflow:hidden;
}
.sv-hero-glow{
  position:absolute;
  top:40%;left:50%;transform:translate(-50%,-50%);
  width:900px;height:900px;
  background:radial-gradient(circle,rgba(192,88,40,.13) 0%,transparent 60%);
  pointer-events:none;
}
.sv-hero-inner{
  position:relative;z-index:2;
  max-width:900px;margin:0 auto;
}
.sv-kicker{
  font-family:var(--fb);font-size:.6rem;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--rust);margin-bottom:24px;
  display:inline-flex;align-items:center;gap:14px;
}
.sv-kicker::before,.sv-kicker::after{
  content:'';display:block;width:26px;height:1px;background:var(--rust);
}
.sv-title{
  font-family:var(--fd);
  font-size:clamp(2.2rem,5.5vw,4.6rem);
  font-weight:300;line-height:.98;
  color:var(--cream);letter-spacing:-.01em;
  margin-bottom:26px;
}
.sv-title em{color:var(--rust);font-style:normal}
.sv-sub{
  font-family:var(--fb);font-size:clamp(.95rem,1.4vw,1.1rem);
  font-weight:300;color:var(--tan2);line-height:1.85;
  max-width:640px;margin:0 auto 44px;
}
.sv-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ══════════════════════════════════════
   BLOC SERVICE — CARTE FLOTTANTE
══════════════════════════════════════ */
.sv-block{
  position:relative;
  padding:100px 72px;
  background:var(--dark);
  overflow:hidden;
}
.sv-block-inner{
  position:relative;z-index:2;
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  align-items:center;
}
.sv-block-reverse .sv-block-inner{
  direction:rtl;
}
.sv-block-reverse .sv-block-inner > *{
  direction:ltr;
}

/* ── CARTE VISUELLE ── */
.sv-block-visual{position:relative}
.sv-card{
  position:relative;
  background:var(--dark2);
  border:1px solid rgba(240,232,212,.06);
  border-radius:24px;
  padding:24px;
  box-shadow:
    0 40px 80px -30px rgba(0,0,0,.85),
    0 10px 30px -10px rgba(0,0,0,.6),
    0 0 0 1px rgba(240,232,212,.03) inset;
  transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s;
}
.sv-block-visual:hover .sv-card{
  transform:translateY(-6px);
  box-shadow:
    0 55px 100px -30px rgba(0,0,0,.95),
    0 15px 40px -10px rgba(0,0,0,.7),
    0 0 0 1px rgba(192,88,40,.15) inset;
}
.sv-card-img{
  width:100%;
  aspect-ratio:4/3;
  border-radius:14px;
  background-size:cover;
  background-position:center;
  background-color:var(--dark3);
  overflow:hidden;
}

/* Badge numéro + label */
.sv-card-badge{
  position:absolute;
  bottom:-22px;
  left:24px;
  background:var(--dark);
  border:1px solid rgba(192,88,40,.35);
  border-radius:14px;
  padding:14px 20px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 20px 40px -10px rgba(0,0,0,.85);
}
.sv-card-badge-num{
  font-family:var(--fd);
  font-size:1.6rem;
  font-weight:300;
  line-height:1;
  color:var(--rust);
}
.sv-card-badge-label{
  font-family:var(--fb);
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cream);
  font-weight:500;
}

/* ── CONTENU ── */
.sv-block-content{max-width:560px}
.sv-block-label{
  font-family:var(--fb);font-size:.6rem;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;
  color:var(--rust);margin-bottom:18px;
  display:inline-flex;align-items:center;gap:12px;
}
.sv-block-label::before{
  content:'';display:block;width:16px;height:1px;background:var(--rust);
}
.sv-block-title{
  font-family:var(--fd);
  font-size:clamp(1.8rem,3.6vw,2.9rem);
  font-weight:300;line-height:1.06;
  color:var(--cream);
  margin-bottom:22px;
  letter-spacing:-.005em;
}
.sv-block-title em{color:var(--rust);font-style:normal}
.sv-block-desc{
  font-family:var(--fb);font-size:.98rem;
  font-weight:300;color:var(--tan2);line-height:1.9;
  margin-bottom:28px;
}

/* ── CHECK-LIST ✓ ── */
.sv-checks{
  list-style:none;
  margin:0 0 36px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.sv-checks li{
  font-family:var(--fb);font-size:.9rem;
  font-weight:300;color:rgba(240,232,212,.85);
  line-height:1.6;
  padding-left:38px;
  position:relative;
}
.sv-checks li::before{
  content:'✓';
  position:absolute;
  left:0;top:0;
  width:24px;height:24px;
  border-radius:50%;
  background:rgba(192,88,40,.15);
  border:1px solid rgba(192,88,40,.5);
  color:var(--rust);
  font-size:.72rem;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

/* ══════════════════════════════════════
   CTA bloc — SANS SOULIGNEMENT
══════════════════════════════════════ */
.sv-block-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--fb);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--rust);
  text-decoration:none;
  transition:gap .3s,color .3s,transform .3s;
  position:relative;
}
.sv-block-cta:hover{
  gap:18px;
  color:var(--rust3);
}

/* ══════════════════════════════════════
   CTA FINAL
══════════════════════════════════════ */
.sv-cta{
  position:relative;
  padding:140px 72px;
  background:var(--dark);
  text-align:center;
  overflow:hidden;
}
.sv-cta-glow{
  position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:800px;height:800px;
  background:radial-gradient(circle,rgba(192,88,40,.1) 0%,transparent 65%);
  pointer-events:none;
}
.sv-cta-inner{position:relative;z-index:2;max-width:820px;margin:0 auto}
.sv-cta-title{
  font-family:var(--fd);
  font-size:clamp(2rem,4.4vw,3.6rem);
  font-weight:300;line-height:1;
  color:var(--cream);
  margin-bottom:22px;
}
.sv-cta-title em{color:var(--rust);font-style:normal}
.sv-cta-sub{
  font-family:var(--fb);font-size:1rem;
  font-weight:300;color:var(--tan2);line-height:1.85;
  max-width:560px;margin:0 auto 40px;
}
.sv-cta-btns{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:1000px){
  .sv-block-inner{
    grid-template-columns:1fr;
    gap:52px;
  }
  .sv-block-reverse .sv-block-inner{direction:ltr}
  .sv-block-content{max-width:100%}
}
@media(max-width:860px){
  .sv-hero{padding:140px 32px 72px}
  .sv-block{padding:80px 32px}
  .sv-cta{padding:88px 32px}
  .sv-card{padding:18px}
  .sv-card-badge{bottom:-18px;left:18px;padding:12px 16px}
}
@media(max-width:600px){
  .sv-hero{padding:120px 20px 60px}
  .sv-block{padding:64px 20px}
  .sv-cta{padding:72px 20px}
  .sv-hero-cta,.sv-cta-btns{flex-direction:column;align-items:stretch}
  .sv-hero-cta .btn,.sv-cta-btns .btn{width:100%;justify-content:center}
  .sv-card-badge-num{font-size:1.3rem}
  .sv-card-badge-label{font-size:.56rem;letter-spacing:.18em}
}