/* OE training floor: real athlete, a working set log, and an authored rack motion. */
:root{--rack-ground:#211a2c;--rack-ink:#f7f3ff;--rack-metal:#c9c7cf;--rack-grip:#64606c;--rack-plate:#9963ef;--rack-inset:#c6a3ff;--rack-action:#7436da;--rack-ease:cubic-bezier(.16,1,.3,1)}
.training-hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.03fr .97fr;grid-template-rows:auto auto;gap:0 56px;padding:24px 32px 64px;direction:ltr;align-items:start}.athlete-intro{grid-column:2;grid-row:1;direction:rtl;padding:14px 0 28px;max-width:620px}.athlete-intro h1{font-size:clamp(40px,4.5vw,66px);font-weight:800;line-height:1.5;letter-spacing:-.025em}.athlete-intro>p{font-size:17px;max-width:520px;margin:18px 0 24px}.training-actions{display:flex;align-items:center;gap:24px}.training-actions .button{min-width:210px}.training-actions .text-link{font-size:15px}.training-portrait{grid-row:1/3;grid-column:1;align-self:stretch;position:relative;min-height:760px;background:var(--rack-ground);overflow:hidden;isolation:isolate}.training-athlete{position:absolute;bottom:82px;left:-5%;height:85%;width:110%;object-fit:contain;object-position:bottom;z-index:1}.athlete-sign{position:absolute;left:8%;top:7%;width:84%;height:auto;opacity:.21;filter:brightness(1.8);transform:rotate(-8deg)}.training-portrait figcaption{position:absolute;inset-inline:0;bottom:0;display:flex;flex-direction:column;gap:5px;padding:24px 28px;background:var(--rack-ground);color:var(--rack-ink);direction:rtl;z-index:3}.training-portrait figcaption strong{font:750 28px/1.5 var(--display)}.training-portrait figcaption span{font-size:14px;direction:ltr;text-align:right;color:#d4c7e7}.competition-ticket{position:absolute;top:24px;left:24px;z-index:2;display:flex;gap:12px;align-items:center;padding:10px;background:var(--rack-ink);color:#211a2c;direction:ltr;transform:rotate(-4deg);transition:transform .35s var(--rack-ease)}.competition-ticket:hover{transform:rotate(0) translateY(-3px)}.competition-ticket>img{width:48px;height:64px;object-fit:cover;object-position:top}.competition-ticket>span{font-size:14px;line-height:1.5}.competition-ticket strong{display:block;font:750 24px/1.4 var(--display)}
.session-demo{direction:rtl;grid-column:2;grid-row:2;background:var(--white);padding:24px 28px;color:var(--ink)}.session-demo-head{display:flex;gap:12px;align-items:center}.session-demo-head img{width:32px;height:28px}.session-demo-head h2{font-size:24px;line-height:1.5}.session-demo-note{font-size:14px;line-height:1.8;margin:10px 0 0;max-width:520px;color:var(--muted)}.barbell-scene{height:178px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;direction:ltr}.oe-barbell{height:auto;width:100%;max-width:470px;overflow:visible;flex-shrink:1}.bar-shaft{fill:var(--rack-metal)}.bar-grip{fill:var(--rack-grip)}.bar-collar{fill:var(--rack-plate)}.plate{fill:var(--rack-plate);transition:transform .6s var(--rack-ease),opacity .35s;transform-box:fill-box;transform-origin:center}.plate-inset{fill:var(--rack-inset)}[data-weight="20"] .plate-left,[data-weight="30"] .plate-left.plate-10,[data-weight="40"] .plate-left.plate-5{opacity:0;transform:translateX(-65px) rotate(-12deg)}[data-weight="20"] .plate-right,[data-weight="30"] .plate-right.plate-10,[data-weight="40"] .plate-right.plate-5{opacity:0;transform:translateX(65px) rotate(12deg)}.weight-readout{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;gap:5px;align-items:baseline;line-height:1.4;background:var(--white);padding:0 12px;white-space:nowrap}.weight-readout b{font:750 28px/1.4 var(--display);font-variant-numeric:tabular-nums}.weight-readout span{font-size:14px;color:var(--muted)}.session-controls{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.load-choice{grid-column:1;grid-row:1;display:flex;gap:6px;direction:ltr}.load-choice button{flex:1;min-height:44px;padding:8px 4px;background:var(--paper);color:var(--ink);border:0;font:600 14px var(--body);white-space:nowrap;transition:background-color .2s,transform .2s}.load-choice button[aria-pressed=true]{background:var(--lilac);color:var(--purple)}.load-choice button:hover{transform:translateY(-2px)}.set-track{grid-column:2;grid-row:1;display:flex;align-items:center;gap:6px;direction:ltr;justify-content:flex-end}.set-track>span{display:grid;place-items:center;width:30px;height:30px;font:600 14px var(--display);background:var(--paper);color:var(--muted);transition:transform .3s var(--rack-ease),background-color .3s,color .3s}.set-track>span.is-done{background:var(--rack-action);color:#fff;transform:translateY(-3px)}.set-track>span.is-current{outline:2px solid var(--purple);outline-offset:2px}.set-track small{font-size:13px;white-space:nowrap;margin-left:3px}.log-set{grid-column:1/-1;grid-row:2;min-height:48px;background:var(--rack-action);color:#fff!important;font-size:16px}.set-feedback{grid-column:1/-1;grid-row:3;font-size:14px;line-height:1.7;margin:0;min-height:24px;color:var(--muted)}.session-demo.is-complete{background:var(--lilac)}.session-demo.is-complete .weight-readout{background:var(--lilac)}.session-demo.is-complete .session-demo-note{color:var(--ink)}
.footer-monument{font-size:48px;line-height:1.5;letter-spacing:0;text-align:start;margin-bottom:32px}.site-footer{padding-top:48px}.app-showcase{position:relative}.app-tabs button{transition:transform .2s,background-color .2s}.app-tabs button:active{transform:scale(.96)}.result>button{transition:transform .4s var(--rack-ease)}.result>button:hover{transform:translateY(-6px)}.transformation-photo{transition:transform .7s var(--rack-ease)}.result>button:hover .transformation-photo{transform:scale(1.018)}.timeline-photo{margin-top:28px;position:relative;background:var(--lilac);height:320px;overflow:hidden}.timeline-photo img{width:100%;height:100%;object-fit:contain;background:#1b1920}.timeline-photo figcaption{position:absolute;bottom:0;inset-inline:0;background:var(--lilac);color:var(--ink);padding:12px 18px;font-size:14px}.timeline article{transition:transform .5s var(--rack-ease),background-color .4s;position:relative}.timeline article.is-active{background:var(--lilac);transform:translateX(-8px)}.timeline article>span{transition:color .3s}.timeline article.is-active>span{color:var(--purple)}.story-hero h1{font-size:clamp(48px,6vw,86px)}.nav-dialog[open]{animation:oe-drawer .35s var(--rack-ease)}
html[lang=en] .athlete-intro,html[lang=en] .session-demo,html[lang=en] .training-portrait figcaption{direction:ltr}html[lang=en] .athlete-intro h1{font-size:clamp(42px,4.4vw,64px);line-height:1.2;letter-spacing:-.03em}html[lang=en] .training-portrait figcaption span{text-align:left}html[lang=en] .footer-monument{font-size:48px;letter-spacing:-.02em}html[lang=en] .story-hero h1{font-size:clamp(44px,5vw,72px)}
@media(min-width:1500px){.training-portrait{min-height:800px}.training-athlete{height:90%}.training-hero{gap:0 72px}.barbell-scene{height:195px}}
@media(max-width:1150px){.training-hero{gap:0 32px;padding:20px 32px 48px}.athlete-intro h1{font-size:46px}.athlete-intro>p{font-size:16px}.training-actions{gap:16px;flex-wrap:wrap}.training-actions .button{min-width:190px}.training-portrait{min-height:800px}.training-athlete{height:82%;width:135%;left:-17.5%;bottom:110px}.training-portrait figcaption{padding:24px}.session-demo{padding:24px}.session-controls{grid-template-columns:1fr}.load-choice{grid-column:1;grid-row:1}.set-track{grid-column:1;grid-row:2;justify-content:center}.log-set{grid-row:3}.set-feedback{grid-row:4;text-align:center}.competition-ticket{left:18px;top:18px}.competition-ticket>span{font-size:13px}}
@media(max-width:800px){.training-hero{grid-template-columns:1fr 1fr;gap:0 24px;padding-inline:24px}.athlete-intro h1{font-size:40px}.athlete-intro>p{font-size:16px}.training-actions{display:block}.training-actions .button{width:100%}.training-actions .text-link{display:block;width:fit-content;margin-top:8px}.training-portrait{min-height:870px}.training-athlete{height:75%;width:175%;left:-37.5%;bottom:140px}.competition-ticket{position:relative;left:auto;top:auto;margin:24px 16px;transform:rotate(-3deg);width:fit-content}.session-demo{padding:20px 16px}.session-demo-head h2{font-size:21px}.session-demo-head img{width:25px}.barbell-scene{height:145px}.weight-readout b{font-size:26px}.training-portrait figcaption strong{font-size:25px}.training-portrait figcaption span{font-size:13px}.training-portrait figcaption{padding:20px}.timeline-photo{height:300px}.timeline-intro{position:static}.timeline article.is-active{transform:none}}
@media(max-width:600px){.training-hero{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:22px 12px;padding:8px 20px 40px;align-items:center}.athlete-intro{grid-column:2;grid-row:1;padding:0;max-width:none;min-width:0}.athlete-intro h1{font-size:clamp(24px,6.8vw,34px);line-height:1.6;letter-spacing:-.02em}.athlete-intro>p{font-size:14px;line-height:1.8;margin:12px 0 16px}.athlete-intro .text-link{display:none}.training-actions .button{min-width:0;font-size:14px;min-height:46px;padding:10px}.training-portrait{grid-column:1;grid-row:1;height:340px;min-height:0;align-self:stretch;overflow:visible}.training-athlete{height:85%;width:190%;left:-45%;bottom:46px;object-position:bottom;clip-path:inset(0 20% 0 16%)}.athlete-sign{width:115%;left:-8%;top:18%;opacity:.3;transform:rotate(-10deg)}.training-portrait figcaption{padding:10px 12px;gap:0;bottom:0;min-height:52px}.training-portrait figcaption strong{font-size:17px;line-height:1.5}.training-portrait figcaption span{font-size:11px;line-height:1.4}.competition-ticket{display:none}.session-demo{grid-column:1/-1;grid-row:2;padding:20px}.session-demo-head h2{font-size:22px}.session-demo-head img{width:28px}.session-demo-note{font-size:14px;margin-top:8px;line-height:1.8}.barbell-scene{height:146px;margin-top:0}.weight-readout b{font-size:28px}.weight-readout span{font-size:14px}.session-controls{margin-top:16px;grid-template-columns:1fr;gap:16px}.load-choice{grid-column:1;grid-row:1;gap:8px}.load-choice button{font-size:15px;min-height:44px}.set-track{grid-column:1;grid-row:2;justify-content:center}.set-track>span{width:32px;height:32px}.set-track small{font-size:14px}.log-set{grid-row:3;min-height:48px}.set-feedback{grid-row:4;font-size:14px;text-align:center}.footer-monument,html[lang=en] .footer-monument{font-size:36px;margin-bottom:24px}.story-hero h1{font-size:17vw}.timeline-photo{height:280px}.timeline-intro{margin-bottom:0}.timeline article.is-active{transform:none}html[lang=en] .athlete-intro h1{font-size:clamp(24px,6.5vw,33px);line-height:1.25;letter-spacing:-.025em}html[lang=en] .athlete-intro>p{font-size:14px;line-height:1.6}html[lang=en] .training-portrait figcaption strong{font-size:16px}html[lang=en] .story-hero h1{font-size:12vw}.training-portrait figcaption span{display:none}}
@media(max-width:359px){.training-hero{padding-inline:16px;gap:18px 10px}.training-portrait{height:330px}.athlete-intro h1{font-size:24px}.athlete-intro>p{font-size:13px}.training-actions .button{font-size:13px}.session-demo{padding:18px 16px}.session-demo-head h2{font-size:20px}}
@media(prefers-reduced-motion:no-preference){.training-portrait{animation:oe-stage-enter .85s var(--rack-ease) both}.training-athlete{animation:oe-athlete-enter 1.1s .08s var(--rack-ease) both}.competition-ticket{animation:oe-ticket-enter .8s .35s var(--rack-ease) both}.athlete-intro{animation:oe-training-enter .8s .15s var(--rack-ease) both}.barbell-scene .bar-assembly{animation:oe-rack-enter 1s .3s var(--rack-ease) both}.barbell-scene.is-lifting .bar-assembly{animation:oe-demo-lift .65s cubic-bezier(.35,0,.2,1) both}.set-track>span.just-done{animation:oe-set-check .45s var(--rack-ease)}.load-choice button:active{transform:translateY(2px)}@keyframes oe-stage-enter{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes oe-athlete-enter{from{transform:translateY(48px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes oe-ticket-enter{from{transform:translateY(-40px) rotate(-12deg);opacity:.5}to{transform:translateY(0) rotate(-4deg);opacity:1}}@keyframes oe-training-enter{from{transform:translateY(20px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes oe-rack-enter{from{transform:translateY(-36px);opacity:.3}70%{transform:translateY(3px);opacity:1}to{transform:translateY(0)}}@keyframes oe-demo-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-24px)}85%{transform:translateY(3px)}}@keyframes oe-set-check{from{transform:translateY(10px) scale(.8)}to{transform:translateY(-3px) scale(1)}}@keyframes oe-drawer{from{transform:translateX(100%);opacity:.4}to{transform:translateX(0);opacity:1}}}
@media(prefers-reduced-motion:reduce){.plate,.training-athlete,.training-portrait,.athlete-intro,.competition-ticket,.bar-assembly,.set-track>span{animation:none!important;transition:none!important;transform:none!important}.plate{transition:none!important}.timeline article{transition:none}.nav-dialog[open]{animation:none}}
.training-athlete,.athlete-sign{max-width:none}
@media(max-width:600px){.training-portrait{height:300px}.training-athlete{width:170%;left:-35%;height:85%;clip-path:inset(0 18% 0 18%)}.barbell-scene{height:122px}.session-controls{grid-template-columns:1fr 1fr;gap:14px}.load-choice{grid-column:1/-1;grid-row:1}.set-track{grid-column:2;grid-row:2;gap:5px;justify-content:flex-end;flex-wrap:wrap}.set-track>span{width:28px;height:28px}.set-track small{font-size:12px;width:100%;text-align:center}.log-set{grid-column:1;grid-row:2;font-size:14px;padding-inline:10px}.set-feedback{grid-column:1/-1;grid-row:3}.session-demo-head h2{font-size:21px}}
@media(max-width:600px){.training-portrait{overflow:hidden}}
@media(min-width:801px){.athlete-intro{padding-block:10px 22px}.athlete-intro h1{font-size:clamp(40px,3.6vw,54px);line-height:1.4}.athlete-intro>p{font-size:16px;line-height:1.75;margin:14px 0 20px}.training-actions .button{min-height:48px}.barbell-scene{height:155px}.session-controls{margin-top:16px}.session-demo{padding-block:22px}}
@media(max-width:359px){html[lang=en] .athlete-intro h1{font-size:21px;line-height:1.35}}
/* Real athlete photography becomes a scroll-driven sequence, with manual controls. */
.athlete-reel{background:var(--rack-ground);color:var(--rack-ink);padding:56px 0;overflow:clip}.reel-stage{max-width:1600px;margin:auto}.reel-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 40px 28px}.reel-heading h2{font-size:clamp(30px,4vw,52px);color:var(--rack-ink)}.reel-heading .text-link{color:var(--rack-ink);flex-shrink:0}.reel-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:0 40px}.reel-shot{min-width:0;background:#18131e;overflow:hidden}.reel-shot>img{width:100%;height:480px;object-fit:contain;object-position:50% 35%;background:#18131e}.reel-shot figcaption{padding:20px 24px;background:#f4f0fa;color:#211a2c}.reel-shot h3{font-size:26px;line-height:1.5}.reel-shot p{font-size:16px;color:#211a2c;margin:8px 0 0;line-height:1.75}.reel-controls{display:none;gap:8px;justify-content:center;align-items:center;padding:24px 20px 0}.reel-controls button{background:#352940;color:#f7f3ff;border:0;padding:12px 24px;min-height:48px;font:600 16px var(--body);transition:background-color .25s,transform .25s}.reel-controls button[aria-pressed=true]{background:#9963ef;color:#18131e}.reel-controls button:hover{transform:translateY(-3px)}.reel-enhanced{height:210svh;padding:0}.reel-enhanced .reel-stage{position:sticky;top:0;height:100svh;max-height:1000px;padding:36px 0 28px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;perspective:1200px}.reel-enhanced .reel-heading{padding:0 40px 24px}.reel-enhanced .reel-photos{height:min(66svh,650px);padding:0;position:relative;display:block;flex-shrink:0;isolation:isolate}.reel-enhanced .reel-shot{position:absolute;width:42%;height:100%;left:29%;top:0;display:flex;flex-direction:column;opacity:.35;transform:translateX(110%) scale(.88) rotate(6deg);transform-origin:50% 70%;transition:transform .6s var(--rack-ease),opacity .45s;will-change:auto}.reel-enhanced .reel-shot.is-current{opacity:1;transform:translateX(0) scale(1) rotate(0);z-index:3}.reel-enhanced .reel-shot.is-before{transform:translateX(-110%) scale(.88) rotate(-6deg);z-index:1}.reel-enhanced .reel-shot.is-after{transform:translateX(110%) scale(.88) rotate(6deg);z-index:1}.reel-enhanced .reel-shot>img{height:0;flex:1;min-height:0;object-fit:contain;width:100%}.reel-enhanced .reel-shot figcaption{flex-shrink:0}.reel-enhanced .reel-controls{display:flex}.app-showcase:has(.oe-phone-preview){grid-template-columns:1fr 1fr;gap:100px}.oe-phone-preview{max-width:390px;width:100%;justify-self:center;border:7px solid #17141d;border-radius:30px;transform-style:preserve-3d;transform:perspective(1100px) rotateY(-8deg) rotateZ(2deg);transition:transform .7s var(--rack-ease);transform-origin:center}.oe-phone-preview:hover,.oe-phone-preview:focus-within{transform:perspective(1100px) rotateY(0) rotateZ(0)}.oe-phone-preview .console-head{padding:22px 16px 16px;position:relative;font-size:13px;gap:9px}.oe-phone-preview .console-head:before{content:'';position:absolute;width:50px;height:5px;border-radius:10px;background:#17141d;top:6px;left:calc(50% - 25px)}.oe-phone-preview .console-status{font-size:12px;padding:0;background:none;margin:0;display:block;width:100%}.oe-phone-preview .console-head img{width:26px}.oe-phone-preview .app-screen{padding:20px 16px;min-height:420px}.oe-phone-preview .app-screen h3{font-size:23px}.oe-phone-preview .app-exercise b{font-size:15px}.oe-phone-preview .app-exercise small{font-size:13px}.oe-phone-preview .console-footer{font-size:13px;padding:16px}.oe-phone-preview .app-banner{padding:16px}.oe-phone-preview .progress-review{grid-template-columns:1fr;gap:6px}.oe-phone-preview .progress-review div{padding:12px 14px}.oe-phone-preview .progress-review b{font-size:16px}.oe-phone-preview .chat-bubble{font-size:14px}.oe-phone-preview .app-greeting{font-size:13px}.oe-phone-preview .app-banner strong{font-size:22px}
@media(max-width:1000px){.app-showcase:has(.oe-phone-preview){gap:50px}.reel-enhanced .reel-shot{width:52%;left:24%}.reel-heading h2{font-size:36px}.reel-shot h3{font-size:25px}.reel-shot p{font-size:15px}.reel-shot figcaption{padding:18px 20px}}
@media(max-width:800px){.app-showcase:has(.oe-phone-preview){grid-template-columns:1fr;gap:32px}.oe-phone-preview{transform:none;max-width:370px}.reel-photos{gap:18px;padding-inline:24px}.reel-heading{padding-inline:24px}.reel-enhanced .reel-heading{padding-inline:24px}.reel-enhanced .reel-shot{width:62%;left:19%}.reel-controls button{padding-inline:18px}}
@media(max-width:600px){.athlete-reel{padding-block:36px}.reel-heading{display:block;padding:0 20px 20px}.reel-heading h2{font-size:30px;line-height:1.5}.reel-heading .text-link{font-size:15px;padding-block:6px}.reel-photos{display:flex;flex-direction:column;gap:24px;padding-inline:20px}.reel-shot>img{height:400px}.reel-shot h3{font-size:23px}.reel-shot p{font-size:14px}.reel-shot figcaption{padding:16px 18px}.reel-enhanced{height:185svh;padding:0}.reel-enhanced .reel-stage{height:92svh;min-height:650px;padding:24px 0;justify-content:start}.reel-enhanced .reel-heading{padding:0 20px 16px}.reel-enhanced .reel-photos{height:59svh;min-height:410px;display:block;padding:0}.reel-enhanced .reel-shot{width:80%;left:10%;transform:translateX(112%) scale(.9) rotate(5deg)}.reel-enhanced .reel-shot.is-current{transform:translateX(0) scale(1) rotate(0)}.reel-enhanced .reel-shot.is-before{transform:translateX(-112%) scale(.9) rotate(-5deg)}.reel-enhanced .reel-shot.is-after{transform:translateX(112%) scale(.9) rotate(5deg)}.reel-controls{padding:18px 20px 0;gap:7px}.reel-controls button{font-size:14px;padding:10px 12px;flex:1}.app-showcase:has(.oe-phone-preview){gap:32px}.oe-phone-preview{max-width:350px;border-width:6px;transform:none}.oe-phone-preview .console-status{font-size:13px}.oe-phone-preview .console-head{font-size:13px}.oe-phone-preview .app-screen h3{font-size:22px}.oe-phone-preview .app-exercise b{font-size:14px}.oe-phone-preview .app-exercise small{font-size:13px}}
@media(prefers-reduced-motion:reduce){.athlete-reel.reel-enhanced{height:auto}.reel-enhanced .reel-stage{position:static;height:auto;max-height:none;min-height:0}.reel-enhanced .reel-photos{position:static;height:auto;display:grid;grid-template-columns:1fr}.reel-enhanced .reel-shot{position:static;width:100%;height:auto;transform:none;opacity:1;display:block}.reel-enhanced .reel-shot>img{height:400px}.reel-controls{display:none!important}.oe-phone-preview{transform:none!important;transition:none!important}}
@view-transition{navigation:auto}::view-transition-old(root){animation:oe-page-out .18s ease-out both}::view-transition-new(root){animation:oe-page-in .32s cubic-bezier(.16,1,.3,1) both}@keyframes oe-page-out{to{opacity:0;transform:translateY(-10px)}}@keyframes oe-page-in{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
.reel-shot[data-shot="0"]>img{object-fit:cover;object-position:50% 25%}
