/* Sloowy — sections réutilisées par l'accueil, les variantes et les pages */
.stores{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* Bandeau qui défile (nom de classe unique pour éviter tout conflit) */
.mq{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;background:var(--nuit)}
.mq-track{display:flex;gap:48px;width:max-content;animation:mq 40s linear infinite}
.mq-track span{font-family:var(--display);font-size:1.45rem;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:48px;color:var(--dim)}
.mq-track span::after{content:"";width:16px;height:16px;border-radius:50%;border:4px solid var(--sauge)}
.mq-track span:nth-child(even)::after{border-color:var(--peche)}
@keyframes mq{to{transform:translateX(-50%)}}

/* Les 2 anneaux expliqués */
.duo-rings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dr{border-radius:32px;padding:34px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;border:1px solid var(--line)}
.dr.n{background:linear-gradient(160deg,rgba(141,181,150,.18),rgba(141,181,150,.04))}
.dr.m{background:linear-gradient(160deg,rgba(245,180,155,.18),rgba(245,180,155,.04))}
.dr .ring-ico{width:64px;height:64px;border-radius:50%;border:15px solid var(--sauge)}
.dr.m .ring-ico{border-color:var(--peche)}
.dr h3{font-size:clamp(1.8rem,3vw,2.4rem)}
.dr p{color:var(--soft)}
.dr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.dr li{display:flex;gap:12px;color:var(--soft)}
.dr li b{color:var(--brume)}
.dr li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;border:3px solid var(--sauge);margin-top:8px}
.dr.m li::before{border-color:var(--peche)}
.dr .tag{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:var(--peche);color:var(--bg)}
.duo-plus{margin-top:16px;border-radius:24px;padding:22px 26px;background:var(--brume);color:var(--bg);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.duo-plus .rr{display:flex}
.duo-plus .rr i{width:30px;height:30px;border-radius:50%;border:7px solid var(--sauge)}
.duo-plus .rr i+i{border-color:var(--peche);margin-left:-8px}
.duo-plus p{flex:1;min-width:240px;font-weight:600}

/* Juste milieu : 3 rythmes */
.rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rate{border-radius:26px;padding:26px;background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .3s,border-color .3s,background .3s;text-align:left;color:inherit;font:inherit}
.rate:hover{transform:translateY(-4px)}
.rate[aria-pressed="true"]{border-color:var(--sauge);background:#2A4C42}
.rate .nm{font-family:var(--display);font-weight:600;font-size:1.5rem;display:flex;align-items:center;gap:10px}
.rate .sp{display:flex;gap:4px}
.rate .sp i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.rate .sp i.on{background:var(--sauge)}
.rate .kg{font-family:var(--display);font-size:2.4rem;font-weight:600;line-height:1}
.rate .kg small{font-size:1rem;color:var(--dim)}
.rate p{color:var(--dim);font-size:.95rem}
.rate .for{font-size:.85rem;color:var(--peche);font-weight:600}
.limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.limit{border-radius:22px;padding:20px 22px;border:1px dashed var(--line);color:var(--dim);display:flex;gap:14px}
.limit b{color:var(--brume);display:block;font-family:var(--display);font-size:1.1rem}
.limit .x{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(245,180,155,.15);color:var(--peche);font-weight:800}

/* Profils de vie (la méthode s'adapte) */
.profiles{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:20px}
.ptabs{display:flex;flex-direction:column;gap:8px}
.ptabs button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);background:transparent;color:var(--brume);border-radius:18px;padding:14px 16px;font:600 1rem var(--display);cursor:pointer;transition:background .25s,border-color .25s}
.ptabs button small{display:block;font-family:var(--body);font-weight:500;color:var(--dim);font-size:.82rem}
.ptabs button .pi{width:40px;height:40px;border-radius:12px;background:var(--bg-3);display:grid;place-items:center;flex:none}
.ptabs button[aria-selected="true"]{background:var(--bg-2);border-color:var(--sauge)}
.ppanel{border-radius:28px;background:var(--bg-2);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:18px}
.ppanel h3{font-size:1.9rem}
.ppanel .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ppanel .col{border-radius:20px;padding:18px;background:rgba(0,0,0,.14);display:flex;flex-direction:column;gap:8px}
.ppanel .col b{font-family:var(--display);display:flex;align-items:center;gap:8px}
.ppanel .col b i{width:14px;height:14px;border-radius:50%;border:4px solid var(--sauge)}
.ppanel .col.m b i{border-color:var(--peche)}
.ppanel .col ul{margin:0;padding-left:18px;color:var(--soft);font-size:.95rem;display:flex;flex-direction:column;gap:6px}
.ppanel .day{display:flex;gap:8px;flex-wrap:wrap}
.ppanel .day span{font-size:.82rem;font-weight:600;border-radius:99px;padding:6px 12px;background:var(--bg-3)}

