/* /m/versions-common.css */
@font-face{font-family:Figtree;src:url('/m/polices/figtree-variable.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--ink:#202420;--paper:#fffefa;--blue:#224ee9;--soft:#eee;--accent:#c2f0db;--muted:#5a625f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Figtree,Arial,sans-serif;font-size:17.5px;line-height:1.55}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,summary{cursor:pointer}button{color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h3{font-size:26px;line-height:1.16;letter-spacing:-.025em}p+p{margin-top:16px}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9773ef;outline-offset:5px}[hidden]{display:none!important}svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}section{scroll-margin-top:100px}.v-wrap{max-width:1220px;padding:0 40px;margin:0 auto}.v-review{display:flex;justify-content:center;gap:28px;padding:9px 24px;font-size:14px;background:#eaf0f2;color:#343d3a}.v-review button{font-size:14px;padding:0;border:0;background:none;text-decoration:underline}.v-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid #2024201c}.v-nav{max-width:1320px;margin:auto;display:flex;gap:28px;align-items:center;padding:20px 40px}.v-brand{display:flex;flex-direction:column;line-height:.9;text-decoration:none;flex:none}.v-brand strong{font-size:30px;letter-spacing:-.06em;font-weight:900}.v-brand>span{font-size:11px;letter-spacing:.16em;margin-top:6px;font-weight:800}.v-nav nav{display:flex;gap:23px;margin-left:auto}.v-nav nav a{font-size:15px;font-weight:650;text-decoration:none}.v-nav nav a:hover{text-decoration:underline;text-underline-offset:6px}.v-cta{border:0;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 23px;font-size:16px;font-weight:750;line-height:1.2;text-decoration:none;transition:transform .2s,background .2s}.v-cta:hover{transform:translateY(-3px);background:#1739af}.v-cta svg{width:21px;height:21px}.v-menu{display:none}.v-kicker{font-size:18px;line-height:1.4;font-weight:600;margin-bottom:22px}.v-hero-title{font-size:60px;font-weight:850;letter-spacing:-.055em;line-height:1.04}.v-hero-intro{font-size:20px;line-height:1.55;letter-spacing:0;font-weight:450;margin:27px 0}.photo-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:25px;overflow:hidden;color:#405b52;background:#d7e5df;isolation:isolate}.photo-slot:before,.photo-slot:after{content:'';position:absolute;border:1px solid currentColor;opacity:.13;width:70%;height:70%;border-radius:50%;z-index:-1}.photo-slot:after{width:105%;height:105%}.photo-slot>svg{width:36px;height:36px;opacity:.6}.slot-label{font-size:14px;text-align:center;max-width:215px;line-height:1.5}.v-ribbon{overflow:hidden;padding:18px 0}.v-ribbon>div{display:flex;gap:35px;align-items:center;width:max-content;animation:ribbon 110s linear infinite}.v-ribbon span{font-size:19px;font-weight:650;white-space:nowrap}.v-ribbon b{font-size:28px;font-weight:400;line-height:1}@keyframes ribbon{to{transform:translateX(-66.6667%)}}.v-section{padding:104px 0}.v-title{font-size:40px;line-height:1.12;font-weight:780;letter-spacing:-.035em;max-width:830px;margin-bottom:48px}.v-reason p{max-width:650px}.v-more{display:inline-block;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 3px;margin-top:23px;font-size:16px;font-weight:750}.v-more+svg{margin-left:14px;vertical-align:middle;width:19px;height:19px}.v-hint{margin-top:-26px;margin-bottom:40px;color:var(--muted);font-size:16px}.v-trial-intro{max-width:810px}.inline-link{border:0;background:none;padding:0;font:inherit;text-decoration:underline;text-underline-offset:4px;color:inherit;cursor:pointer}.v-trial-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:44px 0}.v-trial-index{font-size:64px;font-weight:800;letter-spacing:-.055em;line-height:1}.v-planning-slot{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:35px;background:repeating-linear-gradient(90deg,transparent,transparent calc(14.285% - 1px),#2121210e calc(14.285% - 1px),#2121210e 14.285%),var(--soft);text-align:center}.v-missing{font-size:14px;color:var(--muted);display:block}.v-goal h3{margin-bottom:20px}.v-goal-symbol{display:block;font-size:65px;line-height:1;margin-bottom:25px;font-weight:400}.v-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.v-contact{margin-top:30px;font-size:16px;line-height:1.8}.v-access-art{position:relative;min-height:300px;display:flex;gap:15px;flex-direction:column;align-items:center;justify-content:center;background-color:var(--soft);background-image:linear-gradient(35deg,transparent 48%,#ffffffc9 48%,#ffffffc9 50%,transparent 50%),linear-gradient(120deg,transparent 48%,#ffffffa0 48%,#ffffffa0 50%,transparent 50%);background-size:95px 100px;overflow:hidden}.v-access-art>svg{width:55px;height:55px;color:var(--blue)}.v-access-art .v-missing{background:var(--paper);padding:8px 15px}.v-access-place{position:absolute;bottom:5px;left:20px;font-size:64px;font-weight:850;opacity:.12;letter-spacing:-.05em}.v-coaches-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.v-coach .photo-slot{height:330px}.v-coach h3{margin:24px 0 10px}.v-health-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.v-health-symbol{font-size:160px;line-height:1;margin-top:35px;color:var(--blue)}.v-health-item,.v-faq-item{border-bottom:1px solid #20242035}.v-health-item summary,.v-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;padding:23px 0}.v-health-item summary::-webkit-details-marker,.v-faq-item summary::-webkit-details-marker,.v2-ob-fold summary::-webkit-details-marker{display:none}.v-health-item summary h3{font-size:23px}.v-health-item>p,.v-faq-item>p{padding:0 30px 27px 0}.v-health-item[open] summary>svg,.v-faq-item[open] summary>svg{transform:rotate(45deg)}.v-step-label{font-size:26px;font-weight:780;line-height:1.2;letter-spacing:-.03em;margin-bottom:15px}.v-reviews>div>p{max-width:720px}.v-reviews-slot{display:flex;align-items:center;flex-direction:column;justify-content:center;margin-top:30px;min-height:220px;padding:25px;background:var(--soft);text-align:center}.v-reviews-slot>span[aria-hidden]{font-size:90px;line-height:.8;font-family:Georgia,serif;color:var(--blue)}.v-reviews-slot .v-missing{margin-top:15px}.v-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.v-room-photos{position:relative;min-width:0}.v-room-main{height:415px}.v-room-detail{width:52%;height:175px;margin:-100px -16px 0 auto;border:9px solid var(--paper)}.v-room-text>div{display:flex;gap:22px;margin:24px 0}.v-room-text svg{color:var(--blue);margin-top:3px}.v-faq-list{max-width:920px}.v-faq-item summary h3{font-size:22px;line-height:1.3}.v-closing{position:relative;overflow:hidden}.v-closing .v-wrap{position:relative}.v-closing-content{max-width:740px;position:relative;z-index:1}.v-closing .v-cta{margin-top:35px}.v-closing-mark{position:absolute;font-size:350px;line-height:1;right:-90px;bottom:-130px;opacity:.13;pointer-events:none}.v-footer{padding-top:35px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px}.v-footer>a:not(.v-brand){text-underline-offset:5px}#v-dialog{width:min(550px,calc(100% - 35px));border:0;padding:30px;color:var(--ink);background:var(--paper);box-shadow:0 15px 90px #0004}#v-dialog::backdrop{background:#16201b88;backdrop-filter:blur(5px)}.v-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.v-dialog-head h2{font-size:24px;line-height:1.2}.v-dialog-head button{border:0;background:var(--soft);padding:10px;font-size:14px}#v-dialog-text{font-size:17px}
@media(max-width:1050px){.v-nav nav{gap:15px}.v-nav{gap:20px;padding:18px 25px}.v-nav>.v-cta{font-size:14px;padding:15px}.v-hero-title{font-size:53px}.v-access-grid,.v-health-grid,.v-room-grid{gap:40px}}
@media(max-width:850px){.v-nav nav,.v-nav>.v-cta{display:none}.v-menu{display:block;margin-left:auto;border:0;background:var(--soft);padding:10px 20px;font-size:15px}.v-nav{padding:16px 24px}#v-mobile:not([hidden]){display:flex;flex-direction:column;padding:10px 24px 25px;gap:17px}#v-mobile a{text-decoration:none}.v-wrap{padding:0 25px}.v-section{padding:74px 0}.v-title{font-size:35px;margin-bottom:35px}.v-hero-title{font-size:49px}.v-hero-intro{font-size:19px}.v-kicker{font-size:16px}.v-access-grid,.v-health-grid,.v-room-grid{grid-template-columns:1fr;gap:35px}.v-health-symbol{display:none}.v-coach .photo-slot{height:260px}.v-coaches-grid{gap:18px}.v-footer{padding-top:30px;padding-bottom:30px;flex-wrap:wrap}.v-trial-steps{gap:25px}.v-review{gap:15px;font-size:13px}.v-review button{font-size:13px}}
@media(max-width:560px){.v-review{flex-wrap:wrap;gap:5px 20px;padding:8px 14px}.v-review>span{width:100%;text-align:center}.v-wrap{padding:0 22px}.v-section{padding:60px 0}.v-hero-title{font-size:43px}.v-title{font-size:32px;line-height:1.12}h3{font-size:25px}.v-hero-intro{font-size:18px;margin:24px 0}.v-cta{font-size:15px;padding:17px 20px;gap:15px;max-width:100%}.v-trial-steps{grid-template-columns:1fr;gap:25px}.v-trial-step{display:flex;align-items:flex-start;gap:22px}.v-trial-index{font-size:56px;flex:none;min-width:45px}.v-coaches-grid{grid-template-columns:1fr;gap:40px}.v-coach .photo-slot{height:340px}.v-coach h3{margin-top:20px}.v-room-main{height:330px}.v-room-detail{margin-right:-7px;height:150px;width:57%}.v-faq-item summary h3{font-size:21px}.v-health-item summary h3{font-size:22px}.v-faq-item summary,.v-health-item summary{gap:15px}.v-footer{gap:25px;font-size:14px}.v-footer>span{width:100%}.v-closing-mark{font-size:220px}.v-ribbon span{font-size:17px}.v-ribbon>div{gap:22px}.v-planning-slot{padding:25px 15px}}
@media(max-width:360px){.v-hero-title{font-size:36px}.v-title{font-size:29px}.v-wrap{padding:0 18px}.v-cta{font-size:14px;padding:16px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* /m/version-2.css */
.v2{--paper:#fffefa;--soft:#eaf4ee;--accent:#c3f0d8;--muted:#485b50}.v2 .v-cta{border-radius:40px}.v2 .v-hero{background:var(--blue);color:white;padding:58px 0 0;overflow:hidden}.v2-hero-copy{max-width:880px;text-align:center;margin:auto}.v2 .v-kicker{color:#d4f3e3}.v2 .v-hero-title{font-size:64px}.v2 .he-highlight{color:#c3f0d8}.v2 .v-hero-intro{max-width:700px;margin:25px auto 30px}.v2 .v-hero .v-cta{background:var(--accent);color:#203c2e}.v2-collage{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:105px;align-items:end;max-width:1010px;margin:48px auto -35px;min-width:0}.v2-photo-a{height:270px;transform:rotate(-4deg);background:#dcece2;border:10px solid #fffefa;border-radius:16px}.v2-photo-b{height:235px;transform:rotate(6deg);border:10px solid #fffefa;background:#c8d4f4;border-radius:16px;color:#3d517d}.v2-hero-seal{position:absolute;z-index:2;left:calc(50% - 74px);bottom:100px;background:var(--accent);color:#224432;width:148px;height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:50%;transform:rotate(10deg);box-shadow:0 5px 0 #14296f33}.v2-hero-seal>span{font-weight:750;font-size:17px;line-height:1.1;text-align:center;max-width:95px}.v2-hero-seal svg{width:34px;height:34px}.v2-spark{position:absolute;right:-18px;top:-57px;font-size:95px;line-height:1;color:var(--accent);animation:popturn 28s linear infinite}@keyframes popturn{to{transform:rotate(360deg)}}.v2 .v-ribbon{background:var(--accent);position:relative;margin-top:0;color:#203c2e}.v2 .v-why .v-title{max-width:640px}.v2 .v-reason{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:29px 0;border-bottom:1px solid #21212125}.v2 .v-reason-heading{display:flex;gap:26px;align-items:flex-start}.v2 .v-reason-index{display:flex;align-items:center;justify-content:center;flex:none;background:var(--soft);color:var(--blue);border-radius:50%;width:53px;height:53px;font-size:19px;font-weight:750}.v2 .v-activities{background:var(--soft)}.v2 .v-activities .v-title{margin-left:auto;margin-right:auto;text-align:center;max-width:800px}.v-activity-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:35px}.v-activity-tab{border:0;border-radius:30px;padding:14px 21px;background:white;font-size:16px;font-weight:700}.v-activity-tab[aria-pressed=true]{background:var(--blue);color:white}.v2-activity-panel{display:grid;grid-template-columns:.8fr 1.2fr;background:white;border-radius:24px;overflow:hidden;min-height:380px}.v2-activity-panel>div:last-child{padding:45px}.v2-activity-panel h3{font-size:31px;margin-bottom:25px}.v2-activity-art{position:relative;background:var(--accent);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#31563f}.v2-activity-art:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #31563f40;border-radius:50%;transform:translate(80px,90px)}.v2-activity-art>span{font-size:210px;font-weight:800;letter-spacing:-.09em;line-height:1;transform:rotate(-8deg)}.v2-activity-art svg{position:absolute;right:30px;top:35px;width:55px;height:55px}.v2-activity-panel:nth-of-type(2) .v2-activity-art{background:#c8d4f4;color:#244499}.v2-activity-panel:nth-of-type(3) .v2-activity-art{background:#ddd5f5;color:#55416e}.v2-activity-panel:nth-of-type(4) .v2-activity-art{background:#d5e7f2;color:#32566b}.v2 .v-trial{text-align:center}.v2 .v-trial .v-title,.v2 .v-trial-intro{margin-left:auto;margin-right:auto}.v2 .v-trial-step{position:relative;background:var(--soft);padding:30px 27px;border-radius:24px;text-align:left}.v2 .v-trial-step:nth-child(2){background:var(--accent);transform:rotate(-3deg)}.v2 .v-trial-step:nth-child(3){background:#dfe6fc}.v2 .v-trial-index{display:block;font-size:56px;color:var(--blue);margin-bottom:20px}.v2 .v-planning{padding-top:0}.v2 .v-planning-slot{border-radius:25px}.v2 .v-goals{background:var(--blue);color:white}.v2 .v-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.v2 .v-goal{padding:36px;border-radius:22px;background:#ffffff0d;position:relative;border:1px solid #ffffff36}.v2 .v-goal-symbol{color:var(--accent);font-size:55px}.v2 .v-goal:nth-child(2){background:var(--accent);color:#203c2e;transform:rotate(2deg)}.v2 .v-goal:nth-child(2) .v-goal-symbol{color:var(--blue)}.v2 .v-access-art{border-radius:150px 150px 25px 25px}.v2 .v-coaches{background:var(--soft)}.v2 .v-coach .photo-slot{border-radius:160px 160px 90px 90px}.v2 .v-coach:nth-child(2){padding-top:50px}.v2 .v-coach:nth-child(2) .photo-slot{background:#d4ddf5;color:#455579}.v2 .v-coach:nth-child(3) .photo-slot{background:#d8d0ed;color:#5c5073}.v2 .v-coach>div:last-child{text-align:center}.v2 .v-objections{background:var(--accent)}.v2 .v-objections-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.v2-ob-fold{background:var(--paper);border-radius:18px;box-shadow:0 6px 0 #20483112}.v2-ob-fold summary{display:flex;align-items:center;gap:20px;list-style:none;padding:30px}.v2-ob-fold summary>span{font-size:15px;color:var(--blue);font-weight:700}.v2-ob-fold summary>h3{font-size:24px;flex:1}.v2-ob-fold>div{padding:0 30px 30px}.v2-ob-fold[open]{background:var(--blue);color:white}.v2-ob-fold[open] summary>span{color:var(--accent)}.v2-ob-fold[open] summary>svg{transform:rotate(45deg)}.v2 .v-results .v-title{max-width:650px}.v2-timeline{position:relative;max-width:890px;margin:0 auto;padding:5px 0}.v2-timeline:before{content:'';position:absolute;top:20px;bottom:50px;left:calc(50% - 1px);width:2px;background:repeating-linear-gradient(to bottom,var(--blue),var(--blue) 6px,transparent 6px,transparent 14px)}.v2-timeline-stop{position:relative;display:flex;width:50%;padding:22px 65px 22px 0;margin-right:auto;text-align:right;min-height:150px;align-items:center}.v2-timeline-stop:nth-child(even){margin-left:auto;margin-right:0;padding:22px 0 22px 65px;text-align:left}.v2-stop-dot{position:absolute;right:-24px;top:28px;border-radius:50%;width:48px;height:48px;background:var(--blue);color:white;display:grid;place-items:center;font-size:20px;font-weight:750;box-shadow:0 0 0 10px var(--paper)}.v2-timeline-stop:nth-child(even) .v2-stop-dot{right:auto;left:-24px;background:var(--accent);color:#203c2e}.v2 .v-reviews{background:var(--soft)}.v2 .v-reviews-slot{background:var(--paper);border-radius:25px}.v2 .v-room-main{border-radius:28px}.v2 .v-room-detail{border-radius:100px;background:#cbd7f0}.v2 .v-faq{padding-top:20px}.v2 .v-closing{background:var(--accent)}.v2 .v-closing .v-title{max-width:850px}.v2 .v-closing-mark{opacity:.15;color:var(--blue)}
@media(max-width:850px){.v2 .v-hero-title{font-size:53px}.v2-collage{gap:65px}.v2-hero-seal{width:125px;height:125px;left:calc(50% - 62px)}.v2 .v-reason{gap:30px}.v2-activity-panel{grid-template-columns:.6fr 1fr}.v2-activity-panel>div:last-child{padding:30px}.v2-activity-art>span{font-size:145px}.v2 .v-trial-step{padding:25px 20px}.v2-ob-fold summary{padding:25px;gap:12px}.v2 .v-goal{padding:28px}.v2-timeline-stop{padding-right:45px}.v2-timeline-stop:nth-child(even){padding-left:45px}}
@media(max-width:560px){.v2 .v-hero{padding-top:36px}.v2 .v-hero-title{font-size:44px}.v2-collage{gap:20px;margin-top:48px;margin-bottom:-13px}.v2-photo-a{height:195px;padding:15px;border-width:6px}.v2-photo-b{height:155px;padding:13px;border-width:6px}.v2 .v2-collage .slot-label{font-size:12px;line-height:1.3}.v2-hero-seal{height:88px;width:88px;left:calc(50% - 44px);bottom:86px;gap:5px}.v2-hero-seal>span{font-size:12px;max-width:72px}.v2-hero-seal svg{height:22px;width:22px}.v2-spark{font-size:58px;top:-25px;right:-9px}.v2 .v-reason{grid-template-columns:1fr;gap:18px;padding:25px 0}.v2 .v-reason-heading{gap:18px}.v2 .v-reason-index{width:44px;height:44px}.v-activity-tabs{gap:9px}.v-activity-tab{font-size:14px;padding:11px 15px}.v2-activity-panel{grid-template-columns:1fr;border-radius:20px}.v2-activity-art{height:155px;justify-content:flex-start;padding:0 32px}.v2-activity-art>span{font-size:145px}.v2-activity-art svg{width:45px;height:45px;top:50px}.v2-activity-panel>div:last-child{padding:27px}.v2-activity-panel h3{font-size:28px}.v2 .v-trial-step{padding:25px;border-radius:18px;align-items:center}.v2 .v-trial-index{margin:0}.v2 .v-goals-grid,.v2 .v-objections-grid{grid-template-columns:1fr}.v2 .v-goal:nth-child(2){transform:none}.v2 .v-coach:nth-child(2){padding-top:0}.v2 .v-coach{max-width:320px;width:100%;margin:auto}.v2-ob-fold summary{padding:24px}.v2-ob-fold summary>h3{font-size:23px}.v2-timeline:before{left:23px}.v2-timeline-stop,.v2-timeline-stop:nth-child(even){width:100%;padding:20px 0 25px 75px;text-align:left;min-height:0}.v2-stop-dot,.v2-timeline-stop:nth-child(even) .v2-stop-dot{left:0;right:auto;top:24px}.v2 .v-planning{padding-top:0}}
@media(max-width:360px){.v2 .v-hero-title{font-size:37px}.v2-activity-panel>div:last-child{padding:23px}.v2-ob-fold summary{padding:20px;gap:10px}.v2-ob-fold summary>h3{font-size:22px}}

/* /m/version-2c.css */
/* V2C : architecture monochrome, esprit de groupe et vague côtière. */
.c-nowrap{white-space:nowrap}
.v2c{--ink:#202322;--paper:#fffefa;--soft:#efefea;--accent:#c6e9d8;--blue:#3151d4;--muted:#59615c;--sky:#dde8f1;--night:#202322;--grey:#dadcd8;--white:#fffefa}
.v2c .v-review{background:var(--night);color:var(--white)}
.v2c .v-brand strong{letter-spacing:.13em;font-size:28px;font-weight:800}
.v2c .v-brand>span{letter-spacing:.16em;font-size:10px}
.v2c .v-cta{background:var(--night);color:var(--white);padding:10px 11px 10px 23px;border-radius:40px;min-height:58px}
.v2c .v-cta svg{background:var(--blue);width:38px;height:38px;padding:10px;border-radius:50%;color:var(--white);transition:transform .2s}
.v2c .v-cta:hover svg{transform:rotate(-35deg)}
.v2c .v-hero{background:var(--paper);color:var(--ink);padding:68px 0 0;overflow:hidden}
.c-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.v2c .v-kicker{color:var(--muted);max-width:450px;font-size:18px;font-weight:550}
.v2c .v-hero-title{font-size:60px;line-height:1.04}
.v2c .he-highlight{color:var(--blue);position:relative}
.v2c .v-hero-intro{margin:26px 0 31px;max-width:470px;font-size:19.5px}
.v2c .v-hero .v-cta{background:var(--night);color:var(--white)}
.c-hero-board{position:relative;background:var(--night);padding:23px 23px 93px;border-radius:10px 10px 105px 10px;min-height:520px;margin:0 0 28px}
.c-board-word{font-size:58px;color:var(--white);letter-spacing:.17em;font-weight:750;line-height:1.1;text-align:center;margin-bottom:20px}
.v2c .c-main-photo{height:295px;background:var(--grey);color:var(--muted);border-radius:3px}
.v2c .photo-slot:before{border-radius:3px;width:80%;height:80%;transform:rotate(-6deg)}
.v2c .photo-slot:after{border-radius:3px;transform:rotate(8deg)}
.v2c .c-small-photo{position:absolute;right:-16px;bottom:-26px;width:48%;height:165px;background:var(--accent);color:var(--ink);border:8px solid var(--paper);border-radius:8px;transform:rotate(5deg)}
.c-photo-note{position:absolute;left:27px;bottom:27px;width:43%;color:var(--white);font-size:16px;display:flex;align-items:center;gap:12px;line-height:1.2;font-weight:600}
.c-wave{width:105px;height:48px;stroke-width:3;overflow:visible;flex-shrink:0}
.c-photo-note .c-wave{width:55px;color:var(--accent)}
.c-hero-bottom{max-width:1140px;margin:45px auto 0;padding:0 0 24px;display:flex;align-items:center;justify-content:space-between;color:var(--ink)}
.c-hero-bottom>span{font-size:12px;letter-spacing:.35em;font-weight:750}
.c-hero-bottom .c-wave{width:125px;color:var(--blue);height:35px}
.v2c .v-ribbon{background:var(--night);color:var(--white);padding:16px 0}
.v2c .v-ribbon span{font-size:16px;font-weight:550}
.v2c .v-ribbon b{font-size:15px;color:var(--accent)}
.v2c .v-why .v-title{max-width:720px}
.v2c .v-reasons{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.v2c .v-reason{display:block;padding:33px;border:0;border-radius:12px;background:var(--soft);position:relative}
.v2c .v-reason:first-child{grid-row:span 2;background:var(--night);color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:45px}
.v2c .v-reason:first-child:after{content:'';height:70px;margin-top:30px;background:repeating-linear-gradient(125deg,transparent 0 14px,var(--accent) 14px 17px);opacity:.5;clip-path:polygon(0 55%,30% 0,65% 80%,100% 20%,100% 65%,65% 100%,30% 30%,0 90%)}
.v2c .v-reason:last-child{background:var(--accent)}
.v2c .v-reason-heading{display:block;margin-bottom:22px}
.v2c .v-reason-index{background:none;color:var(--blue);border-radius:0;width:auto;height:auto;justify-content:flex-start;font-size:42px;margin-bottom:18px}
.v2c .v-reason:first-child .v-reason-index{color:var(--accent)}
.v2c .v-reason h3{font-size:26px;max-width:370px}
.v2c .v-activities{background:var(--soft)}
.v2c .v-activities .v-title{text-align:left;margin-left:0}
.v2c .v-activity-tabs{justify-content:flex-start}
.v2c .v-activity-tab{background:var(--paper);border-radius:8px}
.v2c .v-activity-tab[aria-pressed=true]{background:var(--night);color:var(--white)}
.v2c .v2-activity-panel{grid-template-columns:1fr 1fr;border-radius:12px}
.v2c .v2-activity-panel>div:last-child{align-self:center}
.v2c .v2-activity-art{align-self:stretch;min-height:360px;background:var(--night);color:var(--white)}
.v2c .v2-activity-art:before{border-color:var(--accent);width:300px;height:300px;border-width:2px;transform:translate(70px,80px)}
.v2c .v2-activity-art>span{font-size:190px;transform:none;font-weight:650}
.v2c .v2-activity-art svg{color:var(--accent)}
.v2c .v2-activity-panel:nth-of-type(even) .v2-activity-art{background:var(--accent);color:var(--night)}
.v2c .v2-activity-panel:nth-of-type(even) .v2-activity-art svg{color:var(--blue)}
.v2c .v-trial{background:var(--paper)}
.v2c .v-trial-step{border-radius:10px;background:var(--soft)}
.v2c .v-trial-step:nth-child(2){background:var(--accent);transform:rotate(-2deg)}
.v2c .v-trial-step:nth-child(3){background:var(--sky)}
.v2c .v-trial-index{color:var(--night)}
.v2c .v-planning-slot{border-radius:10px}
.v2c .v-goals{background:var(--night);color:var(--white)}
.v2c .v-goals-grid{gap:24px}
.v2c .v-goal{background:var(--paper);color:var(--ink);border:0;border-radius:12px;padding:38px;transform:none}
.v2c .v-goal:nth-child(2){background:var(--accent);color:var(--ink);transform:none}
.v2c .v-goal:nth-child(3){background:var(--sky)}
.v2c .v-goal:nth-child(4){background:var(--grey)}
.v2c .v-goal-symbol{font-size:48px;color:var(--blue)}
.v2c .v-access-grid,.v2c .v-health-grid{grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.v2c .v-access-art{border-radius:12px;min-height:430px;background-color:var(--accent)}
.v2c .v-coaches{background:var(--paper)}
.v2c .v-coach .photo-slot,.v2c .v-coach:nth-child(2) .photo-slot,.v2c .v-coach:nth-child(3) .photo-slot{border-radius:10px 10px 0 0;background:var(--grey);color:var(--muted);height:330px}
.v2c .v-coach>div:last-child{background:var(--night);color:var(--white);text-align:left;padding:23px;border-radius:0 0 10px 10px}
.v2c .v-coach h3{margin:0 0 8px}
.v2c .v-coach .v-missing{color:var(--accent)}
.v2c .v-coach:nth-child(2){padding-top:25px}
.v2c .v-coach:nth-child(2)>div:last-child{background:var(--accent);color:var(--night)}
.v2c .v-coach:nth-child(2) .v-missing{color:var(--muted)}
.v2c .v-health{background:var(--accent);border-radius:70px 0 0 0}
.v2c .v-health-symbol{font-size:0;color:var(--blue);margin-top:45px}
.v2c .v-health-symbol .c-wave{width:230px;height:80px}
.v2c .v-health-item{background:var(--paper);border:0;border-radius:10px;margin-bottom:14px;padding:0 24px}
.v2c .v-objections{background:var(--paper)}
.v2c .v2-ob-fold{background:var(--soft);box-shadow:none;border-radius:12px}
.v2c .v2-ob-fold[open]{background:var(--night);color:var(--white)}
.v2c .v-results{background:var(--soft);overflow:hidden}
.v2c .v2-timeline{display:flex;gap:22px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:15px 0 24px;scrollbar-color:var(--blue) var(--grey);overscroll-behavior-x:contain}
.v2c .v2-timeline:before{display:none}
.v2c .v2-timeline-stop,.v2c .v2-timeline-stop:nth-child(even){display:block;flex:0 0 340px;margin:0;padding:30px;text-align:left;min-height:360px;border-radius:12px;background:var(--paper);scroll-snap-align:start}
.v2c .v2-timeline-stop:nth-child(3n+2){background:var(--accent)}
.v2c .v2-timeline-stop:nth-child(3n){background:var(--sky)}
.v2c .v2-stop-dot,.v2c .v2-timeline-stop:nth-child(even) .v2-stop-dot{position:static;width:48px;height:48px;background:var(--night);color:var(--white);box-shadow:none;margin-bottom:30px}
.v2c .v-step-label{color:var(--ink);font-size:26px}
.c-progress-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;font-size:14px;color:var(--muted)}
.c-progress-controls>div{display:flex;gap:10px}
.c-progress-controls button{background:var(--night);color:var(--white);border:0;padding:13px 18px;border-radius:30px;font-size:14px}
.c-progress-controls button:disabled{opacity:.4;cursor:default}
.v2c .v-reviews{background:var(--paper)}
.v2c .v-reviews-slot{background:var(--soft);border-radius:12px}
.v2c .v-room{background:var(--night);color:var(--white)}
.v2c .v-room-main{background:var(--grey);border-radius:12px;color:var(--muted)}
.v2c .v-room-detail{background:var(--accent);border-color:var(--night);border-radius:12px;color:var(--ink)}
.v2c .v-room-text svg{color:var(--accent)}
.v2c .v-faq{padding-top:90px}
.v2c .v-closing{background:var(--accent)}
.v2c .v-closing-mark{right:0;bottom:0;opacity:.2;font-size:0}
.v2c .v-closing-mark .c-wave{width:390px;height:160px}
.v2c footer{background:var(--night);color:var(--white)}
@media(max-width:1100px){.c-hero-grid{gap:35px}.v2c .v-hero-title{font-size:52px}.c-board-word{font-size:44px}.c-hero-board{min-height:480px}.c-hero-bottom{padding-left:40px;padding-right:40px}.v2c .v-reason:first-child{padding:33px}}
@media(max-width:850px){.c-hero-grid{grid-template-columns:1fr;gap:40px}.c-hero-copy{max-width:620px}.c-hero-board{width:min(100%,570px);margin:0 auto 20px}.v2c .v-hero-title{max-width:650px}.c-hero-bottom{margin-top:20px;padding-left:25px;padding-right:25px}.v2c .v-reasons{grid-template-columns:1fr}.v2c .v-reason:first-child{grid-row:auto}.v2c .v-reason:first-child:after{display:none}.v2c .v-access-grid,.v2c .v-health-grid{grid-template-columns:1fr;gap:35px}.v2c .v2-activity-panel{grid-template-columns:1fr}.v2c .v2-activity-art{min-height:190px}.v2c .v2-activity-art>span{font-size:150px}.v2c .v-coach .photo-slot{height:250px}}
@media(max-width:560px){.v2c .v-hero{padding-top:34px}.v2c .v-kicker{font-size:16px}.v2c .v-hero-title{font-size:43px}.v2c .v-hero-intro{font-size:18px}.c-hero-board{padding:18px 18px 83px;min-height:410px;border-radius:8px 8px 65px 8px}.c-board-word{font-size:42px;letter-spacing:.14em;margin-bottom:16px}.v2c .c-main-photo{height:235px}.v2c .c-small-photo{height:130px;right:-8px;bottom:-18px;width:48%;border-width:6px;padding:12px}.v2c .c-small-photo .slot-label{font-size:12px}.c-photo-note{left:19px;bottom:22px;gap:8px;font-size:13px;width:44%}.c-photo-note .c-wave{width:33px}.c-hero-bottom{padding:0 22px 18px;margin-top:12px}.c-hero-bottom .c-wave{width:80px}.c-hero-bottom>span{font-size:10px}.v2c .v-reason,.v2c .v-reason:first-child{padding:28px}.v2c .v-reason-heading{display:flex;gap:16px}.v2c .v-reason-index{font-size:27px;margin:0}.v2c .v-reason h3{font-size:25px}.v2c .v-goal{padding:28px}.v2c .v-trial-step{display:block}.v2c .v-trial-index{margin-bottom:20px}.v2c .v-coach:nth-child(2){padding-top:0}.v2c .v-coach .photo-slot{height:310px}.v2c .v-health{border-radius:40px 0 0 0}.v2c .v-health-item{padding:0 20px}.v2c .v2-timeline-stop,.v2c .v2-timeline-stop:nth-child(even){flex-basis:88%;padding:26px;min-height:350px}.c-progress-controls{align-items:flex-start;flex-direction:column}.c-progress-controls>div{width:100%}.c-progress-controls button{flex:1;padding:12px 10px;font-size:13px}.v2c .v-faq{padding-top:60px}.v2c .v-closing-mark .c-wave{width:220px;height:90px}}
@media(max-width:360px){.v2c .v-hero-title{font-size:37px}.c-board-word{font-size:34px}.v2c .v-reason,.v2c .v-reason:first-child{padding:24px}.v2c .v-reason h3{font-size:23px}}

/* /m/version-2c-travail.css */
/* V2C active only. Historical V2C and V2D retain their original styles. */
.v2c.c-working .v-title{max-width:none;text-wrap:wrap}
.v2c.c-working .v-ribbon span{text-transform:uppercase;letter-spacing:.035em}
.c-working .c-hero-bottom{justify-content:flex-end}
.v2c.c-working .c-real-photo{margin:0;padding:0;overflow:hidden}
.c-working .c-real-photo img{display:block;width:100%;height:100%;object-fit:cover}
.c-working .c-main-photo img{object-position:50% 52%}
.v2c.c-working .c-small-photo{height:195px;width:51%;border-color:var(--accent);box-shadow:0 10px 26px #0002}
.c-working .c-small-photo img{object-position:50% 49%}
.c-working .c-photo-note{bottom:24px;width:40%}
@media(max-width:560px){.v2c.c-working .c-small-photo{height:148px;width:53%}.c-working .c-photo-note{font-size:14px}.c-working .c-photo-note .c-wave{width:34px}}
@media(max-width:360px){.v2c.c-working .c-small-photo{height:132px}.c-working .c-photo-note{font-size:13px;gap:7px}}

/* /m/version-2c-fluo.css */
/* Experimental V2C: fluorescent bar accents and recycled-rubber flecks. */
.v2c.c-fluo{--fluo:#d9ff25;--accent:#e4e8da;--blue:#293c32;--sky:#e2e8ef;--soft:#eeefea}
.v2c.c-fluo .c-wordmark{display:flex;width:127px;gap:6px;line-height:1;text-decoration:none}
.v2c.c-fluo .c-wordmark strong{display:flex;width:100%;justify-content:space-between;letter-spacing:0}
.v2c.c-fluo .c-wordmark>span{display:flex;width:100%;align-items:center;gap:8px;letter-spacing:0;white-space:nowrap}
.v2c.c-fluo .c-wordmark>span>b{display:flex;justify-content:space-between;font-weight:inherit}
.v2c.c-fluo .c-wordmark>span>b:first-child{flex:6}
.v2c.c-fluo .c-wordmark>span>b:last-child{flex:8}
.v2c.c-fluo .c-wordmark i{font-style:normal}
/* Logo de l'en-tête = celui du pied de page, sans le slogan (Virginie, 02/10) : mêmes proportions,
   ramenées de 239 à 160 px de large (×160/239) — même hauteur totale qu'avant, texte à 8 px.
   Sélecteurs renforcés (.v-brand) : les réglages génériques .v-brand, plus bas, l'emportaient. */
.v2c.c-fluo .v-brand.c-header-logo-final{display:grid;width:160px;grid-template-rows:auto calc(14px * 160 / 239);row-gap:calc(3px * 160 / 239);line-height:1}
.v2c.c-fluo .c-header-logo-final img{display:block;width:100%;height:auto}
.v2c.c-fluo .v-brand.c-header-logo-final>span{display:flex;width:100%;align-items:center;gap:calc(24px * 160 / 239);white-space:nowrap;font-size:calc(12px * 160 / 239);font-weight:750;line-height:1}
.v2c.c-fluo .c-header-logo-final>span>b{display:flex;justify-content:space-between;font-weight:inherit}
.v2c.c-fluo .c-header-logo-final>span>b:first-child{flex:6}
.v2c.c-fluo .c-header-logo-final>span>b:last-child{flex:8}
.v2c.c-fluo .c-header-logo-final i{font-style:normal}
.c-fluo .he-highlight{color:var(--ink);background:linear-gradient(transparent 68%,var(--fluo) 68%,var(--fluo) 94%,transparent 94%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.v2c.c-fluo .v-cta,.v2c.c-fluo .v-hero .v-cta{background:var(--fluo);color:var(--ink)}
.v2c.c-fluo .v-cta:hover{background:#e5ff68}
.v2c.c-fluo .v-cta svg{background:var(--night);color:var(--fluo)}
.c-fluo .c-hero-board{background-color:var(--night);background-image:url('/m/assets/v2c-fluo/mouchete.svg');background-size:210px 210px;isolation:isolate;padding-bottom:155px}
.c-fluo .c-board-word{position:relative;z-index:2;top:auto;left:auto;width:100%;transform:none;background:var(--night);padding:12px 10px;margin:0;text-shadow:none}
.c-fluo .c-photo-note{position:relative;left:auto;bottom:auto;width:100%;margin-top:10px;padding:11px 14px;background:var(--night);border-radius:0;justify-content:center;white-space:nowrap}
.c-fluo .c-photo-note .c-wave{color:var(--fluo)}
.v2c.c-fluo .c-small-photo{right:-48px;bottom:-72px;width:61%;height:215px;border-color:var(--fluo)}
.c-fluo .c-hero-bottom .c-wave{color:var(--night)}
.v2c.c-fluo .v-ribbon{background:var(--fluo);color:var(--night)}
.v2c.c-fluo .v-ribbon>div{animation-duration:165s}
.v2c.c-fluo .v-ribbon span{font-weight:700}
.v2c.c-fluo .v-ribbon b{color:var(--night)}
.c-fluo .c-title-highlight{background:linear-gradient(transparent 70%,var(--fluo) 70%,var(--fluo) 94%,transparent 94%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.c-fluo .c-title-block{display:inline;padding:0 .12em .04em;background:var(--fluo);color:var(--ink);box-shadow:.13em .13em 0 var(--night);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.v2c.c-fluo .v-trial-step:nth-child(1){transform:rotate(1.2deg)}
.v2c.c-fluo .v-trial-step:nth-child(3){transform:rotate(-1deg)}
.v2c.c-fluo .c-trial-collage{position:relative;display:grid;grid-template-columns:1.45fr .75fr;grid-template-rows:1fr 1fr;gap:9px;width:min(880px,92%);height:360px;margin:0 auto 78px;padding:11px;border-radius:16px;background:var(--night) url('/m/assets/v2c-fluo/mouchete.svg') center/240px;box-sizing:border-box;transform:rotate(-1.2deg)}
.v2c.c-fluo .c-trial-photo{position:relative;margin:0;overflow:hidden;border-radius:10px;background:var(--night)}
.v2c.c-fluo .c-trial-photo img{display:block;width:100%;height:100%;object-fit:cover}
.v2c.c-fluo .c-trial-photo-main{grid-row:1 / 3}
.v2c.c-fluo .c-trial-photo-main img{object-position:center 63%}
.v2c.c-fluo .c-trial-photo-hug{grid-column:2;grid-row:1}
.v2c.c-fluo .c-trial-photo-hug img{object-position:center 43%}
.v2c.c-fluo .c-trial-photo-energy{grid-column:2;grid-row:2}
.v2c.c-fluo .c-trial-photo-energy img{object-position:center 32%}
.v2c.c-fluo .c-trial-collage>span{position:absolute;left:24px;bottom:14px;padding:10px 16px;background:var(--fluo);box-shadow:5px 5px 0 var(--night);font-size:13px;font-weight:900;letter-spacing:.08em}
.v2c.c-fluo .c-trial-p5{padding:96px 0 100px;overflow:visible;background:var(--paper)}
.v2c.c-fluo .c-trial-p5-grid{display:grid;grid-template-columns:minmax(0,1fr) 620px;gap:80px;align-items:center}
.v2c.c-fluo .c-trial-p5-copy{display:flex;flex-direction:column;min-width:0;text-align:left}
.v2c.c-fluo .c-trial-p5-copy .v-title{margin:0;font-size:40px;font-weight:800;line-height:1.25;letter-spacing:-.025em}
.v2c.c-fluo .c-trial-p5-steps{display:flex;flex-direction:column;gap:28px;margin-top:40px}
.v2c.c-fluo .c-trial-p5-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;align-items:start}
.v2c.c-fluo .c-trial-p5-step>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--fluo);color:var(--night);font-size:18px;font-weight:800;line-height:1}
.v2c.c-fluo .c-trial-p5-step h3{color:var(--night);font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.02em}
.v2c.c-fluo .c-trial-p5-step p{margin-top:6px;color:#4a4b48;font-size:15px;font-weight:400;line-height:1.55}
.v2c.c-fluo .c-trial-p5-copy .v-cta{align-self:flex-start;margin-top:40px}
/* Paragraphe 38 du document, rétabli le 29/10 (audit du site en ligne) : l'introduction sous le titre, avant les étapes.
   Le lien reprend celui des pages intérieures (.pg-link) : texte à l'encre souligné de la couleur de la marque — le
   fluo en couleur de texte ne se lirait pas sur ce fond clair, et jamais le bleu du navigateur. Le lien souligné ne
   se coupe pas sur deux lignes (règle des sites TDB sur les groupes soulignés). */
.v2c.c-fluo .c-trial-p5-intro{margin:18px 0 0;color:#4a4b48;font-size:17.5px;font-weight:400;line-height:1.55}
.v2c.c-fluo .c-trial-p5-intro a{white-space:nowrap;color:var(--night);text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:4px;text-underline-offset:3px;transition:background .2s}
.v2c.c-fluo .c-trial-p5-intro a:hover{background:var(--fluo)}
.v2c.c-fluo .c-trial-p5-intro a:focus-visible{outline:3px solid var(--night);outline-offset:2px}
.v2c.c-fluo .c-trial-p5-visual{position:relative;width:620px;height:560px;border-radius:32px;background:#efefec}
.v2c.c-fluo .c-trial-p5-photo{position:absolute;margin:0;overflow:hidden;border:6px solid var(--paper);border-radius:16px;background:var(--soft);box-sizing:border-box}
.v2c.c-fluo .c-trial-p5-photo img{display:block;width:100%;height:100%;object-fit:cover}
.v2c.c-fluo .c-trial-p5-team{z-index:1;top:-30px;left:28px;width:380px;height:262px;box-shadow:0 20px 40px rgba(32,35,34,.22);transform:rotate(-2.5deg)}
.v2c.c-fluo .c-trial-p5-team img{object-position:50% 55%}
.v2c.c-fluo .c-trial-p5-hug{z-index:2;top:150px;right:-28px;width:250px;height:250px;box-shadow:0 18px 36px rgba(32,35,34,.22);transform:rotate(3deg)}
.v2c.c-fluo .c-trial-p5-hug img{object-position:50% 58%;transform:scale(1.48)}
.v2c.c-fluo .c-trial-p5-bike{z-index:3;bottom:-26px;left:60px;width:330px;height:220px;box-shadow:0 18px 36px rgba(32,35,34,.22);transform:rotate(2deg)}
.v2c.c-fluo .c-trial-p5-wave{position:absolute;z-index:4;top:40px;right:36px;width:66px;height:15px}
.v2c.c-fluo .c-trial-p5-wave path{fill:none;stroke:var(--night);stroke-width:2;stroke-linecap:round}
.v2c.c-fluo .c-trial-p5-label{position:absolute;z-index:5;right:40px;bottom:24px;padding:12px 18px;border-radius:6px;background:var(--fluo);box-shadow:0 12px 24px rgba(32,35,34,.16);color:var(--night);font-size:13px;font-weight:800;line-height:1;letter-spacing:.14em;white-space:nowrap;transform:rotate(-3deg)}
.v2c.c-fluo .c-planning{display:grid;gap:32px}
.v2c.c-fluo .c-planning-filters{display:grid;gap:14px;padding:22px 24px;border-radius:10px;background:var(--night);color:var(--white)}
.v2c.c-fluo .c-planning-filters>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.v2c.c-fluo .c-planning-filters strong{min-width:190px;color:var(--fluo);font-size:11px;letter-spacing:.15em}
.v2c.c-fluo .c-planning-filters button{min-height:38px;padding:8px 13px;border:1px solid #ffffff4d;border-radius:3px;background:transparent;color:var(--white);font-size:11px;font-weight:850;letter-spacing:.05em;cursor:pointer}
.v2c.c-fluo .c-planning-filters button[aria-pressed="true"]{border-color:var(--fluo);background:var(--fluo);color:var(--night)}
.v2c.c-fluo .c-planning-filters button:focus-visible{outline-color:var(--fluo)}
.v2c.c-fluo .c-planning-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v2c.c-fluo .c-plan-day{min-width:0;border:1px solid #2024201f;border-radius:9px;background:var(--soft);overflow:hidden}
.v2c.c-fluo .c-plan-day>h3{padding:16px 18px;background:var(--night);color:var(--white);font-size:18px;letter-spacing:.12em;text-align:center}
.v2c.c-fluo .c-plan-day>div{display:grid;gap:8px;padding:14px}
.v2c.c-fluo .c-plan-slot{display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:center;min-height:55px;padding:10px 12px;border-radius:6px;background:var(--paper)}
.v2c.c-fluo .c-plan-slot time{font-size:12px;font-weight:900}
.v2c.c-fluo .c-plan-slot strong{font-size:13px;line-height:1.2}
.v2c.c-fluo .c-plan-slot[data-family~="wod"]{border-left:6px solid var(--fluo)}
.v2c.c-fluo .c-plan-slot[data-family~="hyrox"]{border-left:6px solid var(--night)}
.v2c.c-fluo .c-plan-slot[data-family~="athx"]{border-left:6px solid #aebdca}
.v2c.c-fluo .c-plan-slot[data-family~="free"]{border-left:6px solid #9cd7b5}
.v2c.c-fluo .c-plan-slot[hidden]{display:none}
.v2c.c-fluo .c-plan-empty{display:none;padding:24px 18px;color:var(--muted);font-size:13px;text-align:center}
.v2c.c-fluo .c-plan-day.is-empty .c-plan-empty{display:block}
.v2c.c-fluo .v-reason:first-child .v-reason-index{color:var(--fluo)}
.v2c.c-fluo .v-reason:first-child:after{background:repeating-linear-gradient(125deg,transparent 0 14px,var(--fluo) 14px 17px);opacity:.85}
.v2c.c-fluo .v-reason:last-child{background:var(--soft);border-top:6px solid var(--fluo)}
.v2c.c-fluo .v2-activity-panel .v2-activity-art{background-color:var(--night);background-image:url('/m/assets/v2c-fluo/mouchete.svg');background-size:210px;color:var(--white)}
.v2c.c-fluo .v2-activity-art:before{border-color:var(--fluo)}
.v2c.c-fluo .v2-activity-art>span{color:var(--fluo)}
.v2c.c-fluo .v2-activity-panel .v2-activity-art svg{color:var(--white)}
.v2c.c-fluo .v2-activity-panel:nth-of-type(even) .v2-activity-art{background-color:var(--night)}
.v2c.c-fluo .c-activity-concepts{margin:100px 0 4px;padding:0;background:transparent;border:0;box-shadow:none}
.v2c.c-fluo .c-concept-intro{max-width:none;margin:0 auto 52px;text-align:center}
.v2c.c-fluo .c-concept-intro h3{margin:0 0 18px;font-size:clamp(30px,2.5vw,42px);line-height:1.14;letter-spacing:-.035em;white-space:nowrap}
.v2c.c-fluo .c-concept-card{position:relative;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);grid-template-rows:auto auto auto 1fr;column-gap:54px;align-items:start;min-width:0;padding:0;background:transparent;border:0;border-radius:0;overflow:visible}
.v2c.c-fluo .c-concept-kicker{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.13em}
.v2c.c-fluo .c-concept-example{grid-column:1;display:block;margin:0 0 16px}
.v2c.c-fluo .c-concept-example strong{display:block;font-size:20px;line-height:1.25}
.v2c.c-fluo .c-concept-example p{margin:6px 0 0;color:var(--muted);font-size:16px;line-height:1.45}
.v2c.c-fluo .c-concept-tabs{grid-column:1;display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:0}
.v2c.c-fluo .c-concept-tabs button,.v2c.c-fluo .c-phone-tabs>label{box-sizing:border-box;display:inline-flex;flex:0 0 auto;align-self:flex-start;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border:2px solid var(--night);border-radius:3px;background:var(--paper);font-family:inherit;font-size:14px;font-weight:800;line-height:normal;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 var(--night)}
.v2c.c-fluo .c-concept-tabs button.is-active,.v2c.c-fluo .c-phone-tabs>input:checked+label{background:var(--fluo);transform:translate(3px,3px);box-shadow:1px 1px 0 var(--night)}
.v2c.c-fluo .c-level-versions{grid-column:2;grid-row:1 / span 4;display:block;width:100%;max-width:460px;margin:0 0 0 auto;align-self:center}
.v2c.c-fluo .c-level-version{margin:0}
.v2c.c-fluo .c-level-visual{position:relative;width:100%;height:auto;aspect-ratio:4/3;background:var(--night);border-radius:12px;overflow:hidden}
.v2c.c-fluo .c-level-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.v2c.c-fluo .c-level-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 60%,#0d0f0d88 100%);pointer-events:none}
.v2c.c-fluo .c-level-visual>b{position:absolute;z-index:2;right:14px;top:8px;color:var(--fluo);font-size:50px;line-height:1;text-shadow:0 2px 12px #000}
.v2c.c-fluo .c-concept-answer{grid-column:1;margin:24px 0 0;padding-left:18px;border-left:5px solid var(--fluo)}
.v2c.c-fluo .c-concept-answer strong{display:block;margin-bottom:7px;font-size:18px}
.v2c.c-fluo .c-concept-answer p{font-size:14px;line-height:1.42}
.v2c.c-fluo .c-health-choices input:focus-visible+label{outline:3px solid var(--blue);outline-offset:4px}
.v2c.c-fluo .v-goal:nth-child(2){background:var(--fluo)}
.v2c.c-fluo .v-goals{overflow:hidden;background-image:linear-gradient(100deg,transparent 0 48%,#ffffff0b 48% 49%,transparent 49% 100%)}
.v2c.c-fluo .v-goals-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:26px;align-items:start;padding:10px 0 46px}
.v2c.c-fluo .v-goal{position:relative;min-height:285px;box-shadow:13px 15px 0 #0d0f0d;padding:40px 42px;overflow:hidden}
.v2c.c-fluo .v-goal:after{position:absolute;right:18px;bottom:-20px;font-size:112px;font-weight:900;line-height:1;color:var(--night);opacity:.07;letter-spacing:-.08em}
.v2c.c-fluo .v-goal:nth-child(1){grid-column:1 / 7;transform:rotate(-1.2deg)}
.v2c.c-fluo .v-goal:nth-child(1):after{content:'01'}
.v2c.c-fluo .v-goal:nth-child(2){grid-column:7 / 13;transform:rotate(1.4deg);margin-top:58px}
.v2c.c-fluo .v-goal:nth-child(2):after{content:'02'}
.v2c.c-fluo .v-goal:nth-child(3){grid-column:2 / 8;transform:rotate(1deg);margin-top:-18px}
.v2c.c-fluo .v-goal:nth-child(3):after{content:'03'}
.v2c.c-fluo .v-goal:nth-child(4){grid-column:8 / 13;transform:rotate(-1.3deg);margin-top:40px}
.v2c.c-fluo .v-goal:nth-child(4):after{content:'04'}
.v2c.c-fluo .v-goal-symbol{position:relative;z-index:1}
.v2c.c-fluo .v-goal-symbol svg{display:block;width:52px;height:52px;stroke-width:2.2}
.v2c.c-fluo .v-coach:nth-child(2)>div:last-child,.v2c.c-fluo .v-coach:nth-child(4)>div:last-child{background:var(--fluo);color:var(--ink)}
.v2c.c-fluo .v-coaches-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.v2c.c-fluo .v-coach,.v2c.c-fluo .v-coach:nth-child(2){padding-top:0}
.v2c.c-fluo .v-coach .photo-slot{padding:0}
.v2c.c-fluo .v-coach .photo-slot:before,.v2c.c-fluo .v-coach .photo-slot:after{display:none}
.v2c.c-fluo .v-coach .photo-slot img{display:block;width:100%;height:100%;object-fit:cover}
.v2c.c-fluo .v-coach>div:last-child{min-height:110px}
.v2c.c-fluo .c-coach-role{display:block;font-size:10px;font-weight:800;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;opacity:.82}
.v2c.c-fluo .v-contact{display:grid;gap:8px}
.v2c.c-fluo .v-contact>div{display:flex;align-items:center;gap:14px;margin:10px 0}
.v2c.c-fluo .v-contact>div>span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--night);border-radius:50%;background:#fff;box-shadow:3px 3px 0 var(--fluo)}
.v2c.c-fluo .v-contact>div>span svg{width:17px;height:17px;stroke-width:1.8}
.v2c.c-fluo .v-contact a{text-decoration:none}
.v2c.c-fluo .v-contact a:hover{text-decoration:underline;text-underline-offset:3px}
.v2c.c-fluo .c-map-card{display:block;position:relative;overflow:hidden;background:var(--soft);color:var(--ink)}
.v2c.c-fluo .c-map-card :is(iframe,:where(.c-carte-plan)){display:block;width:100%;height:100%;min-height:430px;border:0}
.v2c.c-fluo .v-coach .v-missing{color:var(--fluo)}
.v2c.c-fluo .v-coach:nth-child(2) .v-missing,.v2c.c-fluo .v-coach:nth-child(4) .v-missing{color:var(--ink)}
.v2c.c-fluo .v-health{background:var(--soft)}
.v2c.c-fluo .v-health-grid .v-title{margin-bottom:45px}
.c-fluo .v-health-symbol{position:relative;isolation:isolate}
.c-fluo .v-health-symbol:before{content:'';position:absolute;inset:-12px auto auto -14px;width:105px;height:105px;background:var(--fluo);border-radius:50%;z-index:-1}
.v2c.c-fluo .c-health-stack{display:grid;gap:18px;padding:12px 10px 20px}
.v2c.c-fluo .c-health-card{border:0;border-radius:7px;background:var(--paper);box-shadow:10px 10px 0 var(--night);overflow:hidden;transform:rotate(-1deg)}
.v2c.c-fluo .c-health-card:nth-child(2){background:var(--fluo);transform:rotate(1.2deg)}
.v2c.c-fluo .c-health-card:nth-child(3){background:var(--sky);transform:rotate(-.6deg)}
.v2c.c-fluo .c-health-card summary{display:grid;grid-template-columns:54px 1fr 82px;gap:17px;align-items:center;padding:18px 22px;list-style:none;cursor:pointer}
.v2c.c-fluo .c-health-card summary::-webkit-details-marker{display:none}
.v2c.c-fluo .c-health-card summary>span{font-size:34px;font-weight:900;line-height:1;color:var(--night);opacity:.25}
.v2c.c-fluo .c-health-card summary small{display:block;margin-bottom:3px;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.v2c.c-fluo .c-health-card summary h3{font-size:25px}
.v2c.c-fluo .c-health-more{display:grid;justify-items:center;gap:2px;color:var(--night);font-size:inherit;opacity:.7}
.v2c.c-fluo .c-health-more svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v2c.c-fluo .c-health-more small{margin:0;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.v2c.c-fluo .c-health-card[open] .c-health-more small{font-size:0}
.v2c.c-fluo .c-health-card[open] .c-health-more small:after{content:'Réduire';font-size:9px}
.v2c.c-fluo .c-health-card>p{padding:0 28px 26px 93px;font-size:16px}
.v2c.c-fluo .c-health-chooser{position:relative;z-index:2;margin-top:-64px;padding:0 0 80px;background:linear-gradient(to bottom,transparent 0 64px,var(--paper) 64px)}
.v2c.c-fluo .c-health-drawer{background:var(--paper);box-shadow:11px 11px 0 var(--night)}
.v2c.c-fluo .c-health-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 28px;border:2px solid var(--night);list-style:none;cursor:pointer}
.v2c.c-fluo .c-health-drawer>summary::-webkit-details-marker{display:none}
.v2c.c-fluo .c-health-drawer>summary span strong,.v2c.c-fluo .c-health-drawer>summary span small{display:block}
.v2c.c-fluo .c-health-drawer>summary span strong{font-size:21px}
.v2c.c-fluo .c-health-drawer>summary span small{margin-top:3px;color:var(--muted)}
.v2c.c-fluo .c-health-drawer>summary>b{padding:12px 16px;background:var(--fluo);font-size:12px;letter-spacing:.08em;box-shadow:4px 4px 0 var(--night)}
.v2c.c-fluo .c-health-drawer[open]>summary>b{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--night)}
.v2c.c-fluo .c-health-chooser-box{padding:38px 34px 32px;border:2px solid var(--night);border-top:0;background:#f4faf7}
.v2c.c-fluo .c-health-chooser h2{text-align:left;font-size:30px}
.v2c.c-fluo .c-health-choices{display:grid;grid-template-columns:1fr 1fr;gap:30px 44px;margin-top:26px}
.v2c.c-fluo .c-health-choices fieldset{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;margin:0;padding:0;border:0}
.v2c.c-fluo .c-health-choices legend{width:100%;margin-bottom:4px;color:#787b75;font-size:11px;font-weight:900;letter-spacing:.15em}
.v2c.c-fluo .c-health-choices input{position:absolute;opacity:0;pointer-events:none}
.v2c.c-fluo .c-health-choices label{padding:11px 14px;border:2px solid transparent;background:var(--paper);font-size:13px;font-weight:800;cursor:pointer}
.v2c.c-fluo .c-health-choices input:checked+label{border-color:var(--night);background:var(--fluo);box-shadow:4px 4px 0 var(--night)}
.v2c.c-fluo .c-health-match{grid-column:1/-1;display:none;flex-wrap:wrap;gap:12px;margin-top:4px;padding:22px 24px;background:var(--night);color:var(--white)}
.v2c.c-fluo .c-health-match>small,.v2c.c-fluo .c-health-match>p{flex:0 0 100%;margin:0}
.v2c.c-fluo .c-health-match>small{color:var(--fluo);font-weight:900;letter-spacing:.15em}
.v2c.c-fluo .c-health-match article{display:none;flex:1 1 260px;padding:16px;background:#303532}
.v2c.c-fluo .c-health-match article strong,.v2c.c-fluo .c-health-match article span{display:block}
.v2c.c-fluo .c-health-match article strong{margin-bottom:5px;font-size:20px}
.v2c.c-fluo .c-health-match>p{color:#d4d6d1;font-size:12px}
.v2c.c-fluo .c-health-drawer:has(input[name="health-primary"]:checked):has(input[name="health-goal"]:checked) .c-health-match{display:flex}
.v2c.c-fluo .c-health-drawer:has(#health-primary-drainage:checked) .service-drainage,.v2c.c-fluo .c-health-drawer:has(#health-goal-relief:checked) .service-drainage,.v2c.c-fluo .c-health-drawer:has(#health-primary-chinese:checked) .service-chinese,.v2c.c-fluo .c-health-drawer:has(#health-goal-balance:checked) .service-chinese,.v2c.c-fluo .c-health-drawer:has(#health-primary-nutrition:checked) .service-nutrition,.v2c.c-fluo .c-health-drawer:has(#health-goal-habits:checked) .service-nutrition{display:block}
.v2c.c-fluo .c-phone-objections{background:var(--paper)}
.v2c.c-fluo .c-phone-objections .v-title,.v2c.c-fluo .c-phone-objections .v-hint{text-align:center;margin-left:auto;margin-right:auto}
.v2c.c-fluo .c-phone-tabs{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:10px;flex-wrap:wrap;padding-top:10px}
.v2c.c-fluo .c-phone-tabs:after{content:'';order:5;flex:0 0 100%;height:0}
.v2c.c-fluo .c-phone-tabs>input{position:absolute;opacity:0;pointer-events:none}
/* Clavier (audit du 29/10, relu par Codex) : le bouton radio est invisible, son étiquette montre donc le focus. */
.v2c.c-fluo .c-phone-tabs>input:focus-visible+label{outline:3px solid var(--night);outline-offset:3px}
.v2c.c-fluo .c-phone-shell{order:10;flex:0 0 100%;width:min(100%,455px);max-width:455px;min-width:0;margin:28px auto 0;border:12px solid var(--night);border-radius:42px;background:var(--paper);box-shadow:18px 18px 0 var(--fluo);overflow:hidden}
.v2c.c-fluo .c-phone-top{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:13px 16px;background:var(--night);color:var(--white);font-size:13px}
.v2c.c-fluo .c-phone-top strong{display:flex;flex-direction:column;width:86px;line-height:1;font-size:15px;letter-spacing:.17em;text-align:left}
.v2c.c-fluo .c-phone-top small{display:block;width:100%;margin-top:4px;font-size:6px;letter-spacing:.23em;white-space:nowrap}
.v2c.c-fluo .c-phone-top em{color:var(--fluo);font-style:normal;font-size:11px}
.v2c.c-fluo .c-phone-screen{min-height:510px;padding:18px;background:linear-gradient(135deg,#f7f6ef,#e8eadf)}
.v2c.c-fluo .c-phone-thread{display:none}
.v2c.c-fluo .c-phone-thread time{display:block;width:max-content;margin:0 auto 18px;padding:5px 12px;background:#dedfd7;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:.1em}
.v2c.c-fluo .c-phone-thread h3,.v2c.c-fluo .c-phone-thread p{max-width:88%;padding:14px 16px;border-radius:16px;font-size:15px;line-height:1.42;box-shadow:0 2px 4px #00000012}
.v2c.c-fluo .c-phone-thread h3{margin-right:auto;max-width:100%;background:var(--paper);font-size:16px}
.v2c.c-fluo .c-phone-thread p{margin:10px 0 0 auto;background:var(--night);color:var(--white)}
.v2c.c-fluo #phone-forme:checked~.c-phone-shell .c-thread-forme,.v2c.c-fluo #phone-budget:checked~.c-phone-shell .c-thread-budget,.v2c.c-fluo #phone-age:checked~.c-phone-shell .c-thread-age,.v2c.c-fluo #phone-blessure:checked~.c-phone-shell .c-thread-blessure{display:block}
.v2c.c-fluo .c-phone-compose{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px;padding:9px 10px 9px 18px;background:var(--soft);border-radius:24px;color:var(--muted);font-size:13px}
.v2c.c-fluo .c-phone-compose b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--fluo);color:var(--night)}
.v2c.c-fluo .v-results{position:relative;background:var(--sky);background-image:linear-gradient(115deg,#ffffff55 0 38%,transparent 38% 100%);color:var(--ink);overflow:visible}
.v2c.c-fluo .v-results .v-title{position:relative;z-index:1;max-width:none;white-space:nowrap}
.v2c.c-fluo .c-results-chapters{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:38px}
.v2c.c-fluo .c-results-chapters>article{background:var(--paper);box-shadow:12px 12px 0 var(--night)}
.v2c.c-fluo .c-results-chapters>article:nth-child(2){transform:translateY(45px)}
.v2c.c-fluo .c-results-chapters header{padding:26px 28px;background:var(--night);color:var(--white)}
.v2c.c-fluo .c-results-chapters article:nth-child(2) header{background:var(--fluo);color:var(--night)}
.v2c.c-fluo .c-results-chapters header span,.v2c.c-fluo .c-results-chapters header strong,.v2c.c-fluo .c-results-chapters header small{display:block}
.v2c.c-fluo .c-results-chapters header span{font-size:10px;font-weight:900;letter-spacing:.2em;color:var(--fluo)}
.v2c.c-fluo .c-results-chapters article:nth-child(2) header span{color:var(--night)}
.v2c.c-fluo .c-results-chapters header strong{margin:5px 0 2px;font-size:30px;line-height:1.05}
.v2c.c-fluo .c-results-chapters header small{font-size:13px;opacity:.72}
.v2c.c-fluo .c-results-chapters article>div{padding:8px 28px 14px}
.v2c.c-fluo .c-results-chapters section{display:grid;grid-template-columns:92px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid #d9dcd5}
.v2c.c-fluo .c-results-chapters section:last-child{border-bottom:0}
.v2c.c-fluo .c-results-chapters section>b,.v2c.c-fluo .c-results-chapters section>.c-result-step{font-size:14px;letter-spacing:.05em;text-transform:uppercase}
/* Jour 1 → 1 an : des <h3> depuis le 29/10 (Titre 3 du document ; c'étaient des <b>), au rendu du <b> d'avant. */
.v2c.c-fluo .c-results-chapters section>.c-result-step{margin:0;line-height:inherit;unicode-bidi:normal}
.v2c.c-fluo .c-results-chapters section p{font-size:15px;line-height:1.42}
.v2c.c-fluo .c-progress-note{position:relative;z-index:1;margin:78px 0 0;padding:14px 18px;background:var(--night);color:var(--fluo);font-weight:800;font-size:13px;text-align:center;text-transform:uppercase;letter-spacing:.1em}
.v2c.c-fluo .c-google-score{display:flex;align-items:baseline;gap:14px;margin:28px 0 30px}
.v2c.c-fluo .c-google-score strong{font-size:48px;line-height:1;letter-spacing:-.05em}
.v2c.c-fluo .c-stars{color:#e2aa00;font-size:24px;line-height:1;letter-spacing:.08em}
.v2c.c-fluo .c-review-card:nth-child(3n + 2) .c-stars,.v2c.c-fluo .c-review-card:nth-child(3n) .c-stars{color:var(--night)}
.v2c.c-fluo .c-review-card:nth-child(3n) .c-stars{color:var(--fluo)}
.v2c.c-fluo .c-google-score>span:last-child{color:var(--muted);font-weight:700}
.v2c.c-fluo .c-review-carousel{position:relative}
.v2c.c-fluo .c-google-reviews{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:3px 10px 14px 0}
.v2c.c-fluo .c-google-reviews::-webkit-scrollbar{display:none}
.v2c.c-fluo .c-google-reviews:focus-visible{outline:3px solid var(--night);outline-offset:3px}
.v2c.c-fluo .c-review-card{flex:0 0 calc((100% - 24px)/2);min-height:255px;padding:30px;display:flex;flex-direction:column;background:var(--soft);border-radius:8px;box-shadow:10px 10px 0 var(--night);scroll-snap-align:start}
.v2c.c-fluo .c-review-card:nth-child(3n + 2){background:var(--fluo);transform:rotate(1.1deg)}
.v2c.c-fluo .c-review-card:nth-child(3n){position:relative;isolation:isolate;background:var(--night);background-image:url('/m/assets/v2c-fluo/mouchete.svg');background-size:210px;color:var(--white);transform:rotate(-.8deg)}
.v2c.c-fluo .c-review-card:nth-child(3n):before{content:'';position:absolute;inset:0;z-index:-1;background:#090b09b8;border-radius:8px}
.v2c.c-fluo .c-review-card blockquote{margin:24px 0 30px;font-size:24px;line-height:1.25;font-weight:750;letter-spacing:-.02em}
.v2c.c-fluo .c-review-card>div{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.v2c.c-fluo .c-review-card>div span{font-size:13px;color:var(--muted)}
.v2c.c-fluo .c-review-card:nth-child(3n)>div span{color:#d8d8d2}
.v2c.c-fluo .c-review-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:22px;font-weight:800}
.v2c.c-fluo .c-review-nav>div{display:flex;gap:8px}
.v2c.c-fluo .c-review-nav button{width:46px;height:42px;border:1px solid var(--night);background:var(--paper);box-shadow:4px 4px 0 var(--night);font:800 21px/1 inherit;cursor:pointer}
.v2c.c-fluo .c-review-nav button:last-child{background:var(--fluo)}
.v2c.c-fluo .c-review-nav button:focus-visible{outline:3px solid #1670ff;outline-offset:3px}
.v2c.c-fluo .c-google-link{display:inline-block;margin-top:34px;font-weight:800;text-underline-offset:5px}
.v2c.c-fluo .v-room-grid{align-items:stretch}
.v2c.c-fluo .v-room-text>div{margin:11px 0;padding:17px 18px;border:1px solid #ffffff1f;border-radius:7px;background:#2b302d}
.v2c.c-fluo .v-room-text>div:nth-child(2){background:var(--fluo);color:var(--night);transform:rotate(.6deg)}
.v2c.c-fluo .v-room-text>div:nth-child(4){background:var(--sky);color:var(--night);transform:rotate(-.6deg)}
.v2c.c-fluo .v-room-text>div:nth-child(2) svg,.v2c.c-fluo .v-room-text>div:nth-child(4) svg{color:var(--night)}
.v2c.c-fluo .c-room-carousel{position:relative;min-height:100%;overflow:hidden;border-radius:12px;background:var(--night)}
.v2c.c-fluo .c-room-track{position:absolute;inset:0}
.v2c.c-fluo .c-room-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .35s ease}
.v2c.c-fluo .c-room-slide.is-active{opacity:1;visibility:visible}
.v2c.c-fluo .c-room-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.v2c.c-fluo .c-room-slide:first-child img{object-position:center 48%}
.v2c.c-fluo .c-room-nav{position:absolute;z-index:2;right:16px;bottom:16px;display:flex;align-items:center;padding:7px 8px;border-radius:999px;background:#fffefae8;color:var(--night);font-size:12px;font-weight:850;backdrop-filter:blur(8px)}
.v2c.c-fluo .c-room-nav>div{display:flex;gap:6px}
.v2c.c-fluo .c-room-nav button{display:grid;place-items:center;width:36px;height:34px;border:0;border-radius:50%;background:var(--night);color:var(--fluo);font-weight:900;cursor:pointer}
.v2c.c-fluo .c-room-nav button:last-child{background:var(--fluo);color:var(--night)}
.v2c.c-fluo .v-closing{overflow:hidden;border-top:10px solid var(--fluo);border-radius:70px 0 0 0;background:var(--soft)}
.v2c.c-fluo .c-site-footer{padding:76px 0 34px;background-color:var(--night);background-image:linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.32)),url('/m/assets/v2c-fluo/mouchete.svg');background-size:auto,210px;color:var(--white)}
.v2c.c-fluo .c-footer-grid{display:grid;grid-template-columns:270px 1fr .8fr .8fr;column-gap:110px;row-gap:56px}
.v2c.c-fluo .c-footer-grid>div{min-width:0}
.v2c.c-fluo .c-footer-grid .c-footer-titre{margin:0 0 16px;color:var(--fluo);font-size:13px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.v2c.c-fluo .c-footer-grid a{display:block;color:#e4e8da;font-size:15px;line-height:1.9;text-decoration:none}
.v2c.c-fluo .c-footer-grid a:hover{color:var(--fluo)}
.v2c.c-fluo .c-footer-logo-custom{display:grid;width:260px;max-width:100%;aspect-ratio:316/137;padding:5px 0 8px;grid-template-rows:48px 20px 13px;align-content:space-between;color:#fff;font-family:inherit;line-height:1;text-decoration:none}
.v2c.c-fluo .c-footer-logo-custom strong,.v2c.c-fluo .c-footer-logo-custom>span,.v2c.c-fluo .c-footer-logo-custom small{display:flex;width:100%;align-items:center}
.v2c.c-fluo .c-footer-logo-custom strong{justify-content:space-between;font-size:48px;font-weight:900;letter-spacing:0}
.v2c.c-fluo .c-footer-logo-custom>span{gap:13px;font-size:20px;font-weight:850}
.v2c.c-fluo .c-footer-logo-custom>span>b{display:flex;justify-content:space-between;font-weight:inherit}
.v2c.c-fluo .c-footer-logo-custom>span>b:first-child{flex:6}
.v2c.c-fluo .c-footer-logo-custom>span>b:last-child{flex:8}
.v2c.c-fluo .c-footer-logo-custom small{justify-content:space-between;font-size:11px;font-weight:650;letter-spacing:-.02em;white-space:nowrap}
.v2c.c-fluo .c-footer-logo-custom small b{font-weight:inherit}
.v2c.c-fluo .c-footer-logo-custom i{font-style:normal}
.v2c.c-fluo .c-footer-grid .c-footer-logo-final{display:grid;width:239px;max-width:100%;grid-template-rows:auto 14px;row-gap:3px;color:#fff;font-family:inherit;line-height:1;text-decoration:none}
.v2c.c-fluo .c-footer-logo-final img{display:block;width:100%;height:auto}
.v2c.c-fluo .c-footer-logo-final>span{display:flex;width:100%;align-items:center;line-height:1}
.v2c.c-fluo .c-footer-logo-final>span{gap:24px;font-size:12px;font-weight:750}
.v2c.c-fluo .c-footer-logo-final>span>b{display:flex;justify-content:space-between;font-weight:inherit}
.v2c.c-fluo .c-footer-logo-final>span>b:first-child{flex:6}
.v2c.c-fluo .c-footer-logo-final>span>b:last-child{flex:8}
.v2c.c-fluo .c-footer-logo-final i{font-style:normal}
.v2c.c-fluo .c-footer-brand>.c-footer-slogan{width:max-content;max-width:100%;margin:7px 0 0;color:var(--fluo);font-size:14px;font-weight:500;line-height:1.3;white-space:nowrap;word-spacing:normal}
.v2c.c-fluo .c-footer-brand>.c-footer-intro{max-width:32ch;margin-top:18px;color:#c8cdc5;font-size:14px;line-height:1.55}
.v2c.c-fluo .c-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:46px;padding-top:22px;border-top:1px solid #ffffff26;color:#c8cdc5;font-size:13px}
.v2c.c-fluo .c-footer-bottom a{color:inherit;text-underline-offset:4px}
@media(max-width:1050px){.v2c.c-fluo .c-footer-grid{grid-template-columns:1fr 1fr;gap:44px 70px}}
@media(max-width:560px){.v2c.c-fluo .c-site-footer{padding:58px 0 28px}.v2c.c-fluo .c-footer-grid{grid-template-columns:1fr;gap:38px}.v2c.c-fluo .c-footer-logo-custom{width:260px}.v2c.c-fluo .c-footer-bottom{align-items:flex-start;flex-direction:column;margin-top:40px}}
@media(prefers-reduced-motion:reduce){.v2c.c-fluo .c-room-slide{transition:none}}
@media(max-width:850px){.v2c.c-fluo .c-map-card :is(iframe,:where(.c-carte-plan)){min-height:360px}.v2c.c-fluo .v-goals-grid{display:grid;grid-template-columns:1fr 1fr}.v2c.c-fluo .v-goal:nth-child(n){grid-column:auto;margin-top:0;min-height:0}.v2c.c-fluo .c-review-card{flex-basis:78%}.v2c.c-fluo .v-health-grid{grid-template-columns:1fr}.v2c.c-fluo .c-health-stack{max-width:640px}.v2c.c-fluo .c-phone-screen{min-height:480px}.v2c.c-fluo .c-results-chapters{grid-template-columns:1fr}.v2c.c-fluo .c-results-chapters>article:nth-child(2){transform:none}.v2c.c-fluo .c-progress-note{margin-top:30px}}
@media(max-width:850px){.v2c.c-fluo .c-concept-intro h3{font-size:30px;white-space:normal}.v2c.c-fluo .c-concept-card{grid-template-columns:1fr}.v2c.c-fluo .c-concept-example,.v2c.c-fluo .c-concept-tabs,.v2c.c-fluo .c-concept-answer{grid-column:1}.v2c.c-fluo .c-level-versions{grid-column:1;grid-row:auto;max-width:500px;margin:28px auto 0}.v2c.c-fluo .c-level-visual{height:auto}}
@media(max-width:560px){.c-fluo .c-board-word{top:auto;width:100%;font-size:38px}.c-fluo .c-photo-note{left:auto;bottom:auto;width:100%;padding:8px 5px;font-size:10px;gap:6px}.c-fluo .c-photo-note .c-wave{width:28px}.v2c.c-fluo .c-small-photo{right:-10px;bottom:-20px;width:53%;height:150px}.c-fluo .v-footer>*{padding:5px 7px}.v2c.c-fluo .v-trial-step:nth-child(n){transform:none}.v2c.c-fluo .v-goals-grid{grid-template-columns:1fr;gap:24px;padding-bottom:18px}.v2c.c-fluo .v-goal:nth-child(n){transform:none;padding:30px;box-shadow:8px 9px 0 #0d0f0d}.v2c.c-fluo .c-results-chapters{gap:20px;margin-top:25px}.v2c.c-fluo .c-results-chapters header{padding:22px}.v2c.c-fluo .c-results-chapters article>div{padding:5px 20px 12px}.v2c.c-fluo .c-results-chapters section{grid-template-columns:1fr;gap:5px;padding:16px 0}.v2c.c-fluo .c-google-reviews{gap:18px}.v2c.c-fluo .c-review-card:nth-child(n){flex-basis:92%;transform:none;min-height:220px;padding:26px}.v2c.c-fluo .c-review-card blockquote{font-size:22px}.v2c.c-fluo .c-google-score{flex-wrap:wrap}.v2c.c-fluo .v-room-text>div:nth-child(n){transform:none}.v2c.c-fluo .c-health-card:nth-child(n){transform:none}.v2c.c-fluo .c-health-card summary{grid-template-columns:42px 1fr 64px;padding:16px}.v2c.c-fluo .c-health-more svg{width:34px;height:34px}.v2c.c-fluo .c-health-card>p{padding:0 20px 22px;font-size:15px}.v2c.c-fluo .c-health-chooser-box{padding:28px 20px 24px;border-radius:18px}.v2c.c-fluo .c-health-chooser h2{font-size:27px}.v2c.c-fluo .c-health-choices{grid-template-columns:1fr;gap:26px}.v2c.c-fluo .c-health-choices label{padding:10px 13px;font-size:13px}.v2c.c-fluo .c-phone-tabs>label{padding:9px 12px;font-size:11px}.v2c.c-fluo .c-phone-shell{border-width:8px;border-radius:30px;box-shadow:10px 10px 0 var(--fluo)}.v2c.c-fluo .c-phone-screen{min-height:470px;padding:13px}.v2c.c-fluo .c-phone-thread h3,.v2c.c-fluo .c-phone-thread p{max-width:94%;font-size:14px}}
@media(max-width:560px){.v2c.c-fluo .c-activity-concepts{margin-top:72px}.v2c.c-fluo .c-concept-intro{margin-bottom:36px}.v2c.c-fluo .c-concept-intro h3{font-size:30px}.v2c.c-fluo .c-concept-tabs{grid-template-columns:1fr}.v2c.c-fluo .c-level-versions{max-width:100%}.v2c.c-fluo .c-level-visual{height:auto}}
@media(max-width:850px){.v2c.c-fluo .v-results .v-title{white-space:normal}.v2c.c-fluo .c-health-drawer>summary{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.v2c.c-fluo .c-health-chooser{margin-top:-40px;padding-bottom:55px;background:linear-gradient(to bottom,transparent 0 40px,var(--paper) 40px)}.v2c.c-fluo .c-health-drawer>summary{padding:18px}.v2c.c-fluo .c-health-drawer>summary>b{width:100%;text-align:center}.v2c.c-fluo .c-health-chooser-box{border-radius:0}.v2c.c-fluo .c-phone-tabs{max-width:430px;margin-inline:auto}}
@media(max-width:560px){.v2c.c-fluo .c-concept-tabs button,.v2c.c-fluo .c-phone-tabs>label{min-height:38px;padding:9px 12px;font-size:11px}}
@media(max-width:850px){.v2c.c-fluo .c-trial-collage{width:min(680px,94%);height:320px;margin-bottom:72px}.v2c.c-fluo .c-planning-days{grid-template-columns:repeat(2,minmax(0,1fr))}.v2c.c-fluo .c-planning-filters strong{min-width:100%}.v2c.c-fluo .c-room-carousel{min-height:470px}}
@media(max-width:850px){.v2c.c-fluo .v-coaches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.v2c.c-fluo .c-small-photo{right:-18px;bottom:-46px;width:59%;height:165px}.v2c.c-fluo .c-trial-collage{width:96%;height:260px;margin-bottom:62px;padding:8px;gap:7px;grid-template-columns:1.35fr .8fr;transform:rotate(-.7deg)}.v2c.c-fluo .c-trial-photo{border-radius:7px}.v2c.c-fluo .c-trial-collage>span{left:16px;bottom:12px;padding:8px 10px;font-size:9px}.v2c.c-fluo .c-planning{gap:22px}.v2c.c-fluo .c-planning-filters{padding:18px 16px}.v2c.c-fluo .c-planning-filters>div{gap:7px}.v2c.c-fluo .c-planning-filters button{padding:8px 10px;font-size:10px}.v2c.c-fluo .c-planning-days{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 10px 12px 0}.v2c.c-fluo .c-plan-day{scroll-snap-align:start}.v2c.c-fluo .c-plan-slot{grid-template-columns:58px 1fr}.v2c.c-fluo .c-room-carousel{min-height:440px}.v2c.c-fluo .c-room-nav{right:12px;bottom:12px}}
@media(max-width:560px){.v2c.c-fluo .v-closing{border-radius:40px 0 0 0}}
@media(max-width:1279px) and (min-width:1024px){
  .v2c.c-fluo .c-trial-p5-grid{grid-template-columns:minmax(0,1fr) 520px;gap:50px}
  .v2c.c-fluo .c-trial-p5-visual{width:520px;height:480px}
  .v2c.c-fluo .c-trial-p5-team{top:-26px;left:24px;width:323px;height:223px}
  .v2c.c-fluo .c-trial-p5-hug{top:128px;right:-20px;width:213px;height:213px}
  .v2c.c-fluo .c-trial-p5-bike{bottom:-22px;left:51px;width:281px;height:187px}
  .v2c.c-fluo .c-trial-p5-wave{top:34px;right:30px}
  .v2c.c-fluo .c-trial-p5-label{right:24px;bottom:22px;font-size:11px}
}
@media(max-width:1023px){
  .v2c.c-fluo .c-trial-p5-grid{grid-template-columns:1fr;gap:78px}
  .v2c.c-fluo .c-trial-p5-copy{max-width:680px}
  .v2c.c-fluo .c-trial-p5-visual{justify-self:center;width:min(100%,620px);height:440px}
  .v2c.c-fluo .c-trial-p5-team{top:20px;left:20px;width:266px;height:183px}
  .v2c.c-fluo .c-trial-p5-hug{top:135px;right:-16px;width:175px;height:175px}
  .v2c.c-fluo .c-trial-p5-bike{bottom:-16px;left:36px;width:231px;height:154px}
  .v2c.c-fluo .c-trial-p5-label{right:22px;bottom:20px;padding:10px 14px;font-size:10px}
}
@media(max-width:560px){
  .v2c.c-fluo .c-trial-p5{padding:70px 0 78px}
  .v2c.c-fluo .c-trial-p5-grid{gap:50px}
  .v2c.c-fluo .c-trial-p5-copy .v-title{font-size:34px}
  .v2c.c-fluo .c-trial-p5-steps{gap:24px;margin-top:34px}
  .v2c.c-fluo .c-trial-p5-step{grid-template-columns:40px minmax(0,1fr);gap:14px}
  .v2c.c-fluo .c-trial-p5-step>span{width:40px;height:40px;font-size:16px}
  .v2c.c-fluo .c-trial-p5-step h3{font-size:18px}
  .v2c.c-fluo .c-trial-p5-copy .v-cta{margin-top:34px}
  .v2c.c-fluo .c-trial-p5-visual{width:100%;height:400px}
  .v2c.c-fluo .c-trial-p5-photo{border-width:5px;border-radius:12px}
  .v2c.c-fluo .c-trial-p5-team{top:18px;left:10px;width:72%;height:auto;aspect-ratio:380/262}
  .v2c.c-fluo .c-trial-p5-hug{top:138px;right:-8px;width:49%;height:auto;aspect-ratio:1}
  .v2c.c-fluo .c-trial-p5-bike{bottom:-14px;left:18px;width:66%;height:auto;aspect-ratio:3/2}
  .v2c.c-fluo .c-trial-p5-wave{top:24px;right:16px;width:54px}
  .v2c.c-fluo .c-trial-p5-label{right:8px;bottom:16px;padding:9px 11px;font-size:9px;letter-spacing:.1em}
  .v2c.c-fluo .v-coaches-grid{grid-template-columns:1fr}
  .v2c.c-fluo .c-coach-role{font-size:11px}
}

/* Hero D6A — reproduction fidèle de la proposition Claude Design retenue. */
.v2c.c-fluo .v-header{border-bottom:1px solid #edede8}
/* Barre du menu en pleine largeur, comme le premier site TDB (Virginie, 05/10 — règle de tous les sites TDB) :
   logo à 56 px du bord gauche, liens et bouton à 56 px du bord droit. Avant : plafonnée à 1 440 px
   avec 150 px de marge, soit la colonne du contenu. */
.v2c.c-fluo .v-nav{width:100%;max-width:none;height:92px;margin:0 auto;padding:0 56px;gap:40px}
.v2c.c-fluo .v-brand{gap:6px;line-height:1}
.v2c.c-fluo .v-brand strong{font-size:25px;font-weight:900;letter-spacing:0}
.v2c.c-fluo .v-brand>span{margin:0;font-size:9px;font-weight:750;letter-spacing:0}
.v2c.c-fluo .v-nav nav{gap:32px}
.v2c.c-fluo .v-nav nav a{font-size:15px;font-weight:500}
.v2c.c-fluo .v-nav nav a:hover{color:inherit;text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:3px;text-underline-offset:9px}
.v2c.c-fluo .v-nav>.v-cta{min-height:0;padding:8px 8px 8px 28px;gap:16px;font-size:15px;font-weight:700}
.v2c.c-fluo .v-nav>.v-cta svg{width:36px;height:36px;padding:9px}
.v2c.c-fluo .v-hero{padding:0;overflow:visible}
.v2c.c-fluo .c-hero-grid{box-sizing:border-box;width:100%;max-width:1440px;min-height:660px;margin:0 auto;padding:78px 150px 86px;grid-template-columns:max-content minmax(0,1fr);gap:40px;align-items:center}
.v2c.c-fluo .c-hero-copy{display:flex;flex-direction:column;width:max-content}
.v2c.c-fluo .v-kicker{max-width:none;margin:0;color:#767673;font-size:18px;font-weight:400;line-height:1.55;white-space:nowrap}
.v2c.c-fluo .v-hero-title{margin:24px 0 0;color:#202322;font-size:68px;font-weight:800;line-height:1.06;letter-spacing:-.032em}
.v2c.c-fluo .he-highlight{background:linear-gradient(to top,var(--fluo) 0 37%,transparent 37%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.v2c.c-fluo .v-hero-intro{max-width:none;margin:30px 0 0;color:#202322;font-size:18px;font-weight:400;line-height:1.65;letter-spacing:0}
.v2c.c-fluo .v-hero .v-cta{align-self:flex-start;min-height:0;margin:38px 0 0;padding:9px 9px 9px 30px;gap:16px;font-size:16px;font-weight:700}
.v2c.c-fluo .v-hero .v-cta svg{width:38px;height:38px;padding:10px}
.v2c.c-fluo .c-hero-board{position:relative;isolation:isolate;justify-self:center;width:320px;height:480px;min-height:0;margin:0 0 0 30px;padding:0;overflow:visible;border-radius:32px;background:#efefec;background-image:none}
.v2c.c-fluo .c-hero-video{display:block;position:absolute;z-index:2;top:-40px;left:-56px;width:246px;height:438px;object-fit:cover;border-radius:22px;background:#202322;box-shadow:0 24px 44px rgba(32,35,34,.24);transform:rotate(-3deg)}
.v2c.c-fluo .c-hero-detail{position:absolute;z-index:3;right:-26px;bottom:-30px;width:206px;height:140px;margin:0;overflow:hidden;border:5px solid #fffefa;border-radius:14px;background:#202322;box-shadow:0 14px 28px rgba(32,35,34,.2);transform:rotate(3.4deg)}
.v2c.c-fluo .c-hero-detail img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.v2c.c-fluo .c-hero-squiggle{position:absolute;z-index:4;top:38px;right:34px;width:66px;height:15px;overflow:visible}
.v2c.c-fluo .c-hero-squiggle path{fill:none;stroke:#202322;stroke-width:2;stroke-linecap:round}
.v2c.c-fluo .c-hero-place{position:absolute;z-index:4;top:70px;right:34px;color:#6d6d6b;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.2em;text-align:right;text-transform:uppercase}
.v2c.c-fluo .c-hero-place span{display:block}
.v2c.c-fluo .c-hero-edge-selected{position:absolute;z-index:1;top:198px;right:-48px;padding:10px 7px 9px;border-left:5px solid var(--fluo);color:#202322;font-size:31px;font-weight:900;line-height:1;letter-spacing:.19em;pointer-events:none;text-transform:uppercase;user-select:none;writing-mode:vertical-rl}
@media(max-width:1279px){
  .v2c.c-fluo .v-nav{padding:0 56px}
  .v2c.c-fluo .c-hero-grid{min-height:620px;padding:68px 80px 76px}
  .v2c.c-fluo .v-hero-title{font-size:56px}
  .v2c.c-fluo .c-hero-board{margin-left:0}
}
@media(max-width:1023px){
  .v2c.c-fluo .v-nav{padding:0 40px}
  .v2c.c-fluo .c-hero-grid{min-height:0;padding:58px 40px 72px;grid-template-columns:1fr;gap:86px}
  /* Haut de page centré sur téléphone et tablette ; l'ordinateur reste à gauche (Virginie, 19/10). */
  .v2c.c-fluo .c-hero-copy{width:auto;max-width:640px;margin-inline:auto;text-align:center;align-items:center}
  .v2c.c-fluo .v-hero .v-cta{align-self:center}
  .v2c.c-fluo .v-kicker{white-space:normal}
  /* Plus d'interligne sur téléphone et tablette, comme les titres des pages intérieures (Virginie, 19/10). */
  .v2c.c-fluo .v-hero-title{font-size:44px;line-height:1.2}
  /* 22/10 (Virginie) : « pareil que sur la version ordinateur » — la même composition, à l'échelle du téléphone : vidéo
     pivotée qui sort du gris en haut à gauche (jusqu'au bord de l'écran), vague et « PORNIC » dans le gris, HYBRID à droite
     hors du gris (le gris laisse 44 px à droite pour lui), petite photo en bas à droite. */
  .v2c.c-fluo .c-hero-board{justify-self:start;width:calc(100% - 44px);height:420px;margin:0}
  .v2c.c-fluo .c-hero-video{top:-40px;left:6px;width:min(215px,calc(100vw - 190px));height:auto;aspect-ratio:246/438;transform:rotate(-3deg)}   /* Virginie, 22/10 : autant de marge à gauche (du coin haut-gauche pivoté au bord de l'écran) qu'à droite (de HYBRID au bord) ;   /* la largeur suit l'écran pour laisser la vague et « PORNIC » dans le gris, jamais sur la vidéo (mesuré à 320–430 px) */
  .v2c.c-fluo .c-hero-detail{right:-26px;bottom:-30px;width:170px;height:116px}
  .v2c.c-fluo .c-hero-squiggle{top:38px;right:10px}
  .v2c.c-fluo .c-hero-place{top:70px;right:10px}
  .v2c.c-fluo .c-hero-edge-selected{top:150px;right:-48px;font-size:28px}
}
@media(max-width:850px){
  .v2c.c-fluo .v-nav{height:auto;padding:16px 24px}
  .v2c.c-fluo .v-nav nav,.v2c.c-fluo .v-nav>.v-cta{display:none}
  .v2c.c-fluo .v-menu{display:block}
}
@media(max-width:560px){
  .v2c.c-fluo .c-hero-grid{padding:46px 22px 64px;gap:78px}
  .v2c.c-fluo .v-kicker{font-size:16px}
  .v2c.c-fluo .v-hero-title{font-size:40px}
  .v2c.c-fluo .v-hero-intro{font-size:17px;line-height:1.55}
  .v2c.c-fluo .v-hero-intro br{display:none}
  .v2c.c-fluo .v-hero .v-cta{max-width:100%;padding-left:23px;font-size:15px}
  .v2c.c-fluo .c-hero-board{height:420px}
}
@media(max-width:429px){.v2c.c-fluo .c-hero-video{left:4px}}   /* vidéo plus étroite : le coin pivoté dépasse moins, 18 px à gauche comme à droite */
@media(prefers-reduced-motion:reduce) and (min-width:1024px){
  .v2c.c-fluo .c-hero-video{transform:rotate(-3deg)}
}
@media(prefers-reduced-motion:reduce) and (max-width:1023px){
  .v2c.c-fluo .c-hero-video{transform:rotate(-3deg)}
}

/* Prévisualisation client : le responsive sera présenté après validation du desktop. */
.v2c.c-fluo .c-device-preview-notice{display:none}
@media(max-width:1199px),(hover:none) and (pointer:coarse){
  body.v2c.c-fluo:has(.c-device-preview-notice){overflow:hidden}
  .v2c.c-fluo .c-device-preview-notice{display:grid;position:fixed;z-index:2147483647;inset:0;place-items:center;padding:28px;background:#fffefa;color:#202322;text-align:center}
  .v2c.c-fluo .c-device-preview-notice>div{display:grid;width:min(100%,520px);padding:42px 30px 38px;border-top:8px solid var(--fluo);border-radius:24px;background:#efefec;box-shadow:0 24px 60px rgba(32,35,34,.14)}
  .v2c.c-fluo .c-device-preview-brand{display:grid;justify-self:center;margin-bottom:30px;font-size:31px;font-weight:900;line-height:1;letter-spacing:.12em}
  .v2c.c-fluo .c-device-preview-brand small{margin-top:7px;font-size:10px;font-weight:750;letter-spacing:.18em}
  .v2c.c-fluo .c-device-preview-notice strong{font-size:clamp(27px,7vw,42px);font-weight:850;line-height:1.08;letter-spacing:-.025em}
  .v2c.c-fluo .c-device-preview-notice p{max-width:38ch;margin:20px auto 0;color:#555b57;font-size:17px;line-height:1.55}
}

/* Accueil : « Notre équipe de coachs » suit l’accès sur le même fond clair ; les deux marges
   s’additionnaient (208 px). Le haut de l’équipe tombe à zéro (Virginie, 02/10). */
.v2c.c-fluo #acces + #equipe{padding-top:0}

/* FAQ : toute la largeur de la colonne, alignée sur les autres sections. La limite de 920 px venait
   des premières maquettes, sans règle ni décision derrière (Virginie, 05/10 : « aligner partout »). */
.v2c.c-fluo .v-faq-list{max-width:none}

/* Les « En savoir plus » / « Voir plus » sont devenus des liens vers les pages (06/10) : même trait
   qu'avant, sans le soulignement du navigateur en plus. */
.v2c.c-fluo a.v-more{text-decoration:none}
/* Pôle santé : le lien vers la page, aligné sous le texte de la carte dépliée. */
.v2c.c-fluo .c-health-card>.c-health-link{margin:-8px 28px 26px 93px}
@media(max-width:560px){.v2c.c-fluo .c-health-card>.c-health-link{margin:-6px 20px 22px}}

/* Menu (variante A de la planche menu-propositions, Virginie, 06/10) : « Activités » s'ouvre sur trois
   groupes de tuiles à icône (survol, clavier et clic gérés par le script du menu, liens_site.py). 24 px entre les liens, comme le premier site TDB. */
.v2c.c-fluo .v-nav{position:relative}
.v2c.c-fluo .v-nav nav{gap:24px;align-items:center}
.v2c.c-fluo .mn-bouton{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:15px;font-weight:500;cursor:pointer}
/* Le survol ne se perd pas entre le mot et le panneau : une zone invisible prolonge le bouton vers le bas. */
.v2c.c-fluo .mn-bouton:after{content:'';position:absolute;left:-12px;right:-12px;top:100%;height:40px}
.v2c.c-fluo .mn-bouton:hover,.v2c.c-fluo .mn-groupe.is-open .mn-bouton{text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:3px;text-underline-offset:9px}
.v2c.c-fluo .mn-bouton:focus-visible{outline:3px solid var(--night);outline-offset:4px}
.v2c.c-fluo .mn-chevron{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.v2c.c-fluo .mn-groupe.is-open .mn-chevron{transform:rotate(180deg)}
.v2c.c-fluo .mn-panneau{display:none;position:absolute;z-index:30;top:100%;left:0;right:0;background:var(--paper);border-top:1px solid #edede8;box-shadow:0 24px 40px #20232214}
/* Le panneau suit un seul état, posé par le script du menu (survol, clavier, clic) : voir liens_site.py. */
/* Pont invisible, sur toute la largeur, entre la barre et le panneau ouvert : on peut y descendre en biais sans quitter le
   menu (Virginie, 08/10). Le logo et le bouton de réservation restent au-dessus, donc toujours cliquables. */
.v2c.c-fluo .mn-panneau:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:40px}
.v2c.c-fluo .v-nav>.v-brand,.v2c.c-fluo .v-nav>.v-cta{position:relative;z-index:31}
.v2c.c-fluo .mn-groupe.is-open .mn-panneau{display:block}
.v2c.c-fluo .mn-wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px;max-width:1140px;margin:0 auto;padding:30px 0 38px}
.v2c.c-fluo .mn-titre{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--night)}
.v2c.c-fluo .mn-titre i{width:9px;height:9px;border-radius:50%;background:var(--fluo);box-shadow:0 0 0 2px var(--night)}
.v2c.c-fluo .mn-liste{display:grid;gap:10px}
.v2c.c-fluo .mn-col-4 .mn-liste{grid-template-columns:1fr 1fr}
/* Un onglet par groupe (Virginie, 08/10) : ses tuiles sur une rangée, à la même largeur dans les trois onglets. */
.v2c.c-fluo .mn-wrap-groupe{display:block}
/* L'en-tête de l'accueil s'efface en descendant et revient en remontant, comme celui des pages intérieures
   (Virginie, 08/10) ; le script est posé par build_v2c_fluo.py. */
.v2c.c-fluo .v-header{transition:transform .24s ease}
@media(min-width:1180px){.v2c.c-fluo .v-header.hx-away{transform:translateY(-100%)}}
@media(prefers-reduced-motion:reduce){.v2c.c-fluo .v-header{transition:none}}
/* Panneau flottant, coins arrondis, colonne de texte à droite (Virginie, 08/10, sur le modèle du premier site TDB ; planche
   menu-flottant/) : à la distance du bord du logo et du bouton, 10 px sous la barre. Pas d'overflow:hidden : le pont
   invisible (:before) déborde du panneau vers le haut. */
/* Depuis le 29/10 (Virginie) : le panneau prend la largeur de son contenu et se centre sous son onglet ; le script du
   menu (liens_site.py) le place, sans jamais dépasser la marge du logo et du bouton (--mn-marge). */
.v2c.c-fluo .mn-panneau{--mn-marge:56px;top:calc(100% + 10px);left:56px;right:auto;width:max-content;max-width:calc(100% - 112px);border:1px solid #e6e6e0;border-radius:24px;
  box-shadow:0 26px 60px rgba(32,35,34,.16),0 4px 12px rgba(32,35,34,.06)}
.v2c.c-fluo .mn-panneau:before{height:50px}
@media(min-width:851px) and (max-width:1279px){.v2c.c-fluo .mn-panneau{--mn-marge:40px;left:40px;max-width:calc(100% - 80px)}}
.v2c.c-fluo .mn-wrap.mn-wrap-groupe{display:flex;align-items:stretch;gap:30px;max-width:none;padding:26px 28px;white-space:normal}
.v2c.c-fluo .mn-wrap-groupe .mn-rangee{flex:none;align-self:center}
.v2c.c-fluo .mn-a-cote{flex:none;width:290px;display:flex;flex-direction:column;justify-content:center;padding-left:28px;border-left:1px solid #e6e6e0}
.v2c.c-fluo .mn-a-cote b{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--night)}
.v2c.c-fluo .mn-a-cote b i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--fluo);box-shadow:0 0 0 2px var(--night)}
.v2c.c-fluo .mn-a-cote .mn-phrase{margin-bottom:14px;color:#5a625f;font-size:15px;line-height:1.5}
.v2c.c-fluo .v-nav .mn-panneau a.mn-a-cote-lien{align-self:flex-start;color:var(--night);font-size:15px;font-weight:800;line-height:1.4;
  text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:3px;text-underline-offset:6px}
.v2c.c-fluo .v-nav .mn-panneau a.mn-a-cote-lien:after{content:none}
.v2c.c-fluo .mn-fleche{display:inline-block;margin-left:8px;text-decoration:none;transition:transform .2s}
.v2c.c-fluo .mn-a-cote-lien:hover .mn-fleche{transform:translateX(4px)}
.v2c.c-fluo .mn-a-cote-lien:focus-visible{outline:3px solid var(--night);outline-offset:3px}
/* Rangée centrée dans le panneau (Virginie, 08/10), tuiles à la même largeur dans les trois onglets (un quart de la rangée). */
.v2c.c-fluo .mn-rangee{display:flex;justify-content:center;gap:10px}
/* Tuiles à la même largeur dans les trois menus, celle d'avant le 29/10 (un quart de la rangée d'Activités pleine
   largeur) : le script du menu la calcule depuis la barre (--mn-tuile). Le panneau, lui, suit son nombre de tuiles. */
.v2c.c-fluo .mn-rangee>.mn-lien{flex:none;width:var(--mn-tuile,230px)}
/* 10 px à droite au lieu de 14 : « Coaching personnalisé » tient sur une ligne à 1 440 px (il manquait 1 px). */
.v2c.c-fluo .v-nav .mn-panneau .mn-rangee>a.mn-lien{padding-right:10px}
/* Trois onglets et six liens : la « barre resserrée » choisie par Virginie le 08/10 (planche menu-onglets/), pour tenir
   sur une ligne jusqu'à 1 200 px — liens en 14 px, 18 px entre eux ; sous 1 280 px, logo de 130 px et marges de 40 px
   (56 px au-dessus, comme le veut la règle des sites TDB). Le téléphone (850 px et moins) n'est pas touché. */
@media(min-width:851px){
  .v2c.c-fluo .v-nav{gap:28px}
  .v2c.c-fluo .v-nav nav{gap:18px}
  .v2c.c-fluo .v-nav nav>*,.v2c.c-fluo .v-nav>.v-cta{flex:none;white-space:nowrap}
  .v2c.c-fluo .v-nav nav>a,.v2c.c-fluo .mn-bouton{font-size:14px}
}
/* Texte du menu en 16 px dès 1 366 px (Virginie, 08/10) ; 14 px en dessous, faute de place. */
@media(min-width:1366px){
  .v2c.c-fluo .v-nav nav>a,.v2c.c-fluo .mn-bouton{font-size:16px}
}
@media(min-width:851px) and (max-width:1279px){
  .v2c.c-fluo .v-nav{padding:0 40px}
  .v2c.c-fluo .v-nav nav{gap:16px}
  .v2c.c-fluo .v-brand.c-header-logo-final{width:130px;grid-template-rows:auto calc(14px * 130 / 239);row-gap:calc(3px * 130 / 239)}
}
/* Les tuiles : plus précises que les règles « lien actif » des pages (nav a:first-child), qui ne les visent pas. */
.v2c.c-fluo .v-nav .mn-panneau a.mn-lien{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:12px;background:var(--soft);color:var(--night);font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .2s,box-shadow .2s,transform .2s}
.v2c.c-fluo .v-nav .mn-panneau a.mn-lien:after{content:none}
.v2c.c-fluo .v-nav .mn-panneau a.mn-lien:hover,.v2c.c-fluo .v-nav .mn-panneau a.mn-lien[aria-current="page"]{background:var(--fluo);box-shadow:4px 4px 0 var(--night);transform:translate(-2px,-2px)}
.v2c.c-fluo .v-nav .mn-panneau a.mn-lien:focus-visible{outline:3px solid var(--night);outline-offset:3px}
.v2c.c-fluo .mn-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--paper)}
.v2c.c-fluo .mn-ic svg{width:21px;height:21px;fill:none;stroke:var(--night);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v2c.c-fluo .mn-ic svg[viewBox="0 0 48 48"]{stroke-width:2.6}
/* Survol et page en cours : texte noir, trait fluo dessous — plus de vert olive (Virginie, 06/10 : « je déteste
   cette couleur »). La page en cours passe en gras. */
.v2c.c-fluo .v-nav nav>a[aria-current="page"],.v2c.c-fluo .mn-bouton.is-current{color:inherit;font-weight:750;text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:3px;text-underline-offset:9px}
/* Téléphone : les groupes en petits titres, puis les pages. */
.v2c.c-fluo #v-mobile a[aria-current="page"]{font-weight:750;text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:3px;text-underline-offset:6px}
.v2c.c-fluo #v-mobile .mn-tel-titre{margin:10px 0 -6px;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--night)}

/* ======================================================================================================
   VERSION TÉLÉPHONE ET TABLETTE — commun à l'accueil et aux 15 pages (08/10/2026)
   Au-dessus de 1 200 px, rien ne change : l'ordinateur validé reste au pixel.
   ====================================================================================================== */
/* (U) L'en-tête colle en haut, s'efface en descendant et revient en remontant, à TOUTES les largeurs (règle des sites
   TDB, bloc « U » du premier site TDB) ; le script commun de l'en-tête pose hx-away (liens_site.py, SCRIPT_ENTETE). Avant, les
   pages intérieures le laissaient partir avec la page sous 1 180 px. Une cible d'ancre ne se pose pas sous la barre. */
@media(max-width:1199px){html{scroll-padding-top:84px}}   /* l'ordinateur garde son réglage (relecture Codex, 08/10) */
.v2c.c-fluo .v-header{position:sticky;top:0}
.v2c.c-fluo .v-header.hx-away{transform:translateY(-101%)}
.v2c.c-fluo .v-header.mn-tel-ouvert{transform:none}
.v2c.c-fluo .v-cta-court{display:none}
/* Sous 1 200 px, la barre de neuf entrées ne tient plus (mesuré : elle débordait de la tablette) : logo, « Réserver »,
   trois traits ; le menu s'ouvre par-dessus la page. 1 200 px est aussi le seuil de l'écran « sur ordinateur ». */
@media(max-width:1199px){
  .v2c.c-fluo .v-nav{height:auto;min-height:68px;padding:10px 40px;gap:12px}
  .v2c.c-fluo .v-nav nav,.v2c.c-fluo .v-nav>.v-cta svg,.v2c.c-fluo .v-cta-long{display:none}
  .v2c.c-fluo .v-brand.c-header-logo-final{width:130px;grid-template-rows:auto calc(14px * 130 / 239);row-gap:calc(3px * 130 / 239)}
  .v2c.c-fluo .v-nav>.v-cta{display:inline-flex;min-height:44px;margin-left:auto;padding:0 18px;font-size:15px;font-weight:750}
  .v2c.c-fluo .v-cta-court{display:inline}
  .v2c.c-fluo .v-menu{display:grid;place-content:center;gap:5px;width:44px;height:44px;margin:0 -8px 0 0;padding:0;border:0;border-radius:50%;background:none;color:var(--night);cursor:pointer}
  .v2c.c-fluo .v-menu i{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .v2c.c-fluo .v-menu[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .v2c.c-fluo .v-menu[aria-expanded="true"] i:nth-child(2){opacity:0}
  .v2c.c-fluo .v-menu[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .v2c.c-fluo .v-menu:focus-visible{outline:3px solid var(--night);outline-offset:2px}
  /* Le panneau : accroché sous la barre, par-dessus la page, et il défile dans la hauteur de l'écran (ses 15 liens
     dépassent un téléphone : sans ce défilement, le bas du menu serait hors d'atteinte). */
  .v2c.c-fluo #v-mobile:not([hidden]){position:absolute;z-index:40;top:100%;left:0;right:0;display:block;max-height:calc(100dvh - 68px);
    overflow-y:auto;overscroll-behavior:contain;padding:8px 40px 28px;background:var(--paper);border-top:1px solid #edede8;box-shadow:0 24px 40px #20232229}
  .v2c.c-fluo #v-mobile .mn-tel-titre{margin:18px 0 10px;font-size:12px;letter-spacing:.16em}
  .v2c.c-fluo .mn-tel-grille{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .v2c.c-fluo #v-mobile a.mn-lien{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px 8px 8px;border-radius:12px;background:var(--soft);color:var(--night);font-size:15px;font-weight:700;line-height:1.2;text-decoration:none}
  .v2c.c-fluo #v-mobile a.mn-lien[aria-current="page"]{background:var(--fluo);text-decoration:none;box-shadow:3px 3px 0 var(--night)}
  .v2c.c-fluo #v-mobile .mn-ic{width:36px;height:36px}
  .v2c.c-fluo .mn-tel-pages{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .v2c.c-fluo .mn-tel-pages a{display:flex;align-items:center;min-height:46px;border-bottom:1px solid #edede8;color:var(--night);font-size:16px;font-weight:600;text-decoration:none}
}
@media(min-width:1200px){.v2c.c-fluo .v-menu,.v2c.c-fluo #v-mobile{display:none!important}}
@media(max-width:560px){
  .v2c.c-fluo .v-nav{padding:10px 22px}
  .v2c.c-fluo #v-mobile:not([hidden]){padding:4px 22px 26px}
  .v2c.c-fluo #v-mobile a.mn-lien{font-size:14.5px}
}
/* Sous 360 px, le logo et les trois traits seuls : « Réserver » ne tiendrait plus à côté. */
@media(max-width:359px){.v2c.c-fluo .v-nav>.v-cta{display:none}.v2c.c-fluo .v-menu{margin-left:auto}}
/* Cibles tactiles : au moins 44 px au doigt. Un lien souligné garde son dessin : c'est sa zone de toucher qui s'agrandit,
   par une couche invisible autour du mot (contrôle : controle_telephone.py, qui en tient compte). */
@media(max-width:1199px){
  .v2c.c-fluo .v-brand.c-header-logo-final,.v2c.c-fluo a.v-more,.v2c.c-fluo .c-google-link,.v2c.c-fluo .v-contact a{position:relative}
  .v2c.c-fluo .v-brand.c-header-logo-final:after,.v2c.c-fluo a.v-more:after,.v2c.c-fluo .c-google-link:after,.v2c.c-fluo .v-contact a:after{content:'';position:absolute;inset:-9px -6px}
}
/* Pied de page : liens à 44 px de haut, petits titres et mentions à 14 px ; sur téléphone, « Navigation » et
   « Découvrir » côte à côte (le pied faisait 970 px, plus d'un écran). */
@media(max-width:1023px){   /* jusqu'à 1 023 px depuis le 23/10 : la tablette en paysage gardait les tailles de l'ordinateur */
  .v2c.c-fluo .c-footer-grid .c-footer-titre{font-size:14px}
  .v2c.c-fluo .c-footer-grid a:not(.c-footer-logo-final){display:flex;align-items:center;min-height:44px;line-height:1.35}
  .v2c.c-fluo .c-footer-bottom{font-size:14px}
  .v2c.c-fluo .c-footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:560px){
  .v2c.c-fluo .c-footer-grid{grid-template-columns:1fr 1fr;gap:34px 18px}
  .v2c.c-fluo .c-footer-grid>.c-footer-brand,.v2c.c-fluo .c-footer-grid>div:nth-child(2){grid-column:1/-1}
  .v2c.c-fluo .c-footer-bottom{gap:0;margin-top:30px}
}
/* Composants de l'accueil repris par les pages (planning, avis, coachs, pôle santé, salle) : boutons à 44 px, textes
   courants à 14 px, petites étiquettes en capitales à 12 px au moins. */
@media(max-width:1023px){   /* jusqu'à 1 023 px depuis le 23/10 : la tablette en paysage gardait les tailles de l'ordinateur */
  .v2c.c-fluo .c-planning-filters button{min-height:44px;font-size:12px}
  .v2c.c-fluo .c-planning-filters strong{font-size:12px}
  .v2c.c-fluo .c-concept-tabs button,.v2c.c-fluo .c-phone-tabs>label{min-height:44px;font-size:12px}
  .v2c.c-fluo .c-room-nav button{width:44px;height:44px;font-size:14px}
  .v2c.c-fluo .c-plan-slot time{font-size:14px}
  .v2c.c-fluo .c-plan-slot strong{font-size:14px}
  .v2c.c-fluo .c-plan-slot{grid-template-columns:62px 1fr}
  .v2c.c-fluo .c-review-card>div span{font-size:14px}
  .v2c.c-fluo .c-coach-role{font-size:12px}
  .v2c.c-fluo .c-health-choices label{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
  .v2c.c-fluo .c-health-choices legend{font-size:12px}
}
/* Boutons de réservation propres au téléphone (telephone.py) : posés à la sortie des sections, ils ne s'affichent
   qu'à 760 px et moins ; l'ordinateur garde exactement ses boutons. */
.v2c.c-fluo .cta-tel{display:none}
@media(max-width:1023px){
  .v2c.c-fluo .cta-tel{position:relative;z-index:2;display:flex;max-width:1140px;margin:34px auto 0;padding:0 24px}
  .v2c.c-fluo .cta-tel-centre{justify-content:center}
  /* Après un bloc de la colonne (dans une grille) : toute la largeur de la colonne, sans second retrait. */
  .v2c.c-fluo .cta-tel-dedans{width:100%;margin-left:0;margin-right:0;padding:0}
  /* 22/10 : un séparateur va entre deux questions, jamais sous la dernière (téléphone seulement, l'ordinateur est validé). */
  .v2c.c-fluo .v-faq-item:last-child{border-bottom:0}
}
@media(max-width:560px){.v2c.c-fluo .cta-tel:not(.cta-tel-dedans){padding:0 22px}}
/* Accueil sur téléphone : les petites étiquettes à 12 px, les sous-titres à 14 px, les flèches des avis à 44 px. Le haut et
   le bas du faux téléphone des objections (« en ligne », « Écrire un message… ») sont un décor, masqué aux lecteurs
   d'écran (build_v2c_fluo.py) : seul le fil de la conversation se lit. */
@media(max-width:1023px){   /* jusqu'à 1 023 px depuis le 23/10 : la tablette en paysage gardait les tailles de l'ordinateur */
  .v2c.c-fluo .c-results-chapters header span{font-size:12px}
  .v2c.c-fluo .c-results-chapters header small{font-size:14px}
  .v2c.c-fluo .c-health-card summary small{font-size:12px}
  .v2c.c-fluo .c-health-more small,.v2c.c-fluo .c-health-card[open] .c-health-more small:after{font-size:12px}
  .v2c.c-fluo .c-hero-place{font-size:12px}
  .v2c.c-fluo .c-trial-p5-label{font-size:12px}
  .v2c.c-fluo .c-review-nav button{width:48px;height:44px}
}
/* L'équipe sur téléphone : deux portraits par rangée (un par écran faisait 2,4 écrans pour quatre coachs). */
@media(max-width:560px){
  .v2c.c-fluo .v-coaches-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .v2c.c-fluo .v-coach .photo-slot,.v2c.c-fluo .v-coach:nth-child(n) .photo-slot{height:210px}
  .v2c.c-fluo .v-coach>div:last-child{min-height:0;padding:14px 14px 16px}
  .v2c.c-fluo .v-coach h3{font-size:20px}
  .v2c.c-fluo .c-coach-role{white-space:normal}
}
@media(max-width:1023px){.v2c.c-fluo .c-phone-thread time{font-size:12px}}   /* jusqu'à 1 023 px depuis le 23/10 */
/* Les deux cartes d'une rangée de coachs finissent à la même hauteur. */
@media(max-width:560px){.v2c.c-fluo .v-coach{display:flex;flex-direction:column}.v2c.c-fluo .v-coach>div:last-child{flex:1}}
/* Sur téléphone, aucune étiquette ne passe sur une photo (règle des sites TDB) : « Ensemble, ça change tout » descend
   sous le collage ; le numéro du niveau de squat se pose sur une bande sombre au-dessus de la photo ; « Pornic », que
   la vidéo du haut de page recouvrait à moitié, n'est plus affiché. */
@media(max-width:560px){
  .v2c.c-fluo .c-trial-p5-visual{margin-bottom:64px}
  .v2c.c-fluo .c-trial-p5-label{bottom:-58px;right:8px}
  .v2c.c-fluo .c-level-visual{aspect-ratio:auto;padding-top:58px}
  .v2c.c-fluo .c-level-visual img{height:auto;aspect-ratio:4/3}
}
/* Très petits téléphones (22/10) : la vidéo est plus petite (147 px de large à 320 px), le gris raccourcit avec elle et HYBRID remonte. */
@media(max-width:359px){.v2c.c-fluo .c-hero-board{height:360px}.v2c.c-fluo .c-hero-edge-selected{top:110px}}
/* Tablette en portrait aussi : le numéro du niveau de squat sur sa bande sombre, hors de la photo. */
@media(max-width:1023px){.v2c.c-fluo .c-level-visual{aspect-ratio:auto;padding-top:58px}.v2c.c-fluo .c-level-visual img{height:auto;aspect-ratio:4/3}}

/* Téléphone et tablette, retouches du 22/10 (Virginie, récapitulatif validé « ok ») — l'ordinateur ne bouge pas.
   Accueil : tous les titres de section centrés, FAQ comprise (planche titres-centres-telephone/, proposition B + FAQ),
   avec la courte intro du pôle santé et des avis, la note Google, les onglets des activités, les boutons, le lien des
   avis et ses flèches, et la fin de page. */
@media(max-width:1023px){
  #accueil .v-section .v-title,#accueil .c-health-chooser h2,#accueil .v-health h2,
  #accueil .v-health h2+p,#accueil .v-reviews .v-title+p,#accueil .v-closing-content{text-align:center!important}
  #accueil .v-activity-tabs{justify-content:center!important}
  #accueil .c-google-score{justify-content:center;justify-items:center;text-align:center}
  #accueil .c-review-nav{justify-content:center}
  #accueil .c-google-link{display:table;margin-inline:auto}
  #accueil .c-trial-p5-copy>.v-cta,#accueil .v-closing-content .v-cta{align-self:center;margin-inline:auto}
  #accueil .c-trial-p5-intro{text-align:center}
  #accueil .cta-tel{justify-content:center}
  /* Pôle santé (planche sante-ouvrir/, choix C1 de Virginie) : plus de « Voir plus » écrit ; l'icône du soin passe à gauche,
     à la place du numéro 01 / 02, et une pastille « + » à droite dit qu'on peut ouvrir (« − » quand la carte est ouverte). */
  .v2c.c-fluo .c-health-card summary>span:first-child{display:none}
  .v2c.c-fluo .c-health-card summary>div{grid-column:2;grid-row:1}
  .v2c.c-fluo .c-health-card .c-health-more{display:contents}
  .v2c.c-fluo .c-health-card .c-health-more small{display:none}
  .v2c.c-fluo .c-health-card .c-health-more svg{grid-column:1;grid-row:1;justify-self:center;width:38px;height:38px;color:var(--night)}
  .v2c.c-fluo .c-health-card summary::after{content:'';grid-column:3;grid-row:1;justify-self:center;width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 2px var(--night);
    background:linear-gradient(var(--night),var(--night)) center/13px 2.5px no-repeat,linear-gradient(var(--night),var(--night)) center/2.5px 13px no-repeat,var(--fluo)}
  .v2c.c-fluo .c-health-card[open] summary::after{background:linear-gradient(var(--night),var(--night)) center/13px 2.5px no-repeat,var(--fluo)}
  /* Pas de trou entre « Prendre rendez-vous » et « Qu'est-ce qui vous empêche de commencer ? » : les deux sections ont
     le même fond, 55 + 60 px se lisaient comme un vide (115 px mesurés à 375 px). */
  .v2c.c-fluo .c-health-chooser{padding-bottom:0}
  /* La salle : le bouton à 34 px de la dernière carte, comme ailleurs (80 px mesurés : marge de la carte + écart de la grille). */
  #accueil .v-room-grid>.cta-tel{margin-top:-12px}
  /* Titres : de l'air au-dessus et au-dessous d'une ligne qui porte un encadré fluo, quand une autre ligne la précède ou la
     suit (classes posées par le script des insécables, liens_site.py). Réglé à l'encre sur les 16 pages
     (revue-telephone/interligne.py, planche interligne-titres/) : plus aucune ligne ne touche un encadré. */
  main .c-title-block.deco-suivie::after{content:'';display:inline-block;width:0;height:0;vertical-align:-.55em}
  main .c-title-block.deco-precedee::before{content:'';display:inline-block;width:0;height:0;vertical-align:1.15em}
  /* Pied de page centré, sur toutes les pages. */
  .v2c.c-fluo .c-footer-grid{text-align:center}
  .v2c.c-fluo .c-footer-grid .c-footer-logo-final{margin-inline:auto}
  .v2c.c-fluo .c-footer-brand>.c-footer-slogan,.v2c.c-fluo .c-footer-brand>.c-footer-intro{margin-inline:auto}
  .v2c.c-fluo .c-footer-grid a:not(.c-footer-logo-final){justify-content:center}
  .v2c.c-fluo .c-footer-bottom{align-items:center;text-align:center}
  /* Pages intérieures, comme l'accueil (Virginie, 23/10 : l'accueil fixe le design de tout le site) : tous les titres de
     section centrés, avec leur courte intro et la fin de page ; les boutons qui concluent une section centrés aussi. Les
     longs paragraphes restent à gauche. La page Réserver garde ses étapes numérotées à gauche. */
  body:not(.re-page) #contenu h2,#contenu .hx-section-top .hx-ui,#contenu .co-form-intro,#contenu .v-closing-content{text-align:center!important}
  #contenu .cta-tel{justify-content:center}
  #contenu .v-closing-content .v-cta{align-self:center;margin-inline:auto}
  #contenu .mc-merry-text>.v-cta,#contenu .dl-merry-text>.v-cta{display:flex;width:fit-content;margin-inline:auto}
  /* Un bouton à 34 px du bloc qu'il conclut (règle du 22/10) : la marge de l'intro (64 et 56 px) l'emportait sur la sienne,
     et dans la grille de Renforcement musculaire (choix de Virginie : après la tour) l'écart de 40 px s'y ajoutait. */
  #contenu .pl-intro:has(+.cta-tel),#contenu .mc-intro:has(+.cta-tel){margin-bottom:34px}
  #contenu .rm-benefits-grid>.cta-tel{margin-top:-6px}
  /* Renforcement musculaire : les deux cartes de texte se suivent, puis la tour et son bouton ferment la section (Virginie,
     23/10 : la carte bleue arrivait seule après le bouton). */
  #contenu .rm-benefits-grid>.rm-card-sky{order:1}
  #contenu .rm-benefits-grid>.rm-tower{order:2}
  #contenu .rm-benefits-grid>.cta-tel{order:3}
  /* Même règle, mesurée sur le bas VISIBLE du bloc (revue-telephone/mesurer.py, 23/10) : la dernière ligne d'accordéon de
     Hyrox finit 22 px au-dessus de sa boîte, les disques de la barre de Renforcement 45 px, et la carte de Drainage gardait
     60 px de marge prévus pour l'ordinateur. */
  #contenu .hx-coach-grid+.cta-tel{margin-top:12px}
  #contenu .rm-activities .cta-tel{margin-top:-11px}
  #contenu .dl-flow-grid{padding-bottom:10px}
  #accueil .v-goals-grid:has(+.cta-tel){padding-bottom:0}   /* 46 px sur tablette, sous les objectifs */
  /* ATHX (Virginie, 23/10) : les onglets de la compétition centrés, comme ceux de l'accueil ; la pastille « Les 6 zones
     d'une compétition » sur une ligne (elle passait sur deux), en 14 à 16 px selon la largeur de l'écran. */
  #contenu .at-tab-list{justify-content:center}
  /* Coaching perso, fin de page centrée : l'icône et « Appelez-nous au … » restent ensemble, le groupe au milieu, le
     texte calé contre l'icône (Virginie, 23/10 : l'icône restait à gauche, le texte centré loin d'elle). */
  #contenu .v-closing-content .cp-phone-line{flex-direction:column;justify-content:center;gap:10px}
  #contenu .v-closing-content .cp-phone-line>span{text-align:center}
  /* Première section sous la bande : 56 px au-dessus du titre, comme les autres pages (Coaching perso et Remise en forme
     gardaient les 96 px de l'accueil — Virginie, 23/10). */
  #contenu .v-section.cp-further,#contenu .v-section.rf-start{padding-top:56px}
  /* Remise en forme : le chapô sous « Quelles activités… » centré avec son titre (Virginie, 23/10 : « justifie ou centre »). */
  #contenu .rf-lead p{text-align:center}
  /* ATHX (« Pourquoi intégrer l'ATHX… ») et Coaching perso (« Un accompagnement sur mesure… ») : les paragraphes centrés
     avec leur titre (Virginie, 23/10). */
  #contenu .at-why-text p,#contenu .cp-further-copy p{text-align:center}
  /* La salle : les onglets de marques et les étiquettes posées sur la photo centrés (Virginie, 23/10). */
  #contenu .ls-brands,#contenu .ls-panel ul{justify-content:center}
  /* La fin de page remonte de 70 px sur la section qui la précède (son coin arrondi passe sur le fond du dessus) ; sur
     téléphone, cette section n'avait plus que 56 px en bas, et sa dernière carte touchait la fin de page (Virginie, 23/10,
     Planning, Médecine chinoise, Drainage). 56 px d'air visibles comme ailleurs : 56 + 70. */
  #contenu .pl-courses,#contenu .mc-access,#contenu .dl-access,#contenu .ls-access,#contenu .rf-noneed{padding-bottom:126px}
  /* Médecine chinoise et Drainage : le texte de Merry centré (Virginie, 23/10). */
  #contenu .mc-merry-text p,#contenu .dl-merry-text p{text-align:center}
  /* Drainage : 40 px de moins entre « …avec Merry » et le panneau « Pôle santé à l'étage » (Virginie, 23/10). Le haut du
     bloc est vide (l'escalier est posé en bas) : le remonter ne fait rien chevaucher. */
  #contenu .dl-floor{margin-top:-40px}
  /* Haut des pages intérieures (hors Contact et Réserver) : 20 px d'air de plus sous le visuel, avant la bande
     (Virginie, 23/10 : « que ça respire un peu »). */
  body:not(.co-page):not(.re-page) #contenu .hy-hero-grid{padding-bottom:64px}
  /* Renforcement musculaire : un peu moins d'air sous « Renforcement » souligné (Virginie, 23/10 : 58 px entre les deux
     lignes, 53 maintenant ; les autres lignes du titre en ont 48). */
  .rm-page .hy-hero-copy .he-highlight:has(+ .sans-coupure)::after{vertical-align:-.375em}
  /* Coaching perso : la carte des tarifs porte une ombre fluo de 12 px à droite ; décalée de 6 px vers la gauche, carte et
     ombre ont autant d'air de chaque côté (Virginie, 23/10 : « plus de marge à gauche qu'à droite »). */
  #contenu .cp-ticket{transform:translateX(-6px)}
  /* Même règle pour toutes les cartes pleine largeur à ombre décalée (Virginie, 23/10, trouvé sur Coaching perso, La salle
     et Drop-in) : l'ombre prend 6 à 12 px à droite, la carte se décale de la moitié pour que carte + ombre aient autant d'air
     de chaque côté. `translate` s'ajoute aux inclinaisons existantes sans les remplacer. Liste tirée de la mesure des 16
     pages (bord gauche de la carte contre bord droit de son ombre). */
  #accueil .v-goal{translate:-4px 0}
  #accueil .c-health-card,#accueil .c-phone-shell{translate:-5px 0}
  #accueil .c-health-drawer{translate:-5.5px 0}
  #accueil .c-results-chapters>article{translate:-6px 0}
  #contenu .hy-intro-photo,#contenu .hx-coach-photo,#contenu .at-panel,#contenu .ff-what-card,#contenu .cp-duo,
  #contenu .rf-tuner,#contenu .rm-card,#contenu .pl-note,#contenu .co-form-carte,#contenu .re-card{translate:-5px 0}
  #contenu .at-zone,#contenu .rf-strike-yes{translate:-4px 0}
  #contenu .ff-board{translate:-3.5px 0}
  #contenu .co-carte-infos,#contenu .co-map,#contenu .re-window{translate:-3px 0}
  #contenu .di-card{translate:-6px 0}
  /* Tablette de 900 à 1 023 px : l'étiquette « PORNIC / 44 » mordait de 1 à 3 px sur le bas de la vidéo du haut de page
     (règle des sites : un mot décoratif ne passe jamais sur une photo) ; 4 px plus bas. */
  @media(min-width:900px){#contenu .hx-hero-art .hx-stamp{bottom:-17px}}
  /* Accueil, tablette de 851 à ~910 px : « Quels résultats attendre avec nos entraînements ? » restait sur une ligne
     (insécable au-dessus de 850 px) et sortait de l'écran, la page défilait sur le côté. Il revient à la ligne s'il ne
     tient pas ; de 910 à 1 023 px il tient, rien ne change. */
  #accueil .v-results .v-title{white-space:normal}
  /* Première visite : la carte suit la frise, son ombre touchait presque le bord ; 10 px de moins pour garder la marge de
     la page à droite. */
  #contenu .pv-moment-card{margin-right:10px}
  /* La salle : trois cartes plus larges que leur colonne (un nom de commune insécable les poussait), l'ombre sortait de
     l'écran ; elles reprennent la largeur de la colonne, et le tableau des trajets un peu moins de marge intérieure. */
  #contenu .ls-row>*,#contenu .ls-access-grid>*{min-width:0}
  #contenu .ls-board{padding-left:20px;padding-right:20px}
  #contenu .ls-departure{padding-left:0;padding-right:0}
  #contenu .ls-departure-name{flex-wrap:wrap;gap:8px}   /* à 320 px, « Saint-Michel-Chef-Chef » et « 11 min » ne tiennent plus côte à côte : la durée passe dessous */
  #contenu .hx-section .at-bridge-pill{white-space:nowrap;gap:10px;padding:13px 20px;letter-spacing:.01em;font-size:clamp(14px,4.3vw,16px)}
}
/* Planning sur téléphone, comme un autre site TDB (Virginie, 22/10 : « j'aime pas le scroll sur la droite ») : les jours les uns
   sous les autres, et dans chaque jour les créneaux par moment de la journée (titres posés par le script du planning,
   liens_site.py), en tuiles sur deux colonnes, l'heure au-dessus du cours. */
.v2c.c-fluo .c-plan-moment{display:none}
@media(max-width:560px){
  .v2c.c-fluo .c-planning-days{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);gap:14px;overflow:visible;scroll-snap-type:none;padding:0}
  .v2c.c-fluo .c-plan-day>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .v2c.c-fluo .c-plan-slot{grid-template-columns:minmax(0,1fr);gap:3px;align-content:center;min-height:62px;padding:9px 10px 9px 12px}
  .v2c.c-fluo .c-plan-slot strong{font-size:13.5px}
  .v2c.c-fluo .c-plan-moment{display:block;grid-column:1/-1;margin:6px 0 0;color:var(--night);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
  .v2c.c-fluo .c-plan-moment:first-child{margin-top:0}
  .v2c.c-fluo .c-plan-moment[hidden]{display:none}
  /* Un filtre actif : les jours sans créneau retenu disparaissent (comme un autre site TDB) — sauf si aucun jour n'en a, pour garder le message. */
  .v2c.c-fluo .c-planning-days:has(.c-plan-day:not(.is-empty)) .c-plan-day.is-empty{display:none}
}

/* Lien d'évitement « Aller au contenu » de l'accueil (29/10) : même balisage et même style que celui des pages
   intérieures (hyrox-independant/page.css), invisible tant qu'il n'a pas le focus du clavier.
   Limité à l'accueil (corps sans .hx-page) : les pages intérieures gardent leur propre règle, sans doublon. */
.v2c.c-fluo:not(.hx-page)>.hx-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--fluo);padding:15px}
.v2c.c-fluo:not(.hx-page)>.hx-skip:focus{top:10px}

/* Dimensions réelles sur chaque image (29/10, scripts/construire-site.py) : un attribut height vaut une hauteur CSS
   tant qu'aucune règle n'en donne une. Les photos réglées par leur seule largeur et un aspect-ratio (Disques Nike de
   La salle, photo de groupe de Première visite) prenaient alors toute la hauteur du fichier. Spécificité nulle : toute
   règle de hauteur existante garde la main ; les attributs ne servent plus qu'à réserver la place avant le chargement. */
:where(img[width][height]){height:auto}
/* Téléphone : « Pornic Hybrid Training » ne se coupe plus (Virginie, 30/10) ; sous 400 px le titre de la séance d'essai
   se réduit juste assez pour que le nom tienne dans sa colonne (règle téléphone n° 7). */
@media(max-width:400px){.v2c.c-fluo .c-trial-p5 h2.v-title{font-size:min(34px,calc((100vw - 48px) / 9.9))}}
/* Nouvelle photo de Merry (Virginie, 30/10) : son visage n'est jamais coupé, quelle que soit la case (carte de
   l'équipe, petite photo du haut des pages du pôle santé) ; cadrage contrôlé par la mesure (merry-photo/visage.py). */
.v2c.c-fluo img[src*="merry-praticienne-bien-etre"]{object-fit:cover;object-position:62% 22%}
/* L'étiquette « Ensemble, ça change tout. » ne mord plus sur la photo (règle du 05/10, audit du 30/10) : décalée à
   droite, juste après le coin de la photo, choix A de Virginie (30/10, planche etiquette-essai/). Ordinateur seulement. */
@media(min-width:1024px){.v2c.c-fluo .c-trial-p5-label{right:-64px}}
/* De 1 024 à 1 279 px, à -64 px elle dépassait de l'écran (25 px) : plus petite (10 px, comme sur tablette) et décalée de
   30 px seulement ; mesuré : 0 px² sur la photo, aucun débordement, de 1 024 à 1 279 px. */
@media(min-width:1024px) and (max-width:1279px){.v2c.c-fluo .c-trial-p5-label{right:-30px;padding:10px 14px;font-size:10px}}

/* /m/page-hyrox.css */
.hyrox-page{--hy-cream:#f4f4ef;--hy-line:#d8d9d1;--hy-gray:#666b66;background:#fffefa}
.hyrox-page .v-header{transition:transform .28s ease;will-change:transform}
.hyrox-page .v-header.hy-header-hidden{transform:translateY(-105%)}
.hyrox-main h2{font-size:40px;font-weight:850;line-height:1.1;letter-spacing:-.035em}
.hyrox-main h3{font-weight:800}
.hy-highlight{background:linear-gradient(transparent 70%,var(--fluo) 70% 94%,transparent 94%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hy-eyebrow{display:block;margin-bottom:16px;color:#74796f;font-size:12px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.hy-hero{overflow:hidden;background:#fffefa}
.hy-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:86px;align-items:center;min-height:650px;padding-top:70px;padding-bottom:80px}
/* Gris du petit titre : #727773 (contraste 4,52:1 sur le fond) au lieu de #747975 (4,40:1), sur toutes les
   pages intérieures (Virginie, 07/10, après la relecture Codex de Tarifs). L'accueil ne charge pas ce fichier. */
.hy-hero-copy h1{margin-bottom:24px;color:#727773;font-size:22px;font-weight:500;line-height:1.35;letter-spacing:0}
.hy-hero-copy h1 span{white-space:nowrap}
.hy-hero-copy h2{max-width:650px;font-size:60px;font-weight:850;line-height:1.02;letter-spacing:-.045em}
/* Le H1 en grand dans le haut de page : toutes les pages intérieures depuis le 08/10 (Virginie : le H2 « Qu’est-ce que… »
   repasse sous la bande et devient le titre de la première section ; l’accueil garde son H2 en haut). Venu de
   pages-communes.css (Drop-in, Tarifs). Partie en petit avant (pg-h1-avant) ou après (pg-h1-apres) la partie en grand. */
.hy-hero-copy h1.pg-h1-grand{max-width:650px;margin-bottom:40px;color:var(--ink);font-size:60px;font-weight:850;line-height:1.05;letter-spacing:-.045em}
.pg-h1-grand .pg-h1-avant{display:block;margin-bottom:14px;color:#727773;font-size:22px;font-weight:500;line-height:1.35;letter-spacing:0}
.pg-h1-grand .pg-h1-apres{display:block;margin-top:14px;color:#727773;font-size:22px;font-weight:500;line-height:1.35;letter-spacing:0}
/* Titre de section centré quand le bloc du dessous forme un ensemble de même largeur (règle des sites TDB). */
.hx-title.pg-titre-centre{text-align:center}
@media(max-width:1023px){.hy-hero-copy h1.pg-h1-grand{font-size:40px}}
/* Haut de page centré sur téléphone et tablette, comme l'accueil ; l'ordinateur reste à gauche (Virginie, 19/10). */
@media(max-width:1023px){.hy-hero-copy{text-align:center}.hy-hero-copy h1,.hy-hero-copy .v-cta{margin-inline:auto}}
/* Titre du haut de page sur téléphone et tablette : plus d'interligne, et la ligne soulignée garde autant d'air dessous
   que les autres (la bande fluo descend sous sa ligne et mangeait l'espace suivant). Le repère invisible en fin de
   soulignage descend la ligne d'un demi-cadratin, seulement quand le titre continue sur la ligne suivante (pas devant
   le petit texte gris en bloc de Planning, Première visite, Tarifs). Mesuré à l'encre : ~15 px entre chaque ligne.
   Virginie, 19/10, planche titres-soulignes-ecart/. */
@media(max-width:1023px){.hy-hero-copy h1.pg-h1-grand{line-height:1.2}
  .hy-hero-copy .he-highlight:has(+ .sans-coupure)::after{content:'';display:inline-block;width:0;height:0;vertical-align:-.5em}}
.hy-hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin:33px 0 40px}
.hy-hero-tags span{padding:10px 15px;border:1px solid #d4d5d0;border-radius:99px;color:#4e534f;font-size:13px;font-weight:750;letter-spacing:.03em}
.hy-hero-visual{position:relative;height:500px;border-radius:30px;background:#efefec}
.hy-hero-visual:before{content:'';position:absolute;inset:0;border-radius:30px;background-image:url('/m/assets/v2c-fluo/mouchete.svg');background-size:210px;opacity:.45}
.hy-hero-visual figure{position:absolute;z-index:1;left:35px;top:-18px;width:315px;height:470px;margin:0;overflow:hidden;border:6px solid #fffefa;border-radius:22px;box-shadow:0 24px 44px rgba(32,35,34,.22);transform:rotate(-2.5deg)}
.hy-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hy-hero-number{position:absolute;z-index:2;right:-20px;top:78px;color:var(--fluo);font-size:112px;font-weight:900;line-height:.8;letter-spacing:-.08em;text-shadow:5px 5px 0 #202322;transform:rotate(4deg)}
.hy-hero-caption{position:absolute;z-index:3;right:20px;bottom:48px;padding:11px 15px;background:var(--fluo);box-shadow:6px 6px 0 #202322;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-3deg)}
.hy-scribble{position:absolute;z-index:2;right:15px;top:215px;width:100px;height:auto;color:#202322}
.hy-scribble path{fill:none;stroke:currentColor;stroke-width:2}
.hy-ribbon{overflow:hidden;padding:15px 0;background:var(--fluo);color:#202322}
.hy-ribbon>div{display:flex;width:max-content;align-items:center;gap:28px;animation:hy-ribbon 75s linear infinite}
.hy-ribbon span{font-size:15px;font-weight:850;letter-spacing:.08em;white-space:nowrap}
.hy-ribbon b{font-size:24px;line-height:1}
@keyframes hy-ribbon{to{transform:translateX(-50%)}}
.hy-intro{background:var(--hy-cream)}
.hy-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.hy-intro-photo{position:relative;height:650px;overflow:hidden;border-radius:22px}
.hy-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hy-intro-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.55))}
.hy-intro-photo span{position:absolute;z-index:1;left:28px;bottom:28px;padding:11px 16px;background:var(--fluo);box-shadow:5px 5px 0 #202322;font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.hy-intro-copy{display:grid;gap:0}
.hy-intro-copy article{display:grid;grid-template-columns:58px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--hy-line)}
.hy-intro-copy article:first-child{padding-top:0}
.hy-intro-copy h3{margin-bottom:20px;font-size:29px}
.hy-intro-copy p{color:#474b47;font-size:17px;line-height:1.65}
.hy-index{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--fluo);font-size:16px;font-weight:900}
.hy-section-head{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:50px}
.hy-section-head>div{max-width:780px}
.hy-section-head>p{max-width:280px;color:var(--hy-gray);font-size:15px;text-align:right}
.hy-race{background:#fffefa}
.hy-race-shell{overflow:hidden;border:1px solid #d7d8d3;border-radius:24px;background:#efefec}
.hy-laps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-bottom:1px solid #cfd0ca}
.hy-laps button{display:grid;gap:8px;min-height:105px;padding:16px 8px;border:0;border-right:1px solid #cfd0ca;background:transparent;font-size:12px;font-weight:750;line-height:1.25;text-align:left}
.hy-laps button:last-child{border-right:0}
.hy-laps button span{color:#777c76;font-size:11px;letter-spacing:.12em}
.hy-laps button[aria-selected="true"]{background:#202322;color:#fff}
.hy-laps button[aria-selected="true"] span{color:var(--fluo)}
.hy-lap-panel{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;padding:55px 70px 36px;background-color:#202322;background-image:url('/m/assets/v2c-fluo/mouchete.svg');background-size:220px;color:#fff}
.hy-run-block,.hy-station-block{display:grid;place-items:center;min-height:190px;padding:26px;border:1px solid #ffffff45;border-radius:18px;background:#ffffff0d;text-align:center}
.hy-run-block span,.hy-station-block span{margin-bottom:12px;color:#d2d4ce;font-size:14px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.hy-run-block strong,.hy-station-block strong{font-size:44px;line-height:1}
.hy-lap-panel .hy-station-block{background:var(--fluo);color:#202322;transform:rotate(1.5deg)}
.hy-station-block span{color:#3d413d}
.hy-arrow{font-size:36px;text-align:center;color:var(--fluo)}
.hy-progress{grid-column:1/-1;display:grid;grid-template-columns:105px 1fr;gap:18px;align-items:center;margin-top:32px;color:#d6d8d1;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hy-progress i,.hy-reason-count i{display:block;height:5px;overflow:hidden;border-radius:99px;background:#ffffff2b}
.hy-progress b,.hy-reason-count b{display:block;width:12.5%;height:100%;border-radius:99px;background:var(--fluo);transition:width .25s ease}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hy-why{background:#202322;color:#fff}
.hy-section-head-light .hy-eyebrow{color:var(--fluo)}
.hy-section-head-light>p{color:#c4c7c1}
.hy-why-grid{display:grid;grid-template-columns:370px minmax(0,1fr);gap:55px;align-items:stretch}
.hy-reason-tabs{display:flex;flex-direction:column}
.hy-reason-tabs button{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:center;padding:22px 12px;border:0;border-bottom:1px solid #ffffff30;background:transparent;color:#c7cac4;font-size:17px;font-weight:700;text-align:left}
.hy-reason-tabs button span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff4a;font-size:11px}
.hy-reason-tabs button[aria-selected="true"]{color:#fff}
.hy-reason-tabs button[aria-selected="true"] span{border-color:var(--fluo);background:var(--fluo);color:#202322}
.hy-reason-count{display:grid;grid-template-columns:70px 1fr;gap:15px;align-items:center;margin-top:auto;padding-top:34px;color:#c7cac4;font-size:12px;font-weight:800;text-transform:uppercase}
.hy-reason-count b{width:33.333%}
.hy-reason-stage{position:relative;min-height:540px;overflow:hidden;border-radius:22px}
.hy-reason-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(18,20,18,.92) 100%)}
.hy-reason-stage img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hy-reason-stage article{position:absolute;z-index:1;left:44px;right:44px;bottom:40px}
.hy-reason-stage h3{max-width:660px;margin-bottom:18px;font-size:34px}
.hy-reason-stage p{max-width:760px;color:#e1e3de;line-height:1.65}
.hy-benefits{background:#fffefa}
.hy-benefits>div>h2{max-width:710px;margin-bottom:50px}
.hy-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hy-benefit-grid article{position:relative;min-height:420px;padding:42px;border:1px solid #d6d7d1;border-radius:20px;background:#efefec;overflow:hidden}
.hy-benefit-grid article:nth-child(2){background:var(--fluo);transform:rotate(1deg)}
.hy-benefit-grid article:after{content:attr(data-mark);position:absolute;right:-15px;bottom:-70px;color:#2023220b;font-size:230px;font-weight:900;line-height:1}
.hy-benefit-icon{display:grid;place-items:center;width:76px;height:76px;margin-bottom:55px;border-radius:50%;background:#202322;color:var(--fluo)}
.hy-benefit-icon svg{width:42px;height:42px}
.hy-benefit-grid h3{max-width:430px;margin-bottom:22px;font-size:30px}
.hy-benefit-grid p{max-width:520px;color:#4a4f4a;line-height:1.65}
.hy-audience{background:#edeedc}
.hy-audience-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.hy-audience-intro h2{margin-bottom:24px}
.hy-ui-copy{color:#696e68}
.hy-profile-tabs{display:grid;gap:10px;margin-top:34px}
.hy-profile-tabs button{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;padding:17px 20px;border:1px solid #c8cac1;border-radius:9px;background:#fffefa;font-size:16px;font-weight:750;text-align:left}
.hy-profile-tabs button span{color:#777d76;font-size:11px;letter-spacing:.12em}
.hy-profile-tabs button[aria-selected="true"]{border-color:#202322;background:#202322;color:#fff;box-shadow:7px 7px 0 var(--fluo)}
.hy-profile-tabs button[aria-selected="true"] span{color:var(--fluo)}
.hy-laps button:focus-visible,.hy-reason-tabs button:focus-visible,.hy-profile-tabs button:focus-visible{outline:3px solid var(--fluo);outline-offset:3px}
.hy-profile-stage{position:relative;min-height:520px;padding:190px 58px 55px;border-radius:24px;background-color:#202322;background-image:url('/m/assets/v2c-fluo/mouchete.svg');background-size:220px;color:#fff;overflow:hidden}
.hy-profile-stage:before{content:'';position:absolute;inset:0 0 auto;height:160px;background:url('/m/assets/photos/pornic-hybrid-training/challenge-bikeerg-pornic-hybrid-training.webp') center 37%/cover no-repeat;opacity:.75}
.hy-profile-number{position:absolute;z-index:1;right:24px;top:92px;color:var(--fluo);font-size:140px;font-weight:900;line-height:.8;letter-spacing:-.08em;text-shadow:4px 4px 0 #202322}
.hy-profile-stage article{position:relative;z-index:1}
.hy-profile-stage h3{max-width:620px;margin-bottom:22px;font-size:34px}
.hy-profile-stage p{color:#e3e5df;line-height:1.7}
.hy-closing{background:#fffefa;color:#202322}
.hy-closing-grid{display:grid;grid-template-columns:1fr 470px;gap:75px;align-items:center}
.hy-closing h2{max-width:680px;margin-bottom:30px}
.hy-closing p{max-width:680px;color:#4a4f4a;line-height:1.65}
.hy-closing .v-cta{margin-top:38px}
.hy-closing figure{position:relative;height:520px;margin:0;overflow:hidden;border-radius:220px 220px 28px 28px;border:7px solid #202322}
.hy-closing figure:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,rgba(0,0,0,.65))}
.hy-closing img{width:100%;height:100%;object-fit:cover;object-position:center 36%}
.hy-closing figure span{position:absolute;z-index:1;left:50%;bottom:30px;padding:10px 16px;background:var(--fluo);box-shadow:5px 5px 0 #202322;color:#202322;font-size:13px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;transform:translateX(-50%) rotate(-2deg)}
@media(max-width:1199px),(hover:none) and (pointer:coarse){.hyrox-page:has(.c-device-preview-notice){overflow:hidden}}
@media(prefers-reduced-motion:reduce){.hy-ribbon>div{animation:none}.hyrox-page .v-header{transition:none}.hy-progress b,.hy-reason-count b{transition:none}}

/* /m/hyrox-independant/page.css */
.hx-page{overflow-x:clip}
.sans-coupure{white-space:nowrap}
.hx-page .v-wrap{width:100%;max-width:1220px;padding:0 40px}
.hx-page .v-header{transition:transform .24s ease}
.hx-page .v-header.hx-away{transform:translateY(-100%)}
.hx-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--fluo);padding:15px}
.hx-skip:focus{top:10px}
.hx-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.hx-hero{padding:66px 0 64px}
.hx-back{display:inline-block;font-size:12px;letter-spacing:.08em;color:var(--muted);text-decoration:none;margin-bottom:42px}
.hx-kicker{font-size:22px;line-height:1.4;font-weight:550;margin-bottom:18px}
.hx-display{font-size:60px;line-height:1.05;font-weight:850;letter-spacing:-.05em;max-width:490px}
.hx-display::after{content:'';display:block;width:130px;height:10px;background:var(--fluo);margin-top:24px;transform:rotate(-2deg)}
.hx-hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:35px}
.hx-textlink{font-size:15px;font-weight:650;text-underline-offset:5px}
.hx-hero-art{position:relative;height:525px;background:var(--soft);border-radius:28px 100px 28px 28px;margin-bottom:18px}
.hx-hero-photo{position:absolute;width:65%;height:92%;object-fit:cover;border-radius:18px;top:-14px;left:0;transform:rotate(-3deg);box-shadow:0 24px 45px #20232224}
.hx-hero-word{position:absolute;right:3%;top:36px;font-size:99px;font-weight:900;line-height:.9;letter-spacing:-.065em}
.hx-hero-word>span{display:block;color:var(--ink);font-size:72px;line-height:1.2}
.hx-photo-small{position:absolute;right:-10px;bottom:25px;width:48%;height:220px;background:var(--paper);padding:7px;transform:rotate(5deg);border-radius:14px;box-shadow:0 20px 35px #20232222}
.hx-photo-small img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:9px}
.hx-stamp{position:absolute;bottom:-13px;left:26px;transform:rotate(-3deg);background:var(--fluo);padding:12px 20px;font-size:13px;font-weight:800;letter-spacing:.15em}
.hx-section{padding:100px 0}
.hx-title{font-size:40px;font-weight:850;line-height:1.12;letter-spacing:-.035em;max-width:790px;margin-bottom:48px}
.hx-section h3{font-size:26px;line-height:1.18;font-weight:750;letter-spacing:-.025em;margin-bottom:22px}
.hx-section p{font-size:17.5px;line-height:1.65}
.hx-section .hx-ui{font-size:14px;line-height:1.5}
.hx-number{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.15em;margin-bottom:20px;color:var(--muted)}
.hx-intro{padding-top:45px;padding-bottom:88px}
.hx-intro .hx-two{align-items:center}
.hx-intro article{padding-top:26px;border-top:5px solid var(--fluo)}
.hx-race{background:var(--night) url('/m/assets/v2c-fluo/mouchete.svg') center/240px;color:var(--paper)}
.hx-section-top{display:flex;gap:60px;align-items:flex-end;margin-bottom:44px}
.hx-section-top .hx-title{max-width:620px;margin-bottom:0}
.hx-section-top .hx-ui{max-width:210px;color:#d8ddd5;margin-left:auto}
.hx-race-board{display:grid;grid-template-columns:270px minmax(0,1fr);gap:35px;align-items:center}
.hx-race-focus{padding:28px 22px;background:var(--fluo);color:var(--night);border-radius:18px;transform:rotate(-2deg);text-align:center}
.hx-eyebrow{font-size:10px;font-weight:850;letter-spacing:.12em}
.hx-race-count{display:block;font-size:86px;line-height:1;font-weight:850;letter-spacing:-.07em;margin-top:16px}
.hx-race-count>span{font-size:24px;letter-spacing:-.03em;margin-left:7px}
.hx-icon{width:60px;height:60px;stroke-width:2}
#hx-station-icon .hx-icon{width:100px;height:100px;margin:18px 0 8px}
#hx-station-label{font-size:22px;line-height:1.25;font-weight:800;min-height:56px}
#hx-explored{margin-top:22px;font-size:12px}
.hx-next{border:0;border-radius:30px;background:var(--night);color:var(--paper);font-size:13px;padding:12px 14px;margin-top:16px;display:inline-flex;align-items:center;gap:12px}
.hx-course{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 12px;margin:0;padding:0}
.hx-pair{min-width:0}
.hx-run{display:flex;gap:4px;justify-content:space-between;align-items:center;background:#dce3dc;color:var(--night);padding:10px 9px;border-radius:8px 8px 0 0;font-size:11px;font-weight:750;white-space:nowrap}
.hx-run>span:last-child{font-size:19px}
.hx-station{position:relative;display:flex;flex-direction:column;width:100%;height:175px;background:#343b36;color:var(--paper);border:0;border-radius:0 0 9px 9px;padding:12px 12px 24px;text-align:left;transition:background .2s,transform .2s}
.hx-station:hover{transform:translateY(-3px);background:#4b554d}
.hx-station[aria-pressed=true]{background:var(--fluo);color:var(--night)}
.hx-station-top{display:flex;width:100%;justify-content:space-between;align-items:center;margin-bottom:10px}
.hx-station-top>span{font-size:16px;font-weight:800}
.hx-station-top .hx-icon{width:48px;height:48px}
.hx-station>[data-hx-source]{font-size:14px;line-height:1.4;font-weight:750}
.hx-station .sans-coupure{font-size:12px}
.hx-station-arrow{position:absolute;right:11px;bottom:6px;font-size:20px}
.hx-coach-grid{gap:64px}
.hx-coach-photo{position:relative;margin:0;transform:rotate(-2deg);padding:10px;background:var(--soft);border-radius:16px}
.hx-coach-photo img{width:100%;height:370px;object-fit:cover;border-radius:9px;display:block}
.hx-coach-photo figcaption{padding:15px 8px 6px;font-size:12px;font-weight:800;letter-spacing:.12em}
.hx-detail{border-bottom:1px solid #d8ddd5;padding:22px 0}
@media(max-width:1023px){.hx-detail:last-child{border-bottom:0}}   /* 22/10 : un séparateur va entre deux éléments, jamais sous le dernier (téléphone seulement, l'ordinateur est validé) */
.hx-detail summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) 25px;gap:14px;align-items:center}
.hx-detail summary::-webkit-details-marker,.hx-profile summary::-webkit-details-marker{display:none}
.hx-detail h3{font-size:24px;margin:0}
.hx-detail-n{font-size:12px;font-weight:800;color:var(--muted)}
.hx-plus{font-size:26px;line-height:1}
.hx-detail[open] .hx-plus{transform:rotate(45deg)}
.hx-detail>p{padding:20px 0 4px 46px}
.hx-benefits{background:var(--soft)}
.hx-benefit-grid{align-items:start;gap:64px}
.hx-benefit-grid>article>div{position:relative;height:185px;margin-bottom:28px;display:flex;align-items:center;justify-content:center;overflow:clip}
.hx-breath>span{width:155px;height:155px;border-radius:50%;background:var(--fluo);animation:hx-breathe 5s ease-in-out infinite}
.hx-breath svg{position:absolute;width:260px;height:70px;stroke-width:3}
.hx-breath b,.hx-strength b{position:absolute;bottom:7px;font-size:11px;letter-spacing:.22em;background:var(--soft);padding:4px 10px}
.hx-strength{gap:13px}
.hx-strength i{display:block;width:48px;height:100px;background:var(--night);transform:skew(-10deg)}
.hx-strength i:nth-child(2){height:135px;background:var(--fluo)}
.hx-strength i:nth-child(3){height:155px}
.hx-strength i:nth-child(4){height:120px;background:#aebcae}
.hx-profiles .hx-title{margin-bottom:20px}
.hx-profile-list{margin-top:36px;display:flex;flex-direction:column;gap:16px}
.hx-profile{background:var(--soft);border-radius:12px;overflow:clip}
.hx-profile[open]{background:var(--night);color:var(--paper)}
.hx-profile summary{list-style:none;display:grid;grid-template-columns:70px 160px minmax(0,1fr) 30px;gap:22px;align-items:center;padding:28px 32px}
.hx-profile h3{margin:0;font-size:25px;line-height:1.22}
.hx-profile-number{font-size:43px;font-weight:850;letter-spacing:-.05em;color:#7d887b}
.hx-profile[open] .hx-profile-number{color:var(--fluo)}
.hx-profile-label{font-size:11px;letter-spacing:.12em;font-weight:800}
.hx-profile-copy{padding:0 84px 32px 306px}
.hx-profile-copy a{color:var(--fluo);text-underline-offset:3px}
.hx-final{background:#e4e8da}
.hx-final .hx-title{margin-bottom:25px}
.hx-final .v-cta{margin-top:30px}
.hx-final-photo{position:relative;margin:0 25px;transform:rotate(3deg)}
.hx-final-photo img{display:block;width:100%;height:460px;object-fit:cover;object-position:50% 40%;border-radius:25px}
.hx-final-mark{position:absolute;left:-30px;bottom:25px;font-size:32px;line-height:1.05;font-weight:850;letter-spacing:-.04em;background:var(--fluo);color:var(--night);padding:16px 22px;transform:rotate(-7deg)}
@keyframes hx-breathe{50%{transform:scale(.84)}}
@media(max-width:1179px){.hx-page .v-header{position:relative}.hx-page .v-header.hx-away{transform:none}.hx-race-board{grid-template-columns:220px minmax(0,1fr);gap:20px}.hx-two{gap:35px}.hx-display{font-size:50px}.hx-profile-copy{padding-left:55px}.hx-profile summary{grid-template-columns:50px 130px minmax(0,1fr) 25px}.hx-hero-word{font-size:85px}.hx-course{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-race-focus{transform:none}.hx-profile h3{font-size:23px}}
@media(max-width:1023px){.hx-page .v-wrap{padding:0 24px}.hx-two{grid-template-columns:1fr;gap:38px}.hx-hero{padding:30px 0 35px}.hx-back{margin-bottom:24px}.hx-display{font-size:45px}.hx-hero-art{height:450px;margin:20px 8px}.hx-title{font-size:32px}.hx-section{padding:65px 0}.hx-section h3{font-size:24px}.hx-section-top{display:block}.hx-section-top .hx-ui{margin:20px 0 0;max-width:none}.hx-race-board{grid-template-columns:1fr}.hx-race-focus{display:none}.hx-course{grid-template-columns:1fr;gap:18px}.hx-run{font-size:15px;padding:10px 18px}.hx-station{height:115px;display:grid;grid-template-columns:80px 1fr;align-items:center;padding:14px 20px;gap:14px}.hx-station-top{margin:0}.hx-station>[data-hx-source]{font-size:18px}.hx-profile summary{grid-template-columns:35px minmax(0,1fr) 20px;gap:15px;padding:24px}.hx-profile-label{display:none}.hx-profile h3{font-size:21px}.hx-profile-copy{padding:0 24px 26px}.hx-profile-number{font-size:30px}.hx-final-photo{margin:0 15px}.hx-final-photo img{height:400px}.hx-coach-photo img{height:280px}.hx-detail>p{padding-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hx-page *{animation:none!important;transition:none!important}}
/* Téléphones de 320 à 369 px (22/10) : la colonne du titre d'un profil tombait à 151 px, et « du Functional Fitness », qui ne
   se coupe pas, réduisait le titre à 16 px. Le numéro passe au-dessus du titre (règle des sites TDB : l'icône passe
   au-dessus du texte quand la colonne de texte devient trop étroite). */
@media(max-width:369px){.hx-profile summary{grid-template-columns:minmax(0,1fr) 20px;row-gap:4px}.hx-profile-number{grid-column:1/-1}}

/* /m/hyrox-mix/page.css */
/* Page Hyrox mixte : seulement ce qui raccorde les deux directions. */

/* Titres : toute la largeur du contenu, jamais une largeur plus étroite qui les coupe
   (règle des sites TDB, 30/09/2026). */
.hm-page .hx-title,.hm-page .hx-section-top .hx-title,.hm-page .v-closing .v-title{max-width:none}
/* Sur deux lignes, le soulignage ou le surlignage ne touche jamais la ligne du dessous (Virginie, 01/10). */
.hm-page .hx-title,.hm-page .v-closing .v-title{line-height:1.3}
.hm-page .hx-section-top .hx-title{flex:1 1 auto}

/* Haut de page : colonne de texte plus large que le visuel (règle du héros). */
.hm-hero-grid{grid-template-columns:1.2fr 1fr;gap:64px}
.hm-hero .hy-hero-copy h2{margin-bottom:40px;line-height:1.1}
.hm-hero .hx-hero-art{margin-bottom:0}

/* Bande verticale « HYROX », reprise de « HYBRID » sur l'accueil. */
.hm-edge-word{position:absolute;z-index:1;top:44px;right:13%;padding:10px 7px 9px;border-left:5px solid var(--fluo);color:#202322;font-size:31px;font-weight:900;line-height:1;letter-spacing:.19em;pointer-events:none;text-transform:uppercase;user-select:none;writing-mode:vertical-rl}

/* Variante B de la planche : les deux colonnes des bénéfices dans des cartes. */
.hm-benefits-cards .hx-benefit-grid{gap:32px;align-items:stretch}
.hm-benefits-cards .hx-benefit-grid>article{background:var(--paper);border-radius:18px;padding:34px 36px 38px;box-shadow:0 18px 40px #20232214}
.hm-benefits-cards .hx-breath b,.hm-benefits-cards .hx-strength b{background:var(--paper)}
.hm-titles-centered .hx-benefit-grid h3{text-align:center}
/* Titre au-dessus d'un bloc centré pleine largeur : centré aussi (Virginie, 01/10). Hyrox et ATHX. */
.hm-benefits-cards .hx-title{text-align:center}
.hm-text-justify .hx-benefit-grid p{text-align:justify;hyphens:auto}
.hm-text-center .hx-benefit-grid p{text-align:center}
.hm-variant-label{max-width:1140px;margin:40px auto 0;padding:0 0 12px;font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.hm-board .hx-benefits{margin-bottom:30px}
.hm-board .v-header{position:static}

/* Version « après » : éléments repris de l'accueil (cartes du pôle santé et des objectifs,
   vague hachurée de « Pourquoi choisir », vague dessinée du héros et de la fin). */
.hm-apres .hm-hero-wave{position:absolute;z-index:2;left:-62px;bottom:64px;width:120px;height:44px;color:var(--fluo)}
.hm-apres .hy-intro-photo{transform:rotate(-1.5deg);box-shadow:10px 10px 0 var(--night)}
.hm-apres .hx-race-focus{position:relative}
.hm-apres .hx-race-focus:after{content:'';display:block;height:34px;margin:18px 6px 0;background:repeating-linear-gradient(125deg,transparent 0 10px,var(--night) 10px 13px);clip-path:polygon(0 55%,30% 0,65% 80%,100% 20%,100% 65%,65% 100%,30% 30%,0 90%)}
.hm-apres .hx-coach-photo{box-shadow:10px 10px 0 var(--night)}
.hm-apres .hm-benefits-cards .hx-benefit-grid{gap:44px;padding:0 10px 10px 0}
.hm-apres .hm-benefits-cards .hx-benefit-grid>article{position:relative;overflow:hidden;border-radius:10px;box-shadow:10px 10px 0 var(--night);transform:rotate(-1deg)}
.hm-apres .hm-benefits-cards .hx-benefit-grid>article:nth-child(2){background:var(--sky);transform:rotate(1.2deg)}
.hm-apres .hm-benefits-cards .hx-benefit-grid>article:nth-child(2) .hx-strength b{background:var(--sky)}
.hm-apres .hm-benefits-cards .hx-benefit-grid>article:after{position:absolute;right:18px;bottom:-24px;font-size:112px;font-weight:900;line-height:1;color:var(--night);opacity:.07;letter-spacing:-.08em;pointer-events:none}
.hm-apres .hm-benefits-cards .hx-benefit-grid>article:nth-child(1):after{content:'01'}
.hm-apres .hm-benefits-cards .hx-benefit-grid>article:nth-child(2):after{content:'02'}
.hm-apres .hx-profile[open] .hx-profile-copy:after{content:'';display:block;max-width:420px;height:60px;margin-top:26px;background:repeating-linear-gradient(125deg,transparent 0 14px,var(--fluo) 14px 17px);opacity:.85;clip-path:polygon(0 55%,30% 0,65% 80%,100% 20%,100% 65%,65% 100%,30% 30%,0 90%)}

@media(max-width:1179px){.hm-edge-word{font-size:26px;right:10%}}
@media(max-width:1023px){.hm-hero-grid{grid-template-columns:1fr}.hm-edge-word{font-size:22px;top:30px;right:8%}}

/* ======================================================================================================
   VERSION TÉLÉPHONE — haut de page commun aux 15 pages intérieures (08/10/2026). Au-dessus de 760 px, rien ne change.
   ====================================================================================================== */
@media(max-width:1023px){
  /* Une colonne, de l'air sous l'en-tête (le titre y était collé : 0 px), et plus de hauteur minimale d'ordinateur. */
  body.hm-page .hm-hero-grid{grid-template-columns:minmax(0,1fr);gap:46px;min-height:0;padding-top:34px;padding-bottom:44px}
  /* Le grand H1 à 40 px, comme Contact et l'accueil (Virginie, 22/10, planche titre-haut-40px/). Son groupe souligné ne
     se coupe jamais (règle des sites TDB) : sur les pages dont le plus large groupe ne tient pas à 40 px (« Drainage
     lymphatique » : 380 px, « moderne et conviviale » : 379 px…), la taille se réduit juste assez pour tenir dans la largeur
     de l'écran — chaque page pose son rapport --pg-h1-ratio (40 px / largeur du groupe à 40 px) dans son page.css. */
  body.hm-page .hy-hero-copy h1.pg-h1-grand{font-size:min(40px,calc((100vw - 52px) * var(--pg-h1-ratio,1)));margin-bottom:30px}
  body.hm-page .pg-h1-grand .pg-h1-avant,body.hm-page .pg-h1-grand .pg-h1-apres{font-size:18px}
  /* Le visuel : les mots verticaux ne passent JAMAIS sur une photo (règle des sites TDB). La grande photo reste à
     gauche ; les mots, en 22 px, prennent la colonne de droite ; la petite photo descend sous eux, en bas à droite. */
  /* Le coin arrondi du fond gris passe de 100 à 56 px : à 100 px, les premières lettres du mot vertical (haut 24 px,
     bord droit 8 px) sortaient du gris dans la courbe (Virginie, 22/10). À 56 px, la courbe laisse 5 px au bord à la hauteur
     des premières lettres, à toute largeur : les réglages du mot sont en pixels, pas en pourcentage. */
  body.hm-page .hx-hero-art{height:430px;border-radius:28px 56px 28px 28px}
  body.hm-page .hx-hero-art .hm-edge-word{top:24px;right:8px;font-size:22px}
  /* Le second mot (Drainage LYMPHATIQUE, Coaching PERSO…) : en contour, sans bloc fluo, sans ombre, sans trait, à côté du
     premier et à sa hauteur — choix C « mais pas souligné » de Virginie (22/10, planche second-mot-telephone/). */
  body.hm-page .hx-hero-art>span[aria-hidden="true"]:not(.hm-edge-word):not(.hx-stamp){top:24px;right:55px;font-size:22px;padding:10px 7px 9px;background:none;box-shadow:none;border:0;color:transparent;-webkit-text-stroke:1.4px #202322}   /* right 55 : 6 px après le trait du premier mot, et 2 à 8 px avant la boîte de la grande photo de 360 à 430 px (mesuré, surface commune nulle) */
  body.hm-page .hx-hero-art .hx-photo-small{right:-10px;bottom:-22px;width:46%;height:150px}
  body.hm-page .hx-hero-art .hx-stamp{left:14px}
  /* Sections un peu moins hautes sur téléphone (65 px de marge en haut et en bas, comme sur une tablette). */
  body.hm-page .hx-section{padding:56px 0}
  /* « Qu'est-ce que l'Hyrox ? » : une colonne (la grille de l'ordinateur laissait 128 px au texte et 33 px à
     l'étiquette de la photo) ; la photo moins haute, les numéros plus petits. */
  body.hm-page .hy-intro-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  /* L'étiquette « Cardio + renforcement » sur une bande sombre sous la photo, jamais dessus (règle des sites TDB). */
  body.hm-page .hy-intro-photo{height:auto;background:var(--night)}
  body.hm-page .hy-intro-photo img{height:330px}
  body.hm-page .hy-intro-photo span{left:18px;bottom:14px}
  body.hm-page .hy-intro-photo:after{bottom:auto;height:330px}
  body.hm-page .hy-intro-photo{padding-bottom:70px}
  body.hm-page .hy-intro-copy article{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:26px 0}
  body.hm-page .hy-intro-copy .hy-index{width:44px;height:44px;font-size:14px}
  body.hm-page .hy-intro-copy h3{font-size:22px;margin-bottom:14px}
  body.hm-page .hy-intro-copy p{font-size:16.5px}
  body.hm-page .hx-station>[data-hx-source] span{font-size:inherit}
  body.hm-page .hx-detail summary{min-height:44px}   /* accordéons « Pourquoi pratiquer » au doigt (la grille centre déjà) */
  /* Les liens d'une liste de coordonnées (téléphone, adresse) : zone de toucher agrandie autour du mot. */
  body.hm-page main li>span>a{position:relative}
  body.hm-page main li>span>a:after{content:'';position:absolute;inset:-12px -8px}
}
/* Tablette en paysage et petit ordinateur (1 024 à 1 199 px) : le haut de page garde ses deux colonnes, mais le visuel
   prend la disposition du téléphone — sinon le second mot vertical passait sur la grande photo (mesuré : 194 à
   6 855 px² selon la page). L'ordinateur validé (1 200 px et plus) ne bouge pas. */
@media(min-width:1024px) and (max-width:1199px){
  body.hm-page .hx-hero-art{border-radius:28px 56px 28px 28px}   /* même raison que sur téléphone (22/10) */
  body.hm-page .hx-hero-art .hm-edge-word{top:24px;right:10px;font-size:24px}
  body.hm-page .hx-hero-art>span[aria-hidden="true"]:not(.hm-edge-word):not(.hx-stamp){top:24px;right:59px;font-size:22px;padding:10px 7px 9px;background:none;box-shadow:none;border:0;color:transparent;-webkit-text-stroke:1.4px #202322}   /* second mot en contour, comme sur téléphone (22/10) ; en 22 px et à 59 px, sinon il touche la grande photo ou le premier mot à 1 024 px */
  body.hm-page .hx-hero-art .hx-photo-small{right:-10px;bottom:-22px;width:46%;height:170px}
  body.hm-page .hx-hero-art .hx-stamp{left:14px}
}
/* Très petits téléphones (moins de 360 px, 320 px pour les plus anciens) : marges latérales de 18 px, titres de
   section en 26 px pour que leurs groupes de mots tiennent (« Pornic Hybrid Training » ne se coupe jamais), mots
   verticaux et tampon du haut de page plus petits, libellés des boutons en 14 px. */
@media(max-width:359px){
  body.hm-page .v-wrap,body.hm-page.hx-page .v-wrap{padding:0 18px}
  body.hm-page .hx-title{font-size:26px}
  body.hm-page .hy-hero-copy h1.pg-h1-grand{font-size:min(40px,calc((100vw - 40px) * var(--pg-h1-ratio,1)))}   /* marges de 18 px ici */
  body.hm-page .hx-hero-art .hm-edge-word{font-size:19px;right:6px}
  body.hm-page .hx-hero-art>span[aria-hidden="true"]:not(.hm-edge-word):not(.hx-stamp){font-size:19px;right:50px;top:24px}   /* 6 px après le trait du premier mot, 1 px avant la boîte de la grande photo à 320 px (mesuré, surface commune nulle) */
  body.hm-page .hx-hero-art .hx-stamp{left:8px;padding:9px 13px;font-size:11px}
  body.hm-page .hx-hero-art .hx-photo-small{width:44%;height:136px}
  body.hm-page .v-cta{gap:10px;font-size:14px}
  body.hm-page .cta-tel:not(.cta-tel-dedans){padding:0 18px}
}

/* /m/medecine-chinoise/page.css */
/* Page Médecine chinoise : seulement ses sections propres. Haut de page, bandeau, titres et fin de
   page viennent des styles communs (accueil, page Hyrox). Préfixe mc- partout. */

/* Rubrique active de l'en-tête : marquée par le menu commun (version-2c-fluo.css, 06/10). */
/* Bandeau : la piste recule de la moitié de sa largeur ; l'écart final la fait tomber juste. */
.mc-page .hy-ribbon>div{padding-right:28px}

/* Haut de page : colonne de texte élargie (comme Renforcement musculaire) pour que la question
   tienne en trois lignes au lieu de quatre. */
@media(min-width:1024px){.mc-page .hm-hero-grid{grid-template-columns:1.28fr 1fr}}
/* 1. Haut de page : « MÉDECINE », puis « CHINOISE » en étiquette fluo à sa gauche (comme COACHING +
   PERSO) ; en petit, la photo du cabinet du pôle santé. */
.mc-page .hm-edge-word{font-size:27px;right:8%}
.mc-edge-second{position:absolute;z-index:1;top:70px;right:calc(8% + 58px);padding:10px 6px 9px;background:var(--fluo);box-shadow:4px 4px 0 #202322;color:#202322;font-size:27px;font-weight:900;line-height:1;letter-spacing:.19em;pointer-events:none;text-transform:uppercase;user-select:none;writing-mode:vertical-rl}
.mc-badge{flex:none;display:block;width:30px;height:30px;padding:13px;border-radius:50%;background:var(--fluo);color:var(--night);fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;box-sizing:content-box}

/* 3. Qu'est-ce que la MTC : l'introduction centrée, puis le bilan et l'acupuncture côte à côte
   (sans ordre imposé entre les deux). */
.mc-what{background:var(--soft)}
.mc-intro{max-width:860px;margin:0 auto 56px;text-align:center}
.mc-intro p{margin:0;font-size:20.5px!important;line-height:1.55!important}
.mc-path{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:stretch;padding:0 10px 10px 0}
.mc-step{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:44px 38px 38px;border-radius:12px;background:var(--paper);box-shadow:10px 10px 0 var(--night);transform:rotate(-1deg)}
.mc-step-sky{background:var(--sky);transform:rotate(1deg)}
.mc-step .mc-badge{margin-bottom:18px}
.mc-step h3{margin:0 0 14px;font-size:26px!important;line-height:1.2}
.mc-step p{margin:0}

/* 4. Pourquoi consulter : les pastilles « qu'est-ce qui vous amène ? » mettent en avant la carte qui
   en parle. Le titre et la question se centrent au-dessus des trois cartes. Pastilles sans contour
   sombre : une ombre décalée, comme les cartes. Les cartes non choisies gardent tout leur contraste. */
.mc-why{background:var(--paper)}
.mc-why .hx-title{text-align:center}
.mc-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:0 0 40px}
.mc-chips-ask{flex:0 0 100%;margin:0 0 4px;font-size:18px!important;font-weight:850;text-align:center}  /* la question sur sa ligne, les pastilles sur une seule ligne dessous */
.mc-chip{padding:9px 16px;border:0;border-radius:999px;background:var(--soft);color:var(--night);font:inherit;font-size:15px;font-weight:800;box-shadow:3px 3px 0 var(--night);cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.mc-chip:hover{transform:translateY(-2px);box-shadow:4px 5px 0 var(--night)}
.mc-chip[aria-pressed=true]{background:var(--fluo)}
.mc-chip:focus-visible{outline:3px solid var(--night);outline-offset:3px}
.mc-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:stretch;padding:0 10px 10px 0}
.mc-why-card{display:flex;flex-direction:column;justify-content:center;padding:34px 30px;border-radius:12px;background:var(--soft);box-shadow:10px 10px 0 var(--night);transition:transform .3s,box-shadow .3s,background .3s}
.mc-why-card h3{margin:0 0 14px;font-size:23px!important;line-height:1.25}
.mc-why-card p{margin:0}
.mc-why-grid.has-focus .mc-why-card.is-on{background:var(--sky);box-shadow:10px 10px 0 var(--fluo);transform:translateY(-8px) rotate(-1deg)}

/* 5. Avec Merry : sa carte à gauche, le texte à droite. */
.mc-merry{background:var(--sky)}
.mc-merry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;padding:0 10px 10px 0}
.mc-card-name{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:44px 40px;border-radius:12px;background:var(--night);color:var(--paper);box-shadow:10px 10px 0 var(--fluo);transform:rotate(-1.5deg);overflow:clip}
.mc-card-name b{font-size:96px;font-weight:900;line-height:.9;letter-spacing:-.04em}
.mc-card-name span{margin-top:14px;font-size:14px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--fluo)}
.mc-stamp{position:absolute;top:26px;right:26px;padding:8px 12px;border:2px solid var(--fluo);border-radius:6px;color:var(--fluo);font-size:12px;font-style:normal;font-weight:900;letter-spacing:.14em;transform:rotate(6deg)}
.mc-wave{position:absolute;right:-20px;bottom:18px;width:180px;opacity:.5}
.mc-merry-text p{margin:0 0 16px}
.mc-merry-text .v-cta{margin-top:12px}

/* 6. L'accès, sur le moucheté (seule section sombre) : texte sur carte à gauche, carte Google à droite. */
.mc-access{padding-bottom:170px;margin-bottom:-70px;background:var(--night) url('/m/assets/v2c-fluo/mouchete.svg') center/240px;color:var(--paper)}
.mc-access .hx-title{color:var(--paper);text-align:center}
/* La fin de page arrondie suit cette section sombre : le fond passe sous le coin (comme Remise en forme). */
.mc-access + .hm-closing{z-index:1}
.mc-access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:stretch;padding:0 10px 10px 0}
.mc-access-card{display:flex;flex-direction:column;justify-content:center;padding:38px 40px;border-radius:12px;background:var(--paper);color:var(--night);box-shadow:10px 10px 0 var(--fluo);transform:rotate(-1deg)}
.mc-access-card p{margin:0 0 14px}
.mc-facts{display:grid;gap:12px;margin:10px 0 0;padding:0;list-style:none}
.mc-facts li{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:750}
.mc-facts a{color:inherit;text-decoration:none}
.mc-ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--fluo)}
.mc-ico svg{width:20px;height:20px;fill:none;stroke:var(--night);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mc-access-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.mc-access-actions .v-cta{margin-top:0}
/* Second bouton de la carte : fond bleu clair, sans contour sombre (« Jamais de bordure noire »). */
.mc-cta-light{background:var(--sky)!important}
.mc-cta-light:hover{background:#d3dbe5!important}
.mc-map{border-radius:12px;box-shadow:10px 10px 0 var(--fluo);transform:rotate(1deg)}
.mc-map :is(iframe,:where(.c-carte-plan)){height:100%;min-height:420px;border-radius:12px}

@media(prefers-reduced-motion:reduce){.mc-chip,.mc-why-card{transition:none}}
@media(max-width:1023px){
  .mc-path,.mc-why-grid,.mc-merry-grid,.mc-access-grid{grid-template-columns:1fr;gap:40px}
  .mc-step,.mc-step-sky,.mc-card-name,.mc-access-card,.mc-map{transform:none}
}

/* Version téléphone (08/10) : les pastilles des besoins à 44 px au doigt. */
@media(max-width:1023px){
  .mc-chip{min-height:44px}
  .v2c.c-fluo .mc-intro+.cta-tel{margin-bottom:34px}   /* 22/10 : le bouton de téléphone touchait la paire de cartes (Virginie) */
  /* La carte « Merry » suit la largeur de l'écran : en 96 px, le prénom imposait 338 px à sa colonne (débordement à 360). */
  .mc-merry-grid{grid-template-columns:minmax(0,1fr)}
  .mc-card-name b{font-size:clamp(64px,22vw,96px)}
}
/* Grand titre sur téléphone (22/10) : « Médecine chinoise » fait 317 px à 40 px ; la taille se réduit pour qu'il tienne (hyrox-mix/page.css). */
.hy-hero-copy h1.pg-h1-grand{--pg-h1-ratio:0.1262}

/* /carte-plan.css */
.c-carte-plan {
  display: block;
  position: relative;
  overflow: hidden;
}
.c-carte-plan > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% 51%;
}
.c-carte-plan-osm {
  position: absolute;
  top: 0;
  right: 0;
  padding: 3px 6px;
  border-bottom-left-radius: 6px;
  background: rgb(255 255 255 / 85%);
  color: #202020;
  font-size: 11px;
  line-height: 1.3;
}
.c-carte-plan-btn {
  position: absolute;
  left: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: calc(100% - 32px);
  padding: 10px 16px;
  border-radius: 40px;
  background: var(--fluo);
  color: var(--ink);
  font-weight: 750;
  font-size: 15px;
  line-height: 1.3;
  box-shadow: 0 3px 10px rgb(0 0 0 / 15%);
}
.c-carte-plan-btn > svg { width: 20px; height: 20px; flex: none; }
.c-carte-plan:focus-visible { outline: 3px solid var(--fluo); outline-offset: -5px; }
/* Le plan remplit toute sa carte, sans bande grise dessous (Virginie, 29/10, sur téléphone) : la carte devient une
   colonne dont le lien prend toute la hauteur. */
/* Sélecteur renforcé : la feuille de la maquette pose `display:block` sur la carte avec trois classes. */
html .c-map-card.c-map-card:has(> .c-carte-plan) { display: flex; flex-direction: column; }
.c-map-card > .c-carte-plan { flex: 1 1 auto; }
/* Téléphone et tablette : le bouton se centre sous le plan (Virginie, 29/10). */
@media (max-width: 1023px) {
  .c-carte-plan-btn { left: 50%; transform: translateX(-50%); white-space: nowrap; }
}

/* /m/animations-accueil/animations.css */
/* Proposition d'animations pour l'accueil de Pornic (26/10/2026) — dans l'esprit des autres sites TDB,
   avec l'identité de Pornic : le fluo qui se trace, les vagues qui se dessinent, les blocs qui montent.
   Tout part de la classe `pa-anim` posée sur <html> par animations.js : sans script, ou si le visiteur a demandé
   moins d'animations, rien n'est caché et rien ne bouge. Aucune animation ne change la place d'un élément
   (seulement opacité, transformations et fonds) : la mise en page validée reste au pixel une fois l'animation jouée. */

/* 1. Les blocs montent légèrement en apparaissant, l'un après l'autre */
/* `translate` et non `transform` : les photos inclinées gardent leur propre rotation */
html.pa-anim .pa-monte{opacity:0;translate:0 24px}
html.pa-anim .pa-monte.pa-vu{opacity:1;translate:0 0;
  transition:opacity .65s ease,translate .65s cubic-bezier(.2,.7,.3,1);transition-delay:calc(var(--pa-i,0) * 90ms)}

/* 2. Le souligné fluo des titres se trace de gauche à droite */
html.pa-anim .pa-titre .c-title-highlight{background-repeat:no-repeat;background-size:0% 100%;
  transition:background-size .9s cubic-bezier(.6,0,.2,1) .15s}
html.pa-anim .pa-titre.pa-vu .c-title-highlight{background-size:100% 100%}

/* 3. Le surligné fluo (c-title-block) reste fixe : son remplissage animé est retiré (Virginie, 26/10 :
   « je n'aime pas cette animation »). */

/* 4. Les vagues hachurées se dessinent */
html.pa-anim .pa-vague path{stroke-dasharray:320;stroke-dashoffset:320}
html.pa-anim .pa-vague.pa-vu path{stroke-dashoffset:0;transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1)}
html.pa-anim .pa-vague.pa-vu path+path{transition-delay:.25s}

/* 5. Les boutons de réservation respirent : un halo fluo toutes les 2,8 s (pas celui de l'en-tête) */
html.pa-anim .pa-halo{position:relative}
html.pa-anim .pa-halo::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  animation:pa-halo 2.8s cubic-bezier(.3,.6,.4,1) 1s infinite}
@keyframes pa-halo{0%{box-shadow:0 0 0 0 rgb(217 255 37 / .75)}70%,100%{box-shadow:0 0 0 16px rgb(217 255 37 / 0)}}

/* 5 bis. Drainage : l'escalier monte de bas en haut (1,6 s), la rampe suit, le panneau « Pôle santé » se pose */
html.pa-anim .pa-escalier path{stroke-dasharray:var(--pa-long);stroke-dashoffset:var(--pa-long)}
/* La rampe monte EN MÊME TEMPS que les marches, à vitesse constante (Virginie, 26/10) */
html.pa-anim .pa-escalier.pa-vu path{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s linear .2s}
html.pa-anim .pa-panneau{opacity:0;translate:0 -18px}
/* Le panneau se pose à l'instant où la rampe le touche : délai calculé par animations.js */
html.pa-anim .pa-panneau.pa-vu{opacity:1;translate:0 0;transition:opacity .3s ease var(--pa-panneau-delai,.8s),
  translate .5s cubic-bezier(.3,1.5,.5,1) var(--pa-panneau-delai,.8s)}

/* 5 ter. Première visite : la ligne de la frise descend (2 s), chaque moment apparaît quand elle l'atteint */
html.pa-anim .pa-frise::before{clip-path:inset(0 0 100% 0)}
html.pa-anim .pa-frise.pa-vu::before{clip-path:inset(0);transition:clip-path 2s linear .1s}
html.pa-anim .pa-frise > *{opacity:0;translate:0 18px}
html.pa-anim .pa-frise.pa-vu > *{opacity:1;translate:0 0;
  transition:opacity .5s ease,translate .6s cubic-bezier(.2,.7,.3,1);transition-delay:calc(var(--pa-j,0) * .65s + .2s)}

/* 6. Remise en forme : « Commencer à votre niveau » arrive juste après la dernière ligne barrée (1,1 s → 0,6 s) */
html.pa-anim .rf-strike-yes{transition-delay:.6s}

/* Au focus clavier, le bloc se montre tout de suite : ni délai ni lenteur (relecture Codex, 26/10) */
html.pa-anim .pa-direct,html.pa-anim .pa-direct > *{transition-delay:0s!important;transition-duration:.15s!important}

/* À l'impression, tout est montré, même ce qui n'a pas encore défilé (relecture Codex, 26/10) */
@media print{
  html.pa-anim .pa-monte,html.pa-anim .pa-frise > *,html.pa-anim .pa-panneau{opacity:1!important;translate:none!important}
  html.pa-anim .pa-escalier path,html.pa-anim .pa-vague path{stroke-dashoffset:0!important}
  html.pa-anim .pa-frise::before{clip-path:none!important}
  html.pa-anim .pa-titre .c-title-highlight{background-size:100% 100%!important}
}

@media (prefers-reduced-motion:reduce){
  html.pa-anim .pa-monte,html.pa-anim .pa-titre *,html.pa-anim .pa-vague path,html.pa-anim .pa-halo::before,
  html.pa-anim .pa-escalier path,html.pa-anim .pa-panneau,html.pa-anim .pa-frise > *{
    opacity:1!important;translate:none!important;transition:none!important;animation:none!important;
    background-size:100% 100%!important;stroke-dashoffset:0!important}
  html.pa-anim .pa-frise::before{clip-path:none!important;transition:none!important}
}

