@font-face{font-family:TRNR;src:url('assets/inter-normal-300-v5.woff2');font-weight:300;font-display:swap}@font-face{font-family:TRNR;src:url('assets/inter-normal-400-v5.woff2');font-weight:400;font-display:swap}@font-face{font-family:Accent;src:url('assets/archivo-black-v5.woff2');font-weight:400;font-display:swap}
:root{--ink:#171c22;--paper:#f7f3ed;--gold:#c6a052;--muted:#b8c0ca;--line:#ffffff21;color-scheme:dark;background:var(--ink);color:var(--paper);font-family:TRNR,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}html{scroll-padding-top:30px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%;height:auto}p{font-weight:300;font-size:17px;line-height:1.65;margin:0 0 24px}h1,h2,h3{font-weight:300;letter-spacing:-.035em;margin:0;line-height:1.13}h1{font-size:clamp(44px,4.8vw,72px)}h2{font-size:clamp(34px,3.8vw,56px)}h1 em,h2 em{display:block;font-family:Accent,sans-serif;font-style:normal;font-size:1.03em;line-height:1.12;transform:skewX(-10deg) scaleX(.8);transform-origin:left center;width:124%;margin-top:10px;letter-spacing:-.03em}h3{font-size:26px}em{font-style:normal;color:var(--gold)}.wrap{width:88%;max-width:1240px;margin-inline:auto}.eyebrow{font-size:12px;font-weight:400;letter-spacing:.19em;color:var(--gold);margin-bottom:26px}.lead{font-size:23px;line-height:1.5;margin-top:28px}.caption,.choice-note{font-size:12px;line-height:1.6;color:var(--muted)}.skip{position:absolute;top:-80px;left:20px;padding:15px;background:var(--paper);color:var(--ink);z-index:20}.skip:focus{top:10px}header{height:82px;display:flex;gap:27px;align-items:center;padding-inline:6%;border-bottom:1px solid var(--line)}.logo{width:104px}header>span{font-size:13px;color:var(--gold)}nav{margin-left:auto;display:flex;gap:30px;font-size:13px}nav a{padding-block:15px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:4%;min-height:790px;align-items:center;padding-top:48px;padding-bottom:50px}.hero-copy{position:relative;z-index:2}.hero-copy>p:not(.eyebrow):not(.lead){max-width:40ch;color:var(--muted)}.hero .eyebrow{margin-bottom:25px}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #c6a05275;font-size:14px;padding:13px 0}.text-link span{color:var(--gold);font-size:22px}.hero-stage{position:relative;height:695px;align-self:center}.hero-front{position:absolute;width:315px;right:0;top:8px;z-index:1}.stage-caption{position:absolute;bottom:8px;right:2%;font-size:12px;color:var(--muted)}.phone svg{display:block;width:100%;height:auto;overflow:visible}.phone{filter:drop-shadow(0 25px 23px #0004)}.topics{display:flex;justify-content:space-between;padding:31px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:22px;color:var(--gold);font-weight:300}.profile-section{padding:130px 0;display:grid;grid-template-columns:.9fr 1fr;gap:11%;align-items:center}.profile-visual .phone{width:345px;margin:auto}.profile-visual .caption{text-align:center;margin:26px 0 0}.copy>p:not(.eyebrow):not(.lead){color:var(--muted)}.context-row{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:27px}.context-row>span{font-size:12px;color:var(--gold);padding-top:6px}.context-row h3{font-size:24px;margin-bottom:13px}.context-row p{font-size:15px;color:var(--muted);margin:0;max-width:48ch}.paper{background:var(--paper);color:var(--ink);--line:#171c2226;--muted:#59616a;color-scheme:light}.paper .eyebrow{color:#806229}.paper h2 em{color:var(--ink)}.paper .copy>p{color:var(--ink)}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:110px 0}.nutrition-stage{padding-left:12%;position:relative}.nutrition-stage .phone{width:365px;max-width:100%}.phone-caption{display:block;font-size:12px;color:#59616a;text-align:center;margin-top:23px}.choices{display:flex;flex-wrap:wrap;gap:8px;margin:33px 0 15px}.choice-note{margin:0}.editorial-note{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.editorial-note h3{font-size:23px;margin-bottom:15px}.editorial-note p{font-size:15px;color:#59616a;margin:0}.training{padding:110px 0 120px}.section-heading{text-align:center}.section-heading h2 em{width:auto;transform-origin:center}.section-heading>p:last-child{margin:30px auto 0;color:var(--muted)}.training-layout{display:grid;grid-template-columns:.8fr 1.18fr .75fr;gap:5%;align-items:center;margin-top:65px}.training-device .phone{max-width:390px;margin:auto}.training-device .caption{text-align:center;margin:24px 0 0}.large-number{display:block;color:var(--gold);font:300 116px/1 TRNR;margin-bottom:22px}.training-side h3{font-size:26px;line-height:1.3}.training-side .choices{flex-direction:column;align-items:flex-start;margin-top:28px;gap:11px}.training-side .training-aside{padding-left:7%;align-self:center}.training-aside h3{font-size:32px;line-height:1.25;margin-bottom:26px}.training-aside p{font-size:15px;color:var(--muted)}.small-rule{width:48px;height:1px;background:var(--gold);margin:30px 0}.session-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;padding:110px 0}.session-device{align-self:center;position:relative}.session-device .phone{width:405px;margin:auto}.session .copy{padding-bottom:25px}.steps{margin:28px 0}.steps p{font-size:15px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:18px;margin-bottom:20px}.steps span{font-size:12px;color:#806229;flex-shrink:0}.recovery{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:120px 0}.recovery-device{padding-left:13%}.recovery-device .phone{width:355px;max-width:100%}.recovery-device .caption{text-align:center;margin-top:24px}.aside-note{font-size:13px;line-height:1.6;border-left:1px solid var(--gold);padding-left:20px;margin-top:30px;max-width:40ch}.evolution-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding:110px 0}.evolution-device .phone{width:350px;margin:auto}.axes{list-style:none;padding:0;margin:30px 0;display:flex;flex-wrap:wrap;gap:10px 22px;color:#806229;font-size:17px}.axes li{padding-bottom:8px;border-bottom:1px solid #c6a05280}.memory{padding:115px 0}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:55px}.memory-grid article{padding-top:25px;border-top:1px solid var(--line)}.memory-grid article>span{font-size:12px;color:var(--gold)}.memory-grid h3{margin:22px 0 18px}.memory-grid p{font-size:16px;color:var(--muted)}.closing{text-align:center;padding:95px 6% 80px;background:#13181d}.closing h2{font-size:clamp(32px,3.5vw,48px)}.closing h2 em{width:auto;transform-origin:center}.cta{display:inline-flex;gap:40px;align-items:center;border-radius:30px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:400;padding:19px 27px;margin:36px 0}.cta span{font-size:20px}.closing .caption{font-size:12px;max-width:90ch;margin:10px auto 0}footer{display:flex;align-items:center;gap:23px;padding:30px 0;font-size:12px;color:var(--muted)}footer .logo{width:84px}footer a{margin-left:auto}footer>span:nth-of-type(2){margin-left:auto}
/* Seule la zone des messages est illustrée ; le chrome vient de la capture native. */
.native-dialogue{height:100%;width:100%;overflow:hidden;background:#171c22;color:#d0d5dc;font-family:-apple-system,BlinkMacSystemFont,sans-serif;padding:0 66px 30px;box-sizing:border-box}.native-dialogue p{font-family:inherit;font-size:51px;font-weight:400;line-height:1.48;letter-spacing:0;margin:0 0 36px}.native-dialogue .chat-date{text-align:center;font-size:36px;color:#7d8791;margin:22px 0 60px}.native-dialogue .chat-q{color:#171c22;background:#c6a052;border-radius:57px 57px 15px 57px;padding:42px 51px;margin:0 0 63px 114px;font-weight:500;line-height:1.42;box-shadow:0 9px 12px #0002}.native-dialogue .chat-a{margin:0 0 63px}.native-dialogue b{font-size:36px;font-weight:800;letter-spacing:3px;color:#c6a052;display:block;margin-bottom:39px}.native-dialogue .chat-a p:last-child{margin-bottom:0}
@media(hover:hover){nav a:hover,.text-link:hover{color:var(--gold)}.cta:hover{background:#d3b16d}}
@media(min-width:1500px){.hero-front{width:340px}.hero-stage{height:735px}}
@media(max-width:1100px){.hero{grid-template-columns:1fr 1fr;min-height:720px}.hero-stage{height:615px}.hero-front{width:280px;right:-2%}.hero-copy p{font-size:16px}.hero-copy .lead{font-size:21px}.hero h1{font-size:44px}.profile-section{gap:7%}.profile-visual .phone{width:315px}.split{gap:7%}.nutrition-stage{padding-left:5%}.training-layout{grid-template-columns:.8fr 1.15fr;gap:8%}.training-aside{display:none}.training-device .phone{max-width:370px}.training-side{max-width:320px}.session-device .phone{width:350px}.recovery-device{padding-left:3%}.evolution-device .phone{width:320px}.memory-grid{gap:30px}}
@media(max-width:760px){.wrap{width:88%}header{height:68px;padding-inline:6%;gap:16px}.logo{width:82px}header>span{font-size:12px}nav{gap:16px;font-size:12px}nav a:first-child,nav a:nth-child(2){display:none}.hero{display:flex;flex-direction:column;padding-top:49px;padding-bottom:32px;gap:35px;min-height:0;align-items:stretch}.hero h1{font-size:43px}.hero .eyebrow{font-size:11px;margin-bottom:23px}.hero-copy .lead{font-size:21px;margin-top:25px}.hero-copy p{font-size:16px}.hero-copy .text-link{font-size:13px;gap:17px}.hero-stage{width:100%;max-width:420px;height:573px;align-self:center}.hero-front{width:245px;right:-4%;top:0}.stage-caption{bottom:14px;right:0;font-size:11px}.topics{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:20px;padding:29px 0}.topics span:nth-child(even){text-align:right}h2{font-size:34px}h2 em{font-size:1.02em}.eyebrow{font-size:11px;margin-bottom:23px}.lead{font-size:21px}.profile-section{display:flex;flex-direction:column-reverse;gap:40px;padding:70px 0}.profile-visual{width:100%}.profile-visual .phone{width:310px;max-width:100%}.context-row{margin-top:23px;padding-top:22px;gap:16px}.context-row h3{font-size:23px}.context-row p{font-size:15px}.split{display:flex;flex-direction:column;padding:70px 0;gap:45px}.nutrition-stage{padding:0;width:100%}.nutrition-stage .phone{width:330px;margin:auto}.choices{gap:7px}.nutrition .choices{flex-wrap:nowrap;gap:6px}.nutrition .copy>p{font-size:16px}.copy>.lead{font-size:21px}.copy>.caption{font-size:12px}.editorial-note{margin-top:27px;padding-top:23px}.training{padding:75px 0}.section-heading{text-align:left}.section-heading h2 em{transform-origin:left;width:124%}.section-heading>p:last-child{font-size:16px;margin-top:24px}.training-layout{display:flex;flex-direction:column;gap:30px;margin-top:35px}.large-number{display:none}.training-side{max-width:none;width:100%}.training-side h3{font-size:24px}.training-side h3 br{display:none}.training-side .choices{flex-direction:row;gap:8px;margin-top:23px}.training-side .training-device{width:100%}.training-device .phone{width:330px;max-width:100%}.session-layout{display:flex;flex-direction:column-reverse;gap:35px;padding:70px 0}.session-device{width:100%}.session-device .phone{width:350px;max-width:100%}.session .copy{padding:0}.steps p{font-size:14px;align-items:baseline;gap:15px}.recovery{display:flex;flex-direction:column;padding:70px 0;gap:40px}.recovery-device{padding:0;width:100%}.recovery-device .phone{width:330px;margin:auto}.evolution-layout{display:flex;flex-direction:column-reverse;gap:40px;padding:70px 0}.evolution-device{width:100%}.evolution-device .phone{width:320px;max-width:100%}.memory{padding:75px 0}.memory-grid{grid-template-columns:1fr;gap:10px;margin-top:37px}.memory-grid article{padding-top:22px}.memory-grid h3{margin:15px 0;font-size:25px}.memory-grid p{font-size:16px;margin-bottom:25px}.closing{padding:70px 6%}.closing h2{font-size:32px}.closing h2 em{font-size:.98em}.closing .caption{font-size:11px;line-height:1.8}.closing .caption br{display:none}footer{flex-wrap:wrap;gap:18px;font-size:11px}footer>span:nth-of-type(2){order:4;width:100%;margin:0}.desktop{display:none}}
@media(max-width:360px){.hero h1{font-size:38px}.hero-front{width:225px}.hero-stage{height:535px}.nutrition .choices{flex-wrap:wrap}h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.copy>.eyebrow{font-size:12px;color:var(--gold)}.paper .copy>.eyebrow{color:#806229}.copy>.aside-note{font-size:13px}
@media(max-width:760px){.copy>.eyebrow{font-size:11px}.copy>.aside-note{font-size:13px}}

/* Ouverture : un seul iPhone frontal, centré. */
.hero-front{right:50%;transform:translateX(50%)}
/* Photos jointes : 150 × 150 pt, comme TRNRCoachChatView. */
.chat-attachment{display:block;width:450px;height:450px;object-fit:cover;max-width:none;border-radius:54px;margin:0 0 42px auto;border:3px solid #ffffff24;box-shadow:0 15px 30px #0004;background:#f7f3ed}.native-dialogue:has(.chat-attachment) .chat-date{margin-bottom:35px}.native-dialogue:has(.chat-attachment) .chat-q{margin-bottom:48px}.native-dialogue:has(.chat-attachment) .chat-a{margin-bottom:0}.native-dialogue:has(.chat-attachment) .chat-a p{margin-bottom:32px}
.photo-chapter{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:110px 0}.photo-editorial>p{max-width:44ch;color:var(--muted)}.photo-editorial .eyebrow{color:var(--gold)}.photo-editorial .lead{color:inherit}.photo-phone-scene>.phone{width:420px;max-width:100%;margin:auto}.photo-phone-scene>.caption{text-align:center;max-width:45ch;margin:20px auto 0}.meal-source{margin:32px 0 26px;max-width:430px}.meal-source>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.meal-source figcaption,.machine-source figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}.photo-credit{font-size:11px!important;color:var(--muted);line-height:1.6}.photo-credit a{text-decoration:underline;text-underline-offset:3px}.demo-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:27px}.replay span{font-size:18px;line-height:1}.machine-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:110px 0}.machine-source{display:flex;align-items:center;gap:20px;margin:25px 0}.machine-source img{width:265px;max-width:65%;height:auto}.machine-source figcaption{color:#59616a;font-size:13px;max-width:150px}.machine-source figcaption span{display:block;font-size:11px;margin-top:10px}.paper .photo-editorial .eyebrow{color:#806229}.machine-chapter{border-bottom:1px solid #171c2220}.machine-chapter .caption{font-size:13px}.machine-chapter .photo-credit{text-decoration:underline;text-underline-offset:3px}
.memory-story{display:grid;grid-template-columns:1fr 70px 1fr;gap:2%;max-width:1050px;margin:60px auto 0;align-items:center}.memory-device .phone{width:410px;max-width:100%;margin:auto}.story-label{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 28px}.story-label span{font-size:12px;color:var(--gold)}.story-label h3{font-size:24px}.memory-connector{font-size:40px;color:var(--gold);text-align:center}.memory-device>.memory-caption{text-align:center;margin:25px 0 0}.memory-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px;border-top:1px solid var(--line);padding-top:35px}.memory-footer h3{font-size:24px;margin-bottom:17px}.memory-footer p{font-size:15px;color:var(--muted)}
/* Motion: explanation, once per scene. UI transitions are interruptible. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--motion-ui:240ms;--motion-scene:600ms}.motion-ready .phone-reveal{transform:translateY(28px);transition:transform var(--motion-scene) var(--ease-out)}.motion-ready .phone-reveal.is-visible{transform:translateY(0)}/* WebKit: do not composite HTML children independently inside a scaled SVG foreignObject. */
.demo-step{transition:none}.scene-staging .demo-step{visibility:hidden}.scene-staging .demo-step.step-visible{visibility:visible}.skip-motion *{transition:none!important}.scene-paused .demo-step{visibility:visible!important}
@media(hover:hover) and (pointer:fine){}
@media(max-width:1100px){.photo-chapter,.machine-layout{gap:6%}.photo-phone-scene>.phone{width:380px}.machine-source img{width:225px}.memory-device .phone{width:365px}.memory-story{grid-template-columns:1fr 45px 1fr;gap:1%}.memory-footer{gap:28px}}
@media(max-width:760px){.photo-chapter{display:flex;flex-direction:column;padding:70px 0;gap:38px}.photo-editorial{width:100%}.photo-editorial p{font-size:16px}.photo-editorial .eyebrow{font-size:11px}.photo-editorial .lead{font-size:21px}.meal-source{max-width:100%;margin-top:27px}.photo-phone-scene{width:100%}.photo-phone-scene>.phone{width:340px}.photo-credit{font-size:11px!important}.demo-actions{gap:10px;margin-top:22px}.machine-layout{display:flex;flex-direction:column-reverse;padding:70px 0;gap:35px}.machine-source{gap:12px;margin:20px 0}.machine-source img{width:230px}.machine-source figcaption{font-size:12px}.machine-chapter .caption{font-size:12px}.memory-story{grid-template-columns:1fr;gap:26px;margin-top:35px}.memory-device .phone{width:340px}.memory-connector{transform:rotate(90deg);font-size:30px;height:25px;line-height:25px}.story-label{margin-bottom:22px}.story-label h3{font-size:22px}.memory-caption{font-size:11px;margin-top:25px}.memory-footer{grid-template-columns:1fr;gap:12px;margin-top:35px;padding-top:28px}.memory-footer h3{font-size:23px}.memory-footer p{font-size:16px}.memory-device>}
@media(prefers-reduced-motion:reduce){.motion-ready .phone-reveal{transform:none!important}.demo-step,.scene-staging .demo-step{visibility:visible!important}.native-overlay,.native-sheet,}

/* Entrée éditoriale : les trois phrases prennent leur place sans déplacement. */
.hero-title>span{display:block}
@keyframes hero-phrase-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .hero-title>span,.hero-title>em{animation:hero-phrase-in 1000ms linear both}
 .hero-title>span:nth-child(2){animation-delay:140ms}
 .hero-title>em{animation-delay:280ms}
}

.memory-native-caption{text-align:center;margin:24px auto 0;max-width:38ch}

/* Layout only: surfaces come unchanged from the shared programme files. */
.state-controls button{font-size:14px;line-height:1.65}
.programme-band__line span{font-size:clamp(24px,2.6vw,40px)}
.programme-fin h2{font-size:clamp(34px,4vw,54px)}
.programme-fin h2 em{font-size:1.22em;line-height:1.1;transform:skewX(-11deg) scaleX(.69);letter-spacing:-.035em;white-space:nowrap}
.programme-fin p,.programme-footer p{font-weight:400}
footer.programme-footer .footer-brand{margin-left:0}
footer.programme-footer .footer-links a{margin:0;padding:0}
@media(max-width:650px){.programme-band__line span{font-size:clamp(28px,9vw,46px)}.programme-fin h2{font-size:34px}.programme-fin h2 em{font-size:1.05em}}
