@font-face{font-family:'TRNR Inter';font-weight:300;src:url('assets/inter-normal-300-v5.woff2') format('woff2'),url('assets/inter-normal-300-v5.ttf') format('truetype');font-display:swap}@font-face{font-family:'TRNR Inter';font-weight:400;src:url('assets/inter-normal-400-v5.woff2') format('woff2'),url('assets/inter-normal-400-v5.ttf') format('truetype');font-display:swap}@font-face{font-family:'TRNR Accent';font-weight:400;src:url('assets/archivo-black-v5.woff2') format('woff2'),url('assets/archivo-black-v5.ttf') format('truetype');font-display:swap}
:root{--ink:#171c22;--paper:#f7f3ed;--gold:#c6a052;--muted:#adb4b9;--ease:cubic-bezier(.23,1,.32,1);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font:400 16px/1.65 'TRNR Inter',sans-serif;font-synthesis:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--ink)}svg{display:block}a svg,button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}header{height:76px;padding:0 6%;display:flex;gap:30px;align-items:center;border-bottom:1px solid #ffffff15}header nav{margin-left:auto;display:flex;gap:28px;font-size:13px}.programme-name{color:var(--gold);font-size:13px}.brand{position:relative;display:block;width:104px;line-height:0;flex-shrink:0}.brand img{width:100%;height:auto;display:block}.brand>span{position:absolute;inset:0;background:var(--gold);mask:url('assets/logo-trnr-wordmark.png') 0 0/100% 100% no-repeat;clip-path:polygon(77.5% 0,100% 0,100% 100%,70.5% 100%)}.skip{position:fixed;left:20px;top:12px;transform:translateY(-180%);z-index:10;background:var(--paper);color:var(--ink);padding:10px}.skip:focus{transform:none}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7%;padding:38px 7% 48px;max-width:1440px;margin:auto;align-items:center}.prime-word{width:min(100%,380px);height:auto;display:block;margin-bottom:32px}.headline{font-size:clamp(42px,5.1vw,74px);font-weight:300;line-height:1.08;letter-spacing:-.035em;margin:0}.headline>span{display:block}.headline em,h2 em{font-family:'TRNR Accent',sans-serif;display:block;font-style:normal;font-weight:400;white-space:nowrap;transform:skewX(-11deg) scaleX(.69);transform-origin:left center;line-height:1.1;letter-spacing:-.035em;font-size:1.22em}.headline b{font-weight:400;color:var(--gold)}.hero-copy{min-width:0}.hero-copy>p{max-width:34ch;margin:28px 0 0;font-size:17px}.text-link{display:inline-flex;gap:28px;align-items:center;padding:12px 0;margin-top:18px;border-bottom:1px solid #c6a05270}.text-link svg{color:var(--gold)}.hero-phone{height:clamp(520px,76svh,680px);width:100%;display:flex;justify-content:center}.hero-phone>svg{height:100%;width:100%}
.light{background:var(--paper);color:var(--ink);color-scheme:light}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;max-width:1160px;margin:0 auto 44px}.section-heading>p{max-width:34ch;margin:0 0 5px;font-size:17px}h2{font-weight:300;font-size:clamp(34px,4.6vw,62px);line-height:1.1;letter-spacing:-.035em;margin:0}h2 em{font-size:1.07em}h3{font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:0 0 20px}p{margin:0 0 20px}.preparation{padding:76px 6% 60px}.prep-controls{display:flex;gap:6px;justify-content:center;margin:0 0 26px}.prep-controls button,.state-controls button{background:none;border:1px solid #8b89815e;border-radius:30px;min-height:44px;padding:8px 22px;font-size:14px;transition:color 180ms var(--ease),background-color 180ms var(--ease)}.prep-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.prep-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b5a076 transparent;max-width:1160px;margin:auto;padding-bottom:16px}.prep-panel{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:30px 7%;background:#ede9e2;min-width:0;border-radius:12px}.prep-phone{height:510px}.prep-phone svg{height:100%;width:100%}.step-count{font-size:12px;color:#67645e;display:block;margin-bottom:30px}.panel-copy{max-width:340px}.panel-copy h3{font-size:38px;font-weight:300}.panel-copy p{font-size:17px}.gallery-help{text-align:center;font-size:12px;color:#585951;margin:18px 0 0}
.workout{padding:80px 7% 70px}.workout-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;max-width:1080px;margin:auto}.session-phone{height:640px;position:relative}.session-screen{position:absolute;inset:0;opacity:0;transition:opacity 260ms var(--ease);pointer-events:none}.session-screen.is-active{opacity:1}.session-screen svg{width:100%;height:100%}.state-controls{display:flex;gap:10px;margin-bottom:34px}.state-controls button[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.session-explanation{min-height:160px}.session-copy h3{font-size:34px}.session-copy p{font-size:17px;max-width:36ch}.action{display:inline-flex;align-items:center;gap:22px;border:0;border-radius:28px;background:var(--gold);color:var(--ink);padding:14px 22px;min-height:50px;font-size:15px}.demo-note{font-size:12px!important;color:var(--muted);margin:16px 0 0}.session-access{display:flex;flex-direction:column;gap:14px;margin-top:35px}.session-access a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #ffffff25;font-size:14px}.session-access svg{width:18px}
.watch{padding:76px 7% 62px}.watch-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;max-width:860px;margin:50px auto 0}.watch-grid figure{margin:0;text-align:center}.watch-grid img{border-radius:25%;display:block;width:100%;max-width:300px;height:auto;margin:0 auto 32px}.watch-grid h3{font-size:25px;margin-bottom:13px}.watch-grid p{font-size:16px}.light .demo-note{color:#625c53;text-align:center}
.companion,.music{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:11%;padding:76px max(7%,calc((100vw - 1160px)/2));}.companion-copy,.music-copy{min-width:0}.companion-copy p,.music-copy p{font-size:18px;max-width:34ch;margin:30px 0 0}.secondary-copy{font-size:14px!important;color:var(--muted)}.music .secondary-copy{color:#625c53}.companion-phone,.music-phone{height:610px}.companion-phone svg,.music-phone svg{width:100%;height:100%}.music-copy .text-link{margin-top:26px}.companion h2,.music h2{font-size:clamp(34px,4vw,54px)}footer{padding:35px 6%;display:flex;gap:40px;align-items:center;border-top:1px solid #ffffff20}footer p{font-size:12px;color:var(--muted);margin:0;max-width:660px}footer>a:last-child{margin-left:auto;white-space:nowrap;font-size:12px}
@media(hover:hover) and (pointer:fine){header nav a:hover,.text-link:hover,.session-access a:hover{color:var(--gold)}.action:hover{background:#d7b770}}
@media(max-width:900px){header{padding:0 24px;height:68px;gap:20px}header nav{gap:18px}header nav a:first-child{display:none}.hero{padding:35px 28px 44px;gap:4%}.headline{font-size:44px}.hero-phone{height:530px}.prime-word{width:270px}.hero-copy>p{font-size:15px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:25px}.prep-panel{gap:5%;padding:28px 5%}.prep-phone{height:460px}.panel-copy h3{font-size:32px}.workout-grid{gap:6%}.session-phone{height:565px}.session-copy h3{font-size:28px}.watch-grid{gap:8%}.companion,.music{gap:7%;padding:65px 6%}.companion-phone,.music-phone{height:540px}footer{flex-wrap:wrap;gap:25px}}
@media(max-width:600px){header nav{font-size:12px;gap:15px}.brand{width:86px}.programme-name{display:none}.hero{grid-template-columns:1fr;padding:32px 24px 40px;gap:34px}.hero-copy{max-width:100%}.prime-word{width:240px;margin-bottom:24px}.headline{font-size:43px}.headline em{font-size:51px}.hero-copy>p{margin-top:20px;max-width:33ch}.hero-phone{height:590px;max-width:100%}.text-link{font-size:14px;margin-top:14px}.preparation,.workout,.watch{padding:52px 24px}h2{font-size:34px}h2 em{font-size:1.05em}.section-heading>p{font-size:15px;margin-top:20px}.prep-controls{gap:5px;justify-content:start}.prep-controls button{font-size:12px;padding:8px 12px}.prep-panel{grid-template-columns:1fr;padding:25px 20px;gap:20px}.step-count{margin-bottom:15px}.panel-copy h3{font-size:28px;margin-bottom:13px}.panel-copy p{font-size:15px;margin-bottom:0;min-height:74px}.prep-phone{height:460px}.gallery-help{text-align:left;font-size:12px}.workout-grid{grid-template-columns:1fr;gap:25px}.session-copy{grid-row:1}.session-explanation{min-height:145px}.session-copy h3{font-size:28px}.session-copy p{font-size:15px}.session-phone{height:580px}.state-controls{margin-bottom:25px}.session-access{margin-top:22px;gap:8px}.watch-grid{grid-template-columns:1fr;gap:36px;margin-top:35px}.watch-grid img{max-width:270px;margin-bottom:23px}.watch-grid p{font-size:15px}.companion,.music{grid-template-columns:1fr;padding:52px 24px;gap:34px}.music-copy{grid-row:1}.companion h2,.music h2{font-size:34px}.companion-copy p,.music-copy p{font-size:15px;margin-top:23px}.companion-phone,.music-phone{height:570px}.companion-phone{padding:0 18px}.music-phone{padding:0 18px}footer{padding:30px 24px;gap:25px}footer p{order:3;flex-basis:100%}footer>a:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.session-screen{transition:opacity 100ms linear}.prep-controls button,.state-controls button{transition:none}}

.progress-chapter{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:70px 7%;max-width:1440px;margin:auto;border-bottom:1px solid #ffffff18}.progress-copy p{font-size:18px;max-width:34ch;margin-top:30px}.progress-phone{height:640px}.progress-phone svg{width:100%;height:100%}@media(max-width:600px){.progress-chapter{grid-template-columns:1fr;padding:52px 24px;gap:30px}.progress-copy p{font-size:15px}.progress-phone{height:570px}}

/* A close view of the populated record, keeping the purchased device edge visible. */
.progress-chapter{max-width:1440px;gap:7%;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);padding-top:85px;padding-bottom:85px}.progress-phone{height:610px;position:relative;overflow:hidden;border-radius:18px;background:#171c22}.progress-phone svg{position:absolute;width:650px;max-width:none;height:1327px;left:28px;top:-625px;transform:none}
@media(max-width:900px){.progress-phone svg{width:540px;height:1102px;top:-365px}.progress-phone{height:530px}}
@media(max-width:600px){.progress-chapter{grid-template-columns:minmax(0,1fr);padding:52px 24px;gap:30px}.progress-phone{height:460px;margin:0 -24px;border-radius:0}.progress-phone svg{width:500px;height:1020px;top:-330px;left:20px}}

.music-phone{position:relative;overflow:hidden;height:720px;mask-image:linear-gradient(to bottom,#000 0%,#000 54%,#000000fa 62%,#000000e6 70%,#000000b3 79%,#00000066 88%,#0000001f 96%,transparent 100%)}.music-phone svg{position:absolute;width:620px;height:1080px;max-width:none;left:-38px;top:-45px}
@media(max-width:900px){.music-phone svg{width:540px;height:950px;left:-60px}}
@media(max-width:600px){.music-phone{height:550px;margin:0 -24px;padding:0}.music-phone svg{width:520px;height:910px;left:-45px;top:-12px}}

.hero{display:flex;align-items:center;min-height:580px;padding:70px 7% 85px}.hero-copy{width:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:10%;align-items:end}.prime-word{width:350px;margin-bottom:24px;grid-column:1}.headline{grid-column:1;grid-row:2/4;font-size:clamp(44px,5.1vw,70px)}.hero-copy>p{grid-column:2;grid-row:2;margin:0;align-self:end}.hero-copy>.text-link{grid-column:2;grid-row:3;justify-self:start;margin-top:18px}.hero-phone{height:550px;margin-top:25px;filter:drop-shadow(0 26px 18px #0005)}.hero-phone svg{width:100%;height:100%}.trio-stage{width:100%;max-width:1120px;margin:50px auto 35px}.trio-stage svg{width:100%;height:auto}.trio-captions{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8%;padding:0 3%}.trio-captions span{color:#8b723f;font-size:13px}.trio-captions h3{font-size:23px;margin:12px 0}.trio-captions p{font-size:15px;line-height:1.6}
@media(max-width:900px){.hero-copy{column-gap:7%}.hero-phone{height:450px}.trio-captions{gap:5%}.trio-captions h3{font-size:20px}}
@media(max-width:600px){.hero{min-height:0;padding:45px 24px 58px;overflow:hidden}.hero-copy{display:block}.prime-word{width:240px}.headline{font-size:43px}.hero-copy>p{margin-top:22px}.hero-phone{height:280px;width:calc(100% + 28px);margin-left:-14px;margin-top:34px}.trio-stage{margin:32px -10px 25px;width:calc(100% + 20px)}.trio-captions{grid-template-columns:1fr;gap:16px;padding:0}.trio-captions article{display:grid;grid-template-columns:30px 1fr;column-gap:12px}.trio-captions span{grid-row:1/3;padding-top:5px}.trio-captions h3{font-size:22px;margin:0 0 7px}.trio-captions p{grid-column:2;font-size:14px;margin:0}}
@media(prefers-reduced-motion:reduce){.trio-stage{animation:none;transform:none;opacity:1}}

/* Coach: unwarped source-front geometry, enlarged conversation, visible device edges. */
.companion{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%;padding-top:72px;padding-bottom:0;align-items:center;overflow:hidden}.companion-copy{padding-bottom:65px}.companion-phone{height:730px;position:relative;padding:0;overflow:hidden;mask-image:linear-gradient(#000 0%,#000 89%,transparent 100%)}.companion-phone svg{position:absolute;width:500px;height:1021px;max-width:none;top:0;left:50%;transform:translateX(-50%)}
@media(max-width:900px){.hero{min-height:480px}.companion{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:5%}.companion-phone{height:620px}.companion-phone svg{width:390px;height:796px}.companion h2{font-size:34px}}
@media(max-width:600px){.hero{min-height:0}.companion{display:block;padding:52px 24px 0}.companion-copy{padding-bottom:32px}.companion-phone{height:610px;margin:0 -24px}.companion-phone svg{width:min(390px,100vw);height:auto;aspect-ratio:1836/3748;top:0}.companion h2{font-size:34px}}

.music h2{font-size:clamp(44px,5.3vw,72px);line-height:1.08}.music h2 em{font-size:1.09em}.music-copy>p{font-size:20px;line-height:1.6}.music .secondary-copy{font-size:15px!important}.music-phone{background:transparent}@media(max-width:900px){.music h2{font-size:46px}.music-copy>p{font-size:18px}}@media(max-width:600px){.music h2{font-size:42px}.music-copy>p{font-size:17px}.music-phone{height:650px}.music-phone svg{top:-25px}}

.music.light{background:var(--ink);color:var(--paper);color-scheme:dark;border-top:1px solid #ffffff12}.music .secondary-copy{color:var(--muted)}.music-phone svg{top:0}@media(max-width:600px){.music-phone svg{top:0}}

.hero{min-height:520px;padding-bottom:62px}.hero-copy>p strong{font-weight:400;color:var(--gold)}.program-overview{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:5%;padding:0 7% 68px;max-width:1440px;margin:auto;scroll-margin-top:50px}.program-overview article{border-top:1px solid #c6a05255;padding-top:26px}.program-overview h2{font-size:28px;line-height:1.2;letter-spacing:-.02em}.program-overview h2 strong{font-size:44px;font-weight:300;color:var(--gold)}.program-overview p{font-size:16px;line-height:1.6;color:#c0c7ce;margin:20px 0 0}.trio-stage svg>g{transform-box:fill-box;transform-origin:center bottom}.hero-copy>*{will-change:auto}.motion-ready .trio-stage{animation:none;opacity:1;transform:none}@media(hover:hover) and (pointer:fine){.hero-copy>.text-link:hover svg{transform:translateY(4px)}}.hero-copy>.text-link svg{transition:transform 180ms var(--ease)}
@media(max-width:900px){.program-overview{gap:4%;padding-left:6%;padding-right:6%}.program-overview h2{font-size:23px}.program-overview p{font-size:15px}}
@media(max-width:600px){.hero{min-height:0;padding-bottom:42px}.program-overview{grid-template-columns:1fr;gap:25px;padding:0 24px 48px}.program-overview article{padding-top:21px}.program-overview h2{font-size:27px}.program-overview h2 strong{font-size:38px}.program-overview p{margin-top:12px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero-copy>.text-link svg{transition:none;transform:none!important}}

/* Keep the keyboard skip link clipped until intentional focus. */
.skip{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);transform:none}.skip:focus-visible{width:auto;height:auto;padding:10px;clip-path:none;overflow:visible}

.trio-stage{display:flex;justify-content:space-between;align-items:flex-start}.trio-device{flex:0 0 27.1%;min-width:0}.trio-device svg{display:block;width:100%;height:auto}.trio-stage svg>g{transform:none!important}

.coach-benefits{margin-top:28px}.coach-benefits p{font-size:17px;line-height:1.6;margin:0 0 20px;color:var(--muted)}.coach-benefits strong{display:block;font-weight:400;color:var(--paper);margin-bottom:4px}.companion-copy{min-width:0}@media(max-width:600px){.coach-benefits p{font-size:16px;margin-top:0}.coach-benefits{margin-top:25px}}

/* Whole-device entrances preserve purchased geometry and screen alignment. */
/* Side entrances must not widen the page while off screen. */
main{overflow-x:clip}



/* Keep state controls adjacent to the device they change, including on short phones. */
.session-demo{min-width:0}.session-demo .state-controls{justify-content:center;margin:18px 0 0}.session-demo .state-controls button{min-width:110px}
@media(max-width:600px){.session-copy{grid-row:auto}.session-phone{height:min(580px,calc(100svh - 170px))}.workout-grid{gap:32px}.session-explanation{min-height:0}.session-copy #session-action{display:none}.session-copy .demo-note{margin-top:0}.session-demo .state-controls{margin-top:12px;gap:10px}.session-demo{scroll-margin-top:80px}}

.session-phone>svg{display:block;width:100%;height:100%}.session-layer{opacity:1;transition:transform 300ms var(--ease);transform:translateX(0)}.session-layer[data-screen="rest"]{transform:translateX(1632px)}.session-demo[data-state="rest"] .session-layer[data-screen="effort"]{transform:translateX(-1632px)}.session-demo[data-state="rest"] .session-layer[data-screen="rest"]{transform:translateX(0)}.session-demo .state-controls{gap:8px}.session-demo .state-controls button{min-width:0;padding:8px 17px}
@media(prefers-reduced-motion:reduce){.session-layer{transition:none}}




/* Chapter headings receive reading focus, not an interactive control outline. */
#coach h2[tabindex="-1"]:focus,#musique h2[tabindex="-1"]:focus{outline:none}

/* Shared recessed track and raised selection, as in the ALPHA gallery. */
.session-demo .state-controls{width:248px;max-width:100%;margin:18px auto 0;padding:5px;gap:5px;border-radius:24px;background:#13181e;box-shadow:inset 0 2px 5px #0006,0 1px 0 #ffffff16}
.session-demo .state-controls button{flex:1;min-width:0;min-height:44px;padding:10px 20px;border:0;border-radius:20px;background:transparent;color:#b5bcc3;box-shadow:none;font-size:14px;transform:none;transition:color 180ms ease,background-color 180ms ease}
.session-demo .state-controls button[aria-pressed=true]{background:linear-gradient(155deg,#d3b674,#bb984c);color:#171c22;box-shadow:inset 0 1px 1px #ffffff70,0 3px 6px #0004}
.session-demo .state-controls button:focus-visible{outline:2px solid #f7f3ed;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.session-demo .state-controls button{transition:none}}

