/* The sabre cut: one black page, a copper stroke through the opening, the film at its centre. */
h2{font-weight:750;letter-spacing:-.05em}
.site-header{border:0}
.download-button{border-radius:0;gap:0;padding:18px 30px;min-height:0;background:var(--copper);color:var(--ink);font-weight:700}
.download-button:hover{background:#e29d68}

.opening{position:relative;isolation:isolate;overflow:hidden;padding-block:10px 90px}
.cut{position:absolute;z-index:-1;pointer-events:none}
.cut-hero{left:58%;top:calc(9vh + min(12.8vw,204px) + 246px);width:max(120vw,1700px);max-width:none;transform:translate(-50%,-50%) rotate(15deg)}
.cut-band{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.7fr);align-items:center;gap:44px;min-height:clamp(650px,calc(100svh - 110px),1000px)}
.hero-copy{align-self:start;padding-top:9vh}
.hero-copy h1{font-size:clamp(44px,4.4vw,70px);line-height:.97;letter-spacing:-.05em;font-weight:800}
.hero-copy h1 span{display:block}
.hero-sub{font-size:18px;line-height:1.5;color:var(--muted);margin-top:22px;max-width:380px}
.hero-copy .download-button{margin-top:34px}
.hero-film{position:relative;width:100%;max-width:410px;justify-self:center}
.hero-film video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;outline:1px solid #ffffff14;box-shadow:0 40px 90px #000}
.hero-phone{width:100%;max-width:320px;justify-self:center;filter:drop-shadow(0 30px 50px #000)}
.film-bigplay{position:absolute;inset:0;margin:auto;width:96px;height:96px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--copper);color:var(--ink);cursor:pointer;box-shadow:0 12px 40px #000a;transition:transform .15s}
.film-bigplay[hidden]{display:none}
.film-bigplay:hover{transform:scale(1.06)}
.film-bigplay::before{content:"";width:38px;height:38px;margin-left:6px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4.5v15l12.5-7.5z'/%3E%3C/svg%3E")}
.hero-film video{cursor:pointer}
.film-buttons{position:absolute;right:12px;bottom:12px;display:flex;gap:8px}
.film-buttons[hidden]{display:none}
.film-buttons button[hidden]{display:none}
.film-buttons button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#0c0b09b3;color:var(--paper);cursor:pointer;opacity:.8;transition:opacity .15s}
.film-buttons button:hover,.film-buttons button:focus-visible{opacity:1}
.film-buttons button>span{display:none}
#film-sound[data-state=off]{width:auto;gap:8px;padding:0 16px 0 13px;border-radius:22px;background:#0c0b09d9;opacity:1;font-size:14px;font-weight:600}
#film-sound[data-state=off]>span{display:inline}
#film-sound[data-state=off]::before{width:18px;height:18px}
.film-buttons button::before{content:'';width:20px;height:20px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
#film-play,#film-play[data-state=playing]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h3.5v14H7zM13.5 5H17v14h-3.5z'/%3E%3C/svg%3E")}
#film-play[data-state=paused]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E")}
#film-sound,#film-sound[data-state=off]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 9.5H7L11.5 5.5v13L7 14.5H3.5z'/%3E%3Cpath d='M15.5 9.5l5 5m0-5-5 5' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E")}
#film-sound[data-state=on]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 9.5H7L11.5 5.5v13L7 14.5H3.5z'/%3E%3Cpath d='M15 8.8a4.5 4.5 0 0 1 0 6.4M17.6 6.3a8 8 0 0 1 0 11.4' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Everything after the opening stays on black; ecru is kept for the notes and the sample's result. */
.journey,.real-weeks,.product-story{background:var(--ink);color:var(--paper)}
.journey{padding-block:110px 60px}
.journey-intro{grid-template-columns:1fr 1fr;align-items:center;padding-bottom:70px}
.journey-intro .journey-skip{margin-top:26px}
.journey-skip,.journey-try{color:var(--copper)}
.journey a:focus-visible{outline-color:var(--copper)}
.journey-story p{font-size:19px;line-height:1.65;color:var(--muted);max-width:540px;margin-top:22px}
.journey-story p+p{color:var(--paper)}
.journey-story .journey-skip{margin-top:30px}
.journey-photo{width:100%;max-width:360px;justify-self:center;filter:drop-shadow(0 30px 50px #000)}
.journey-step,.journey-intro,.program-detail,.founder-note,.session-note,.demo-progress,.demo-result-facts,.demo-history{border-top:0}
.programs-next,.engine-explanation{border-block:0}
.journey-steps::before,.journey-step+.journey-step .journey-evidence::before{display:none}
.journey-chapter{color:var(--copper)}
.journey-chapter>span{background:transparent}
.journey-step-copy>p:not(.journey-chapter){color:var(--muted)}
.journey-step-copy strong{color:var(--paper)}
.journey-evidence{background:#15130f;border-color:#2c2620}
.evidence-before{background:transparent}
.evidence-question{border-top-color:#3a342b;color:var(--copper)}
.journey-stage-topline{color:#8a8173}
.journey-stage-topline>span:last-child{color:var(--copper)}
.journey-paper{background:#15130f;border-color:#3a2f24;box-shadow:0 30px 70px #000}
.journey-progress-stroke{color:var(--copper)}
.journey-stage-footer{border-top:0}
.journey-progress-markers i{background:#3a342b}
.journey-progress-markers i[data-active]{background:var(--copper)}
.journey-scroll-label{color:#8a8173}
.engine-demo{padding-block:110px 100px}
.real-weeks{padding-block:40px 90px}
.weeks-intro h2{max-width:760px}
.weeks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:56px}
.week-card{display:flex;flex-direction:column;min-width:0}
.week-shot{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-bottom:26px;border:1px solid #2c2620;background:var(--ink)}
.week-card h3{font-size:clamp(23px,2vw,28px);line-height:1.15;letter-spacing:-.03em;font-weight:700;margin-bottom:12px}
.week-card>p{font-size:16px;line-height:1.7;color:var(--muted);max-width:410px}
.real-weeks+.product-story{padding-top:0}
.real-weeks+.product-story .story-intro{padding-top:60px}
.intro-copy,.screen-figure figcaption,.session-note p,.session-lead{color:var(--muted)}
.session-lead{font-size:13px;line-height:1.5;margin-bottom:22px}
.program-divider,.program-jump{color:var(--copper)}
.session-note{border-top-color:#2c2620}
.screen-figure img{box-shadow:0 30px 60px #000}
.program-detail .program-method{font-size:13px;letter-spacing:0}
.history-copy p{max-width:520px}

/* The page ends in the gym, with a second stroke behind the last call to download. */
.closing{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);padding-block:130px}
.closing-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:30% 60%}
.closing::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c0b0900 28%,#0c0b09d9 62%,#0c0b09f2 100%)}
.closing-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(0,460px);align-items:end}
.closing-inner>*{grid-column:2}
.closing h2{font-size:clamp(56px,6.6vw,96px);margin-bottom:34px}
.closing .download-button{width:100%;justify-content:center;background:var(--copper);color:var(--ink)}
.closing .download-button:hover{background:#e29d68}
.closing-app{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.closing-app img{width:72px;height:72px;border-radius:16px}
.closing-app strong{display:block;font-size:20px;font-weight:700;letter-spacing:-.4px}
.closing-app span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}

@media(max-width:1100px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:36px}
  .hero-phone{display:none}
  .weeks-grid{gap:22px}
}
@media(max-width:900px){
  .weeks-grid{grid-template-columns:1fr;gap:46px;max-width:520px}
}
@media(max-width:760px){
  .opening{padding-block:0 60px}
  .hero{display:block;min-height:0}
  .hero-copy{padding-top:28px}
  .hero-copy h1{font-size:clamp(36px,10.4vw,52px)}
  .hero-sub{font-size:17px}
  .hero-copy .download-button{width:100%;justify-content:center;margin-top:28px}
  .hero-film{margin:14px auto 0;max-width:340px}
  .cut-hero{display:none}
  .cut-band{display:block;position:relative;height:200px;margin:14px -18px 0;pointer-events:none}
  .cut-band img{position:absolute;left:50%;top:50%;width:330vw;max-width:none;transform:translate(-50%,-50%) rotate(12deg)}
  .journey{padding-block:70px 40px}
  .journey-intro{padding-bottom:36px}
  .journey-story p{font-size:17px}
  .journey-photo{margin:34px auto 0;max-width:290px}
}
@media(max-width:700px){
  .engine-demo{padding-block:70px 60px}
  .real-weeks{padding-block:20px 60px}
  .weeks-grid{margin-top:34px;gap:40px}
  .week-shot{margin-bottom:22px}
  .week-card h3{font-size:25px}
  .real-weeks+.product-story .story-intro{padding-top:40px}
  .session-lead{grid-column:1/-1;margin-bottom:16px}
  .closing{padding-block:0 56px}
  .closing-photo{position:relative;z-index:0;height:260px;object-position:22% 70%}
  .closing::after{z-index:0;bottom:auto;height:260px;background:linear-gradient(180deg,#0c0b0900 50%,#0c0b09 100%)}
  .closing-inner{display:block;margin-top:-20px}
  .closing h2{font-size:64px;margin-bottom:26px}
  .closing-app{margin-bottom:18px}
  .closing-app img{width:60px;height:60px;border-radius:14px}
}
