{"id":1958,"date":"2026-08-25T11:41:43","date_gmt":"2026-08-25T11:41:43","guid":{"rendered":"https:\/\/lean-app.com\/calculateur-proteines\/"},"modified":"2026-08-25T11:41:45","modified_gmt":"2026-08-25T11:41:45","slug":"calculateur-proteines","status":"publish","type":"post","link":"https:\/\/lean-app.com\/en\/calculateur-proteines\/","title":{"rendered":"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre"},"content":{"rendered":"<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_depense.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_strategie.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_BMR.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_NEAT.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_EAT.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp\" fetchpriority=\"low\">\n<style id=\"lvm-shell-styles\">#lvm-shell{\n  --bg:#FFFFFF; --paper:#F7F6F2; --paper-2:#F1EFE7;\n  --ink:#0E0E10; --ink-2:#1D1D1F; --muted:#6E6E73; --dim:#86868B;\n  --rule:#E8E6DF; --rule-soft:#EFEDE5;\n  --pink:#FF2D6E; --pink-soft:rgba(255,45,110,0.06);\n  --mfp:#A8A192;\n  --green:#0F8F5C; --red:#D02E2E; --amber:#C8A019;\n  --font-display:-apple-system,\"SF Pro Display\",system-ui,\"Helvetica Neue\",sans-serif;\n  --font-text:-apple-system,\"SF Pro Text\",system-ui,sans-serif;\n  --font-mono:ui-monospace,\"SF Mono\",Menlo,Consolas,monospace;\n}\n#lvm-shell *{box-sizing:border-box;-webkit-text-size-adjust:100%}\n#lvm-shell, #lvm-shell{margin:0;padding:0;background:var(--bg);color:var(--ink-2);font-family:var(--font-text);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}\n#lvm-shell ::selection{background:rgba(255,45,110,0.18);color:var(--ink)}\n#lvm-shell img{max-width:100%;display:block}\n#lvm-shell a{color:inherit}\n\n#lvm-shell .progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:1000}\n#lvm-shell .progress > i{display:block;height:100%;width:100%;background:var(--pink);transform-origin:0 50%;transform:scaleX(0);transition:transform .05s linear}\n\n#lvm-shell .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--rule)}\n#lvm-shell .nav-row{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 22px}\n#lvm-shell .nav-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}\n#lvm-shell .nav-brand img{width:28px;height:28px;border-radius:7px;object-fit:cover}\n#lvm-shell .nav-brand span{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em}\n#lvm-shell .nav-spacer{flex:1}\n#lvm-shell .nav-link{color:var(--muted);text-decoration:none;font-size:14px}\n#lvm-shell .nav-link:hover{color:var(--ink)}\n#lvm-shell .nav-stores{display:flex;gap:6px;align-items:center}\n#lvm-shell .nav-stores a{display:block;line-height:0}\n#lvm-shell .nav-stores img{height:28px;width:auto;border-radius:5px;transition:transform .15s}\n#lvm-shell .nav-stores a:hover img{transform:translateY(-1px)}\n\n#lvm-shell .wrap{max-width:760px;margin:0 auto;padding:0 28px}\n\n#lvm-shell .hero{padding:54px 0 0}\n#lvm-shell .crumb{font-size:13px;color:var(--muted);margin-bottom:18px}\n#lvm-shell .crumb a{text-decoration:none;color:var(--muted)}\n#lvm-shell .crumb a:hover{color:var(--ink)}\n#lvm-shell .eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--pink);margin-bottom:18px}\n#lvm-shell h1{font-family:var(--font-display);font-weight:600;font-size:72px;line-height:1.0;letter-spacing:-.04em;color:var(--ink);margin:0 0 22px}\n#lvm-shell h1 .alt{display:block;font-weight:500;color:var(--muted);font-size:.66em;line-height:1.15;margin-top:14px;letter-spacing:-.03em}\n#lvm-shell .dek{font-family:var(--font-display);font-size:24px;line-height:1.4;font-weight:400;color:var(--ink-2);letter-spacing:-.015em;margin:0 0 22px;max-width:680px}\n\n#lvm-shell .byline{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin-bottom:14px}\n#lvm-shell .byline .by-logo{width:26px;height:26px;border-radius:6px;object-fit:cover;flex-shrink:0;background:transparent;border:0}\n#lvm-shell .byline strong{color:var(--ink);font-weight:600;font-family:var(--font-display)}\n\n#lvm-shell .hero-stores{display:flex;gap:10px;margin:22px 0 18px;flex-wrap:wrap;align-items:center}\n#lvm-shell .hero-stores a{display:block;line-height:0;transition:transform .15s}\n#lvm-shell .hero-stores a:hover{transform:translateY(-2px)}\n#lvm-shell .hero-stores img{height:46px;width:auto;border-radius:9px}\n#lvm-shell .hero-stores .or{font-size:13px;color:var(--muted)}\n\n#lvm-shell .hero-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;margin:38px 0 60px;padding-top:28px;border-top:1px solid var(--rule-soft)}\n#lvm-shell .hero-lead{font-family:var(--font-display);font-size:21px;line-height:1.5;color:var(--ink-2);font-weight:400}\n\n#lvm-shell .phone-wrap{display:flex;justify-content:center}\n#lvm-shell .phone{\n  position:relative;\n  width:280px;\n  background:linear-gradient(145deg,#2a2a2a,#0e0e0e);\n  border-radius:42px;\n  padding:5px;\n  border:1.5px solid rgba(255,255,255,.07);\n  box-shadow:0 30px 60px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.08);\n}\n#lvm-shell .phone .notch{\n  position:absolute;top:0;left:50%;transform:translateX(-50%);\n  width:96px;height:24px;background:#0a0a0a;border-radius:0 0 16px 16px;z-index:10;\n}\n#lvm-shell .phone-screen{\n  position:relative;\n  border-radius:34px;overflow:hidden;\n  background:#FAF0E6;\n  aspect-ratio:9\/19.5;\n}\n#lvm-shell .phone-screen img{\n  width:100%;height:100%;object-fit:cover;display:block;\n  transition:opacity .28s ease;\n}\n#lvm-shell .phone-zones{position:absolute;inset:0;z-index:15;pointer-events:none}\n#lvm-shell .phone-zones .z{position:absolute;left:4%;right:4%;cursor:pointer;background:transparent;border:0;padding:0;pointer-events:auto}\n#lvm-shell .phone-zones .z:focus-visible{outline:2px solid var(--pink);outline-offset:-4px;border-radius:6px}\n#lvm-shell .phone-navbar{position:absolute;left:0;right:0;bottom:0;height:9%;z-index:16;display:grid;grid-template-columns:repeat(4,1fr)}\n#lvm-shell .phone-navbar button{background:transparent;border:0;padding:0;cursor:pointer}\n#lvm-shell .phone-navbar button:focus-visible{outline:2px solid var(--pink);outline-offset:-3px;border-radius:6px}\n#lvm-shell .phone-back{\n  position:absolute;top:10px;left:10px;z-index:20;\n  width:30px;height:30px;border-radius:50%;\n  border:0;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);\n  color:var(--ink);font-size:18px;font-weight:600;line-height:1;cursor:pointer;\n  display:none;align-items:center;justify-content:center;\n  box-shadow:0 2px 6px rgba(0,0,0,.12);\n}\n#lvm-shell .phone-back.on{display:flex}\n\n#lvm-shell .phone-cap{margin-top:14px;text-align:center;font-size:12px;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}\n#lvm-shell .phone-stage{position:relative}\n#lvm-shell .tap-hint{position:absolute;z-index:30;pointer-events:none;animation:hintFloat 2.6s ease-in-out infinite}\n#lvm-shell .tap-hint .th-pill{display:inline-block;font-family:var(--font-display);font-size:15px;font-weight:600;color:#fff;line-height:1.25;letter-spacing:-.005em;background:var(--pink);padding:10px 16px;border-radius:14px;box-shadow:0 14px 32px rgba(255,45,110,.32);white-space:nowrap}\n#lvm-shell .tap-hint .th-pill small{display:block;font-size:11px;font-weight:500;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}\n#lvm-shell .tap-hint .th-arrow{position:absolute;color:var(--pink)}\n#lvm-shell .tap-hint.desktop{left:-204px;top:4px;text-align:right}\n#lvm-shell .tap-hint.desktop .th-arrow{right:-86px;top:58px;width:104px;height:34px;transform:none}\n#lvm-shell .tap-hint.mobile{display:none}\n#lvm-shell .tap-hint.hidden{opacity:0;transform:translateY(-6px);transition:opacity .35s ease, transform .35s ease;animation:none}\n@keyframes hintFloat{\n  0%, 100%{transform:translateY(0)}\n  50%{transform:translateY(-7px)}\n}\n@media (prefers-reduced-motion:reduce){#lvm-shell .tap-hint{animation:none}}\n#lvm-shell .phone-tabs{display:flex;justify-content:center;gap:8px;margin-top:10px;flex-wrap:nowrap}\n#lvm-shell .phone-tabs button{\n  background:transparent;border:1px solid var(--rule);color:var(--muted);\n  padding:6px 11px;border-radius:999px;font-size:11px;cursor:pointer;\n  font-family:var(--font-text);transition:all .15s;white-space:nowrap;\n}\n#lvm-shell .phone-tabs button:hover{color:var(--ink);border-color:var(--ink)}\n#lvm-shell .phone-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}\n\n#lvm-shell .snippet{background:var(--paper);border-radius:18px;padding:30px 32px;margin:48px 0 0;border:1px solid var(--rule-soft)}\n#lvm-shell .snippet .lbl{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}\n#lvm-shell .snippet p{margin:0;font-family:var(--font-display);font-size:21px;line-height:1.45;color:var(--ink);font-weight:500;letter-spacing:-.012em}\n\n#lvm-shell section{padding:64px 0;border-bottom:1px solid var(--rule-soft)}\n#lvm-shell section:last-of-type{border-bottom:0}\n#lvm-shell .section-label{display:flex;align-items:center;gap:14px;margin-bottom:30px}\n#lvm-shell .section-label .bar{width:24px;height:1px;background:var(--pink)}\n#lvm-shell .section-label .num{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--pink)}\n#lvm-shell h2{font-family:var(--font-display);font-weight:600;font-size:48px;line-height:1.05;letter-spacing:-.035em;color:var(--ink);margin:0 0 24px}\n#lvm-shell h3{font-family:var(--font-display);font-weight:600;font-size:32px;line-height:1.15;letter-spacing:-.025em;color:var(--ink);margin:36px 0 16px}\n#lvm-shell h4{font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.3;letter-spacing:-.015em;color:var(--ink);margin:24px 0 10px}\n#lvm-shell p{margin:0 0 22px;color:var(--ink-2)}\n#lvm-shell strong{color:var(--ink);font-weight:600}\n#lvm-shell ul, #lvm-shell ol{margin:0 0 22px;padding-left:22px;color:var(--ink-2)}\n#lvm-shell li{margin-bottom:8px}\n#lvm-shell a.inline{color:var(--pink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}\n#lvm-shell a.inline:hover{text-decoration-thickness:2px}\n\n#lvm-shell .statement{margin:48px 0;padding:32px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:left}\n#lvm-shell .statement .num{font-family:var(--font-display);font-size:60px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--pink);margin-bottom:14px}\n#lvm-shell .statement .lbl{font-family:var(--font-display);font-size:23px;line-height:1.35;font-weight:500;color:var(--ink);letter-spacing:-.012em}\n\n#lvm-shell .fig{margin:32px 0 18px;background:#fff;border:1px solid var(--rule);border-radius:20px;padding:28px 22px 20px;position:relative;overflow:hidden}\n#lvm-shell .fig-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}\n#lvm-shell .fig-head .l{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}\n#lvm-shell .fig-head .r{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.08em}\n#lvm-shell .fig-body{position:relative}\n#lvm-shell .fig-cap{margin:18px 4px 0;font-size:14px;color:var(--muted);line-height:1.5}\n#lvm-shell .fig-cap strong{color:var(--ink);font-weight:600}\n#lvm-shell .cv-wrap{position:relative;height:360px}\n\n#lvm-shell [data-term]{position:relative;cursor:help;border-bottom:1px dotted var(--dim)}\n#lvm-shell [data-term]:hover{color:var(--ink)}\n#lvm-shell .tt{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);min-width:200px;max-width:300px;background:#0c0c0c;color:#fff;font-size:13px;line-height:1.45;padding:11px 14px;border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.32);opacity:0;visibility:hidden;transition:opacity .15s, visibility .15s;z-index:120;pointer-events:none;font-weight:400;font-family:var(--font-text)}\n#lvm-shell .tt::after{content:\"\";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0c0c0c}\n#lvm-shell [data-term]:hover .tt, #lvm-shell [data-term]:focus .tt{opacity:1;visibility:visible}\n\n#lvm-shell .table{margin:24px 0;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:#fff}\n#lvm-shell .table-row{display:grid;grid-template-columns:1.55fr 1fr 1fr;border-bottom:1px solid var(--rule-soft);min-height:60px}\n#lvm-shell .table-row:last-child{border-bottom:0}\n#lvm-shell .table-row.head{background:var(--ink);color:#fff;border-bottom:0}\n#lvm-shell .table-row.head > div{padding:18px 18px;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.07em}\n#lvm-shell .table-row.head .brand-cell{justify-content:flex-start}\n#lvm-shell .table-row.head .brand-cell img{width:24px;height:24px;border-radius:6px;background:#fff;object-fit:cover}\n#lvm-shell .table-row.head .brand-cell.lean{color:#FFB8CE}\n#lvm-shell .table-row > .crit{padding:16px 18px;font-size:14px;color:var(--ink);font-weight:500;display:flex;align-items:center;border-right:1px solid var(--rule-soft)}\n#lvm-shell .table-row > .cell{padding:16px 14px;font-size:13px;line-height:1.45;color:var(--ink-2);display:flex;align-items:center;gap:10px;border-right:1px solid var(--rule-soft)}\n#lvm-shell .table-row > .cell:last-child{border-right:0}\n#lvm-shell .table-row > .cell.lean{background:var(--pink-soft);position:relative}\n#lvm-shell .table-row > .cell.lean::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--pink)}\n#lvm-shell .icn{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:600;color:#fff}\n#lvm-shell .icn.ok{background:var(--green)}\n#lvm-shell .icn.no{background:var(--red)}\n#lvm-shell .icn.mid{background:var(--amber)}\n#lvm-shell .icn svg{width:11px;height:11px}\n\n#lvm-shell .mini-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:28px 0}\n#lvm-shell .mini-phone{position:relative;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);border-radius:22px;padding:3px;border:1px solid rgba(255,255,255,.05);box-shadow:0 14px 32px rgba(0,0,0,.16);max-width:160px;margin:0 auto;width:100%}\n#lvm-shell .mini-phone .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5}\n#lvm-shell .mini-phone .scr{border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5}\n#lvm-shell .mini-phone .scr img{width:100%;height:100%;object-fit:cover}\n#lvm-shell .mini-phone.tiny{max-width:148px;padding:2px;border-radius:20px;border-width:1px}\n#lvm-shell .mini-phone.tiny .notch{width:30px;height:8px;border-radius:0 0 5px 5px}\n#lvm-shell .mini-phone.tiny .scr{border-radius:17px}\n#lvm-shell .mini-cap{text-align:center;margin-top:12px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}\n#lvm-shell .mini-cap strong{display:block;color:var(--ink);margin-top:4px;font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:-.01em;text-transform:none}\n\n#lvm-shell .duo-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:18px 0 0}\n#lvm-shell .duo-row .mini-phone{max-width:180px}\n\n#lvm-shell .method{display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center;margin:42px 0}\n#lvm-shell .method.flip{grid-template-columns:1.4fr 1fr}\n#lvm-shell .method.flip .m-phone{order:2}\n#lvm-shell .method .m-tag{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);margin-bottom:8px}\n#lvm-shell .method h3{margin-top:0}\n#lvm-shell .method p{font-size:16px;color:var(--muted);line-height:1.7}\n\n#lvm-shell .cta-band{margin:40px 0;padding:26px 28px;background:var(--paper);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--rule-soft)}\n#lvm-shell .cta-band .l{font-family:var(--font-display);font-size:18px;line-height:1.35;font-weight:500;color:var(--ink);flex:1;min-width:240px;letter-spacing:-.01em}\n#lvm-shell .cta-band .stores{display:flex;gap:10px;align-items:center}\n#lvm-shell .cta-band .stores a{line-height:0;transition:transform .15s}\n#lvm-shell .cta-band .stores a:hover{transform:translateY(-2px)}\n#lvm-shell .cta-band .stores img{height:42px;width:auto;border-radius:9px}\n\n#lvm-shell .pyramid{margin:30px auto;max-width:440px}\n#lvm-shell .pyramid .level{margin:6px auto;padding:13px 18px;border-radius:14px;color:#fff;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 18px rgba(0,0,0,.06)}\n#lvm-shell .pyramid .level .k{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}\n#lvm-shell .pyramid .l1{background:#0E0E10;width:100%}\n#lvm-shell .pyramid .l2{background:#1D1D1F;width:84%}\n#lvm-shell .pyramid .l3{background:#3a3a3c;width:68%}\n#lvm-shell .pyramid .l4{background:var(--pink);width:52%}\n#lvm-shell .pyramid-cap{text-align:center;font-size:13px;color:var(--muted);margin-top:14px}\n\n\/* Section 7 honnetete : scorecard horizontal bars *\/\n#lvm-shell .scorecard{margin:30px 0 10px;border:1px solid var(--rule);border-radius:20px;padding:28px 26px;background:#fff}\n#lvm-shell .scorecard-head{display:grid;grid-template-columns:1.4fr 1fr 1fr;column-gap:28px;align-items:center;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid var(--rule-soft)}\n#lvm-shell .scorecard-head .h-crit{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}\n#lvm-shell .scorecard-head .h-brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--ink)}\n#lvm-shell .scorecard-head .h-brand img{width:22px;height:22px;border-radius:5px;object-fit:cover}\n#lvm-shell .scorecard-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;column-gap:28px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule-soft)}\n#lvm-shell .scorecard-row:last-child{border-bottom:0}\n#lvm-shell .scorecard-row .crit{font-size:14px;color:var(--ink);font-weight:500;padding-right:14px}\n#lvm-shell .scorecard-row .bar{display:flex;flex-direction:row-reverse;align-items:center;gap:10px}\n#lvm-shell .scorecard-row .bar .b{flex:1;height:8px;border-radius:99px;background:var(--rule-soft);overflow:hidden;position:relative}\n#lvm-shell .scorecard-row .bar .b > i{display:block;height:100%;border-radius:99px;transition:width 1s cubic-bezier(.22,.61,.36,1)}\n#lvm-shell .scorecard-row .bar.lean .b > i{background:var(--pink)}\n#lvm-shell .scorecard-row .bar.mfp .b > i{background:var(--mfp)}\n#lvm-shell .scorecard-row .bar .v{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink);min-width:32px;text-align:left}\n\n\/* Section 8 pour qui : persona checklist *\/\n#lvm-shell .persona{margin:28px 0 10px;display:grid;grid-template-columns:1fr;gap:14px}\n#lvm-shell .persona-it{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px 24px;background:#fff;border:1px solid var(--rule);border-radius:18px;align-items:center}\n#lvm-shell .persona-it.match{background:var(--pink-soft);border-color:rgba(255,45,110,.25)}\n#lvm-shell .persona-it .pic{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--rule-soft);position:relative;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--ink)}\n#lvm-shell .persona-it.match .pic{background:var(--pink);color:#fff}\n#lvm-shell .persona-it .pic svg{width:24px;height:24px}\n#lvm-shell .persona-it h4{margin:0 0 4px;font-size:17px;letter-spacing:-.01em}\n#lvm-shell .persona-it p{margin:0;font-size:14px;color:var(--muted);line-height:1.55}\n#lvm-shell .persona-it.match h4{color:var(--ink)}\n\n\/* Section 9 migration : timeline steps *\/\n#lvm-shell .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:28px 0;position:relative}\n#lvm-shell .steps::before{content:\"\";position:absolute;top:14px;left:7px;right:calc(20% - 18px);height:1px;background:linear-gradient(90deg,var(--pink) 0%,var(--rule-soft) 100%);z-index:0}\n#lvm-shell .step{position:relative;padding-top:24px;z-index:1}\n#lvm-shell .step::before{content:\"\";position:absolute;top:8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--pink);border:3px solid #fff;box-shadow:0 0 0 1px var(--rule)}\n#lvm-shell .step .sn{font-family:var(--font-mono);font-size:11px;color:var(--pink);font-weight:600;letter-spacing:.08em}\n#lvm-shell .step h4{margin:6px 0 6px;font-size:15px;letter-spacing:-.01em}\n#lvm-shell .step p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}\n\n\/* Section 10 debloque : feature stack numbered XL *\/\n#lvm-shell .feat-stack{margin:30px 0 10px;border-top:1px solid var(--rule)}\n#lvm-shell .feat-it{display:grid;grid-template-columns:auto 1fr auto;gap:24px;padding:26px 0;border-bottom:1px solid var(--rule);align-items:center}\n#lvm-shell .feat-it .fn{font-family:var(--font-display);font-size:48px;font-weight:600;color:var(--pink);line-height:1;letter-spacing:-.04em;width:74px}\n#lvm-shell .feat-it .ft{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1.25;margin-bottom:6px}\n#lvm-shell .feat-it .fd{font-size:15px;color:var(--muted);line-height:1.55;margin:0}\n#lvm-shell .feat-it .fc{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}\n#lvm-shell .feat-it:last-child{border-bottom:0}\n\n#lvm-shell .faq{margin:22px 0}\n#lvm-shell .faq details{border-bottom:1px solid var(--rule);padding:20px 0}\n#lvm-shell .faq details:first-of-type{border-top:1px solid var(--rule)}\n#lvm-shell .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.015em;color:var(--ink)}\n#lvm-shell .faq summary::-webkit-details-marker{display:none}\n#lvm-shell .faq summary::after{content:\"+\";font-size:24px;color:var(--muted);font-weight:300;line-height:1;transition:transform .25s, color .25s}\n#lvm-shell .faq details[open] summary::after{transform:rotate(45deg);color:var(--pink)}\n#lvm-shell .faq details[open] summary{color:var(--pink)}\n#lvm-shell .faq .ans{margin-top:14px;font-size:16px;color:var(--muted);line-height:1.65}\n\n#lvm-shell .get-band{background:var(--paper-2);border-radius:24px;padding:48px 36px;margin:60px 0 40px;text-align:center}\n#lvm-shell .get-band .kicker{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--pink);font-weight:600;letter-spacing:.1em;margin-bottom:14px}\n#lvm-shell .get-band h3{font-size:36px;margin:0 0 14px;letter-spacing:-.025em}\n#lvm-shell .get-band p{font-size:16px;color:var(--muted);max-width:480px;margin:0 auto 26px}\n#lvm-shell .get-band .stores{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}\n#lvm-shell .get-band .stores a{line-height:0;transition:transform .15s}\n#lvm-shell .get-band .stores a:hover{transform:translateY(-3px)}\n#lvm-shell .get-band .stores img{height:60px;width:auto;border-radius:11px}\n\n#lvm-shell .sources{font-size:14px;color:var(--muted);line-height:1.7}\n#lvm-shell .sources ol{padding-left:22px}\n#lvm-shell .sources li{margin-bottom:8px}\n\n#lvm-shell footer{padding:50px 0 60px;border-top:1px solid var(--rule);margin-top:40px}\n#lvm-shell footer .row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}\n#lvm-shell footer .kicker{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);font-weight:600}\n#lvm-shell footer p{font-size:13px;color:var(--muted);margin:8px 0 0}\n#lvm-shell footer .stores{display:flex;gap:8px}\n#lvm-shell footer .stores img{height:34px;width:auto;border-radius:6px}\n\n#lvm-shell .rev{opacity:0;transform:translateY(12px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}\n#lvm-shell .rev.on{opacity:1;transform:translateY(0)}\n@media (prefers-reduced-motion:reduce){#lvm-shell .rev{transition:none;opacity:1;transform:none}}\n\n@media (max-width:760px){\n  #lvm-shell .nav-row{padding:8px 18px;gap:8px}\n  #lvm-shell .nav-link{display:none}\n  #lvm-shell .nav-stores img{height:24px}\n  #lvm-shell .wrap{padding:0 22px}\n  #lvm-shell .hero{padding:34px 0 0}\n  #lvm-shell h1{font-size:46px;letter-spacing:-.035em}\n  #lvm-shell h1 .alt{font-size:.55em;margin-top:10px}\n  #lvm-shell .dek{font-size:20px}\n  #lvm-shell .hero-stores img{height:42px}\n  #lvm-shell .hero-bottom{grid-template-columns:1fr;gap:28px;margin:30px 0 40px;padding-top:24px;align-items:stretch}\n  #lvm-shell .phone-wrap{order:-1}\n  #lvm-shell .phone{width:240px}\n  #lvm-shell .tap-hint.desktop{display:none}\n  #lvm-shell .tap-hint.mobile{display:block;position:relative;left:auto;top:auto;text-align:center;margin:0 auto 10px;width:100%}\n  #lvm-shell .tap-hint.mobile .th-arrow{position:relative;display:block;margin:6px auto 0;width:34px;height:34px;transform:none;color:var(--pink)}\n  #lvm-shell .snippet{padding:24px 22px}\n  #lvm-shell .snippet p{font-size:18px}\n  #lvm-shell section{padding:48px 0}\n  #lvm-shell h2{font-size:34px;letter-spacing:-.03em}\n  #lvm-shell h3{font-size:24px}\n  #lvm-shell .section-label{margin-bottom:22px}\n  #lvm-shell .statement{padding:24px 0;margin:32px 0}\n  #lvm-shell .statement .num{font-size:44px}\n  #lvm-shell .statement .lbl{font-size:19px}\n  #lvm-shell .fig{padding:20px 14px 14px;border-radius:16px}\n  #lvm-shell .cv-wrap{height:310px}\n  #lvm-shell .method{grid-template-columns:1fr;gap:20px}\n  #lvm-shell .method.flip{grid-template-columns:1fr}\n  #lvm-shell .method.flip .m-phone{order:0}\n  #lvm-shell .mini-row{grid-template-columns:repeat(3,1fr);gap:10px}\n  #lvm-shell .mini-phone{padding:3px;border-radius:18px;border-width:1px;max-width:110px}\n  #lvm-shell .mini-phone .notch{width:42px;height:11px;border-radius:0 0 8px 8px}\n  #lvm-shell .mini-phone .scr{border-radius:15px}\n  #lvm-shell .mini-cap{font-size:10px}\n  #lvm-shell .mini-cap strong{font-size:13px}\n  #lvm-shell .duo-row{grid-template-columns:repeat(2,1fr);gap:12px}\n  #lvm-shell .duo-row .mini-phone{max-width:130px}\n  #lvm-shell .steps{grid-template-columns:1fr;gap:18px}\n  #lvm-shell .steps::before{display:none}\n  #lvm-shell .step{padding-top:0;padding-left:24px}\n  #lvm-shell .step::before{top:6px;left:0}\n  #lvm-shell .table-row{grid-template-columns:1.4fr .9fr .9fr}\n  #lvm-shell .table-row > .crit{padding:13px 12px;font-size:13px}\n  #lvm-shell .table-row > .cell{padding:13px 10px;font-size:12px;gap:8px}\n  #lvm-shell .table-row.head > div{padding:14px 12px;font-size:10px;gap:7px}\n  #lvm-shell .table-row.head .brand-cell img{width:20px;height:20px}\n  #lvm-shell .get-band{padding:36px 22px;border-radius:18px;margin:40px 0 30px}\n  #lvm-shell .get-band h3{font-size:28px}\n  #lvm-shell .get-band .stores img{height:50px}\n  #lvm-shell .cta-band{padding:22px;gap:14px}\n  #lvm-shell .cta-band .l{font-size:16px;min-width:0}\n  #lvm-shell .cta-band .stores img{height:38px}\n  #lvm-shell .faq summary{font-size:18px;gap:14px}\n  #lvm-shell .pyramid{max-width:100%}\n  #lvm-shell .pyramid .level{padding:11px 14px;font-size:14px}\n  #lvm-shell .scorecard{padding:20px 16px;border-radius:16px}\n  #lvm-shell .scorecard-head{grid-template-columns:1.2fr 1fr 1fr;column-gap:14px}\n  #lvm-shell .scorecard-head .h-brand{font-size:12px;gap:5px}\n  #lvm-shell .scorecard-head .h-brand img{width:18px;height:18px}\n  #lvm-shell .scorecard-row{grid-template-columns:1.2fr 1fr 1fr;column-gap:14px;padding:12px 0}\n  #lvm-shell .scorecard-row .crit{font-size:13px;padding-right:8px}\n  #lvm-shell .scorecard-row .bar{gap:6px}\n  #lvm-shell .scorecard-row .bar .v{font-size:11px;min-width:26px}\n  #lvm-shell .persona-it{grid-template-columns:44px 1fr;gap:12px;padding:16px 16px;border-radius:14px}\n  #lvm-shell .persona-it .pic{width:44px;height:44px;font-size:12px}\n  #lvm-shell .persona-it h4{font-size:15px}\n  #lvm-shell .persona-it p{font-size:13px}\n  #lvm-shell .feat-it{grid-template-columns:auto 1fr;gap:14px;padding:20px 0}\n  #lvm-shell .feat-it .fn{font-size:36px;width:54px}\n  #lvm-shell .feat-it .ft{font-size:18px}\n  #lvm-shell .feat-it .fd{font-size:13px}\n  #lvm-shell .feat-it .fc{display:none}\n}\n@media (max-width:480px){\n  #lvm-shell .phone-tabs{gap:5px}\n  #lvm-shell .phone-tabs button{padding:5px 8px;font-size:10px}\n  #lvm-shell .nav-stores{gap:4px}\n  #lvm-shell .nav-stores img{height:22px}\n  #lvm-shell .hero-stores img{height:40px}\n  #lvm-shell .crumb{font-size:12px}\n  #lvm-shell .table-row{grid-template-columns:1.3fr .85fr .85fr}\n  #lvm-shell .table-row > .crit{padding:11px 9px;font-size:12px}\n  #lvm-shell .table-row > .cell{padding:11px 8px;font-size:11px;gap:6px}\n  #lvm-shell .table-row.head > div{padding:11px 9px;font-size:9px;gap:5px}\n}\n\n\/* Calculator-specific styles, scoped #lvm-shell *\/\n#lvm-shell .calc-board{display:grid;grid-template-columns:1fr;gap:18px;margin:32px 0}\n@media(min-width:780px){#lvm-shell .calc-board{grid-template-columns:1fr 1fr;gap:24px}}\n#lvm-shell .calc-inputs{background:#FAF7F2;border-radius:14px;padding:22px;border:1px solid var(--rule-soft)}\n#lvm-shell .calc-inputs h3{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0 0 16px;color:var(--ink);letter-spacing:-.01em}\n#lvm-shell .calc-row{margin:0 0 14px}\n#lvm-shell .calc-row label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}\n#lvm-shell .calc-row input,#lvm-shell .calc-row select{width:100%;padding:11px 13px;border:1px solid var(--rule);border-radius:9px;font-size:16px;background:#fff;color:var(--ink);font-family:var(--font-text);box-sizing:border-box}\n#lvm-shell .calc-row input:focus,#lvm-shell .calc-row select:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:var(--pink)}\n#lvm-shell .calc-sex{display:flex;gap:8px}\n#lvm-shell .calc-sex label{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;background:#fff;border:1px solid var(--rule);border-radius:9px;cursor:pointer;margin:0;font-size:14px;font-weight:500;color:var(--ink)}\n#lvm-shell .calc-sex input{display:none}\n#lvm-shell .calc-sex input:checked + span{color:var(--pink);font-weight:600}\n#lvm-shell .calc-sex label:has(input:checked){border-color:var(--pink);background:var(--pink-soft)}\n#lvm-shell .calc-bf{display:flex;align-items:center;gap:10px}\n#lvm-shell .calc-bf input[type=range]{flex:1;accent-color:var(--pink);height:6px}\n#lvm-shell .calc-bf .bf-val{font-weight:600;color:var(--pink);min-width:42px;font-family:var(--font-mono);font-size:15px}\n#lvm-shell .calc-results{display:grid;grid-template-columns:1fr;gap:12px}\n#lvm-shell .calc-tdee{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:18px 20px;text-align:center}\n#lvm-shell .calc-tdee .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono)}\n#lvm-shell .calc-tdee .val{font-family:var(--font-display);font-size:40px;font-weight:600;letter-spacing:-.025em;margin-top:6px;color:var(--ink);line-height:1}\n#lvm-shell .calc-tdee .val .unit{font-size:14px;font-weight:500;color:var(--muted);margin-left:6px;letter-spacing:0}\n#lvm-shell .calc-tdee .note{font-size:12px;color:var(--dim);margin-top:6px}\n#lvm-shell .scen-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}\n#lvm-shell .scen-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:14px 16px}\n#lvm-shell .scen-card.lent{border-left:4px solid #4CAF50}\n#lvm-shell .scen-card.mod{border-left:4px solid var(--pink)}\n#lvm-shell .scen-card.agg{border-left:4px solid #E84D44}\n#lvm-shell .scen-card .scen-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}\n#lvm-shell .scen-card .scen-name{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);letter-spacing:-.01em}\n#lvm-shell .scen-card .scen-pct{font-family:var(--font-mono);font-size:12px;color:var(--muted);font-weight:600}\n#lvm-shell .scen-card .scen-kcal{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-top:6px;line-height:1}\n#lvm-shell .scen-card.mod .scen-kcal{color:var(--pink)}\n#lvm-shell .scen-card .scen-kcal .u{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px;letter-spacing:0}\n#lvm-shell .scen-card .scen-rate{font-size:13px;color:var(--ink-2);margin-top:4px}\n#lvm-shell .scen-card .scen-warn{font-size:12px;color:#B23030;margin-top:6px;line-height:1.4}\n#lvm-shell .calc-delta{margin-top:10px;padding:14px 16px;background:var(--pink-soft);border-left:3px solid var(--pink);border-radius:0 10px 10px 0;font-size:14px;color:var(--ink);line-height:1.5}\n#lvm-shell .calc-delta b{color:var(--pink);font-family:var(--font-mono)}\n#lvm-shell .calc-note{margin-top:14px;font-size:13px;color:var(--muted);line-height:1.5}\n#lvm-shell .calc-note a{color:var(--pink);text-decoration:underline}\n\n\/* Statement block *\/\n#lvm-shell .statement{margin:54px 0;padding:48px 32px;background:#FAF7F2;border-radius:18px;text-align:center}\n#lvm-shell .statement p{font-family:var(--font-display);font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-.025em;color:var(--ink);margin:0;max-width:680px;margin-inline:auto}\n#lvm-shell .statement .accent{color:var(--pink)}\n@media(max-width:640px){#lvm-shell .statement{padding:38px 22px}#lvm-shell .statement p{font-size:24px}}\n\n\/* Profil cards (no scrollable table) *\/\n#lvm-shell .profile-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:32px 0}\n#lvm-shell .profile-card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px 22px}\n#lvm-shell .profile-card h4{font-family:var(--font-display);font-size:17px;font-weight:600;margin:0 0 4px;color:var(--ink)}\n#lvm-shell .profile-card .meta{font-size:13px;color:var(--muted);margin-bottom:14px}\n#lvm-shell .profile-card .rows{display:grid;grid-template-columns:1fr;gap:6px}\n#lvm-shell .profile-card .rw{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 12px;background:#FAF7F2;border-radius:8px;font-size:14px;align-items:center}\n#lvm-shell .profile-card .rw .v{font-family:var(--font-mono);font-weight:600;color:var(--ink);font-size:13px}\n#lvm-shell .profile-card .rw.lean{background:var(--pink-soft);border-left:3px solid var(--pink)}\n#lvm-shell .profile-card .rw.lean .v{color:var(--pink)}\n#lvm-shell .profile-card .delta{font-size:12px;color:var(--dim);margin-top:8px}\n\n\/* 3 scenarios detailed cards *\/\n#lvm-shell .sce-detail{display:grid;grid-template-columns:1fr;gap:18px;margin:32px 0}\n#lvm-shell .sce-detail .sd{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px 24px}\n#lvm-shell .sce-detail .sd.lent{border-left:4px solid #4CAF50}\n#lvm-shell .sce-detail .sd.mod{border-left:4px solid var(--pink)}\n#lvm-shell .sce-detail .sd.agg{border-left:4px solid #E84D44}\n#lvm-shell .sce-detail .sd .head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;flex-wrap:wrap}\n#lvm-shell .sce-detail .sd h4{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0;color:var(--ink);letter-spacing:-.015em}\n#lvm-shell .sce-detail .sd .pct{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--muted)}\n#lvm-shell .sce-detail .sd.lent .pct{color:#4CAF50}\n#lvm-shell .sce-detail .sd.mod .pct{color:var(--pink)}\n#lvm-shell .sce-detail .sd.agg .pct{color:#E84D44}\n#lvm-shell .sce-detail .sd .lab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono);margin:10px 0 2px}\n#lvm-shell .sce-detail .sd p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}\n\n\/* BodyScan illust (defensive inline-equivalent here) *\/\n#lvm-shell .bodyscan-illust{margin:40px auto 8px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:220px}\n#lvm-shell .bodyscan-illust .mini-phone{max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative}\n#lvm-shell .bodyscan-illust .mini-phone .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5}\n#lvm-shell .bodyscan-illust .mini-phone .scr{border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5}\n#lvm-shell .bodyscan-illust .mini-phone .scr img{width:100%;height:100%;object-fit:cover;display:block}\n#lvm-shell .bodyscan-cap{font-size:13px;color:var(--muted);text-align:center;line-height:1.5}\n#lvm-shell .bodyscan-cap b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px}\n\n\/* FAQ details *\/\n#lvm-shell details.faq{background:#fff;border:1px solid var(--rule);border-radius:10px;margin:8px 0;overflow:hidden}\n#lvm-shell details.faq summary{padding:16px 20px;font-weight:600;font-size:16px;color:var(--ink);cursor:pointer;list-style:none;position:relative;padding-right:48px;font-family:var(--font-display);letter-spacing:-.01em}\n#lvm-shell details.faq summary::-webkit-details-marker{display:none}\n#lvm-shell details.faq summary::after{content:\"+\";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--pink);font-size:22px;font-weight:300;line-height:1}\n#lvm-shell details.faq[open] summary::after{content:\"\\2212 \"}\n#lvm-shell details.faq .faq-body{padding:0 20px 18px;font-size:15px;line-height:1.65;color:var(--ink-2)}\n#lvm-shell details.faq .faq-body p{margin:0 0 8px}\n\n\/* Sources *\/\n#lvm-shell .sources{margin:48px 0 32px;padding:24px;background:#FAF7F2;border-radius:14px;font-size:13px;line-height:1.6;color:var(--muted)}\n#lvm-shell .sources h4{font-family:var(--font-display);font-size:14px;font-weight:600;margin:0 0 10px;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}\n#lvm-shell .sources a{color:var(--pink);text-decoration:none}\n#lvm-shell .sources a:hover{text-decoration:underline}\n#lvm-shell .sources ol{margin:0;padding-left:22px}\n#lvm-shell .sources li{margin:4px 0}\n\n\/* Body copy *\/\n#lvm-shell h2.sect{font-family:var(--font-display);font-size:34px;font-weight:600;letter-spacing:-.03em;margin:64px 0 16px;line-height:1.15;color:var(--ink)}\n#lvm-shell h2.sect .num{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--pink);display:block;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;-webkit-font-smoothing:antialiased}\n#lvm-shell h3.sub{font-family:var(--font-display);font-size:22px;font-weight:600;margin:32px 0 12px;color:var(--ink);letter-spacing:-.015em}\n#lvm-shell .body p{margin:0 0 18px;font-size:17px;line-height:1.7;color:var(--ink-2)}\n#lvm-shell .body p b{color:var(--ink);font-weight:600}\n\n\/* CTA band *\/\n#lvm-shell .get-band{margin:48px 0 24px;padding:42px 32px;background:linear-gradient(135deg,#fff,#FAF7F2);border:1px solid var(--rule);border-radius:18px;text-align:center}\n#lvm-shell .get-band h3{font-family:var(--font-display);font-size:30px;font-weight:600;margin:0 0 6px;color:var(--ink);letter-spacing:-.025em}\n#lvm-shell .get-band p{margin:0 0 22px;font-size:16px;color:var(--muted);line-height:1.5}\n#lvm-shell .get-band .stores{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center}\n#lvm-shell .get-band .stores img{height:54px;width:auto;border-radius:10px}\n@media(max-width:640px){#lvm-shell .get-band h3{font-size:22px}}\n\n#lvm-shell .micro-cta{margin:24px 0;padding:18px 22px;background:var(--pink-soft);border-left:3px solid var(--pink);border-radius:0 10px 10px 0;font-size:15px;line-height:1.55}\n#lvm-shell .micro-cta a{color:var(--pink);font-weight:600;text-decoration:none}\n#lvm-shell .micro-cta a:hover{text-decoration:underline}\n\n\n\/* NEAT-specific styles, scoped #lvm-shell *\/\n#lvm-shell .neat-meter{height:10px;border-radius:6px;background:#F1EFE7;margin:14px auto 10px;max-width:340px;overflow:hidden}\n#lvm-shell .neat-meter i{display:block;height:100%;width:30%;border-radius:6px;background:linear-gradient(90deg,#FFB25E,#FF8C00);transition:width .3s ease}\n#lvm-shell .neat-pill{display:inline-block;padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono);color:#0E0E10}\n#lvm-shell .neat-pill.ok{background:#A8D5A0}\n#lvm-shell .neat-pill.warn{background:#FF8C00;color:#fff}\n#lvm-shell .neat-pill.alert{background:#E84D44;color:#fff}\n#lvm-shell .bmr-duo{display:grid;grid-template-columns:1fr;gap:12px}\n@media(min-width:640px){#lvm-shell .bmr-duo{grid-template-columns:1fr 1fr}}\n#lvm-shell .bd-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:16px 18px;text-align:center}\n\/* modificateur \"pas\" (PAS \"steps\" : #lvm-shell .steps existe deja dans le shell\n   comme stepper grid 5 colonnes, collision detectee au controle visuel desktop) *\/\n#lvm-shell .bd-card.pas{border-left:4px solid #FF8C00}\n#lvm-shell .bd-card .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono)}\n#lvm-shell .bd-card .v{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-top:6px;line-height:1}\n#lvm-shell .bd-card .v .u{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px;letter-spacing:0}\n#lvm-shell .bd-card .s{font-size:12px;color:var(--dim);margin-top:6px;line-height:1.45}\n#lvm-shell .bd-card .s b{color:var(--ink);font-family:var(--font-mono)}\n#lvm-shell .share-card{background:#fff;border:1px solid var(--rule);border-left:4px solid #FF8C00;border-radius:12px;padding:16px 18px;margin-top:12px}\n#lvm-shell .share-card .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono);margin-bottom:6px}\n#lvm-shell .share-card p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}\n#lvm-shell .share-card b{color:var(--ink);font-family:var(--font-mono)}\n#lvm-shell .share-meter{height:10px;border-radius:6px;background:#F1EFE7;margin:10px 0 4px;overflow:hidden}\n#lvm-shell .share-meter i{display:block;height:100%;width:20%;border-radius:6px;background:#FF8C00;transition:width .3s ease}\n#lvm-shell .reco-card{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--pink);border-radius:12px;padding:18px 20px}\n#lvm-shell .reco-card .rc-title{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}\n#lvm-shell .reco-card .rc-body{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}\n#lvm-shell .reco-card .rc-disclaimer{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--dim);border-top:1px solid var(--rule-soft);padding-top:10px}\n#lvm-shell .mvr{display:grid;grid-template-columns:1fr;gap:18px;margin:32px 0}\n#lvm-shell .mvr .mv{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px 24px}\n#lvm-shell .mvr .mv.myth{border-left:4px solid #E84D44}\n#lvm-shell .mvr .mv.real{border-left:4px solid #4CAF50}\n#lvm-shell .mvr .mv .tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono);margin-bottom:8px}\n#lvm-shell .mvr .mv.myth .tag{color:#E84D44}\n#lvm-shell .mvr .mv.real .tag{color:#4CAF50}\n#lvm-shell .mvr .mv h4{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0 0 8px;color:var(--ink);letter-spacing:-.015em}\n#lvm-shell .mvr .mv p{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--ink-2)}\n#lvm-shell .mvr .mv p:last-child{margin-bottom:0}\n#lvm-shell .steps-out{font-family:var(--font-mono);font-size:13px;font-weight:700;color:#FF8C00;margin-left:8px}\n\/* keycards chiffrees couleur NEAT *\/\n#lvm-shell .key-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:26px 0}\n@media(min-width:640px){#lvm-shell .key-grid{grid-template-columns:repeat(3,1fr)}}\n#lvm-shell .key-card{background:#fff;border:1px solid var(--rule);border-left:4px solid #FF8C00;border-radius:12px;padding:16px 18px}\n#lvm-shell .key-card .kv{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:#FF8C00;line-height:1.1}\n#lvm-shell .key-card .kv span{font-size:13px;font-weight:500;color:var(--muted);margin-left:3px;letter-spacing:0}\n#lvm-shell .key-card .kl{font-size:13px;color:var(--dim);margin-top:6px;line-height:1.5}\n\/* aide bodyfat + popup BodyScan (zero lib externe) *\/\n#lvm-shell .bf-help{display:inline-block;background:none;border:0;padding:0;margin-top:8px;font-size:13px;font-weight:600;color:var(--pink);text-decoration:underline;cursor:pointer;font-family:inherit}\n#lvm-shell .bf-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px}\n#lvm-shell .bf-modal.open{display:flex}\n#lvm-shell .bf-modal .bf-ovl{position:absolute;inset:0;background:rgba(14,14,16,.55)}\n#lvm-shell .bf-dialog{position:relative;background:#fff;border-radius:16px;max-width:340px;width:100%;padding:24px 22px 20px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:88vh;overflow-y:auto}\n#lvm-shell .bf-dialog .bf-close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:26px;line-height:1;color:#6E6E73;cursor:pointer;padding:6px}\n#lvm-shell .bf-dialog .bf-title{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0 0 8px}\n#lvm-shell .bf-dialog .bf-text{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 14px}\n#lvm-shell .bf-dialog .bf-sub{font-size:12px;line-height:1.5;color:var(--dim);margin:14px 0}\n#lvm-shell .bf-dialog .bf-stores{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}\n#lvm-shell .bf-dialog .bf-stores img{height:40px;width:auto;display:block}\n<\/style>\n<style id=\"lvm-collision-reset\">\n\/* Hard reset for global theme styles that collide with our content *\/\nbody.postid-1958 #lvm-shell .hero{display:block!important;align-items:initial!important;justify-content:initial!important;text-align:left!important;flex-direction:initial!important;padding:54px 0 0!important}\nbody.postid-1958 #lvm-shell .wrap,\nbody.postid-1958 #lvm-shell main.wrap{display:block!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding-left:28px!important;padding-right:28px!important}\n@media (max-width:820px){\n  body.postid-1958 #lvm-shell .wrap,\n  body.postid-1958 #lvm-shell main.wrap{padding-left:18px!important;padding-right:18px!important}\n}\nhtml, body{overflow-x:hidden!important}\nbody.postid-1958 #lvm-shell{overflow-x:hidden;max-width:100vw}\nbody.postid-1958 #lvm-shell *{max-width:100%}\nbody.postid-1958 #lvm-shell .nav-row{max-width:100vw;box-sizing:border-box}\nbody.postid-1958 #lvm-shell.force-show .rev{opacity:1!important;transform:none!important}\n\n\/* === A.1 PHONE BACKGROUND CLASSES === *\/\nbody.postid-1958 #lvm-shell .phone-bg{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center top;background-repeat:no-repeat;transition:opacity .28s ease;background-color:#FAF0E6}\nbody.postid-1958 #lvm-shell .phone-bg.tab-depense{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_depense.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.tab-bilan{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.tab-kcal{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.tab-strategie{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_strategie.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.sub-BMR{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_BMR.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.sub-NEAT{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_NEAT.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.sub-EAT{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_EAT.webp)}\nbody.postid-1958 #lvm-shell .phone-bg.sub-TEF{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp)}\n\n\/* === v11.3 CTA BANDS MOBILE (badges plus gros + centrage) === *\/\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .cta-band{flex-direction:column!important;align-items:center!important;text-align:center!important;padding:26px 22px!important;gap:20px!important}\n  body.postid-1958 #lvm-shell .cta-band .l{min-width:0!important;width:100%!important;font-size:16px!important;line-height:1.5!important;text-align:center!important}\n  body.postid-1958 #lvm-shell .cta-band .stores{width:100%!important;justify-content:center!important;flex-wrap:nowrap!important;gap:10px!important}\n  body.postid-1958 #lvm-shell .cta-band .stores a{flex:1!important;max-width:170px!important;display:flex!important;justify-content:center!important}\n  body.postid-1958 #lvm-shell .cta-band .stores picture{width:100%!important;display:block!important}\n  body.postid-1958 #lvm-shell .cta-band .stores img{height:56px!important;width:100%!important;max-width:170px!important;object-fit:contain!important;object-position:center!important;border-radius:10px!important}\n  body.postid-1958 #lvm-shell .get-band{padding:38px 22px!important}\n  body.postid-1958 #lvm-shell .get-band .stores{justify-content:center!important;flex-wrap:nowrap!important;gap:10px!important}\n  body.postid-1958 #lvm-shell .get-band .stores a{flex:1!important;max-width:170px!important;display:flex!important;justify-content:center!important}\n  body.postid-1958 #lvm-shell .get-band .stores picture{width:100%!important;display:block!important}\n  body.postid-1958 #lvm-shell .get-band .stores img{height:56px!important;width:100%!important;max-width:170px!important;object-fit:contain!important;object-position:center!important;border-radius:10px!important}\n  body.postid-1958 #lvm-shell .get-band h3{font-size:26px!important;line-height:1.2!important}\n  body.postid-1958 #lvm-shell .get-band p{font-size:15px!important}\n}\n\n\/* === v11.2 BRAND BANNER above table responsive === *\/\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .brand-banner img{width:54px!important;height:54px!important}\n  body.postid-1958 #lvm-shell .brand-banner > div{padding:16px 12px!important;gap:8px!important}\n  body.postid-1958 #lvm-shell .brand-banner > div > div{font-size:15px!important}\n}\n\n\/* === v11.4 SCORECARD partie 7: redesign mobile === *\/\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .scorecard{padding:18px 16px!important;border-radius:16px!important}\n  body.postid-1958 #lvm-shell .scorecard-head{display:none!important}\n  body.postid-1958 #lvm-shell .scorecard-row{\n    display:block!important;\n    padding:14px 0!important;\n    border-bottom:1px solid #E8E2D6!important;\n  }\n  body.postid-1958 #lvm-shell .scorecard-row .crit{\n    display:block!important;\n    font-size:13px!important;\n    font-weight:600!important;\n    color:#0E0E10!important;\n    margin-bottom:10px!important;\n    padding-right:0!important;\n  }\n  body.postid-1958 #lvm-shell .scorecard-row .bar{\n    display:grid!important;\n    grid-template-columns:54px 1fr 32px!important;\n    column-gap:8px!important;\n    align-items:center!important;\n    padding:5px 0!important;\n    flex-direction:initial!important;\n    position:relative!important;\n  }\n  body.postid-1958 #lvm-shell .scorecard-row .bar::before{\n    content:attr(data-brand)!important;\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:11px!important;\n    font-weight:600!important;\n    text-transform:uppercase!important;\n    letter-spacing:.05em!important;\n    color:#0E0E10!important;\n  }\n  body.postid-1958 #lvm-shell .scorecard-row .bar.lean::before{color:#FF2D6E!important}\n  body.postid-1958 #lvm-shell .scorecard-row .bar.mfp::before{color:#5B7FFF!important}\n  body.postid-1958 #lvm-shell .scorecard-row .bar .b{\n    height:10px!important;\n    width:100%!important;\n    border-radius:99px!important;\n    position:relative!important;\n    background:#EFEAE0!important;\n    overflow:hidden!important;\n  }\n  body.postid-1958 #lvm-shell .scorecard-row .bar .b > i{\n    display:block!important;\n    height:100%!important;\n    border-radius:99px!important;\n  }\n  body.postid-1958 #lvm-shell .scorecard-row .bar .v{\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:12px!important;\n    font-weight:700!important;\n    color:#0E0E10!important;\n    min-width:0!important;\n    text-align:right!important;\n  }\n}\n\n\/* === A.2 CHARTS MOBILE === *\/\n@media (max-width:760px){\n  \/* v13: charts FULL WIDTH (less card padding) + plus hauts pour vraie respiration *\/\n  body.postid-1958 #lvm-shell .cv-wrap{height:380px!important;min-height:360px!important;max-height:420px!important;width:100%!important}\n  body.postid-1958 #lvm-shell .cv-wrap canvas{width:100%!important;height:100%!important;display:block!important}\n  body.postid-1958 #lvm-shell .fig{padding:16px 4px 14px!important;margin:24px -4px 14px!important;overflow:visible!important}\n  body.postid-1958 #lvm-shell .fig-head{padding:0 12px!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important}\n  body.postid-1958 #lvm-shell .fig-body{padding:0 2px!important}\n  body.postid-1958 #lvm-shell .fig-cap{padding:0 12px!important;font-size:13px!important;margin-top:10px!important}\n}\n@media (max-width:480px){\n  body.postid-1958 #lvm-shell .cv-wrap{height:360px!important;min-height:340px!important;max-height:380px!important}\n  body.postid-1958 #lvm-shell .fig{padding:14px 2px 12px!important;margin:20px -6px 12px!important;border-radius:14px!important}\n  body.postid-1958 #lvm-shell .fig-body{padding:0!important}\n}\n\n\/* === v11.2 TABLEAU MOBILE STACKED CARDS avec mini-tags Lean\/MFP === *\/\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .table{border-radius:14px!important}\n  body.postid-1958 #lvm-shell .table-row.head{display:none!important}\n  body.postid-1958 #lvm-shell .table-row{\n    display:grid!important;\n    grid-template-columns:1fr 1fr!important;\n    grid-template-areas:\"crit crit\" \"lean mfp\"!important;\n    gap:0!important;\n    min-height:0!important;\n  }\n  body.postid-1958 #lvm-shell .table-row > .crit{\n    grid-area:crit!important;background:#0E0E10!important;color:#fff!important;\n    padding:11px 14px!important;font-size:13px!important;font-weight:600!important;\n    letter-spacing:-0.1px!important;border-right:0!important;line-height:1.35!important;\n    font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',sans-serif!important;text-transform:none!important;\n  }\n  body.postid-1958 #lvm-shell .table-row > .cell.lean{\n    grid-area:lean!important;border-right:1px solid #E8E2D6!important;\n    position:relative!important;background:#FFF1F5!important;padding-top:30px!important;\n  }\n  body.postid-1958 #lvm-shell .table-row > .cell:not(.lean):not(.crit){\n    grid-area:mfp!important;background:#F5F5F7!important;padding-top:30px!important;\n    position:relative!important;\n  }\n  body.postid-1958 #lvm-shell .table-row > .cell.lean::before{\n    content:\"LEAN\"!important;position:absolute!important;top:8px!important;left:12px!important;\n    right:auto!important;bottom:auto!important;width:auto!important;height:auto!important;\n    background:transparent!important;\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:10px!important;font-weight:700!important;letter-spacing:.07em!important;\n    color:#FF2D6E!important;\n  }\n  body.postid-1958 #lvm-shell .table-row > .cell:not(.lean):not(.crit)::before{\n    content:\"CRONOMETER\"!important;position:absolute!important;top:8px!important;left:12px!important;\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:10px!important;font-weight:700!important;letter-spacing:.07em!important;\n    color:#E15822!important;\n  }\n  body.postid-1958 #lvm-shell .table-row > .cell{\n    padding:12px 12px!important;font-size:13px!important;line-height:1.4!important;\n    align-items:flex-start!important;gap:7px!important;\n  }\n  body.postid-1958 #lvm-shell .icn{flex-shrink:0!important;margin-top:1px!important}\n}\n\n\/* === A.5 MINI-LOGOS partie 7 (triplet NEAT\/EAT\/TEF) === *\/\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .mini-row{gap:6px!important;margin:24px 0!important;grid-template-columns:repeat(3,1fr)!important}\n  body.postid-1958 #lvm-shell .mini-phone{max-width:100px!important;padding:2px!important;border-radius:14px!important;border-width:1px!important}\n  body.postid-1958 #lvm-shell .mini-phone.tiny{max-width:96px!important;padding:2px!important;border-radius:13px!important}\n  body.postid-1958 #lvm-shell .mini-phone .notch{width:30px!important;height:8px!important;border-radius:0 0 5px 5px!important}\n  body.postid-1958 #lvm-shell .mini-phone .scr{border-radius:11px!important}\n  body.postid-1958 #lvm-shell .mini-cap{font-size:10px!important;margin-top:8px!important}\n  body.postid-1958 #lvm-shell .mini-cap strong{font-size:12px!important;margin-top:2px!important}\n}\n\n\/* === MOCKUP TAP HINT MOBILE === *\/\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .tap-hint.mobile{position:relative!important;width:100%!important;left:auto!important;top:auto!important;text-align:center!important;margin:0 auto 14px!important;display:block!important}\n  body.postid-1958 #lvm-shell .tap-hint.desktop{display:none!important}\n  body.postid-1958 #lvm-shell .tap-hint.hidden{display:none!important;height:0!important;margin:0!important;padding:0!important}\n}\n\n\/* === A.6 BODYSCAN ILLUST partie BMR (override mobile mini-phone) === *\/\nbody.postid-1958 #lvm-shell .bodyscan-illust{margin:40px auto 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:14px!important;max-width:220px!important}\nbody.postid-1958 #lvm-shell .bodyscan-illust .mini-phone{max-width:200px!important;padding:3px!important;border-radius:22px!important;border-width:1px!important}\nbody.postid-1958 #lvm-shell .bodyscan-illust .mini-phone .notch{width:40px!important;height:11px!important;border-radius:0 0 7px 7px!important}\nbody.postid-1958 #lvm-shell .bodyscan-illust .mini-phone .scr{border-radius:18px!important}\n@media (max-width:760px){\n  body.postid-1958 #lvm-shell .bodyscan-illust{max-width:180px!important}\n  body.postid-1958 #lvm-shell .bodyscan-illust .mini-phone{max-width:160px!important;padding:3px!important;border-radius:20px!important}\n  body.postid-1958 #lvm-shell .bodyscan-illust .mini-phone .notch{width:34px!important;height:9px!important;border-radius:0 0 6px 6px!important}\n  body.postid-1958 #lvm-shell .bodyscan-illust .mini-phone .scr{border-radius:16px!important}\n}\n\n\/* Fix CompressX picture wrappers : images ne doivent pas exploser *\/\n#lvm-shell picture{display:block;max-width:100%}\n#lvm-shell picture img{display:block;max-width:100%;height:auto}\n#lvm-shell .bodyscan-illust .mini-phone .scr picture{display:block;width:100%;height:100%}\n#lvm-shell .bodyscan-illust .mini-phone .scr picture img{width:100%!important;height:100%!important;object-fit:cover!important}\n#lvm-shell .pyramide-illust picture{display:block;width:100%}\n#lvm-shell .pyramide-illust picture img{width:100%!important;height:auto!important;border-radius:18px}<\/style>\n<div id=\"lvm-shell\" class=\"force-show\">\n\n<nav class=\"nav\"><div class=\"nav-row\">\n  <a class=\"nav-brand\" href=\"https:\/\/lean-app.com\/en\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\" alt=\"Lean\" width=\"28\" height=\"28\"><span>Lean<\/span><\/a>\n  <div class=\"nav-spacer\"><\/div>\n  <a class=\"nav-link\" href=\"https:\/\/lean-app.com\/en\/\">Home<\/a>\n  <div class=\"nav-stores\">\n    <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\" aria-label=\"App Store\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"App Store\"><\/a>\n    <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\" aria-label=\"Google Play\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Google Play\"><\/a>\n  <\/div>\n<\/div><\/nav>\n<div class=\"progress\"><i><\/i><\/div>\n<main class=\"wrap\">\n\n<section class=\"hero\" aria-labelledby=\"title\">\n  <div class=\"crumb\"><a href=\"https:\/\/lean-app.com\/en\/\">Home<\/a> &nbsp;\/&nbsp; Protein calculator<\/div>\n  <div class=\"eyebrow\">Calculator &middot; Protein &amp; sports nutrition<\/div>\n  <h1 id=\"title\">Protein calculator&nbsp;: your grams per day\n    <span class=\"alt\">computed on your lean mass, not your total weight<\/span>\n  <\/h1>\n  <p class=\"dek\">&laquo;&nbsp;2 grams per kilo&nbsp;&raquo;: the advice you hear everywhere has a hidden flaw: it refers to your total weight, fat included. Yet your protein feeds your lean mass, not your fat mass. This calculator applies the reference ranges of the field (Morton 2018, Helms 2014) to your actual lean mass, based on your goal: cutting, maintenance or muscle gain.<\/p>\n  <div class=\"byline\">\n    <img class=\"by-logo\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\" alt=\"\" width=\"512\" height=\"512\" loading=\"lazy\" decoding=\"async\" \/>\n    <span><strong>The Lean Team<\/strong> &middot; 8&nbsp;min read &middot; Updated August 26, 2026<\/span>\n  <\/div>\n  <div class=\"hero-stores\">\n    <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\">\n      <img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"T\u00e9l\u00e9charger sur l'App Store\" width=\"413\" height=\"122\" loading=\"lazy\" decoding=\"async\" \/>\n    <\/a>\n    <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\">\n      <img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Disponible sur Google Play\" width=\"315\" height=\"95\" loading=\"lazy\" decoding=\"async\" \/>\n    <\/a>\n    <span class=\"or\">Free download<\/span>\n  <\/div>\n\n  <div class=\"hero-bottom\">\n    <div class=\"hero-lead\">\n      Classic recommendations hand out protein per kilo of total weight, as if a kilo of fat had the same needs as a kilo of muscle. That is exactly what Lean refuses: your macros are computed on your real composition, measured by BodyScan AI, and tracked automatically with every logged meal. This page applies the same logic: first your lean mass, then your grams.\n    <\/div>\n    <div class=\"phone-wrap rev\">\n      <div class=\"phone-stage\">\n        <div class=\"tap-hint mobile\" id=\"tapHintMobile\" aria-hidden=\"true\">\n          <span class=\"th-pill\"><small>Interactive demo<\/small>Tap the screen to explore the app<\/span>\n          <svg class=\"th-arrow\" viewbox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n            <path d=\"M12 4 L12 20 M5 13 L12 20 L19 13\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n          <\/svg>\n        <\/div>\n        <div class=\"tap-hint desktop\" id=\"tapHintDesktop\" aria-hidden=\"true\">\n          <span class=\"th-pill\"><small>Interactive demo<\/small>Tap the screen<br>to explore the app<\/span>\n          <svg class=\"th-arrow\" viewbox=\"0 0 104 34\" fill=\"none\" aria-hidden=\"true\">\n            <path d=\"M4 9 C 34 1, 64 20, 94 27\" stroke=\"currentColor\" stroke-width=\"2.6\" fill=\"none\" stroke-linecap=\"round\"\/>\n            <path d=\"M86 20 L 94 27 L 84 30\" stroke=\"currentColor\" stroke-width=\"2.6\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n          <\/svg>\n        <\/div>\n        <div class=\"phone\" id=\"phone\" role=\"img\" aria-label=\"Preview of the Lean app with TDEE drill-down\">\n          <div class=\"notch\"><\/div>\n          <div class=\"phone-screen\">\n            <button class=\"phone-back\" id=\"phoneBack\" aria-label=\"Back\">&#8249;<\/button>\n            <div id=\"phoneImg\" class=\"phone-bg tab-depense\" role=\"img\" aria-label=\"Lean preview, Expenditure tab\"><\/div>\n            <div class=\"phone-zones\" id=\"phoneZones\">\n              <div class=\"z\" data-sub=\"BMR\"  style=\"top:11%;height:21%\" role=\"button\" tabindex=\"0\" aria-label=\"BMR detail\"><\/div>\n              <div class=\"z\" data-sub=\"NEAT\" style=\"top:33%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"NEAT detail\"><\/div>\n              <div class=\"z\" data-sub=\"EAT\"  style=\"top:50%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"EAT detail\"><\/div>\n              <div class=\"z\" data-sub=\"TEF\"  style=\"top:67%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"TEF detail\"><\/div>\n            <\/div>\n            <div class=\"phone-navbar\" id=\"phoneNav\" aria-hidden=\"false\">\n              <button data-tab=\"bilan\"     type=\"button\" aria-label=\"Balance tab\"><\/button>\n              <button data-tab=\"kcal\"      type=\"button\" aria-label=\"Calories tab\"><\/button>\n              <button data-tab=\"depense\"   type=\"button\" aria-label=\"Expenditure tab\"><\/button>\n              <button data-tab=\"strategie\" type=\"button\" aria-label=\"Strategy tab\"><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"phone-tabs\" role=\"tablist\" aria-label=\"Navigate the Lean app\">\n          <button data-tab=\"bilan\"     type=\"button\">Balance<\/button>\n          <button data-tab=\"kcal\"      type=\"button\">Calories<\/button>\n          <button data-tab=\"depense\"   type=\"button\" class=\"on\">Expenditure<\/button>\n          <button data-tab=\"strategie\" type=\"button\">Strategy<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"snippet rev\">\n    <div class=\"lbl\">Quick answer<\/div>\n    <p>The ranges that reach consensus in the literature: about <b>1.6 to 2.2&nbsp;g per kilo of body weight<\/b> to progress in resistance training (Morton 2018 meta-analysis), and when cutting, <b>2.3 to 3.1&nbsp;g per kilo of lean mass<\/b> to protect muscle (Helms 2014). For a 75&nbsp;kg man at 15&nbsp;% body fat, that gives <b>147 to 198&nbsp;g per day<\/b> when cutting. Calculate your exact range below, on your measurements.<\/p>\n  <\/div>\n<\/section>\n\n<h2 class=\"sect\"><span class=\"num\">02 &middot; Calculator<\/span>Calculate your daily protein grams<\/h2>\n<p>Your body, your body fat, your goal: the calculator derives your lean mass then applies the published ranges: <b>2.3 to 3.1&nbsp;g per kilo of lean mass<\/b> when cutting (Helms 2014), <b>1.8 to 2.2<\/b> at maintenance and <b>1.6 to 2.2<\/b> for muscle gain (Morton 2018, Phillips 2011). If you do not know your body fat, measure it first with our <a href=\"\/en\/calculateur-masse-grasse\/\">body fat calculator<\/a> (2 minutes, a tape measure) or the AI BodyScan.<\/p>\n\n<div class=\"calc-board\" id=\"calcBoard\">\n  <div class=\"calc-inputs\">\n    <h3>Your measurements<\/h3>\n    <div class=\"calc-row\">\n      <label>Sex<\/label>\n      <div class=\"calc-sex\">\n        <label><input type=\"radio\" name=\"sex\" value=\"M\" checked><span>Male<\/span><\/label>\n        <label><input type=\"radio\" name=\"sex\" value=\"F\"><span>Female<\/span><\/label>\n      <\/div>\n    <\/div>\n    <div class=\"calc-row\"><label for=\"cAge\">Age (years)<\/label><input id=\"cAge\" type=\"number\" min=\"14\" max=\"90\" value=\"30\"><\/div>\n    <div class=\"calc-row\"><label for=\"cWeight\">Weight (kg)<\/label><input id=\"cWeight\" type=\"number\" min=\"35\" max=\"200\" step=\"0.1\" value=\"75\"><\/div>\n    <div class=\"calc-row\">\n      <label for=\"cBodyfat\">Body fat<span class=\"steps-out\" id=\"bfVal\">15&nbsp;%<\/span><\/label>\n      <div class=\"calc-bf\"><input id=\"cBodyfat\" type=\"range\" min=\"5\" max=\"45\" step=\"0.5\" value=\"15\"><\/div>\n      <button type=\"button\" class=\"bf-help\" id=\"bfHelp\">You do not know your body fat&nbsp;?<\/button>\n      <div class=\"calc-note\" id=\"bfHint\">Typical ranges for a man: 10 to 25&nbsp;%. Measure it with our body fat calculator (tape) or the BodyScan photo.<\/div>\n    <\/div>\n    <div class=\"calc-row\">\n      <label>Your goal<\/label>\n      <div class=\"calc-sex\">\n        <label><input type=\"radio\" name=\"goal\" value=\"cut\" checked><span>Cutting<\/span><\/label>\n        <label><input type=\"radio\" name=\"goal\" value=\"maintain\"><span>Maintenance<\/span><\/label>\n        <label><input type=\"radio\" name=\"goal\" value=\"bulk\"><span>Muscle gain<\/span><\/label>\n      <\/div>\n      <div class=\"calc-note\" id=\"goalHint\">In a cut, protein protects your muscle during the deficit: that is where the range is highest.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"calc-results\">\n    <div class=\"calc-tdee\">\n      <div class=\"label\">Your daily protein<\/div>\n      <div class=\"val\"><span id=\"rProt\">147-198<\/span><span class=\"unit\">g\/day<\/span><\/div>\n      <div class=\"neat-meter\" aria-hidden=\"true\"><i id=\"protBar\"><\/i><\/div>\n      <span class=\"neat-pill warn\" id=\"protPill\">Cutting target<\/span>\n      <div class=\"note\">Range computed on your lean mass (Helms 2014 when cutting; Morton 2018 and Phillips 2011 otherwise). Aim for the bottom on normal days, the top on hard training days or in a big deficit.<\/div>\n    <\/div>\n\n    <div class=\"bmr-duo\">\n      <div class=\"bd-card pas\">\n        <div class=\"label\">Per meal<\/div>\n        <div class=\"v\"><span id=\"rMeal\">37-49<\/span><span class=\"u\">g &times; 4<\/span><\/div>\n        <div class=\"s\">Spread over 3 to 5 meals, about <b id=\"rMealN\">4<\/b> servings<\/div>\n      <\/div>\n      <div class=\"bd-card\">\n        <div class=\"label\">Your lean mass<\/div>\n        <div class=\"v\"><span id=\"rFfm\">63,8<\/span><span class=\"u\">kg<\/span><\/div>\n        <div class=\"s\">The base of the calculation: weight &times; (1 &minus; body fat)<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"share-card\">\n      <div class=\"label\">In concrete equivalents<\/div>\n      <div class=\"share-meter\" aria-hidden=\"true\"><i id=\"shareBar\"><\/i><\/div>\n      <p>The middle of your range, <b id=\"rMid\">172<\/b>&nbsp;g, is for example <b id=\"eqPoulet\">550<\/b>&nbsp;g of chicken breast, or <b id=\"eqOeufs\">27<\/b> eggs, or <b id=\"eqSkyr\">1,7<\/b>&nbsp;kg of skyr. In practice you combine sources over the day; the app counts the grams automatically for every logged food.<\/p>\n    <\/div>\n\n    <div class=\"calc-delta\" id=\"deltaLine\">\n      The generic advice &laquo;&nbsp;2&nbsp;g per kilo of weight&nbsp;&raquo; would give you <b id=\"dTotal\">150<\/b>&nbsp;g: that is <b id=\"dGap\">22<\/b>&nbsp;g of gap with the lean-mass calculation. The further your body fat sits from the average, the more the total-weight advice misses.\n    <\/div>\n\n    <div class=\"reco-card\" id=\"recoCard\">\n      <div class=\"rc-title\" id=\"recoTitle\">Recommendation<\/div>\n      <p class=\"rc-body\" id=\"recoBody\"><\/p>\n      <p class=\"rc-disclaimer\">Educational estimate based on published ranges (Morton 2018; Helms 2014; Phillips 2011). This calculator is not a diagnostic tool and does not replace medical advice, especially in case of kidney disease.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"micro-cta\">\n  This calculator gives your target with a transparent formula. <b>Lean goes further:<\/b> every logged food (database, barcode or AI photo) feeds your protein counter in real time, and your target relies on your body fat measured by BodyScan, continuously updated. <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\">Track your protein in Lean.<\/a>\n<\/div>\n\n<div class=\"bf-modal\" id=\"bfModal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bfModalTitle\">\n  <div class=\"bf-ovl\" id=\"bfOvl\"><\/div>\n  <div class=\"bf-dialog\">\n    <button class=\"bf-close\" id=\"bfClose\" type=\"button\" aria-label=\"Fermer\">&times;<\/button>\n    <div class=\"bf-title\" id=\"bfModalTitle\">You do not know your body fat&nbsp;?<\/div>\n    <p class=\"bf-text\">Lean's AI BodyScan measures it in 5&nbsp;seconds from a single photo: body fat, lean mass and fat mass, straight from your phone.<\/p>\n    <div class=\"bodyscan-illust\" style=\"margin:0 auto;max-width:200px\">\n      <div class=\"mini-phone\" style=\"max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative;margin:0 auto\">\n        <div class=\"notch\" style=\"position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5\"><\/div>\n        <div class=\"scr\" style=\"border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-bodyscan-result.webp\" alt=\"R\u00e9sultat BodyScan IA : bodyfat mesur\u00e9 depuis une photo, masse maigre et masse grasse\" width=\"200\" height=\"433\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;object-fit:cover;display:block\"><\/div>\n      <\/div>\n    <\/div>\n    <p class=\"bf-sub\">Two options: our <a href=\"\/en\/calculateur-masse-grasse\/\">tape measure calculator<\/a> (2 minutes, free), or the BodyScan photo above. Meanwhile, leave the slider on an approximate value: an approximate body fat beats a total-weight calculation.<\/p>\n    <div class=\"bf-stores\">\n      <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"T\u00e9l\u00e9charger sur l'App Store\" width=\"413\" height=\"122\" loading=\"lazy\" decoding=\"async\"><\/a>\n      <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Disponible sur Google Play\" width=\"315\" height=\"95\" loading=\"lazy\" decoding=\"async\"><\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">03 &middot; The science<\/span>Why your protein is computed on your lean mass<\/h2>\n\n<div class=\"statement\"><p>A kilo of fat needs no protein. <span class=\"accent\">A kilo of muscle does.<\/span><\/p><\/div>\n\n<div class=\"key-grid\">\n  <div class=\"key-card\"><div class=\"kv\">1,6-2,2<span>g\/kg<\/span><\/div><div class=\"kl\">the ceiling beyond which more protein builds no more muscle (Morton 2018 meta-analysis, 49 studies)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">2,3-3,1<span>g\/kg LM<\/span><\/div><div class=\"kl\">the cutting range, per kilo of lean mass, to protect muscle (Helms 2014)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">+1,1<span>kg muscle<\/span><\/div><div class=\"kl\">gained IN a deficit by the high-protein + strength group of Longland 2016, while losing 4.8 kg of fat<\/div><\/div>\n<\/div>\n\n<div class=\"body\">\n<p>Protein builds and repairs active tissues: muscles, organs, enzymes. Your fat mass consumes almost none. That is why serious recommendations reason in grams <b>per kilo of what matters<\/b> : lean mass. A total-weight recommendation makes the silent assumption that everyone shares the same body composition, the exact error weight-only BMR formulas make too.<\/p>\n<p>What the literature says, in three landmarks. For building muscle, the Morton meta-analysis (2018, 49 studies, 1,863 subjects) places the useful ceiling around <b>1.6&nbsp;g\/kg<\/b>, upper bound of the interval at 2.2: beyond that, no measurable extra gain. When cutting, Helms (2014) recommends <b>2.3 to 3.1&nbsp;g per kilo of lean mass<\/b>, the higher the bigger your deficit and the leaner you already are. And Longland (2016) showed the power of the combo: in a severe deficit with high protein and strength training, subjects <b>lost 4.8&nbsp;kg of fat while gaining 1.1&nbsp;kg of muscle<\/b> in 4 weeks.<\/p>\n<p>Concretely, two 90&nbsp;kg men: the first at 12&nbsp;% body fat (79&nbsp;kg of lean mass), the second at 30&nbsp;% (63&nbsp;kg). The generic &laquo;&nbsp;2&nbsp;g\/kg&nbsp;&raquo; gives both 180&nbsp;g. The lean-mass calculation gives about 182 to 245&nbsp;g to the first when cutting, and 145 to 195&nbsp;g to the second: the weight-based advice <b>underfeeds the lean athlete and overfeeds the higher body fat profile<\/b>, in proportions you can see in the muscle retained at the finish line.<\/p>\n<p>Where does this fit in the equation? Protein is also the macro with the strongest <b>thermic effect<\/b> : 20 to 30&nbsp;% of its calories are burned during digestion (versus 5 to 10&nbsp;% for carbs). In Lean, this effect is counted in the <a href=\"\/en\/effet-thermique-des-aliments\/\">TEF<\/a>, the 4th brick of TDEE = BMR + NEAT + EAT + TEF, computed on your actually logged macros, not a flat rate.<\/p>\n<\/div>\n\n<div class=\"bodyscan-illust\" style=\"margin:40px auto 8px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:220px\">\n  <div class=\"mini-phone\" style=\"max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative\">\n    <div class=\"notch\" style=\"position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5\"><\/div>\n    <div class=\"scr\" style=\"border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp\" alt=\"\u00c9cran TEF de Lean : effet thermique des aliments calcul\u00e9 sur les macros r\u00e9els\" width=\"200\" height=\"433\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;object-fit:cover;display:block\"><\/div>\n  <\/div>\n  <div class=\"bodyscan-cap\" style=\"font-size:13px;color:#6E6E73;text-align:center;line-height:1.5\"><b style=\"display:block;color:#0E0E10;font-weight:600;margin-bottom:3px\">TEF, measured<\/b>In Lean, the thermic effect of your protein is counted from your logged macros.<\/div>\n<\/div>\n\n<div class=\"body\">\n<p>One last note of honesty: the precision of your range depends on the precision of your body fat. A 5-point body fat error moves your target by about ten grams, which stays small: do not let the quest for the perfect number delay the useful habit, a protein source at every meal starting today.<\/p>\n<\/div>\n\n<div class=\"micro-cta\">\n  To measure your lean mass first: the <a href=\"\/en\/calculateur-masse-grasse\/\">body fat calculator<\/a> (tape measure, 2 minutes), and for full expenditure, the guide <a href=\"\/en\/depense-energetique-totale-v2\/\">total daily energy expenditure<\/a>.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">04 &middot; Three worked profiles<\/span>The same bodies as the body fat calculator<\/h2>\n<p>The three profiles measured on our <a href=\"\/en\/calculateur-masse-grasse\/\">body fat calculator<\/a>, carried through to their protein. The numbers come from the calculator above, you can reproduce them.<\/p>\n\n<div class=\"profile-grid\">\n  <div class=\"profile-card\">\n    <h4>She cuts cleanly<\/h4>\n    <div class=\"meta\">Woman &middot; 31 &middot; 64&nbsp;kg &middot; body fat 27&nbsp;% &middot; cutting<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Lean mass<\/span><span class=\"v\">&asymp;&nbsp;46.7&nbsp;kg<\/span><\/div>\n      <div class=\"rw lean\"><span>Protein target<\/span><span class=\"v\">&asymp;&nbsp;107-145 g\/day<\/span><\/div>\n      <div class=\"rw\"><span>Per meal (&times;3)<\/span><span class=\"v\">&asymp;&nbsp;36-48 g<\/span><\/div>\n      <div class=\"rw\"><span>Generic 2 g\/kg advice<\/span><span class=\"v\">128 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">The total-weight advice lands inside her range here: consistent, her body fat is close to the average. <b style=\"color:var(--pink)\">The calculation confirms instead of guessing.<\/b><\/div>\n  <\/div>\n\n  <div class=\"profile-card\">\n    <h4>The lean athlete cutting<\/h4>\n    <div class=\"meta\">Man &middot; 29 &middot; 75&nbsp;kg &middot; body fat 12.5&nbsp;% &middot; cutting<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Lean mass<\/span><span class=\"v\">&asymp;&nbsp;65.6&nbsp;kg<\/span><\/div>\n      <div class=\"rw lean\"><span>Protein target<\/span><span class=\"v\">&asymp;&nbsp;151-203 g\/day<\/span><\/div>\n      <div class=\"rw\"><span>Per meal (&times;4)<\/span><span class=\"v\">&asymp;&nbsp;38-51 g<\/span><\/div>\n      <div class=\"rw\"><span>Generic 2 g\/kg advice<\/span><span class=\"v\">150 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">The generic advice puts him BELOW the bottom of his range: in a late cut, that is muscle walking away. <b style=\"color:var(--pink)\">The exact profile total weight betrays.<\/b><\/div>\n  <\/div>\n\n  <div class=\"profile-card\">\n    <h4>He maintains after his diet<\/h4>\n    <div class=\"meta\">Man &middot; 42 &middot; 92&nbsp;kg &middot; body fat 26.5&nbsp;% &middot; maintenance<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Lean mass<\/span><span class=\"v\">&asymp;&nbsp;67.6&nbsp;kg<\/span><\/div>\n      <div class=\"rw lean\"><span>Protein target<\/span><span class=\"v\">&asymp;&nbsp;122-149 g\/day<\/span><\/div>\n      <div class=\"rw\"><span>Per meal (&times;3)<\/span><span class=\"v\">&asymp;&nbsp;41-50 g<\/span><\/div>\n      <div class=\"rw\"><span>Generic 2 g\/kg advice<\/span><span class=\"v\">184 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">The weight-based advice pushes him 35&nbsp;g above his upper bound: not dangerous, but protein calories that will be missing elsewhere. <b style=\"color:var(--pink)\">Pointless surplus has an opportunity cost.<\/b><\/div>\n  <\/div>\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">05 &middot; In practice<\/span>Hit your target without living in the kitchen<\/h2>\n\n<div class=\"body\">\n<p>A 150 or 180&nbsp;g target looks high from afar. Spread smartly, it fits in a normal day:<\/p>\n<\/div>\n\n<div class=\"profile-grid\">\n  <div class=\"profile-card\">\n    <h4>1. A source at every meal<\/h4>\n    <div class=\"meta\">The rule that solves 80% of the problem<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">30 to 50&nbsp;g per serving over 3 to 5 meals. Eggs in the morning, meat or fish at lunch, a high-protein dairy as a snack, a source at dinner: target reached without supplements.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>2. Breakfast, the weak link<\/h4>\n    <div class=\"meta\">The lowest-protein meal of the day for most people<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Toast-juice-coffee = 5&nbsp;g of protein. Swap for eggs, skyr, cottage cheese or oats + milk: +25 to 35&nbsp;g from the morning, and a satiety that changes your late mornings.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>3. Whey: a tool, not an obligation<\/h4>\n    <div class=\"meta\">Convenient, not magical<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">One scoop = ~25&nbsp;g of protein for minimal volume. Useful when your schedule makes a real meal impossible; pointless if your food already covers your range.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>4. Vegetarian: doable, with method<\/h4>\n    <div class=\"meta\">Bigger volumes, combined sources<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Legumes + grains, tofu and tempeh, dairy or fortified alternatives: the target stays reachable by combining sources through the day, with slightly more generous portions.<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"bodyscan-illust\" style=\"margin:40px auto 8px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:220px\">\n  <div class=\"mini-phone\" style=\"max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative\">\n    <div class=\"notch\" style=\"position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5\"><\/div>\n    <div class=\"scr\" style=\"border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp\" alt=\"\u00c9cran Calories de Lean : macros compt\u00e9s automatiquement \u00e0 chaque aliment logg\u00e9\" width=\"200\" height=\"433\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;object-fit:cover;display:block\"><\/div>\n  <\/div>\n  <div class=\"bodyscan-cap\" style=\"font-size:13px;color:#6E6E73;text-align:center;line-height:1.5\"><b style=\"display:block;color:#0E0E10;font-weight:600;margin-bottom:3px\">Your grams, counted<\/b>Database, barcode or AI photo: every logged food fills your protein counter.<\/div>\n<\/div>\n\n<div class=\"micro-cta\">\n  A useful reminder from our <a href=\"\/en\/etude-base-donnees-calories\/\">database study<\/a> : protein bars are the most inaccurate category on OpenFoodFacts (more than one entry in five inconsistent). Check the macros after a scan.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">06 &middot; Myth vs reality<\/span>Kidneys at risk, magic ceiling: what the science says<\/h2>\n\n<div class=\"key-grid\">\n  <div class=\"key-card\"><div class=\"kv\">28<span>trials<\/span><\/div><div class=\"kl\">in the Devries meta-analysis (2018): kidney function in healthy adults does not differ between higher and lower intakes<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">1,62<span>g\/kg<\/span><\/div><div class=\"kl\">Morton 2018's inflection point: beyond it, extra muscle gain becomes undetectable<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">20-30<span>%<\/span><\/div><div class=\"kl\">of protein calories burned by digestion alone: the most satiating AND most costly-to-store macro<\/div><\/div>\n<\/div>\n\n<div class=\"mvr\">\n  <div class=\"mv myth\">\n    <div class=\"tag\">The myth<\/div>\n    <h4>&laquo;&nbsp;Too much protein damages your kidneys&nbsp;&raquo;<\/h4>\n    <p>The idea comes from a real medical topic: with existing kidney disease, protein is restricted. Extrapolated to healthy people, it does not hold: the Devries meta-analysis (2018, 28 controlled trials) finds <b>no difference in kidney function<\/b> between higher- and lower-protein diets in healthy adults. The disclaimer stands: kidney disease = medical advice before any change.<\/p>\n  <\/div>\n  <div class=\"mv real\">\n    <div class=\"tag\">The measured reality<\/div>\n    <h4>The real ceiling is usefulness, not danger<\/h4>\n    <p>The ceiling that matters is elsewhere: beyond your range, extra protein simply builds <b>nothing measurable anymore<\/b> (inflection point at 1.62&nbsp;g\/kg in Morton 2018). It is not dangerous, it is useless: calories that will be missing from your training carbs or your enjoyment of food.<\/p>\n    <p>So the real question is not &laquo;&nbsp;can I eat more?&nbsp;&raquo; but &laquo;&nbsp;do I hit my range every day, weekends included?&nbsp;&raquo;. Consistency builds, not spikes.<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"body\">\n<p>The practical consequence: set your range on your lean mass, hit it daily with real food, and spend your attention on what actually progresses: your training and your consistency. Tracking exists exactly for that: seeing at a glance whether the count is there.<\/p>\n<\/div>\n\n<div class=\"micro-cta\">\n  To place your protein within your full expenditure: the <a href=\"\/en\/calculateur-tdee\/\">TDEE calculator<\/a> and the guide on <a href=\"\/en\/calculer-vraie-depense-calorique\/\">calculate your real calorie expenditure<\/a>.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">07 &middot; FAQ<\/span>Everything you wonder about protein<\/h2>\n<details class=\"faq\"><summary>How much protein per day to build muscle&nbsp;?<\/summary><div class=\"faq-body\"><p>The reference meta-analysis (Morton 2018, 49 studies) places the useful ceiling around 1.6 g per kilo of body weight, with an upper bound at 2.2 to cover the most demanding responders. Beyond that, no measurable extra gain. On lean mass, this calculator's range gives the equivalent personalized to your composition: calorie surplus and training progression do the rest.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>How much protein per day when cutting&nbsp;?<\/summary><div class=\"faq-body\"><p>More than at maintenance: 2.3 to 3.1 g per kilo of lean mass (Helms 2014), the higher the more aggressive your deficit and the leaner you are. In a deficit, protein is the signal telling your body to keep muscle and burn fat: Longland (2016) showed a 4.8 kg fat loss with a 1.1 kg muscle GAIN in 4 weeks in high-protein + strength subjects.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Why compute on lean mass and not total weight&nbsp;?<\/summary><div class=\"faq-body\"><p>Because protein feeds active tissues, not fat mass. A total-weight recommendation underfeeds lean muscular profiles and overfeeds high body fat profiles. Two 90 kg people can be 16 kg of lean mass apart: giving them the same target makes no sense. So you need your body fat: measure it with the tape or the BodyScan, then the math becomes trivial.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Is too much protein dangerous for the kidneys&nbsp;?<\/summary><div class=\"faq-body\"><p>In healthy adults, no: the Devries meta-analysis (2018, 28 controlled trials) finds no difference in kidney function between higher and lower intakes. Protein restriction concerns people with existing kidney disease: in that case, medical advice is mandatory before any dietary change.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Do you need protein right after training&nbsp;?<\/summary><div class=\"faq-body\"><p>The 30-minute &laquo;&nbsp;anabolic window&nbsp;&raquo; is largely overrated: what matters is your daily total and a reasonable spread over 3 to 5 servings. If your last meal was hours ago, a serving around training makes sense; otherwise, your next meal does the job just fine.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Whey or real food&nbsp;?<\/summary><div class=\"faq-body\"><p>Nutritionally, protein is protein: whey has nothing magical, it is just convenient and low-calorie for its content. Real food additionally brings satiety, micronutrients and pleasure. The good rule: cover the essentials with real food, keep whey for the moments when a meal is not possible.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Can you gain muscle and lose fat at the same time&nbsp;?<\/summary><div class=\"faq-body\"><p>Yes, under certain conditions: beginners, comebacks after a break, or a deficit with high protein and serious strength training (Longland 2016). That is body recomposition. You steer it precisely by tracking your body fat and lean mass rather than weight alone: the scale can stall while your body changes completely.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Does protein make you lose weight&nbsp;?<\/summary><div class=\"faq-body\"><p>Indirectly, it helps a lot: it is the most satiating macro, and 20 to 30% of its calories are burned in its own digestion (thermic effect). At equal calories, a higher-protein diet makes the deficit more sustainable and protects muscle. But the calorie deficit remains the engine: protein is the copilot.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Do women need less protein&nbsp;?<\/summary><div class=\"faq-body\"><p>Per kilo of lean mass, needs are comparable: the difference in total grams simply comes from a lower average lean mass. This calculator's ranges apply to both sexes; your body composition personalizes the number, not your sex in itself.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Does this calculator give an exact prescription&nbsp;?<\/summary><div class=\"faq-body\"><p>No: a target range based on published consensus, personalized by your lean mass and your goal. Precision depends on your body fat's, and the individual optimum varies with training, sleep and deficit. Aim for your range consistently, adjust on your results over 4 to 6 weeks, and with any condition, especially kidney disease, seek medical advice.<\/p><\/div><\/details>\n\n<div class=\"sources\">\n  <h4>Scientific sources<\/h4>\n  <ol>\n    <li>Morton RW, Murphy KT, McKellar SR, et al. A systematic review, meta-analysis and meta-regression of the effect of protein supplementation on resistance training-induced gains in muscle mass and strength. Br J Sports Med. 2018;52(6):376-384. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/28698222\/\" target=\"_blank\" rel=\"noopener\">PubMed 28698222<\/a>.<\/li>\n    <li>Helms ER, Aragon AA, Fitschen PJ. Evidence-based recommendations for natural bodybuilding contest preparation: nutrition and supplementation. J Int Soc Sports Nutr. 2014;11:20. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/24864135\/\" target=\"_blank\" rel=\"noopener\">PubMed 24864135<\/a>.<\/li>\n    <li>Phillips SM, Van Loon LJ. Dietary protein for athletes: from requirements to optimum adaptation. J Sports Sci. 2011;29 Suppl 1:S29-38. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/22150425\/\" target=\"_blank\" rel=\"noopener\">PubMed 22150425<\/a>.<\/li>\n    <li>Longland TM, Oikawa SY, Mitchell CJ, et al. Higher compared with lower dietary protein during an energy deficit combined with intense exercise promotes greater lean mass gain and fat mass loss. Am J Clin Nutr. 2016;103(3):738-46. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/26817506\/\" target=\"_blank\" rel=\"noopener\">PubMed 26817506<\/a>.<\/li>\n    <li>Devries MC, Sithamparapillai A, Brimble KS, et al. Changes in Kidney Function Do Not Differ between Healthy Adults Consuming Higher- Compared with Lower- or Normal-Protein Diets. J Nutr. 2018;148(11):1760-1775. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/30383278\/\" target=\"_blank\" rel=\"noopener\">PubMed 30383278<\/a>.<\/li>\n  <\/ol>\n<\/div>\n\n<div class=\"get-band\">\n  <h3>Your protein, counted effortlessly<\/h3>\n  <p>Every logged food (database, barcode, AI photo) fills your protein counter, and your target relies on your lean mass measured by BodyScan. Consistency becomes visible, day after day. Free download, 7-day trial on the annual plan.<\/p>\n  <div class=\"stores\">\n    <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"T\u00e9l\u00e9charger sur l'App Store\" loading=\"lazy\"><\/a>\n    <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-proteines\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Disponible sur Google Play\" loading=\"lazy\"><\/a>\n  <\/div>\n<\/div>\n<\/main>\n<\/div>\n\n<script data-wpmeteor-nooptimize=\"true\" type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-proteines\/#article\",\n      \"headline\": \"Calculateur de prot\u00e9ines : combien de grammes par jour, calcul\u00e9 sur ta masse maigre\",\n      \"description\": \"Calcule tes besoins en prot\u00e9ines en grammes par jour sur ta masse maigre selon ton objectif (s\u00e8che, maintien, prise de muscle). Fourchettes sourc\u00e9es : Morton 2018, Helms 2014.\",\n      \"inLanguage\": \"fr-FR\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"L'\u00e9quipe Lean\",\n        \"url\": \"https:\/\/lean-app.com\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Lean\",\n        \"url\": \"https:\/\/lean-app.com\/\"\n      },\n      \"datePublished\": \"2026-08-26\",\n      \"dateModified\": \"2026-08-26\",\n      \"mainEntityOfPage\": \"https:\/\/lean-app.com\/calculateur-proteines\/\"\n    },\n    {\n      \"@type\": \"WebApplication\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-proteines\/#calculator\",\n      \"name\": \"Calculateur de prot\u00e9ines (sur masse maigre)\",\n      \"applicationCategory\": \"HealthApplication\",\n      \"operatingSystem\": \"Web\",\n      \"url\": \"https:\/\/lean-app.com\/calculateur-proteines\/\",\n      \"description\": \"Estime tes grammes de prot\u00e9ines par jour \u00e0 partir de ta masse maigre (poids, bodyfat) et de ton objectif, avec r\u00e9partition par repas et \u00e9quivalents alimentaires.\"\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-proteines\/#breadcrumb\",\n      \"itemListElement\": [\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 1,\n          \"name\": \"Accueil\",\n          \"item\": \"https:\/\/lean-app.com\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 2,\n          \"name\": \"Calculateur prot\u00e9ines\",\n          \"item\": \"https:\/\/lean-app.com\/calculateur-proteines\/\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-proteines\/#faq\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Combien de prot\u00e9ines par jour pour prendre du muscle ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"La m\u00e9ta-analyse de Morton (2018, 49 \u00e9tudes) situe le plafond utile autour de 1,6 g par kilo de poids, borne haute \u00e0 2,2. Au-del\u00e0, aucun gain suppl\u00e9mentaire mesurable : le surplus calorique et l'entra\u00eenement font le reste.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Combien de prot\u00e9ines par jour en s\u00e8che ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"2,3 \u00e0 3,1 g par kilo de masse maigre (Helms 2014), d'autant plus haut que le d\u00e9ficit est agressif et que l'on est d\u00e9j\u00e0 sec. En d\u00e9ficit, les prot\u00e9ines prot\u00e8gent le muscle.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Pourquoi calculer sur la masse maigre et pas le poids total ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Les prot\u00e9ines nourrissent les tissus actifs, pas la masse grasse. Une reco au poids total sous-dose les profils secs et surdose les profils \u00e0 bodyfat \u00e9lev\u00e9.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Trop de prot\u00e9ines, c'est dangereux pour les reins ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Chez l'adulte en bonne sant\u00e9, la m\u00e9ta-analyse de Devries (2018, 28 essais) ne trouve aucune diff\u00e9rence de fonction r\u00e9nale entre apports hauts et bas. En cas de maladie r\u00e9nale existante, avis m\u00e9dical obligatoire.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Peut-on prendre du muscle et perdre du gras en m\u00eame temps ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Oui dans certaines conditions : d\u00e9butants, reprise, ou d\u00e9ficit avec prot\u00e9ines hautes et entra\u00eenement de force (Longland 2016). C'est la recomposition corporelle, qui se suit au bodyfat plut\u00f4t qu'au poids.\"\n          }\n        }\n      ]\n    },\n    {\n      \"@type\": \"MobileApplication\",\n      \"@id\": \"https:\/\/lean-app.com\/#app\",\n      \"name\": \"Lean\",\n      \"operatingSystem\": \"iOS, Android\",\n      \"applicationCategory\": \"HealthApplication\",\n      \"url\": \"https:\/\/lean-app.com\/\",\n      \"downloadUrl\": [\n        \"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646\",\n        \"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\"\n      ]\n    }\n  ]\n}\n<\/script>\n\n<script data-wpmeteor-nooptimize=\"true\">(function(){\n  var phoneImg = document.getElementById('phoneImg');\n  var phoneBack = document.getElementById('phoneBack');\n  var zones = document.getElementById('phoneZones');\n  var topTabs = document.querySelectorAll('.phone-tabs button');\n  var navTaps = document.querySelectorAll('.phone-navbar button');\n\n  var tabMap = {\n    bilan:    {src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp',     drill:false},\n    kcal:     {src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp',      drill:false},\n    depense:  {src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_depense.webp',   drill:true},\n    strategie:{src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_strategie.webp', drill:false}\n  };\n  var subMap = {\n    BMR:  'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_BMR.webp',\n    NEAT: 'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_NEAT.webp',\n    EAT:  'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_EAT.webp',\n    TEF:  'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp'\n  };\n  var currentTab = 'depense';\n\n  function setActive(tab){\n    topTabs.forEach(function(b){ b.classList.toggle('on', b.dataset.tab===tab); });\n  }\n  function showTab(tab){\n    var t = tabMap[tab]; if(!t) return;\n    currentTab = tab;\n    phoneImg.style.opacity = 0;\n    setTimeout(function(){\n      phoneImg.className = 'phone-bg tab-' + tab;\n      phoneImg.style.opacity = 1;\n      zones.style.display = t.drill ? 'block' : 'none';\n      phoneBack.classList.remove('on');\n    }, 150);\n    setActive(tab);\n  }\n  function showSub(sub){\n    var src = subMap[sub]; if(!src) return;\n    phoneImg.style.opacity = 0;\n    setTimeout(function(){\n      phoneImg.className = 'phone-bg sub-' + sub;\n      phoneImg.style.opacity = 1;\n      zones.style.display = 'none';\n      phoneBack.classList.add('on');\n    }, 150);\n  }\n\n  var hintD = document.getElementById('tapHintDesktop');\n  var hintM = document.getElementById('tapHintMobile');\n  function hideHints(){\n    if (hintD) hintD.classList.add('hidden');\n    if (hintM) hintM.classList.add('hidden');\n  }\n\n  topTabs.forEach(function(b){ b.addEventListener('click', function(){ hideHints(); showTab(b.dataset.tab); }); });\n  navTaps.forEach(function(b){ b.addEventListener('click', function(){ hideHints(); showTab(b.dataset.tab); }); });\n  zones.querySelectorAll('.z').forEach(function(z){\n    z.addEventListener('click', function(){ hideHints(); showSub(z.dataset.sub); });\n    z.addEventListener('keydown', function(e){\n      if (e.key==='Enter' || e.key===' ') { e.preventDefault(); hideHints(); showSub(z.dataset.sub); }\n    });\n  });\n  phoneBack.addEventListener('click', function(){ hideHints(); showTab(currentTab); });\n})();<\/script>\n\n<script data-wpmeteor-nooptimize=\"true\">\n(function(){\n  \/\/ ============================================================\n  \/\/ Calcul des besoins en proteines : ESTIMATION PEDAGOGIQUE.\n  \/\/ Fourchettes publiees : Morton 2018 (PubMed 28698222, plafond ~1.6-2.2 g\/kg),\n  \/\/ Helms 2014 (24864135, seche : 2.3-3.1 g\/kg de masse maigre),\n  \/\/ Phillips 2011 (22150425), Longland 2016 (26817506).\n  \/\/ ============================================================\n  var LEAN_LANG = (((document.documentElement && document.documentElement.lang)||'').toLowerCase().indexOf('en')===0 || location.pathname.indexOf('\/en\/')===0) ? 'en' : 'fr';\n  function T(fr,en){return LEAN_LANG==='en'?en:fr;}\n  function byId(id){ return document.getElementById(id); }\n  function getSex(){\n    var r = document.querySelector('input[name=sex]:checked');\n    return r ? r.value : 'M';\n  }\n  function fmt(n){ return LEAN_LANG==='en' ? Math.round(n).toLocaleString('en-US') : Math.round(n).toLocaleString('fr-FR'); }\n  function fmt3(n){ return n.toLocaleString(LEAN_LANG==='en'?'en-US':'fr-FR', {minimumFractionDigits:3, maximumFractionDigits:3}); }\n  function fmt1(n){ return n.toLocaleString(LEAN_LANG==='en'?'en-US':'fr-FR', {minimumFractionDigits:1, maximumFractionDigits:1}); }\n  function clamp(v, lo, hi){ return Math.max(lo, Math.min(hi, v)); }\n  function compute(){\n    var sex = getSex();\n    var age = parseFloat(byId('cAge').value) || 0;\n    var w = parseFloat(byId('cWeight').value) || 0;\n    var bf = parseFloat(byId('cBodyfat').value) || 0;\n    var goalEl = document.querySelector('input[name=goal]:checked');\n    var goal = goalEl ? goalEl.value : 'cut';\n    byId('bfVal').innerHTML = String(bf).replace('.', ',') + '\\u202F%';\n    byId('bfHint').textContent = (sex === 'F')\n      ? T('Fourchettes usuelles pour une femme : 18 \u00e0 32\\u202F%. Mesure-le au ruban avec notre calculateur de masse grasse, ou en photo avec le BodyScan.','Typical ranges for a woman: 18 to 32%. Measure it with our body fat calculator (tape) or the BodyScan photo.')\n      : T('Fourchettes usuelles pour un homme : 10 \u00e0 25\\u202F%. Mesure-le au ruban avec notre calculateur de masse grasse, ou en photo avec le BodyScan.','Typical ranges for a man: 10 to 25%. Measure it with our body fat calculator (tape) or the BodyScan photo.');\n    byId('goalHint').textContent = (goal === 'cut')\n      ? T('En s\u00e8che, les prot\u00e9ines prot\u00e8gent ton muscle pendant le d\u00e9ficit : c\\u2019est l\u00e0 que la fourchette est la plus haute.','In a cut, protein protects your muscle during the deficit: that is where the range is highest.')\n      : (goal === 'maintain'\n        ? T('En maintien, la fourchette assure la r\u00e9cup\u00e9ration et la sati\u00e9t\u00e9 sans exc\u00e8s inutile.','At maintenance, the range covers recovery and satiety without pointless excess.')\n        : T('En prise de muscle, au-del\u00e0 de la fourchette, le surplus de prot\u00e9ines n\\u2019acc\u00e9l\u00e8re rien : ce sont les kcal et l\\u2019entra\u00eenement qui font le reste.','When building muscle, going beyond the range speeds up nothing: calories and training do the rest.'));\n    if (!w) return;\n    var ffm = w * (1 - bf \/ 100);\n    var lo_k, hi_k, pill;\n    if (goal === 'cut') { lo_k = 2.3; hi_k = 3.1; pill = T('Objectif s\u00e8che','Cutting target'); }\n    else if (goal === 'maintain') { lo_k = 1.8; hi_k = 2.2; pill = T('Objectif maintien','Maintenance target'); }\n    else { lo_k = 1.6; hi_k = 2.2; pill = T('Objectif prise de muscle','Muscle gain target'); }\n    var lo = Math.round(ffm * lo_k);\n    var hi = Math.round(ffm * hi_k);\n    var mid = Math.round((lo + hi) \/ 2);\n    var meals = (mid >= 160) ? 4 : 3;\n    byId('rProt').textContent = lo + '-' + hi;\n    byId('protBar').style.width = clamp(mid \/ 260 * 100, 8, 100) + '%';\n    var p = byId('protPill');\n    p.className = 'neat-pill ok';\n    p.textContent = pill;\n    byId('rMeal').textContent = Math.round(lo \/ meals) + '-' + Math.round(hi \/ meals);\n    byId('rMealN').textContent = meals;\n    var mealUnit = byId('rMeal').nextElementSibling;\n    if (mealUnit) mealUnit.textContent = 'g \\u00D7 ' + meals;\n    byId('rFfm').textContent = fmt1(ffm);\n    byId('rMid').textContent = mid;\n    byId('shareBar').style.width = clamp(ffm \/ w * 100, 8, 100) + '%';\n    byId('eqPoulet').textContent = fmt(Math.round(mid \/ 0.31 \/ 10) * 10);\n    byId('eqOeufs').textContent = Math.round(mid \/ 6.5);\n    byId('eqSkyr').textContent = (mid \/ 100).toFixed(1).replace('.', ',');\n    var totalReco = Math.round(w * 2);\n    byId('dTotal').textContent = totalReco;\n    byId('dGap').textContent = Math.abs(totalReco - mid);\n    var title = byId('recoTitle');\n    var body = byId('recoBody');\n    if (goal === 'cut') {\n      title.textContent = T('En s\u00e8che : les prot\u00e9ines sont ton assurance muscle','In a cut: protein is your muscle insurance');\n      body.textContent = T('Plus ton d\u00e9ficit est grand et plus tu es sec, plus tu montes dans la fourchette. L\\u2019\u00e9tude de Longland (2016) l\\u2019a montr\u00e9 : d\u00e9ficit + prot\u00e9ines hautes + entra\u00eenement de force = perte de gras AVEC gain de muscle. R\u00e9partis tes prises sur la journ\u00e9e et garde l\\u2019entra\u00eenement lourd : c\\u2019est le signal qui dit \u00e0 ton corps de garder le muscle.','The bigger your deficit and the leaner you are, the higher you sit in the range. Longland (2016) showed it: deficit + high protein + strength training = fat loss WITH muscle gain. Spread your intake through the day and keep training heavy: that is the signal telling your body to keep the muscle.');\n    } else if (goal === 'maintain') {\n      title.textContent = T('En maintien : la r\u00e9gularit\u00e9 avant tout','At maintenance: consistency first');\n      body.textContent = T('Ta fourchette est confortable : atteins-la un jour normal sans te forcer, avec une source de prot\u00e9ines \u00e0 chaque repas. Le pi\u00e8ge classique est le week-end, o\u00f9 l\\u2019apport chute de 30 \u00e0 40\\u202F% sans qu\\u2019on s\\u2019en rende compte. Un tracking l\u00e9ger suffit \u00e0 le voir.','Your range is comfortable: hit it on a normal day without forcing, with a protein source at every meal. The classic trap is the weekend, when intake silently drops 30 to 40%. Light tracking is enough to catch it.');\n    } else {\n      title.textContent = T('En prise : les prot\u00e9ines ne sont pas le levier n\u00b01','When bulking: protein is not lever number one');\n      body.textContent = T('Au-del\u00e0 de ta fourchette, les prot\u00e9ines suppl\u00e9mentaires ne construisent pas plus de muscle (Morton 2018) : c\\u2019est ton surplus calorique ma\u00eetris\u00e9 et ta progression \u00e0 l\\u2019entra\u00eenement qui pilotent. Mets l\\u2019\u00e9nergie \u00e9conomis\u00e9e dans les glucides autour des s\u00e9ances.','Beyond your range, extra protein builds no extra muscle (Morton 2018): your controlled calorie surplus and training progression drive results. Put the spare energy into carbs around your sessions.');\n    }\n    if (age >= 50) {\n      body.textContent = body.textContent + T(' Apr\u00e8s 50 ans, vise plut\u00f4t le haut de ta fourchette : la r\u00e9sistance anabolique augmente les besoins par prise.',' After 50, aim for the top of your range: anabolic resistance raises per-meal needs.');\n    }\n  }\n  ['cAge','cWeight','cBodyfat'].forEach(function(id){\n    var el = byId(id);\n    if (el) { el.addEventListener('input', compute); el.addEventListener('change', compute); }\n  });\n  document.querySelectorAll('input[name=sex], input[name=goal]').forEach(function(el){ el.addEventListener('change', compute); });\n  compute();\n  \/\/ ---- popup BodyScan (aide bodyfat), zero lib externe ----\n  var modal = byId('bfModal');\n  function bfOpen(){ modal.classList.add('open'); document.body.style.overflow = 'hidden'; }\n  function bfShut(){ modal.classList.remove('open'); document.body.style.overflow = ''; }\n  if (modal) {\n    byId('bfHelp').addEventListener('click', bfOpen);\n    byId('bfClose').addEventListener('click', bfShut);\n    byId('bfOvl').addEventListener('click', bfShut);\n    document.addEventListener('keydown', function(e){ if (e.key === 'Escape') bfShut(); });\n  }\n})();\n<\/script>\n\n<script data-wpmeteor-nooptimize=\"true\">\n(function(){\n  var shell = document.getElementById('lvm-shell');\n  if (shell) shell.classList.add('force-show');\n})();\n<\/script>\n\n<!-- lean-mesh-draft -->\n<aside class=\"lean-mesh\" style=\"margin:48px auto;max-width:760px;padding:24px 28px;background:#ffffff;border-left:4px solid #FF2D6E;border-radius:0 12px 12px 0;box-shadow:0 6px 24px rgba(20,20,40,0.06);font-family:-apple-system,'SF Pro Text','Segoe UI',Roboto,Arial,sans-serif;color:#1a1a2e;\">\n<p style=\"margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#FF2D6E;\">Read also<\/p>\n<ul style=\"list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;\">\n<li><a href=\"\/en\/calculateur-masse-grasse\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Body fat calculator (US Navy method) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">The step before: measure your body fat with a tape to know your lean mass.<\/span><\/a><\/li>\n<li><a href=\"\/en\/calcul-metabolisme-de-base\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Basal metabolic rate: the most precise formula <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Why your BMR is computed on your lean mass, not your weight.<\/span><\/a><\/li>\n<li><a href=\"\/en\/calculateur-tdee\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Full TDEE calculator: BMR + NEAT + EAT + TEF <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Your expenditure broken down, brick by brick, on your real body fat.<\/span><\/a><\/li>\n<li><a href=\"\/en\/calculer-vraie-depense-calorique\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">How to calculate your real calorie expenditure <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">The complete guide, from BMR to metabolic adaptation, with the traps of the market.<\/span><\/a><\/li>\n<li><a href=\"\/en\/calculateur-adaptation-metabolique\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Metabolic adaptation calculator <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Has your BMR slowed down, and by how much: coefficient 100 to 0 %.<\/span><\/a><\/li>\n<li><a href=\"\/en\/depense-energetique-totale-v2\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Total daily energy expenditure: the complete guide <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Everything that makes up your kcal\/day, from BMR to the thermic effect of food.<\/span><\/a><\/li>\n<\/ul>\n<\/aside>","protected":false},"excerpt":{"rendered":"<p>Calcule tes besoins en prot\u00e9ines en grammes par jour sur ta masse maigre, pas ton poids total : s\u00e8che, maintien ou prise de muscle. Recommandations sourc\u00e9es.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-lvm-blank","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-1958","post","type-post","status-publish","format-standard","hentry","category-comparateurs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre - Lean<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lean-app.com\/en\/calculateur-proteines\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre - Lean\" \/>\n<meta property=\"og:description\" content=\"Calcule tes besoins en prot\u00e9ines en grammes par jour sur ta masse maigre, pas ton poids total : s\u00e8che, maintien ou prise de muscle. Recommandations sourc\u00e9es.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lean-app.com\/en\/calculateur-proteines\/\" \/>\n<meta property=\"og:site_name\" content=\"Lean\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-25T11:41:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-25T11:41:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\" \/>\n<meta name=\"author\" content=\"L&#039;\u00e9quipe Lean\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"L&#039;\u00e9quipe Lean\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/\"},\"author\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"headline\":\"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre\",\"datePublished\":\"2026-08-25T11:41:43+00:00\",\"dateModified\":\"2026-08-25T11:41:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/\"},\"wordCount\":3241,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\",\"articleSection\":[\"Comparateurs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lean-app.com\/calculateur-proteines\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/\",\"url\":\"https:\/\/lean-app.com\/calculateur-proteines\/\",\"name\":\"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre - Lean\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\",\"datePublished\":\"2026-08-25T11:41:43+00:00\",\"dateModified\":\"2026-08-25T11:41:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lean-app.com\/calculateur-proteines\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lean-app.com\/calculateur-proteines\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lean-app.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lean-app.com\/#website\",\"url\":\"https:\/\/lean-app.com\/\",\"name\":\"Lean\",\"description\":\"Download and try the app for FREE \u2014 take control of your body FOR LIFE.Download and try the app for FREE \u2014 take control of your body FOR LIFE.\",\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lean-app.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lean-app.com\/#organization\",\"name\":\"Lean\",\"url\":\"https:\/\/lean-app.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lean-app.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png\",\"width\":1672,\"height\":1484,\"caption\":\"Lean\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre - Lean","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lean-app.com\/en\/calculateur-proteines\/","og_locale":"en_US","og_type":"article","og_title":"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre - Lean","og_description":"Calcule tes besoins en prot\u00e9ines en grammes par jour sur ta masse maigre, pas ton poids total : s\u00e8che, maintien ou prise de muscle. Recommandations sourc\u00e9es.","og_url":"https:\/\/lean-app.com\/en\/calculateur-proteines\/","og_site_name":"Lean","article_publisher":"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr","article_published_time":"2026-08-25T11:41:43+00:00","article_modified_time":"2026-08-25T11:41:45+00:00","og_image":[{"url":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","type":"","width":"","height":""}],"author":"L'\u00e9quipe Lean","twitter_card":"summary_large_image","twitter_misc":{"Written by":"L'\u00e9quipe Lean","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lean-app.com\/calculateur-proteines\/#article","isPartOf":{"@id":"https:\/\/lean-app.com\/calculateur-proteines\/"},"author":{"@id":"https:\/\/lean-app.com\/#organization"},"headline":"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre","datePublished":"2026-08-25T11:41:43+00:00","dateModified":"2026-08-25T11:41:45+00:00","mainEntityOfPage":{"@id":"https:\/\/lean-app.com\/calculateur-proteines\/"},"wordCount":3241,"commentCount":0,"publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"image":{"@id":"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","articleSection":["Comparateurs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lean-app.com\/calculateur-proteines\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lean-app.com\/calculateur-proteines\/","url":"https:\/\/lean-app.com\/calculateur-proteines\/","name":"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre - Lean","isPartOf":{"@id":"https:\/\/lean-app.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage"},"image":{"@id":"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","datePublished":"2026-08-25T11:41:43+00:00","dateModified":"2026-08-25T11:41:45+00:00","breadcrumb":{"@id":"https:\/\/lean-app.com\/calculateur-proteines\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lean-app.com\/calculateur-proteines\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lean-app.com\/calculateur-proteines\/#primaryimage","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/lean-app.com\/calculateur-proteines\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lean-app.com\/"},{"@type":"ListItem","position":2,"name":"Calculateur de prot\u00e9ines : tes grammes par jour, sur ta masse maigre"}]},{"@type":"WebSite","@id":"https:\/\/lean-app.com\/#website","url":"https:\/\/lean-app.com\/","name":"Lean","description":"Download and try the app for FREE \u2014 take control of your body FOR LIFE.Download and try the app for FREE \u2014 take control of your body FOR LIFE.","publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lean-app.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lean-app.com\/#organization","name":"Lean","url":"https:\/\/lean-app.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lean-app.com\/#\/schema\/logo\/image\/","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png","width":1672,"height":1484,"caption":"Lean"},"image":{"@id":"https:\/\/lean-app.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr"]}]}},"_links":{"self":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/posts\/1958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/comments?post=1958"}],"version-history":[{"count":0,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/posts\/1958\/revisions"}],"wp:attachment":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/media?parent=1958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/categories?post=1958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/tags?post=1958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}