/* Approved Figma vision 150:130, 6 September. Local integration, not a new funnel. */
@font-face{font-family:Manrope;src:url('manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-extrabold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
body{font-family:Manrope,Arial,sans-serif;-webkit-text-size-adjust:100%}
/* These existing masks and fixed-coordinate diagrams retain their original font. */
.site-header,.fitnessos-loader,#outcome-ring-stage{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
main{--vision-pad:24px}
main h1,main h2,main h3,main h4{text-wrap:pretty}
main .display{font-weight:700;letter-spacing:-.04em;line-height:1.1}
main .cta{font-family:inherit;font-weight:700;line-height:1.4}

/* Cover and free entry: exact approved words, photo spanning the entire mobile width. */
#hero{min-height:0;background:var(--black)}
#hero .hero-media{inset:var(--header-h) 0 auto;width:100%;height:548px;background-size:cover;background-position:50% 50%;transform:none}
#hero::after{inset:var(--header-h) 0 auto;height:548px;background:linear-gradient(180deg,rgba(9,11,12,.15),rgba(9,11,12,0) 38%,rgba(9,11,12,.63) 67%,#090b0c);pointer-events:none}
#hero .hero-inner{min-height:0;max-width:1320px;margin:auto;padding:0 var(--vision-pad) 48px}
#hero .hero-copy{width:100%;max-width:none}
#hero h1{position:relative;display:flex;flex-direction:column;justify-content:flex-end;width:100%;max-width:none;height:548px;margin:0;padding:0 0 36px;font-size:inherit;text-wrap:wrap}
#hero h1::before{content:"";display:block;width:70px;height:5px;flex:0 0 5px;margin-bottom:18px;background:var(--accent-red)}
#hero h1>.hero-service{position:absolute;top:16px;left:0;margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.4}
#hero h1>.hero-headline{font-size:clamp(31px,9.23vw,43px);line-height:1.055;letter-spacing:-.04em;font-weight:800;max-width:none}
#hero .hero-entry{padding-top:8px;min-width:0}
#hero .hero-question{max-width:520px;margin:0;font-size:24px;font-weight:500;line-height:1.35;letter-spacing:-.02em}
#hero .hero-action{margin-top:24px}
#hero .hero-action>.cta{width:100%;max-width:520px;min-height:66px;padding:20px;font-size:14px;letter-spacing:.055em}
#hero .hero-free{margin:20px 0 0;font-size:18px;line-height:1.4;font-weight:700}
#hero .hero-note{max-width:520px;margin:18px 0 0;font-size:18px;line-height:1.5;letter-spacing:0;color:#b1b2ae}

/* Outcome above the original photographs; history remains below. */
#results{padding:44px var(--vision-pad) 48px}
#results .section-head .display{font-size:30px;line-height:1.16;max-width:720px}
#results .section-head .eyebrow{font-size:12px;margin-bottom:16px}
#results .case-grid{margin-top:24px;gap:40px}
#results .case-card{display:flex;flex-direction:column;background:#0e1112}
/* Figma 169:11: one compact header; the approved number size is unchanged. */
#results .case-head{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0 0 8px;background:var(--paper);color:var(--ink)}
#results .case-head h3{font-size:clamp(88px,25.65vw,112px);font-weight:800;line-height:1.14;letter-spacing:-.07em;color:var(--accent-red)}
#results .case-head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}
#results .case-period{font-size:18px;line-height:1.45;font-weight:500;color:var(--ink)}
#results .case-person{font-size:18px;line-height:1.45;font-weight:500;color:var(--ink)}
#results .case-person::before{content:"·";margin-right:12px}
#results .case-images{gap:2px;background:var(--paper)}
#results .case-shot{display:flex;flex-direction:column;aspect-ratio:auto}
#results .case-shot img{aspect-ratio:9/16;object-fit:cover;height:auto}
#results .case-label{position:relative;inset:auto;z-index:1;order:-1;min-height:32px;padding:8px 12px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.05em}
#results .case-body{padding:26px 22px 30px;flex:1}
#results .case-story{margin:0;gap:18px}
#results .case-story p{gap:12px;line-height:1.5;color:#a6aba9}
#results .case-story p+p{padding-top:18px;border-top:1px solid #363c3c;color:var(--white);font-weight:500}
#results .results-transition{max-width:1100px;padding-top:36px}
#results .results-transition h3{max-width:600px;font-size:28px;font-weight:700;line-height:1.16;letter-spacing:-.025em}
#results .results-transition p{color:#555a57;line-height:1.5}

/* The other chapters inherit the same type hierarchy without rebuilding their motion. */
#process{padding:56px var(--vision-pad)}
#process>.section-head .display{font-size:36px}
.system-canvas{background-image:none}
.process-steps{border:0;gap:28px;margin-top:32px}
.process-step{min-height:0;padding:24px 0;border:0;border-top:1px solid var(--line-dark)}
.process-step h3{font-size:28px;line-height:1.14;font-weight:700;letter-spacing:-.025em}
.process-step p{max-width:none;font-size:18px;line-height:1.5}
.process-step .process-service{font-size:14px;line-height:1.5}
#reviews{padding:30px 22px;margin-top:48px}
#reviews .reviews-head h3{font-size:32px;font-weight:700;line-height:1.13;letter-spacing:-.03em}
#reviews .review-card{background:var(--paper);padding:24px 22px;min-width:0}
#reviews .review-card blockquote{font-size:20px;line-height:1.45;font-weight:400;letter-spacing:-.015em;margin:22px 0 28px}
#reviews .review-card blockquote strong{font-weight:800;color:var(--ink)}
#reviews .review-context{font-size:14px;line-height:1.5}
#reviews .review-name{font-size:16px}
#reviews .review-original{min-height:44px;font-size:12px}
.formats{margin-top:56px;border:0}
.formats>.format-head{padding:0 0 28px}
.format-head h3{font-size:36px;line-height:1.1;font-weight:700;letter-spacing:-.035em}
.format-gallery{padding:0;background:var(--black)}
.format-copy{padding:28px 0 0}
.format-benefit h4,.nutrition-problem h4{font-weight:700;line-height:1.16;letter-spacing:-.025em}
.format-benefit p,.nutrition-problem p{font-size:18px;line-height:1.5}
#nutrition{padding:48px var(--vision-pad)}
#nutrition .nutrition-head .display{font-size:36px;line-height:1.1}
.nutrition-week-panel{border:0;background:var(--paper)}
.nutrition-week-panel .nutrition-system-head{padding-inline:0;background:transparent;color:var(--ink);border:0}
.nutrition-week-panel .nutrition-system-head span:first-child{color:var(--ink)}
.nutrition-week-panel .figma-week-refresh{padding-inline:0}
.nutrition-week-panel .figma-week-refresh h3{font-weight:700;line-height:1.13;letter-spacing:-.03em}
.nutrition-week-panel .adaptive-week-note{padding-inline:0}
.nutrition-panel{border:0;border-top:1px solid var(--line-light)}
.nutrition-problem{padding-inline:0}
.nutrition-panel-action{padding-inline:0}

/* Coaching stays complete: the original schedule, timeline and ring are retained. */
#offer{background:var(--black);color:var(--white);border-color:var(--line-dark)}
#offer .offer-copy{max-width:1320px;padding:48px var(--vision-pad)}
#offer .offer-copy>.eyebrow{color:var(--white)}
.offer-title-stage{position:relative;width:min(100%,342px);aspect-ratio:342/255;margin-top:12px;container-type:inline-size}
#offer h2.offer-title{margin:0;padding:0;font-size:inherit;line-height:1;letter-spacing:0;font-weight:500;width:100%;max-width:none}
#offer .offer-term{display:block;height:46.49123cqw;font-size:41.52047cqw;line-height:1.1;font-weight:800;letter-spacing:-.07em;color:var(--accent-red)}
#offer .offer-name{display:block;margin-top:3.50877cqw;font-size:9.94152cqw;line-height:1.1;font-weight:500;letter-spacing:-.03em;color:var(--white)}
.offer-title-sheen{position:absolute;inset:0;pointer-events:none;overflow:hidden;mask:url('offer-title-sheen-mask.svg') 0 0/100% 100% no-repeat;-webkit-mask:url('offer-title-sheen-mask.svg') 0 0/100% 100% no-repeat}
.offer-title-beam{display:block;position:absolute;left:-150px;top:0;width:120px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85) 50%,transparent);opacity:0;animation:kf_164_14_opacity_0 6s linear,kf_164_14_translate_0 6s linear;animation-iteration-count:infinite;animation-play-state:paused}
.offer-title-stage.is-sheen-running .offer-title-beam{animation-play-state:running}
/* Verbatim timing/easing from Figma 164:14. The mask and the text never move. */
@keyframes kf_164_14_opacity_0{0%{opacity:0}10%{animation-timing-function:ease-out;opacity:0}13.333%{opacity:1}26.667%{animation-timing-function:ease-in;opacity:1}30%{opacity:0}100%{opacity:0}}
@keyframes kf_164_14_translate_0{0%{translate:0px 0px}10%{animation-timing-function:ease-in-out;translate:0px 0px}30%{translate:540px 0px}100%{translate:540px 0px}}
#offer .offer-price{font-size:28px;line-height:36px;letter-spacing:-.04em;font-weight:700;color:var(--white);margin:20px 0 0}
#offer .offer-intensity{margin-top:38px;max-width:none;gap:24px;border:0}
#offer .offer-intensity>div{padding:24px 0;border:0;border-top:1px solid var(--line-dark)}
#offer .offer-intensity>div>strong{font-size:26px;line-height:1.2;letter-spacing:-.025em;color:var(--white);font-weight:700}
#offer .offer-intensity>div>span:not(.intensity-rhythm){color:#b1b2ae;line-height:1.5}
#offer .offer-timeline{border-color:var(--line-dark)}
#offer .offer-timeline .offer-list{border-color:var(--line-dark)}
#offer .offer-timeline .offer-list li{border-color:var(--line-dark);color:var(--white)}
#offer .offer-timeline .offer-list li::before{font-size:26px;font-weight:700;line-height:1.2;color:var(--white)}
#offer .offer-timeline .offer-list li>p{color:#b1b2ae}
#offer .offer-timeline .offer-list li>span,#offer .offer-timeline-rail{color:#b1b2ae}
#offer .offer-timeline .offer-list li.is-active::before{color:var(--accent-red)}
#offer .offer-outcome{max-width:none;padding:32px 0 0;background:transparent}
#offer .offer-outcome-head h3{font-size:36px;font-weight:700;line-height:1.12;letter-spacing:-.035em}
#offer .offer-outcome-head p{color:#b1b2ae}
#offer .offer-guarantee{background:var(--paper);color:var(--ink);padding:30px 24px 34px;margin-top:36px;border:0}
#offer .offer-guarantee .eyebrow{color:var(--success-green);font-size:14px;letter-spacing:.12em;font-weight:700}
#offer .offer-guarantee h3{margin-top:20px;font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.03em;max-width:800px}
#offer .offer-guarantee p:not(.eyebrow){margin-top:22px;color:#555a57;line-height:1.5}
#offer .fit-line{color:#b1b2ae;max-width:760px;font-size:18px;line-height:1.5}
#offer .offer-copy>.cta[data-cta-source="site_offer"]{background:var(--paper);color:var(--ink);border-color:var(--paper);font-family:inherit}
#final{padding-inline:var(--vision-pad)}
#final .day-zero-copy h2{font-size:42px;font-weight:800;line-height:1.08;letter-spacing:-.04em}
#final .day-zero-copy .final-consultation-label{font-size:24px;line-height:1.35;font-weight:500}
#final .final-response-copy strong{font-size:22px;line-height:1.35;letter-spacing:-.025em;font-weight:500}
#final .final-response-copy small{font-weight:700;letter-spacing:.04em}