/* Bienfaits : balance, miroir, corps, tête */
.ben-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.ben-tabs button{border:1.5px solid var(--line);background:transparent;border-radius:99px;padding:11px 20px;font:600 .98rem var(--display);cursor:pointer;color:var(--brume)}
.ben-tabs button.on{background:var(--brume);color:var(--bg);border-color:var(--brume)}
.ben-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ben{background:var(--bg-2);border:1px solid var(--line);border-radius:26px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .35s,border-color .35s}
.ben:hover{transform:translateY(-5px);border-color:rgba(243,246,241,.28)}
.ben .k{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ben[data-k="balance"] .k{color:var(--sauge)} .ben[data-k="miroir"] .k{color:var(--lilas)} .ben[data-k="corps"] .k{color:var(--sauge)} .ben[data-k="tete"] .k{color:var(--peche)}
.ben h3{font-size:1.3rem}
.ben p{color:var(--dim);font-size:.97rem}
.ben[hidden]{display:none}
.mirror{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;margin-bottom:24px;border-radius:30px;padding:30px;background:linear-gradient(120deg,rgba(198,184,232,.14),rgba(141,181,150,.08));border:1px solid var(--line)}
.mirror h3{font-size:clamp(1.7rem,3vw,2.3rem)}
.mirror p{color:var(--soft)}
.scale-vs{display:flex;gap:12px;flex-wrap:wrap}
.scale-vs div{flex:1;min-width:140px;border-radius:20px;padding:18px;background:rgba(0,0,0,.15)}
.scale-vs b{font-family:var(--display);font-size:1.9rem;display:block;line-height:1}
.scale-vs small{color:var(--dim)}

/* Programmes */
.prog-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.prog-filters button{border:1.5px solid var(--line);background:transparent;color:var(--brume);border-radius:99px;padding:9px 16px;font:600 .92rem var(--display);cursor:pointer}
.prog-filters button.on{background:var(--brume);color:var(--bg);border-color:var(--brume)}
.progs{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.prog{background:var(--bg-2);border:1px solid var(--line);border-radius:28px;overflow:hidden;display:flex;flex-direction:column}
.prog[hidden]{display:none}
.prog .vis{height:180px;display:grid;place-items:center;position:relative}
.prog .vis svg{width:120px;height:120px;overflow:visible}
.prog .fmt{position:absolute;top:12px;left:12px;display:flex;gap:6px}
.prog .fmt span{font-size:.7rem;font-weight:700;background:rgba(31,59,52,.85);color:var(--brume);border-radius:99px;padding:4px 9px}
.prog .status{position:absolute;top:12px;right:12px;font-size:.7rem;font-weight:800;border-radius:99px;padding:4px 9px;background:var(--brume);color:var(--bg)}
.prog .status.soon{background:var(--peche)}
.prog .must{position:absolute;bottom:12px;left:12px;font-size:.72rem;font-weight:800;border-radius:99px;padding:4px 10px;background:var(--bg);color:var(--sauge)}
.prog .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.prog h3{font-size:1.3rem}
.prog p{color:var(--dim);font-size:.95rem}
.prog .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.prog .meta span{font-size:.75rem;font-weight:700;background:var(--bg-3);border-radius:99px;padding:4px 10px}
.lvl{display:inline-flex;gap:3px;align-items:center}
.lvl i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.lvl i.on{background:var(--peche)}
.kcal{color:var(--peche)}

/* Bonshommes animés */
.fig-walk1{transform-origin:55px 76px;animation:w1 1s ease-in-out infinite}
.fig-walk2{transform-origin:55px 76px;animation:w1 1s ease-in-out infinite reverse}
@keyframes w1{0%,100%{transform:rotate(22deg)}50%{transform:rotate(-22deg)}}
.fig-raise{transform-origin:55px 46px;animation:raise 2.2s ease-in-out infinite}
.fig-raise2{transform-origin:55px 46px;animation:raise2 2.2s ease-in-out infinite}
@keyframes raise{50%{transform:rotate(-70deg)}}
@keyframes raise2{50%{transform:rotate(70deg)}}
.fig-sq{animation:squat 2.4s ease-in-out infinite}
@keyframes squat{50%{transform:translateY(14px)}}
.fig-tilt{transform-origin:55px 70px;animation:tilt 3s ease-in-out infinite}
@keyframes tilt{50%{transform:rotate(-24deg)}}
.fig-leg{transform-origin:55px 76px;animation:leg 2.6s ease-in-out infinite}
@keyframes leg{50%{transform:rotate(-50deg)}}
.fig-plank{transform-origin:20px 80px;animation:plank 3s ease-in-out infinite}
@keyframes plank{50%{transform:rotate(-6deg)}}
.fig-roll{transform-origin:55px 40px;animation:roll2 3s ease-in-out infinite}
@keyframes roll2{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}

/* Calculateur */
.calc{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:22px;align-items:start}
.calc-form{display:flex;flex-direction:column;gap:14px;position:sticky;top:90px}
.calc-form fieldset{border:1px solid var(--line);border-radius:24px;padding:18px;margin:0;background:var(--bg-2);display:flex;flex-direction:column;gap:12px}
.calc-form legend{font-family:var(--display);font-weight:600;font-size:1.05rem;display:flex;align-items:center;gap:10px;padding:0 6px}
.calc-form legend i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--sauge);color:var(--bg);font-size:.85rem}
.calc-form .sub{font-size:.88rem;color:var(--dim);font-weight:600}
.calc-form .hint{font-size:.85rem;color:var(--dim)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--dim);font-weight:600}
.field .inp{display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:0 12px}
.field .inp:focus-within{border-color:var(--sauge)}
.field input{width:100%;min-width:0;background:transparent;border:0;outline:none;color:var(--brume);font:600 1.15rem var(--display);padding:11px 0}
.field em{font-style:normal;color:var(--dim);font-size:.85rem}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg .opt{flex:1 1 auto;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg .opt span{display:flex;flex-direction:column;gap:2px;height:100%;border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;transition:background .2s,border-color .2s;font-size:.9rem}
.seg .opt span b{font-family:var(--display);font-weight:600}
.seg .opt span small{color:var(--dim);font-size:.78rem}
.seg input:checked + span{background:var(--brume);color:var(--bg);border-color:var(--brume)}
.seg input:checked + span small{color:#4A5E57}
.seg input:focus-visible + span{outline:3px solid var(--peche);outline-offset:2px}
.calc-out{display:flex;flex-direction:column;gap:16px;min-width:0}
.res-head{border-radius:28px;padding:26px;background:var(--brume);color:var(--bg);display:flex;flex-direction:column;gap:18px}
.res-head .eyebrow{color:var(--sauge-d)}
.res-head h3{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-top:6px}
.res-head p{color:#4A5E57;margin-top:8px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kpis div{background:#fff;border-radius:16px;padding:12px}
.kpis b{font-family:var(--display);font-size:1.5rem;display:block;line-height:1.1}
.kpis small{color:#5C6F68;font-size:.78rem;font-weight:600}
.calc-chart{width:100%;height:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:10px}
.warn{border-radius:18px;padding:14px 18px;background:rgba(245,180,155,.12);border:1px solid rgba(245,180,155,.35);color:var(--pp);font-size:.95rem}
.rings2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ringcard{border-radius:26px;padding:22px;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.ringcard.n{background:linear-gradient(160deg,rgba(141,181,150,.16),rgba(141,181,150,.03))}
.ringcard.m{background:linear-gradient(160deg,rgba(245,180,155,.16),rgba(245,180,155,.03))}
.ringcard header{display:flex;align-items:center;gap:12px}
.ringcard header i{width:34px;height:34px;border-radius:50%;border:8px solid var(--sauge);flex:none}
.ringcard.m header i{border-color:var(--peche)}
.ringcard header span{display:block;font-size:.7rem;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.ringcard header b{font-family:var(--display);font-size:1.3rem}
.ringcard header em{margin-left:auto;font-style:normal;font-size:.78rem;font-weight:700;background:rgba(0,0,0,.18);padding:4px 10px;border-radius:99px}
.ringcard .big{font-family:var(--display);font-weight:600;font-size:2.4rem;line-height:1}
.ringcard .big small{font-size:1rem;color:var(--dim)}
.ringcard p{color:var(--soft);font-size:.95rem}
.ringcard ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;color:var(--soft);font-size:.93rem}
.ringcard li b{color:var(--brume)}
.calc-note{font-size:.82rem;color:var(--dim)}
.res-msg{border-radius:24px;padding:26px;background:var(--bg-2);border:1px solid var(--line);color:var(--soft);font-size:1.05rem}

/* FAQ en 2 colonnes */
.faq2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}

/* Fin de page */
.final{position:relative;border-radius:44px;background:var(--brume);color:var(--bg);padding:80px 24px;text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:20px}
.final h2{font-size:clamp(2.4rem,6vw,4.6rem);position:relative}
.final p{color:#5C6F68;font-size:1.1rem;position:relative;max-width:50ch}
.final .r{position:absolute;border-radius:50%;border-style:solid;opacity:.35}
.final .store{background:var(--bg);color:var(--brume)}
.final .store.soon{background:transparent;color:var(--bg);border-color:#C9D6D0}
.final .stores{position:relative;justify-content:center}

/* Téléphone (maquette d'écran) */
.phone{width:min(100%,320px);aspect-ratio:9/19;background:var(--brume);color:var(--bg);border-radius:46px;border:10px solid #0F1F1B;box-shadow:0 40px 80px rgba(0,0,0,.35),0 0 0 1px var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:12px;overflow:hidden;position:relative}
.phone .notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:86px;height:22px;border-radius:99px;background:#0F1F1B}
.phone .hdr{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.phone .hdr b{font-family:var(--display);font-size:1.25rem;font-weight:600}
.phone .hdr span{font-size:.7rem;font-weight:700;background:#fff;border-radius:99px;padding:4px 10px}
.phone .duo{background:#fff;border-radius:22px;padding:16px 14px 30px;display:flex;justify-content:space-around}
.pring{position:relative;width:96px;height:96px}
.pring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pring .val{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:1.15rem}
.pring small{position:absolute;top:calc(100% + 6px);left:-10px;right:-10px;text-align:center;font-size:.62rem;font-weight:700;color:#5C6F68}
.parc{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}
.phone .item{background:#fff;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;line-height:1.25}
.phone .item .ic{width:28px;height:28px;border-radius:9px;flex:none;display:grid;place-items:center}
.phone .item .ok{margin-left:auto;width:18px;height:18px;border-radius:50%;border:2px solid #DCE5DD;flex:none}
.phone .item .ok.on{background:var(--sauge);border-color:var(--sauge)}
.phone .item .ok.on.p{background:var(--peche);border-color:var(--peche)}

@media (max-width:900px){
  .duo-rings,.rates,.limits,.profiles,.ppanel .cols,.mirror,.calc,.rings2,.faq2{grid-template-columns:minmax(0,1fr)}
  .ben-grid{grid-template-columns:minmax(0,1fr)}
  .calc-form{position:static}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:420px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis b{font-size:1.2rem}}
