/* TMS Confort — refonte visuelle V4 */
:root{
  --v4-ink:#102437;--v4-ink-2:#17364b;--v4-teal:#169b92;--v4-teal-deep:#0c746e;
  --v4-mint:#dff4ef;--v4-cream:#f4efe6;--v4-paper:#fbfaf7;--v4-line:#dbe7e3;
  --v4-muted:#687885;--v4-shadow:0 28px 80px rgba(21,47,65,.14);--v4-shadow-sm:0 14px 40px rgba(21,47,65,.10);
}
body{background:var(--v4-paper);color:var(--v4-ink);overflow-x:hidden}
.wrap{max-width:1240px;padding-inline:28px}
.topbar{background:#0c2233;border:0;color:rgba(255,255,255,.88)}
.topbar .wrap{min-height:34px}
header{top:0;background:rgba(251,250,247,.88);border-bottom:1px solid rgba(16,36,55,.08);box-shadow:none;backdrop-filter:blur(20px) saturate(140%)}
.nav{min-height:84px}.brand-logo{height:62px}.navlinks{gap:4px}.navlinks>a:not(.btn){padding:10px 12px;border-radius:999px;font-size:.88rem}.navlinks>a:not(.btn):hover{background:rgba(22,155,146,.08);color:var(--v4-teal-deep)}
.navlinks .btn{margin-left:8px;box-shadow:0 10px 25px rgba(22,155,146,.18)}
.btn{border-radius:14px!important;padding:14px 20px!important;font-weight:800;letter-spacing:-.01em}.btn-orange{background:var(--v4-teal)!important;border-color:var(--v4-teal)!important}.btn-orange:hover{background:var(--v4-teal-deep)!important}.btn-soft{background:#fff!important;border:1px solid var(--v4-line)!important}.btn-dark{background:var(--v4-ink)!important}.btn-line{border-color:var(--v4-line)!important}

/* HOME — composition éditoriale, pas une grille de cartes classique */
.home-v4{background:var(--v4-paper)}
.hero-v4{position:relative;padding:48px 0 34px;isolation:isolate}.hero-v4:before{content:"";position:absolute;inset:0 0 auto 0;height:82%;background:linear-gradient(135deg,#eef8f5 0%,#f7f2e9 54%,#f5f8f7 100%);z-index:-2}.hero-v4:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(22,155,146,.16),transparent 66%);right:-160px;top:-190px;z-index:-1}
.hero-v4-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:58px;align-items:center}.hero-v4-copy{padding:54px 0 72px;position:relative}.hero-v4-copy:before{content:"TMS";position:absolute;left:-14px;top:6px;font:800 8rem/1 Poppins,sans-serif;color:rgba(16,36,55,.035);letter-spacing:-.08em;pointer-events:none}
.v4-kicker{display:inline-flex;gap:10px;align-items:center;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--v4-teal-deep)}.v4-kicker:before{content:"";width:34px;height:2px;background:currentColor}
.hero-v4 h1{font-size:clamp(3.3rem,6vw,6rem);line-height:.94;letter-spacing:-.065em;margin:24px 0 26px;max-width:10.8ch}.hero-v4 h1 em{font-style:normal;color:var(--v4-teal-deep)}
.hero-v4 .hero-lead{font-size:1.22rem;line-height:1.72;max-width:610px;color:#526574}.hero-v4 .hero-lead strong{color:var(--v4-ink);font-weight:800}.hero-v4-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 28px}.trust-strip{display:flex;flex-wrap:wrap;gap:8px}.trust-strip span{background:rgba(255,255,255,.72);border:1px solid rgba(16,36,55,.09);padding:9px 12px;border-radius:12px;font-size:.78rem;font-weight:800;color:#526574}
.hero-stage{position:relative;min-height:650px}.hero-stage-img{position:absolute;inset:0 0 54px 48px;border-radius:34px;overflow:hidden;box-shadow:var(--v4-shadow);background:#ddd}.hero-stage-img img{width:100%;height:100%;object-fit:cover}.hero-stage-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(8,24,36,.30));pointer-events:none}.ambient-tag{position:absolute;right:18px;top:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);padding:8px 11px;border-radius:10px;font-size:.67rem;font-weight:700;color:#667782}
.hero-ticket{position:absolute;left:0;bottom:0;width:285px;background:#fff;border:1px solid rgba(16,36,55,.08);border-radius:22px;padding:20px;box-shadow:var(--v4-shadow-sm)}.hero-ticket .dot{width:10px;height:10px;border-radius:50%;background:var(--v4-teal);box-shadow:0 0 0 7px rgba(22,155,146,.12);display:inline-block;margin-right:10px}.hero-ticket strong{font:700 1rem Poppins,sans-serif}.hero-ticket p{font-size:.82rem;color:var(--v4-muted);margin:8px 0 0}.hero-side-note{position:absolute;right:-10px;bottom:18px;background:var(--v4-ink);color:#fff;border-radius:18px;padding:17px 19px;max-width:210px;box-shadow:var(--v4-shadow-sm)}.hero-side-note b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:#8be0d8}.hero-side-note span{font-weight:700;font-size:.9rem}

.problem-bar{margin-top:-8px;position:relative;z-index:3}.problem-shell{background:#fff;border:1px solid rgba(16,36,55,.08);border-radius:24px;box-shadow:var(--v4-shadow-sm);display:grid;grid-template-columns:220px 1fr;align-items:center;padding:18px 20px}.problem-intro{padding:10px 18px;border-right:1px solid var(--v4-line)}.problem-intro small{display:block;text-transform:uppercase;letter-spacing:.14em;color:var(--v4-teal-deep);font-weight:800;font-size:.67rem}.problem-intro strong{display:block;margin-top:3px}.problem-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-left:16px}.problem-links a{padding:13px 12px;border-radius:14px;font-size:.82rem;font-weight:800;transition:.2s}.problem-links a:hover{background:var(--v4-mint);color:var(--v4-teal-deep);transform:translateY(-2px)}

.v4-section{padding:112px 0}.v4-section-head{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end;margin-bottom:48px}.v4-section-head h2{font-size:clamp(2.4rem,4.6vw,4.2rem);letter-spacing:-.055em;line-height:1.02;margin:10px 0}.v4-section-head>p{font-size:1.05rem;color:var(--v4-muted);line-height:1.75;margin-bottom:6px}
.service-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.service-bento .svc{position:relative;overflow:hidden;border:1px solid var(--v4-line);border-radius:24px;padding:30px;background:#fff;min-height:230px;box-shadow:none}.service-bento .svc:nth-child(1),.service-bento .svc:nth-child(4){grid-column:span 6;min-height:285px}.service-bento .svc:nth-child(2),.service-bento .svc:nth-child(3),.service-bento .svc:nth-child(5),.service-bento .svc:nth-child(6){grid-column:span 3}.service-bento .svc:nth-child(n+7){grid-column:span 4}.service-bento .svc:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(22,155,146,.07);right:-72px;top:-72px;transition:.3s}.service-bento .svc:hover:before{transform:scale(1.35)}.service-bento .svc:hover{transform:translateY(-5px);box-shadow:var(--v4-shadow-sm);border-color:#bddbd7}.service-bento .svc .ic{width:48px;height:48px;border-radius:15px;background:var(--v4-mint);display:grid;place-items:center;color:var(--v4-teal-deep);margin-bottom:28px}.service-bento .svc h3{font-size:1.12rem;margin-bottom:10px;max-width:17ch}.service-bento .svc p{font-size:.91rem;color:var(--v4-muted);line-height:1.65;max-width:42ch}.service-bento .svc a{position:absolute;left:30px;bottom:26px;font-size:.78rem;font-weight:800;color:var(--v4-teal-deep)}.service-bento .svc:nth-child(1){background:var(--v4-ink);color:#fff;border-color:var(--v4-ink)}.service-bento .svc:nth-child(1) p{color:#c7d3db}.service-bento .svc:nth-child(1) .ic{background:rgba(255,255,255,.1);color:#8be0d8}.service-bento .svc:nth-child(1) a{color:#8be0d8}.service-bento .svc:nth-child(4){background:linear-gradient(135deg,var(--v4-mint),#f9fcfb)}

.workflow-v4{background:#102437;color:#fff;position:relative;overflow:hidden}.workflow-v4:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-230px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.workflow-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start;position:relative;z-index:2}.workflow-copy{position:sticky;top:130px}.workflow-copy .v4-kicker{color:#8be0d8}.workflow-copy h2{font-size:clamp(2.6rem,4.7vw,4.3rem);letter-spacing:-.055em;margin:16px 0 20px}.workflow-copy p{color:#b9c7d0;line-height:1.75}.workflow-steps{display:grid;gap:0}.workflow-step{display:grid;grid-template-columns:82px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.12)}.workflow-step:first-child{padding-top:0}.workflow-step .num{font:700 2.5rem/1 Poppins;color:#5ccac0}.workflow-step h3{font-size:1.25rem;margin-bottom:8px}.workflow-step p{color:#b9c7d0;line-height:1.68}

.human-v4{background:#edf6f3}.human-v4-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center}.human-collage{position:relative;min-height:610px}.human-collage .portrait{position:absolute;left:0;top:0;width:72%;height:540px;object-fit:cover;border-radius:30px;box-shadow:var(--v4-shadow)}.human-collage .quote-card{position:absolute;right:0;bottom:0;width:58%;background:#fff;border-radius:24px;padding:26px;box-shadow:var(--v4-shadow-sm);border:1px solid rgba(16,36,55,.08)}.quote-card strong{font:700 1.05rem/1.4 Poppins}.quote-card p{font-size:.84rem;color:var(--v4-muted);margin-top:8px}.human-copy h2{font-size:clamp(2.5rem,4.5vw,4.2rem);letter-spacing:-.055em;line-height:1.03;margin:12px 0 22px}.human-copy .lead{font-size:1.08rem;line-height:1.8;color:var(--v4-muted)}.human-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.human-points span{background:rgba(255,255,255,.66);border:1px solid rgba(16,36,55,.08);border-radius:14px;padding:14px;font-size:.84rem;font-weight:800}

.pro-v4{padding:34px 0 112px}.pro-v4-card{position:relative;overflow:hidden;background:linear-gradient(120deg,#17364b,#0f293b);border-radius:34px;padding:70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;color:#fff;box-shadow:var(--v4-shadow)}.pro-v4-card:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(22,155,146,.18);right:-110px;top:-210px}.pro-v4-card h2{font-size:clamp(2.5rem,4.5vw,4rem);letter-spacing:-.05em;margin:14px 0}.pro-v4-card p{color:#c6d3db}.pro-badges{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:2}.pro-badges span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px;font-weight:700;font-size:.88rem}

.final-v4{padding:0 0 110px}.final-v4-shell{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;border-top:1px solid var(--v4-line);border-bottom:1px solid var(--v4-line);padding:54px 0}.final-v4 h2{font-size:clamp(2.3rem,4.4vw,3.8rem);letter-spacing:-.05em;margin:10px 0}.final-v4 p{color:var(--v4-muted)}.final-actions{text-align:right}.final-actions .phone-link{margin-top:16px;font-size:1.1rem}

/* PAGES INTÉRIEURES — même langage visuel */
.phead{position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf6f2 0%,#f7f1e7 100%)!important;padding:92px 0 86px!important;border-bottom:1px solid rgba(16,36,55,.06)}.phead:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(22,155,146,.09);right:-100px;top:-260px}.phead h1{font-size:clamp(3rem,5vw,5.1rem)!important;letter-spacing:-.06em!important;max-width:12ch}.phead-sub{font-size:1.1rem!important;line-height:1.75!important;max-width:730px!important}.sec-head h2{font-size:clamp(2rem,3.7vw,3.2rem);letter-spacing:-.045em}.seo-block{background:#f0f5f3!important}.seo-grid>div,.zone,.faq-item,.rdv-wrap{border-radius:22px!important;border-color:var(--v4-line)!important;box-shadow:none!important}.seo-grid>div:hover,.zone:hover{box-shadow:var(--v4-shadow-sm)!important;transform:translateY(-3px)}.about{padding:100px 0}.about .wrap{gap:80px}.about-photo.portrait{border-radius:28px!important;max-width:360px!important;box-shadow:var(--v4-shadow)!important}.zones{padding:92px 0!important}.zone{border-top:0!important;position:relative;overflow:hidden}.zone:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--v4-teal)}.contact{padding:96px 0}.contact .wrap{gap:70px}.booking-form input,.booking-form textarea,.cal-field{border-radius:14px!important}.rdv-wrap{padding:48px!important;box-shadow:var(--v4-shadow-sm)!important}.faq{padding:92px 0}.faq-item{background:#fff!important;margin-bottom:12px!important}

footer{background:#0a1e2d!important;padding-top:70px!important}.fgrid{grid-template-columns:1.5fr .9fr .9fr .8fr!important;gap:54px!important}.fbrand p{max-width:40ch!important;line-height:1.7}.fbot{margin-top:52px!important}.fnet{text-align:center;margin-top:18px;font-size:.78rem;opacity:.65}

@media(max-width:1050px){.hero-v4-grid{grid-template-columns:1fr 1fr;gap:32px}.hero-stage{min-height:560px}.hero-stage-img{inset:0 0 54px 20px}.service-bento .svc:nth-child(2),.service-bento .svc:nth-child(3),.service-bento .svc:nth-child(5),.service-bento .svc:nth-child(6){grid-column:span 6}.service-bento .svc:nth-child(n+7){grid-column:span 4}.workflow-grid{gap:55px}.human-v4-grid{gap:45px}}
@media(max-width:900px){.hero-v4-grid,.v4-section-head,.workflow-grid,.human-v4-grid,.pro-v4-card,.final-v4-shell{grid-template-columns:1fr}.hero-v4-copy{padding:26px 0 12px}.hero-stage{min-height:530px}.hero-stage-img{inset:0 0 54px 0}.problem-shell{grid-template-columns:1fr}.problem-intro{border-right:0;border-bottom:1px solid var(--v4-line);padding-bottom:14px}.problem-links{padding:12px 0 0;grid-template-columns:1fr 1fr}.workflow-copy{position:static}.human-collage{min-height:560px}.pro-v4-card{padding:48px}.final-actions{text-align:left}.fgrid{grid-template-columns:1fr 1fr!important}.service-bento .svc:nth-child(n){grid-column:span 6}}
@media(max-width:640px){.wrap{padding-inline:18px}.topbar{display:none}.nav{min-height:72px}.brand-logo{height:52px}.hero-v4{padding-top:18px}.hero-v4-copy:before{display:none}.hero-v4 h1{font-size:3.05rem;margin-top:18px}.hero-v4 .hero-lead{font-size:1.03rem}.hero-v4-actions .btn{width:100%;justify-content:center}.trust-strip span{font-size:.72rem}.hero-stage{min-height:390px}.hero-stage-img{inset:0 0 42px 0;border-radius:22px}.hero-ticket{width:220px;padding:15px;border-radius:16px}.hero-side-note{display:none}.problem-links{grid-template-columns:1fr}.problem-links a{background:#f5f8f7}.v4-section{padding:74px 0}.v4-section-head{gap:14px;margin-bottom:28px}.v4-section-head h2,.human-copy h2{font-size:2.45rem}.service-bento .svc:nth-child(n){grid-column:1/-1;min-height:230px}.service-bento .svc:nth-child(1),.service-bento .svc:nth-child(4){min-height:260px}.workflow-step{grid-template-columns:54px 1fr;gap:12px}.workflow-step .num{font-size:1.8rem}.human-collage{min-height:430px}.human-collage .portrait{width:84%;height:390px;border-radius:22px}.human-collage .quote-card{width:70%;padding:18px;border-radius:18px}.human-points{grid-template-columns:1fr}.pro-v4{padding-bottom:74px}.pro-v4-card{padding:34px 24px;border-radius:24px}.pro-badges{grid-template-columns:1fr}.final-v4{padding-bottom:72px}.final-v4-shell{padding:38px 0}.phead{padding:58px 0 54px!important}.phead h1{font-size:2.75rem!important}.rdv-wrap{padding:24px 18px!important}.fgrid{grid-template-columns:1fr!important;gap:28px!important}.mcta{z-index:80}}