@media(min-width:601px){
 main{--vision-pad:40px}
 #hero .hero-media,#hero::after,#hero h1{height:720px}
 #hero .hero-media{background-position:50% 30%}
 #hero h1>.hero-headline{font-size:60px}
 #hero .hero-question{font-size:30px}
 #results .case-grid{gap:36px}
 #results .case-head h3{font-size:112px}
 #reviews{padding:36px 30px}
 .format-head h3,#nutrition .nutrition-head .display{font-size:44px}
}
@media(min-width:1024px){
 main{--vision-pad:clamp(40px,5vw,80px)}
 #hero .hero-media,#hero::after{width:56%;height:720px}
 #hero .hero-media{background-position:50% 23%}
 #hero .hero-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}
 #hero h1{height:720px}
 #hero h1>.hero-headline{font-size:clamp(42px,4.25vw,60px)}
 #hero .hero-entry{padding:48px 0 0}
 #hero .hero-question{font-size:clamp(28px,2.75vw,40px);line-height:1.22}
 #hero .hero-inner{padding-bottom:64px}
 #results,#process,#nutrition{padding-top:72px;padding-bottom:72px}
 #results .section-head .display{font-size:42px}
 #results .case-head h3{font-size:128px}
 #results .case-body{padding:30px}
 #results .results-transition{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:48px;max-width:none}
 #results .results-transition h3{font-size:36px}
 #results .results-transition p{margin:0}
 #process>.section-head .display{font-size:56px}
 .process-steps{gap:36px}
 .process-step h3{font-size:32px}
 #reviews{padding:44px 36px}
 #reviews .reviews-head h3{font-size:44px}
 .formats>.format-head{padding:0 0 36px}
 .format-head h3,#nutrition .nutrition-head .display{font-size:52px;max-width:960px}
 .format-copy{padding:0 0 0 40px}
 #offer .offer-copy{padding-top:72px;padding-bottom:72px}
 #offer .offer-price{font-size:32px;line-height:1.3}
 #offer .offer-intensity{margin-top:48px;gap:36px}
 #offer .offer-outcome-head h3{font-size:48px;line-height:1.1}
 #offer .offer-guarantee{padding:40px}
 #offer .offer-guarantee h3{font-size:40px}
 #final .day-zero-copy h2{font-size:64px;max-width:950px}
}
@media(prefers-reduced-motion:reduce){.offer-title-beam{animation:none;opacity:0}.offer-title-sheen{display:none}}
