.elementor-23 .elementor-element.elementor-element-223f03a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-72f2691 *//* Pot de miel anti-spam : invisible pour un humain, rempli aveuglément par les robots */
.ts-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 0; width: 0; overflow: hidden; }
/* Pot de miel anti-spam : invisible pour un humain, rempli aveuglément par les robots */
.ts-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 0; width: 0; overflow: hidden; }
/* ── BASE ── */
.ts *,.ts *::before,.ts *::after{box-sizing:border-box!important}
.ts img{display:block!important;max-width:100%!important}
.ts a{text-decoration:none!important}
.ts{font-family:'Jost',sans-serif!important;color:#0E1C1F!important;line-height:1.6!important;overflow-x:hidden!important}
.tw{max-width:1200px!important;margin:0 auto!important;padding:0 48px!important}
.twx{max-width:1400px!important;margin:0 auto!important;padding:0 48px!important}

/* ── ANIMATIONS ── */
.tf{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.tf.on{opacity:1!important;transform:none!important}
.tfl{opacity:0;transform:translateX(-24px);transition:opacity .7s ease,transform .7s ease}
.tfl.on{opacity:1!important;transform:none!important}
.tfr{opacity:0;transform:translateX(24px);transition:opacity .7s ease,transform .7s ease}
.tfr.on{opacity:1!important;transform:none!important}
.td1{transition-delay:.1s}.td2{transition-delay:.2s}.td3{transition-delay:.3s}.td4{transition-delay:.4s}

/* ── BOUTONS ── */
.tbtn{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  padding:13px 26px!important;font-family:'Jost',sans-serif!important;
  font-size:11px!important;font-weight:700!important;letter-spacing:2px!important;
  text-transform:uppercase!important;border:none!important;border-radius:4px!important;
  cursor:pointer!important;transition:all .22s!important;line-height:1!important;
  position:relative!important;overflow:hidden!important;
}
.tbtn::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent)!important;transform:translateX(-120%)!important;transition:transform .55s ease!important;pointer-events:none!important}
.tbtn:hover::after{transform:translateX(120%)!important}
.tbtn-g{background:#115A65!important;color:#fff!important}
.tbtn-g:hover{background:#0B3C45!important;color:#fff!important}
.tbtn-g svg{stroke:#fff!important}
.tbtn-ow{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.5)!important}
.tbtn-ow:hover{background:rgba(255,255,255,.1)!important}
.tbtn-ol{background:transparent!important;color:#115A65!important;border:1.5px solid #115A65!important}
.tbtn-ol:hover{background:#115A65!important;color:#fff!important}
.tbtn svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;flex-shrink:0!important;transition:transform .2s!important}
.tbtn:hover svg{transform:translateX(3px)!important}

/* ── LABELS ── */
.tew{font-size:10px!important;font-weight:700!important;letter-spacing:3px!important;text-transform:uppercase!important;color:#115A65!important;display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:12px!important}
.tew::before{content:''!important;width:24px!important;height:1px!important;background:#115A65!important}
.tew.white{color:#A8CDD3!important}
.tew.white::before{background:#A8CDD3!important}
.th2{font-family:'Cormorant Garamond',serif!important;font-size:clamp(26px,3vw,42px)!important;font-weight:700!important;color:#0E1C1F!important;line-height:1.1!important;margin-bottom:10px!important}
.th2::after{content:''!important;display:block!important;width:40px!important;height:2px!important;background:#115A65!important;border-radius:2px!important;margin-top:12px!important}
.th2.center::after{margin-left:auto!important;margin-right:auto!important}
.th2.white{color:#fff!important}
.th2.white::after{background:#A8CDD3!important}
.tsub{font-size:15px!important;color:#555!important;line-height:1.8!important;margin-top:12px!important}
.tsub.white{color:rgba(255,255,255,.62)!important}

/* ════════════════════════════════════════════════════
   1. HERO — compact, technique, sobre
   Image chantier structurel, texte gauche + form droite
════════════════════════════════════════════════════ */
.ts-hero{
  position:relative!important;min-height:80vh!important;
  display:flex!important;align-items:center!important;overflow:hidden!important;
}
.ts-hero__bg{position:absolute!important;inset:0!important;z-index:0!important}
.ts-hero__bg img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 45%!important}
.ts-hero__bg::after{
  content:''!important;position:absolute!important;inset:0!important;
  background:linear-gradient(to right,rgba(7,40,48,.96) 0%,rgba(7,40,48,.88) 42%,rgba(7,40,48,.65) 70%,rgba(7,40,48,.5) 100%)!important;
}
.ts-hero__bc{position:absolute!important;top:28px!important;left:48px!important;z-index:4!important;display:flex!important;align-items:center!important;gap:8px!important;font-size:11px!important;color:rgba(255,255,255,.4)!important}
.ts-hero__bc a{color:rgba(255,255,255,.6)!important;transition:color .2s!important}
.ts-hero__bc a:hover{color:#A8CDD3!important}
.ts-hero__inner{
  position:relative!important;z-index:2!important;
  width:100%!important;padding:100px 48px 72px!important;
  display:grid!important;grid-template-columns:1fr 380px!important;
  gap:56px!important;align-items:center!important;
  max-width:1400px!important;margin:0 auto!important;
}
.ts-hero__eyebrow{font-size:10px!important;font-weight:700!important;letter-spacing:3px!important;text-transform:uppercase!important;color:#A8CDD3!important;display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:18px!important}
.ts-hero__eyebrow::before{content:''!important;width:28px!important;height:1px!important;background:#A8CDD3!important}
.ts-hero__h1{font-family:'Cormorant Garamond',serif!important;font-size:clamp(32px,4.2vw,58px)!important;font-weight:700!important;line-height:1.05!important;color:#fff!important;letter-spacing:-.8px!important;margin-bottom:16px!important}
.ts-hero__h1 em{font-style:italic!important;color:#A8CDD3!important}
.ts-hero__sub{font-size:15px!important;color:rgba(255,255,255,.7)!important;line-height:1.78!important;max-width:480px!important;margin-bottom:28px!important}
/* Stats — compactes */
.ts-hero__stats{display:flex!important;gap:0!important;border:1px solid rgba(168,205,211,.18)!important;border-radius:6px!important;background:rgba(255,255,255,.04)!important;overflow:hidden!important;max-width:380px!important;margin-bottom:28px!important}
.ts-hero__stat{flex:1!important;padding:13px 14px!important;text-align:center!important;border-right:1px solid rgba(168,205,211,.12)!important}
.ts-hero__stat:last-child{border-right:none!important}
.ts-hero__stat-n{font-family:'Cormorant Garamond',serif!important;font-size:26px!important;font-weight:700!important;color:#fff!important;line-height:1!important;display:block!important}
.ts-hero__stat-l{font-size:9px!important;font-weight:600!important;letter-spacing:1.2px!important;text-transform:uppercase!important;color:rgba(255,255,255,.38)!important;margin-top:3px!important;display:block!important}
.ts-hero__btns{display:flex!important;gap:10px!important;flex-wrap:wrap!important}

/* Formulaire hero */
.ts-form{background:#fff!important;border-radius:4px!important;box-shadow:0 24px 60px rgba(0,0,0,.3)!important;border-top:3px solid #115A65!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.ts-form__head{background:#0B3C45!important;padding:18px 24px!important}
.ts-form__head h3{font-family:'Cormorant Garamond',serif!important;font-size:19px!important;font-weight:700!important;color:#fff!important;margin-bottom:2px!important}
.ts-form__head p{font-size:11px!important;color:rgba(255,255,255,.48)!important}
.ts-form__body{padding:18px 24px!important}
.ts-form__fields{display:flex!important;flex-direction:column!important;gap:10px!important}
.ts-form__row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.ts-form__field{display:flex!important;flex-direction:column!important;gap:3px!important}
.ts-form__field label{font-size:10px!important;font-weight:700!important;letter-spacing:1px!important;text-transform:uppercase!important;color:#555!important}
.ts-form__field input,
.ts-form__field select,
.ts-form__field textarea{width:100%!important;padding:8px 11px!important;font-family:'Jost',sans-serif!important;font-size:13px!important;color:#0E1C1F!important;background:#F9F9F8!important;border:1.5px solid #D8E3E5!important;border-radius:4px!important;outline:none!important;transition:border-color .2s,box-shadow .2s!important;-webkit-appearance:none!important}
.ts-form__field input:focus,.ts-form__field select:focus,.ts-form__field textarea:focus{border-color:#115A65!important;box-shadow:0 0 0 3px rgba(17,90,101,.1)!important;background:#fff!important}
.ts-form__field textarea{resize:vertical!important;min-height:66px!important;line-height:1.6!important}
.ts-form__submit{width:100%!important;padding:12px!important;background:#115A65!important;color:#fff!important;font-family:'Jost',sans-serif!important;font-size:11px!important;font-weight:700!important;letter-spacing:2px!important;text-transform:uppercase!important;border:none!important;border-radius:4px!important;cursor:pointer!important;transition:background .22s!important;margin-top:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.ts-form__submit:hover{background:#0B3C45!important}
.ts-form__submit svg{width:13px!important;height:13px!important;stroke:#fff!important;fill:none!important}

/* ════════════════════════════════════════════════════
   2. INTRO — split texte / photo, fond blanc
   Simple, lisible, pas de cards décoratives
════════════════════════════════════════════════════ */
.ts-intro{padding:80px 0!important;background:#fff!important;border-bottom:1px solid #E8E8E4!important}
.ts-intro__grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:72px!important;align-items:center!important}
.ts-intro__body{font-size:15px!important;color:#555!important;line-height:1.85!important;margin-top:8px!important}
/* Liste technique sobre */
.ts-intro__list{margin-top:24px!important;display:flex!important;flex-direction:column!important;gap:0!important;border:1px solid #E8E8E4!important;border-radius:6px!important;overflow:hidden!important}
.ts-intro__item{
  padding:13px 18px!important;font-size:14px!important;font-weight:500!important;color:#0E1C1F!important;
  display:flex!important;align-items:center!important;gap:12px!important;
  border-bottom:1px solid #E8E8E4!important;background:#fff!important;
  transition:background .18s!important;
}
.ts-intro__item:last-child{border-bottom:none!important}
.ts-intro__item:hover{background:#F5F4F1!important}
.ts-intro__item::before{content:''!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#115A65!important;flex-shrink:0!important}
.ts-intro__img{width:100%!important;height:480px!important;object-fit:cover!important;border-radius:6px!important;display:block!important}

/* ════════════════════════════════════════════════════
   3. DOMAINES — grille 4x2, cœur SEO
   Simple, lisible, image + titre + texte
════════════════════════════════════════════════════ */
.ts-services{padding:80px 0!important;background:#F5F4F1!important;border-top:1px solid #E8E8E4!important}
.ts-services__head{margin-bottom:44px!important}
.ts-services__grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2px!important}
.ts-svc{
  background:#fff!important;
  display:flex!important;flex-direction:column!important;
  border:1px solid #E8E8E4!important;
  overflow:hidden!important;
  transition:box-shadow .22s,border-color .22s!important;
}
.ts-svc:hover{box-shadow:0 8px 28px rgba(17,90,101,.1)!important;border-color:#A8CDD3!important}
.ts-svc__img{width:100%!important;height:180px!important;object-fit:cover!important;display:block!important;transition:transform .6s ease!important}
.ts-svc:hover .ts-svc__img{transform:scale(1.04)!important}
.ts-svc__body{padding:20px 20px 22px!important;flex:1!important}
/* Numéro technique sobre */
.ts-svc__n{font-size:10px!important;font-weight:700!important;letter-spacing:2px!important;color:#A8CDD3!important;margin-bottom:8px!important;display:block!important}
.ts-svc__body h3{font-size:15px!important;font-weight:700!important;color:#0E1C1F!important;margin-bottom:6px!important;line-height:1.2!important}
.ts-svc__body p{font-size:13px!important;color:#666!important;line-height:1.68!important}
/* Accent bas au hover */
.ts-svc::after{content:''!important;height:3px!important;background:linear-gradient(90deg,#115A65,#6AAAB4)!important;display:block!important;transform:scaleX(0)!important;transform-origin:left!important;transition:transform .3s ease!important}
.ts-svc:hover::after{transform:scaleX(1)!important}

/* ════════════════════════════════════════════════════
   4. PROCESSUS — timeline sobre, style ingénierie
════════════════════════════════════════════════════ */
.ts-proc{padding:80px 0!important;background:#fff!important;border-top:1px solid #E8E8E4!important}
.ts-proc__head{margin-bottom:52px!important}
.ts-proc__grid{display:grid!important;grid-template-columns:repeat(6,1fr)!important;position:relative!important}
.ts-proc__grid::before{content:''!important;position:absolute!important;top:16px!important;left:calc(100%/12)!important;right:calc(100%/12)!important;height:1px!important;background:#D8E3E5!important;z-index:0!important}
.ts-step{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 8px!important;position:relative!important;z-index:1!important}
.ts-step__dot{
  width:34px!important;height:34px!important;
  background:#fff!important;border:2px solid #115A65!important;border-radius:50%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:12px!important;font-weight:700!important;color:#115A65!important;
  margin-bottom:16px!important;flex-shrink:0!important;
  box-shadow:0 2px 10px rgba(17,90,101,.1)!important;
  transition:background .22s,color .22s!important;
}
.ts-step:hover .ts-step__dot{background:#115A65!important;color:#fff!important}
.ts-step h3{font-size:12.5px!important;font-weight:700!important;color:#0E1C1F!important;margin-bottom:5px!important}
.ts-step p{font-size:11.5px!important;color:#888!important;line-height:1.55!important}

/* ════════════════════════════════════════════════════
   5. SÉCURITÉ TECHNIQUE — fond légèrement différent
   1 image forte + contenu technique dense
════════════════════════════════════════════════════ */
.ts-secu{padding:80px 0!important;background:#F5F4F1!important;border-top:1px solid #E8E8E4!important}
.ts-secu__grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:72px!important;align-items:center!important}
.ts-secu__img{width:100%!important;height:460px!important;object-fit:cover!important;border-radius:4px!important;display:block!important}
/* Liste sécurité */
.ts-secu__items{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:20px!important}
.ts-secu__item{
  display:flex!important;align-items:flex-start!important;gap:14px!important;
  padding:14px 0!important;border-bottom:1px solid #E0E0DB!important;
}
.ts-secu__item:last-child{border-bottom:none!important}
.ts-secu__icon{
  width:32px!important;height:32px!important;border-radius:50%!important;
  background:#EAF1F2!important;border:1px solid #A8CDD3!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex-shrink:0!important;margin-top:1px!important;
}
.ts-secu__icon svg{width:14px!important;height:14px!important;stroke:#115A65!important;fill:none!important;stroke-width:2!important}
.ts-secu__item h4{font-size:14px!important;font-weight:700!important;color:#0E1C1F!important;margin-bottom:3px!important}
.ts-secu__item p{font-size:13px!important;color:#666!important;line-height:1.6!important}

/* ════════════════════════════════════════════════════
   6. AVANT / APRÈS — efficace, direct
════════════════════════════════════════════════════ */
.ts-ba{padding:80px 0!important;background:#fff!important;border-top:1px solid #E8E8E4!important}
.ts-ba__head{text-align:center!important;max-width:560px!important;margin:0 auto 44px!important}
.ts-ba__grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important}
.ts-ba__col{padding:40px 36px!important}
.ts-ba__col.before{background:#F5F4F1!important;border:1px solid #E8E8E4!important;border-radius:6px 0 0 6px!important}
.ts-ba__col.after{background:#EAF1F2!important;border:1px solid #D8E3E5!important;border-radius:0 6px 6px 0!important}
.ts-ba__label{font-size:9px!important;font-weight:700!important;letter-spacing:2px!important;text-transform:uppercase!important;padding:4px 10px!important;border-radius:20px!important;display:inline-block!important;margin-bottom:18px!important}
.before .ts-ba__label{color:#999!important;background:#fff!important;border:1px solid #E2E2DD!important}
.after .ts-ba__label{color:#115A65!important;background:#fff!important;border:1px solid #A8CDD3!important}
.ts-ba__col h3{font-family:'Cormorant Garamond',serif!important;font-size:20px!important;font-weight:700!important;margin-bottom:18px!important}
.before .ts-ba__col h3{color:#0E1C1F!important}
.after .ts-ba__col h3{color:#115A65!important}
.ts-ba__col ul{list-style:none!important;display:flex!important;flex-direction:column!important;gap:0!important}
.ts-ba__col li{font-size:14px!important;padding:11px 0!important;display:flex!important;align-items:center!important;gap:11px!important;border-bottom:1px solid rgba(0,0,0,.06)!important}
.ts-ba__col li:last-child{border-bottom:none!important}
.before li{color:#666!important}
.after li{color:#0B3C45!important}
.before li::before{content:'—'!important;color:#ccc!important;font-weight:700!important;flex-shrink:0!important}
.after li::before{content:'✓'!important;color:#115A65!important;font-weight:700!important;flex-shrink:0!important}

/* ════════════════════════════════════════════════════
   7. PARTENAIRES TECHNIQUES — bloc simple, sobre
════════════════════════════════════════════════════ */
.ts-partners{padding:56px 0!important;background:#F5F4F1!important;border-top:1px solid #E8E8E4!important}
.ts-partners__grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:64px!important;align-items:center!important}
.ts-partners__list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px!important;margin-top:20px!important}
.ts-partner{
  background:#fff!important;padding:16px 20px!important;
  border:1px solid #E8E8E4!important;border-left:2px solid #115A65!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  font-size:13.5px!important;font-weight:600!important;color:#0E1C1F!important;
}
.ts-partner::before{content:''!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#115A65!important;flex-shrink:0!important}

/* ════════════════════════════════════════════════════
   8. ZONES — fond vert très clair, grille villes
════════════════════════════════════════════════════ */
.ts-zones{padding:72px 0!important;background:#EAF1F2!important;border-top:1px solid #D8E3E5!important}
.ts-zones__grid{display:grid!important;grid-template-columns:1fr 2fr!important;gap:64px!important;align-items:start!important}
.ts-zones__text p{font-size:14px!important;color:#3D5558!important;line-height:1.75!important;margin-top:12px!important;margin-bottom:22px!important}
.ts-zones__text h3{font-family:'Cormorant Garamond',serif!important;font-size:clamp(22px,2.5vw,34px)!important;font-weight:700!important;color:#0E1C1F!important;margin-bottom:8px!important}
.ts-zones__text h3::after{content:''!important;display:block!important;width:36px!important;height:2px!important;background:#115A65!important;border-radius:2px!important;margin-top:10px!important}
.ts-villes{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important}
.ts-ville{background:#fff!important;border:1px solid #D8E3E5!important;padding:10px 14px!important;border-radius:4px!important;font-size:13px!important;font-weight:600!important;color:#0E1C1F!important;display:flex!important;align-items:center!important;gap:8px!important;transition:background .18s,border-color .18s!important}
.ts-ville::before{content:''!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#115A65!important;flex-shrink:0!important}
.ts-ville:hover{background:#EAF1F2!important;border-color:#6AAAB4!important}

/* ════════════════════════════════════════════════════
   9. FAQ — fond blanc, accordéon sobre
════════════════════════════════════════════════════ */
.ts-faq{padding:80px 0!important;background:#fff!important;border-top:1px solid #E8E8E4!important}
.ts-faq__grid{display:grid!important;grid-template-columns:1fr 1.4fr!important;gap:72px!important;align-items:start!important}
.ts-faq__left h2{font-family:'Cormorant Garamond',serif!important;font-size:clamp(24px,2.8vw,38px)!important;font-weight:700!important;color:#0E1C1F!important;line-height:1.1!important;margin-bottom:14px!important}
.ts-faq__left h2::after{content:''!important;display:block!important;width:36px!important;height:2px!important;background:#115A65!important;border-radius:2px!important;margin-top:12px!important}
.ts-faq__left p{font-size:14px!important;color:#666!important;line-height:1.75!important;margin-top:14px!important;margin-bottom:24px!important}
.ts-faqs{display:flex!important;flex-direction:column!important;gap:6px!important}
.ts-faq-item{background:#F5F4F1!important;border:1px solid #E8E8E4!important;border-radius:4px!important;overflow:hidden!important;transition:border-color .2s!important}
.ts-faq-item.open{border-color:#A8CDD3!important;background:#fff!important}
.ts-faq-item h3{font-family:'Jost',sans-serif!important;font-size:14px!important;font-weight:700!important;color:#0E1C1F!important;padding:16px 20px!important;margin:0!important;cursor:pointer!important;user-select:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;transition:color .2s!important}
.ts-faq-item h3:hover{color:#115A65!important}
.ts-faq-item h3::after{content:'+'!important;font-size:18px!important;font-weight:400!important;color:#115A65!important;flex-shrink:0!important;transition:transform .25s!important;line-height:1!important}
.ts-faq-item.open h3::after{transform:rotate(45deg)!important}
.ts-faq-item p{font-size:13.5px!important;color:#555!important;line-height:1.75!important;padding:0 20px!important;margin:0!important;max-height:0!important;overflow:hidden!important;transition:max-height .35s ease,padding .2s!important}
.ts-faq-item.open p{max-height:300px!important;padding:0 20px 16px!important}

/* ════════════════════════════════════════════════════
   10. CTA — simple, direct, sobre
   Pas de gros marketing
════════════════════════════════════════════════════ */
.ts-cta{padding:80px 0!important;background:#0B3C45!important;text-align:center!important}
.ts-cta__inner{max-width:580px!important;margin:0 auto!important;padding:0 40px!important}
.ts-cta__eyebrow{font-size:10px!important;font-weight:700!important;letter-spacing:3px!important;text-transform:uppercase!important;color:#A8CDD3!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin-bottom:20px!important}
.ts-cta__eyebrow::before,.ts-cta__eyebrow::after{content:''!important;width:20px!important;height:1px!important;background:#A8CDD3!important}
.ts-cta h2{font-family:'Cormorant Garamond',serif!important;font-size:clamp(28px,3.5vw,46px)!important;font-weight:700!important;color:#fff!important;line-height:1.1!important;margin-bottom:14px!important}
.ts-cta p{font-size:15px!important;color:rgba(255,255,255,.58)!important;line-height:1.78!important;margin-bottom:32px!important}
.ts-cta__btns{display:flex!important;gap:12px!important;justify-content:center!important;flex-wrap:wrap!important}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .ts-hero{min-height:auto!important}
  .ts-hero__inner{grid-template-columns:1fr!important;gap:36px!important;padding:110px 48px 60px!important}
  .ts-form{max-width:560px!important}
  .ts-services__grid{grid-template-columns:repeat(2,1fr)!important}
  .ts-intro__grid,.ts-secu__grid,.ts-faq__grid,.ts-zones__grid,.ts-partners__grid{grid-template-columns:1fr!important;gap:48px!important}
  .ts-zones__grid{grid-template-columns:1fr!important}
  .ts-villes{grid-template-columns:repeat(3,1fr)!important}
  .ts-ba__grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:900px){
  .tw,.twx{padding:0 24px!important}
  .ts-hero__inner{padding:88px 24px 50px!important}
  .ts-hero__h1{font-size:clamp(28px,6.5vw,44px)!important}
  .ts-hero__bc{left:24px!important}
  .ts-proc__grid{grid-template-columns:repeat(3,1fr)!important;gap:24px!important}
  .ts-proc__grid::before{display:none!important}
  .ts-form__row{grid-template-columns:1fr!important}
  .ts-villes{grid-template-columns:repeat(2,1fr)!important}
  .ts-partners__list{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .tw,.twx{padding:0 20px!important}
  .ts-hero__inner{padding:80px 20px 44px!important;gap:24px!important}
  .ts-hero__h1{font-size:clamp(26px,8.5vw,36px)!important}
  .ts-services__grid{grid-template-columns:1fr 1fr!important}
  .ts-proc__grid{grid-template-columns:1fr 1fr!important;gap:20px!important}
  .ts-ba__grid{grid-template-columns:1fr!important;gap:3px!important}
  .ts-ba__col.before{border-radius:6px 6px 0 0!important}
  .ts-ba__col.after{border-radius:0 0 6px 6px!important}
  .ts-villes{grid-template-columns:1fr 1fr!important}
  .ts-cta{padding:60px 0!important}
  .ts-cta__btns{flex-direction:column!important;align-items:center!important}
  .ts-cta__btns .tbtn{width:100%!important;justify-content:center!important}
  .ts-intro,.ts-services,.ts-proc,.ts-secu,.ts-ba,.ts-partners,.ts-zones,.ts-faq{padding:56px 0!important}
}

.bb *,.bb *::before,.bb *::after{box-sizing:border-box!important}
.bb img{display:block!important;max-width:100%!important}
 
.bb{
  background:#0B3C45!important;
  padding:40px 0!important;
  width:100%!important;
}
.bb__wrap{
  max-width:1200px!important;
  margin:0 auto!important;
  padding:0 48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:48px!important;
}
 
/* ── STATS ── */
.bb__stats{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  flex-shrink:0!important;
}
.bb__stat{
  padding:0 36px!important;
  text-align:center!important;
  border-right:1px solid rgba(168,205,211,.15)!important;
}
.bb__stat:first-child{padding-left:0!important}
.bb__stat:last-child{border-right:none!important;padding-right:0!important}
.bb__stat-n{
  font-family:'Cormorant Garamond',serif!important;
  font-size:40px!important;font-weight:700!important;
  color:#fff!important;line-height:1!important;display:block!important;
}
.bb__stat-l{
  font-size:9px!important;font-weight:600!important;
  letter-spacing:2px!important;text-transform:uppercase!important;
  color:rgba(255,255,255,.38)!important;
  margin-top:6px!important;display:block!important;white-space:nowrap!important;
}
 
/* Séparateur vertical */
.bb__sep{
  width:1px!important;height:60px!important;
  background:rgba(168,205,211,.18)!important;
  flex-shrink:0!important;
}
 
/* ── LOGOS ── */
.bb__logos{
  display:flex!important;
  align-items:center!important;
  gap:40px!important;
  flex:1!important;
  justify-content:center!important;
}
.bb__logo-item{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
}
.bb__logo-img{
  width:72px!important;height:72px!important;
  object-fit:contain!important;
  flex-shrink:0!important;
  display:block!important;
}
.bb__logo-label{
  font-size:11px!important;font-weight:700!important;
  letter-spacing:1px!important;text-transform:uppercase!important;
  color:rgba(255,255,255,.6)!important;
  line-height:1.45!important;
  white-space:nowrap!important;
}
 
/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .bb__wrap{
    flex-direction:column!important;
    gap:32px!important;
    align-items:center!important;
  }
  .bb__sep{width:60px!important;height:1px!important}
  .bb__logos{justify-content:center!important}
}
@media(max-width:600px){
  .bb__wrap{padding:0 20px!important}
  .bb{padding:30px 0!important}
  .bb__stat{padding:0 20px!important}
  .bb__stat-n{font-size:30px!important}
  .bb__logos{gap:24px!important}
  .bb__logo-img{width:56px!important;height:56px!important}
  .bb__logo-label{font-size:10px!important}
}
/* ════════════════════════════════════════════════════
   PATCH ULTRA PREMIUM — TRAVAUX SPÉCIAUX
   Demi-cercles + 3D + effet archi
════════════════════════════════════════════════════ */

/* Reset propre pour éviter conflits */
.ts-svc,
.ts-faq-item,
.ts-partner,
.ts-ba__col,
.ts-step,
.ts-form,
.ts-ville,
.ts-intro__list,
.ts-secu__item{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transform-style:preserve-3d!important;
}

/* Demi-cercle principal bien visible */
.ts-svc::before,
.ts-faq-item::before,
.ts-partner::before,
.ts-ba__col::before,
.ts-form::before,
.ts-ville::before,
.ts-intro__list::before,
.ts-secu__item::before{
  content:''!important;
  position:absolute!important;
  width:160px!important;
  height:160px!important;
  border-radius:50%!important;
  border:1.5px solid rgba(17,90,101,.16)!important;
  background:radial-gradient(circle,rgba(168,205,211,.12),transparent 64%)!important;
  top:-92px!important;
  right:-92px!important;
  z-index:0!important;
  pointer-events:none!important;
  transition:all .45s cubic-bezier(.19,1,.22,1)!important;
}

/* Deuxième demi-cercle bas gauche */
.ts-svc::after,
.ts-faq-item::after,
.ts-partner::after,
.ts-ba__col::after,
.ts-ville::after{
  content:''!important;
  position:absolute!important;
  width:110px!important;
  height:110px!important;
  border-radius:50%!important;
  border:1px solid rgba(168,205,211,.20)!important;
  background:radial-gradient(circle,rgba(168,205,211,.10),transparent 70%)!important;
  bottom:-62px!important;
  left:-62px!important;
  z-index:0!important;
  pointer-events:none!important;
  transition:all .45s cubic-bezier(.19,1,.22,1)!important;
}

/* Garder le contenu au-dessus des cercles */
.ts-svc > *,
.ts-faq-item > *,
.ts-partner > *,
.ts-ba__col > *,
.ts-step > *,
.ts-form > *,
.ts-ville > *,
.ts-intro__list > *,
.ts-secu__item > *{
  position:relative!important;
  z-index:2!important;
}

/* 3D premium sur boxes */
.ts-svc,
.ts-faq-item,
.ts-partner,
.ts-ba__col,
.ts-form,
.ts-ville,
.ts-intro__list{
  border-radius:14px!important;
  border:1px solid rgba(17,90,101,.10)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,250,248,.96))!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 12px 28px rgba(11,60,69,.06),
    0 28px 70px rgba(11,60,69,.055)!important;
  transition:
    transform .45s cubic-bezier(.19,1,.22,1),
    box-shadow .45s cubic-bezier(.19,1,.22,1),
    border-color .35s ease!important;
}

/* Hover 3D */
.ts-svc:hover,
.ts-faq-item:hover,
.ts-partner:hover,
.ts-ba__col:hover,
.ts-form:hover,
.ts-ville:hover,
.ts-intro__list:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(17,90,101,.22)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 24px 52px rgba(11,60,69,.13),
    0 48px 100px rgba(11,60,69,.09)!important;
}

/* Hover demi-cercles */
.ts-svc:hover::before,
.ts-faq-item:hover::before,
.ts-partner:hover::before,
.ts-ba__col:hover::before,
.ts-form:hover::before,
.ts-ville:hover::before,
.ts-intro__list:hover::before,
.ts-secu__item:hover::before{
  transform:scale(1.18) rotate(8deg)!important;
  border-color:rgba(17,90,101,.30)!important;
  background:radial-gradient(circle,rgba(168,205,211,.20),transparent 66%)!important;
}

.ts-svc:hover::after,
.ts-faq-item:hover::after,
.ts-partner:hover::after,
.ts-ba__col:hover::after,
.ts-ville:hover::after{
  transform:scale(1.16)!important;
  border-color:rgba(106,170,180,.32)!important;
}

/* Cartes services : image plus premium */
.ts-svc{
  border-radius:16px!important;
}

.ts-svc__img{
  border-radius:14px 14px 0 0!important;
  height:190px!important;
  transition:transform .75s cubic-bezier(.19,1,.22,1), filter .35s ease!important;
  filter:saturate(106%) contrast(103%) brightness(.97)!important;
}

.ts-svc:hover .ts-svc__img{
  transform:scale(1.08)!important;
  filter:saturate(112%) contrast(105%) brightness(1)!important;
}

.ts-svc__body{
  background:transparent!important;
  padding:22px 22px 26px!important;
}

/* Numéros plus luxe */
.ts-svc__n{
  font-family:'Cormorant Garamond',serif!important;
  font-size:38px!important;
  font-weight:700!important;
  letter-spacing:-1px!important;
  color:rgba(17,90,101,.16)!important;
  margin-bottom:10px!important;
}

/* Timeline aussi en 3D */
.ts-step{
  background:#fff!important;
  border:1px solid rgba(17,90,101,.08)!important;
  border-radius:14px!important;
  padding:24px 14px!important;
  box-shadow:
    0 10px 28px rgba(11,60,69,.055),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
  transition:all .35s cubic-bezier(.19,1,.22,1)!important;
}

.ts-step::before{
  content:''!important;
  position:absolute!important;
  width:120px!important;
  height:120px!important;
  border-radius:50%!important;
  border:1px solid rgba(168,205,211,.20)!important;
  top:-70px!important;
  right:-70px!important;
  background:radial-gradient(circle,rgba(168,205,211,.12),transparent 70%)!important;
  z-index:0!important;
  transition:all .4s ease!important;
}

.ts-step:hover{
  transform:translateY(-5px)!important;
  border-color:rgba(17,90,101,.20)!important;
  box-shadow:
    0 18px 44px rgba(11,60,69,.12),
    inset 0 1px 0 rgba(255,255,255,.95)!important;
}

.ts-step:hover::before{
  transform:scale(1.15)!important;
}

/* Corriger ligne timeline derrière cards */
.ts-proc__grid{
  gap:14px!important;
}

.ts-proc__grid::before{
  display:none!important;
}

/* Boutons premium identique au style aimé */
.tbtn,
.ts-form__submit{
  position:relative!important;
  overflow:hidden!important;
  border-radius:2px!important;
  backdrop-filter:blur(6px)!important;
  box-shadow:
    0 8px 22px rgba(17,90,101,.14),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
  transition:
    transform .32s ease,
    box-shadow .32s ease,
    background .32s ease!important;
}

.tbtn::after,
.ts-form__submit::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent)!important;
  transform:translateX(-120%)!important;
  transition:transform .55s ease!important;
  pointer-events:none!important;
  z-index:1!important;
}

.tbtn:hover::after,
.ts-form__submit:hover::after{
  transform:translateX(120%)!important;
}

.tbtn:hover,
.ts-form__submit:hover{
  transform:translateY(-2px)!important;
  box-shadow:
    0 16px 34px rgba(17,90,101,.22),
    inset 0 1px 0 rgba(255,255,255,.14)!important;
}

.tbtn > *,
.ts-form__submit > *{
  position:relative!important;
  z-index:2!important;
}

/* Formulaire plus premium */
.ts-form{
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,255,255,.95))!important;
  backdrop-filter:blur(14px)!important;
  border-radius:16px!important;
  border-top:4px solid #115A65!important;
}

/* FAQ plus premium */
.ts-faq-item{
  background:#fff!important;
  border-radius:14px!important;
}

.ts-faq-item h3{
  min-height:68px!important;
  padding:18px 22px!important;
}

.ts-faq-item h3::after{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  background:#EAF1F2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:19px!important;
}

.ts-faq-item.open h3::after{
  background:#115A65!important;
  color:#fff!important;
}

/* Partenaires style badge premium */
.ts-partner{
  border-radius:12px!important;
  border-left:none!important;
  padding:18px 20px!important;
}

/* Villes */
.ts-ville{
  border-radius:12px!important;
  min-height:48px!important;
}

/* Avant après plus marqué */
.ts-ba__col.before,
.ts-ba__col.after{
  border-radius:16px!important;
}

.ts-ba__grid{
  gap:16px!important;
}

/* Titres ligne premium */
.th2::after,
.ts-faq__left h2::after,
.ts-zones__text h3::after{
  width:58px!important;
  height:2px!important;
  background:linear-gradient(90deg,#115A65 0%,#6AAAB4 45%,rgba(106,170,180,0) 100%)!important;
}

/* Responsive */
@media(max-width:600px){
  .ts-services__grid{
    grid-template-columns:1fr!important;
  }

  .ts-step{
    padding:22px 12px!important;
  }

  .ts-svc:hover,
  .ts-faq-item:hover,
  .ts-partner:hover,
  .ts-ba__col:hover,
  .ts-form:hover,
  .ts-ville:hover{
    transform:translateY(-3px)!important;
  }
}/* End custom CSS */