/* ==========================================================================
   Page « Contact » (page-contact.php) — préfixe .ct-*
   S'ajoute à home.css (en-tête, pied de page, formulaire). Version mobile incluse.
   ========================================================================== */
.ct-wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.ct-page main{display:block}

/* Hero + formulaire */
.ct-hero{background:#F0FAFA;padding:56px 0 72px}
.ct-eyebrow{display:block;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0A7C86;margin-bottom:10px}
.ct-hero h1{margin:0;font-family:'Sora',sans-serif;font-weight:700;font-size:40px;line-height:1.15;letter-spacing:-.01em;color:#0B2A2E;white-space:nowrap}
.ct-sub{margin:12px 0 0;font-size:18px;line-height:1.5;color:#3F5559}
.ct-cols{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;margin-top:40px}
.ct-left{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.ct-right{flex:1 1 520px;min-width:0;scroll-margin-top:24px}
.ct-form{padding:36px;border-radius:24px;background:#fff;border:1px solid #BFE3E4;box-shadow:0 12px 32px rgba(11,42,46,.08)}
.ct-checks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:17px;font-weight:500;color:#0B2A2E}
.ct-checks li{display:flex;gap:12px;align-items:center}
.ct-btns{display:flex;flex-wrap:wrap;gap:12px}
.ct-mail{font-size:16px;color:#0A7C86;font-weight:500;width:fit-content}
.ct-me{display:flex;align-items:center;gap:14px;margin:6px 0 0;padding-top:22px;border-top:1px solid #D5E8E9;font-size:14.5px;line-height:1.45;color:#3F5559}
.ct-me img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:28% 12%;border:3px solid #2DD4C8;flex:none}
.ct-me span{display:flex;flex-direction:column}
.ct-me strong{color:#0B2A2E;font-family:'Sora',sans-serif;font-size:15px}

/* Chiffres + avis */
.ct-proof{padding:72px 0 8px;background:#fff}
.ct-stats{list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #D5E8E9;border-radius:20px;overflow:hidden}
.ct-stats li{padding:22px 16px;text-align:center;border-left:1px solid #D5E8E9;display:flex;flex-direction:column;gap:4px}
.ct-stats li:first-child{border-left:0}
.ct-stats b{font-family:'Sora',sans-serif;font-weight:800;font-size:30px;line-height:1.1;color:#0A7C86}
.ct-stats span{font-size:14px;color:#3F5559;line-height:1.4}
.ct-h2{margin:0 0 28px;text-align:center;font-family:'Sora',sans-serif;font-weight:700;font-size:30px;line-height:1.2;color:#0B2A2E}
.ct-revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ct-rev{margin:0;display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid #D5E8E9;border-radius:22px;background:#fff}
.ct-stars{color:#F5B301;letter-spacing:2px;font-size:16px}
.ct-rev blockquote{margin:0;font-size:15px;line-height:1.65;color:#24454A;font-style:italic;flex:1}
.ct-rev figcaption{display:flex;align-items:center;gap:12px;font-size:13.5px;line-height:1.35;color:#3F5559}
.ct-rev figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 25%;border:2px solid #CFEDEC;flex:none}
.ct-rev figcaption span{display:flex;flex-direction:column}
.ct-rev figcaption strong{font-family:'Sora',sans-serif;font-size:15px;color:#0B2A2E}
.ct-more{text-align:center;margin:28px 0 0}

/* Logos défilants */
.ct-logos{padding:56px 0 64px;background:#fff;overflow:hidden}
.ct-lab{margin:0 0 18px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5A6F73}
.ct-lab2{margin-top:36px}
.ct-marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ct-track{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:56px;width:max-content;animation:ct-l 45s linear infinite}
.ct-d .ct-track{animation-name:ct-r;animation-duration:38s;gap:64px}
.ct-marq:hover .ct-track{animation-play-state:paused}
.ct-track li{flex:none;display:flex;align-items:center;height:44px}
.ct-track img{display:block;height:auto;max-height:34px;width:auto;max-width:120px;object-fit:contain}
.ct-d{position:relative;background:#0B2A2E;border-radius:18px;padding:14px 0;width:calc(100% - 80px);max-width:1120px;-webkit-mask-image:none;mask-image:none}
.ct-d::before,.ct-d::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:1;pointer-events:none}
.ct-d::before{left:0;background:linear-gradient(90deg,#0B2A2E,rgba(11,42,46,0))}
.ct-d::after{right:0;background:linear-gradient(270deg,#0B2A2E,rgba(11,42,46,0))}
.ct-d .ct-track img{max-height:30px;max-width:110px}
@keyframes ct-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ct-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.ct-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.ct-track li[aria-hidden],.ct-track li:nth-child(n+15){display:none}.ct-d .ct-track li:nth-child(n+7){display:none}}

/* Réassurance */
.ct-reassure{background:#F0FAFA;padding:56px 0}
.ct-reassure ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ct-reassure li{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ct-ico{width:52px;height:52px;border-radius:16px;background:#fff;border:1px solid #D5E8E9;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.ct-reassure strong{font-family:'Sora',sans-serif;font-size:16px;color:#0B2A2E}
.ct-reassure span:not(.ct-ico){font-size:14.5px;line-height:1.5;color:#3F5559}

@media (max-width:960px){
  .ct-revs{grid-template-columns:1fr}
  .ct-reassure ul{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .ct-wrap{padding:0 18px}
  .ct-hero{padding:28px 0 44px}
  .ct-eyebrow{font-size:11px;margin-bottom:8px}
  .ct-hero h1{font-size:min(23px,5.9vw)!important;white-space:nowrap!important;line-height:1.2!important}
  .ct-sub{font-size:14px;margin-top:8px}
  .ct-cols{gap:28px;margin-top:22px}
  .ct-cols{flex-direction:column}
  .ct-right{order:1;width:100%}
  .ct-left{order:2;width:100%;gap:18px}
  .ct-form{padding:20px 16px;border-radius:20px}
  .ct-checks{font-size:14px;gap:9px}
  .ct-checks svg{width:18px;height:18px}
  .ct-btns{flex-wrap:wrap;gap:8px}
  .ct-btns a{min-height:42px!important;padding:0 14px!important;font-size:14px!important}
  .ct-mail{font-size:14px}
  .ct-proof{padding:44px 0 0}
  .ct-stats{grid-template-columns:1fr 1fr;margin-bottom:36px;border-radius:16px}
  .ct-stats li{padding:16px 10px}
  .ct-stats li:nth-child(3){border-left:0}
  .ct-stats li:nth-child(n+3){border-top:1px solid #D5E8E9}
  .ct-stats b{font-size:24px}
  .ct-stats span{font-size:12.5px}
  .ct-h2{font-size:21px;margin-bottom:20px}
  .ct-revs{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -18px;padding:0 18px 10px;-webkit-overflow-scrolling:touch}
  .ct-rev{flex:0 0 84%;scroll-snap-align:center;padding:18px 16px}
  .ct-rev blockquote{font-size:14px}
  .ct-more{margin-top:18px}
  .ct-more a{min-height:42px;font-size:14px;padding:0 18px}
  .ct-logos{padding:40px 0 44px}
  .ct-lab{font-size:11px}
  .ct-track{gap:40px}
  .ct-track li{height:36px}
  .ct-track img{max-height:26px;max-width:92px}
  .ct-d{width:calc(100% - 36px)}
  .ct-d .ct-track img{max-height:24px;max-width:88px}
  .ct-reassure{padding:40px 0}
  .ct-reassure ul{gap:22px 16px}
  .ct-ico{width:44px;height:44px;border-radius:13px}
  .ct-reassure strong{font-size:14px}
  .ct-reassure span:not(.ct-ico){font-size:12.5px}
}

/* marges (les styles globaux de home.css remettent les marges à 0) */
.ct-page .ct-h2{margin:0 0 28px!important}
.ct-page .ct-stats{margin:0 0 56px!important}
.ct-page .ct-more{margin:28px 0 0!important}
.ct-page .ct-lab{margin:0 0 18px!important}
.ct-page .ct-lab2{margin:36px 0 18px!important}
.ct-page .ct-marq{margin:0 auto}
.ct-page .ct-d{margin:0 auto!important}
.ct-page .ct-sub{margin:12px 0 0!important}
.ct-page .ct-btns .pm-btn-malt{height:20px;width:auto}
.ct-page .ct-btns{flex-direction:column;align-items:flex-start}
@media (max-width:700px){
  .ct-page .ct-h2{margin:0 0 20px!important}
  .ct-page .ct-stats{margin:0 0 36px!important}
  .ct-page .ct-more{margin:18px 0 0!important}
  .ct-page .ct-sub{margin:8px 0 0!important}
  .ct-page .ct-lab2{margin:26px 0 14px!important}
  .ct-page .ct-btns{flex-direction:row;flex-wrap:wrap}
  .ct-page .ct-btns .pm-btn-malt{height:14px}
}
@media (max-width:700px){
  .pm-home.ct-page .ct-hero h1{font-size:24px!important;white-space:normal!important;line-height:1.2!important}
  .ct-page .ct-lab{font-size:10.5px;letter-spacing:.08em}
}
.ct-page .ct-nw{white-space:nowrap!important}
@media (max-width:700px){.pm-home.ct-page .ct-sub{font-size:14px!important;line-height:1.5!important}}
.ct-page .ct-cols{margin-top:32px}
@media (max-width:700px){.ct-page .ct-cols{margin-top:20px}}
