@font-face{font-family:"Geist";src:url("/assets/fonts/Geist-Variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist";src:url("/assets/fonts/Geist-Italic.woff2") format("woff2");font-style:italic;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--canvas:#080809;--surface:#141416;--raised:#1d1d20;--line:#2b2b30;--ink:#f5f5f5;--body:#c9c9d0;--muted:#a4a4ae;--orange:#fb923c;--ease:cubic-bezier(.16,1,.3,1);font-family:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--canvas);color:var(--ink);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:#525259 var(--canvas)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:5px}input{caret-color:var(--orange)}::selection{background:var(--orange);color:var(--canvas)}[hidden]{display:none!important}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(3rem,5.9vw,5.4rem);font-weight:550;line-height:1.04}h2{font-size:2.5rem;line-height:1.14;font-weight:550}h3{font-size:1.1rem;font-weight:550}p{line-height:1.6;color:var(--body)}.small{font-size:.875rem;color:var(--muted);line-height:1.55}.site-shell{max-width:1328px;margin:auto;padding:0 48px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;font-size:1.8rem;font-weight:650;letter-spacing:-.045em}.brand svg{width:32px;height:32px;margin-right:9px;stroke-width:2.8}.brand svg circle{fill:var(--orange);stroke:none}.brand-period{color:var(--orange)}nav{display:flex;align-items:center;gap:38px}.nav-link{font-size:.9rem;min-height:44px;display:inline-flex;align-items:center;color:var(--body)}.nav-link:hover{color:var(--ink)}.preview-label{font-size:.75rem;display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.preview-label>span{width:6px;height:6px;border-radius:50%;background:var(--orange)}.landing{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;padding:45px 0 66px;align-items:center;min-height:660px}.hero-copy{padding-bottom:10px}.hero-copy h1 span{color:var(--muted)}.hero-description{font-size:1.125rem;line-height:1.65;margin-top:28px;max-width:460px}.button{min-height:54px;padding:15px 24px;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-weight:600;font-size:.95rem;transition:background .18s,color .18s,border-color .18s}.button.primary{background:var(--ink);color:#111111}.button.primary:hover{background:#dcdcdf}.button.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--raised);border-color:#63636b}.button svg{width:20px;height:20px}.hero-cta{margin-top:35px}.hero-note{margin-top:15px;max-width:350px;font-size:.8rem}.hero-visual{max-width:500px;width:100%;justify-self:end}.coach-film{position:relative;height:410px;border-radius:16px;overflow:hidden;background:#181818}.coach-film video{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.coach-film:after{content:"";position:absolute;inset:45% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.8))}.icon-button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:var(--surface)}.icon-button svg{width:18px;height:18px}.video-toggle{position:absolute;top:16px;right:16px;z-index:1;background:#141416d9}.step-number{color:var(--orange);font-size:.75rem;padding-top:4px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0 28px;color:var(--muted);font-size:.75rem}.footer>span{font-weight:650;color:var(--ink)}.footer-description{font-weight:400;color:var(--muted);margin-left:15px}.footer>div{display:flex;align-items:center;gap:25px}.text-button{padding:0;background:none;border:0;font-size:inherit;min-height:44px;color:var(--body)}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.resume-link{display:table;font-size:.875rem;margin-top:20px;color:var(--orange);min-height:44px;padding-top:10px}.skip-link{position:fixed;top:-100px;left:15px;z-index:20;padding:12px;background:var(--ink);color:var(--canvas)}.skip-link:focus{top:10px}#main:focus{outline:none}
/* The consultation keeps the same quiet frame as the entry page. */
.flow-layout{display:grid;grid-template-columns:300px minmax(0,570px);gap:90px;max-width:1030px;margin:50px auto 90px;min-height:540px}.flow-aside{padding-top:10px}.flow-aside h2{font-size:2.35rem;max-width:280px}.flow-aside>p{font-size:.95rem;color:var(--muted);margin-top:20px}.flow-steps{list-style:none;display:flex;flex-direction:column;gap:5px;padding:0;margin:40px 0}.flow-steps li{display:flex;align-items:center;gap:13px;min-height:43px;color:var(--muted);font-size:.875rem}.flow-steps .active{color:var(--ink)}.flow-steps .step-dot{width:24px;height:24px;border:1px solid #44444b;border-radius:50%;display:grid;place-items:center;font-size:.7rem}.flow-steps .active .step-dot{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.flow-steps .complete .step-dot{border-color:var(--orange);color:var(--orange)}.flow-steps svg{width:13px;height:13px}.aside-note{border-top:1px solid var(--line);padding-top:20px;max-width:265px;font-size:.8rem;color:var(--muted);line-height:1.6}.aside-note strong{color:var(--orange);font-weight:500}.form-panel{min-width:0}.form-panel h1{font-size:2.15rem;line-height:1.15}.intro{margin:13px 0 30px;font-size:.95rem;color:var(--muted)}.options{border:0;padding:0;margin:0;display:grid;gap:12px;min-width:0}.option{display:flex;align-items:center;gap:16px;position:relative;min-height:84px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:19px 20px;cursor:pointer;transition:border-color .16s,background .16s}.option:hover{border-color:#686870;background:#19191c}.option:has(input:checked){border-color:var(--ink);background:var(--raised)}.option:has(input:disabled){opacity:.5;cursor:not-allowed}.option:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:4px}.option input{appearance:none;width:20px;height:20px;border-radius:50%;border:1px solid #686870;margin:0;flex-shrink:0}.option input:checked{border:6px solid var(--ink)}.option input:focus-visible{outline:none}.option-title{display:block;font-size:1rem;font-weight:550}.option-description{display:block;margin-top:5px;color:var(--muted);font-size:.825rem;line-height:1.5}.option-icon{color:var(--muted);margin-left:auto}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.back-button{background:none;border:0;color:var(--muted);display:flex;align-items:center;gap:8px;font-size:.9rem;min-height:48px;padding:0 10px 0 0}.back-button:hover{color:var(--ink)}.back-button svg{width:18px;height:18px}.check-line{display:flex;align-items:flex-start;gap:12px;font-size:.85rem;line-height:1.55;color:var(--body);margin-top:25px;cursor:pointer}.check-line input{width:19px;height:19px;accent-color:var(--orange);flex-shrink:0;margin:2px 0 0}.section-label{display:block;font-size:.9rem;font-weight:550;margin:26px 0 13px}.day-choices{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:8px;overflow-x:auto}.day-option{cursor:pointer}.day-option input{position:absolute;opacity:0;width:1px;height:1px}.day-option span{display:flex;justify-content:center;align-items:center;min-height:54px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:.825rem}.day-option input:checked+span{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.day-option input:focus-visible+span{outline:2px solid var(--orange);outline-offset:3px}.schedule-note{margin-top:14px;font-size:.8rem;color:var(--muted)}.duration-options{display:flex;gap:9px;flex-wrap:wrap}.duration-option{flex:1;min-width:65px}.duration-option span{font-size:.85rem}.field-label{display:block;margin-bottom:10px;font-size:.9rem;font-weight:550}input[type=email]{width:100%;min-height:58px;padding:16px 18px;border:1px solid #66666f;border-radius:10px;background:var(--surface);color:var(--ink);font-size:1rem}input::placeholder{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:12px 18px;min-height:47px;font-size:.875rem}.chip:hover{border-color:#787880}.chip[aria-pressed=true]{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.error{background:#2b1919;color:#ffb9b3;border:1px solid #663835;border-radius:10px;padding:14px 17px;font-size:.875rem;line-height:1.55;margin-top:18px}.error:empty{display:none}.notice{background:var(--surface);border-radius:10px;padding:16px;color:var(--body);font-size:.85rem;line-height:1.6}.progress-track{height:3px;background:var(--line);margin-bottom:30px;border-radius:2px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--orange);width:100%;transform-origin:left;transition:transform .4s var(--ease)}.progress-track[data-step="0"] span{transform:scaleX(.25)}.progress-track[data-step="1"] span{transform:scaleX(.5)}.progress-track[data-step="2"] span{transform:scaleX(.75)}.progress-track[data-step="3"] span{transform:scaleX(1)}.screen-enter{animation:enter .6s cubic-bezier(.22,.61,.36,1)}@keyframes enter{from{opacity:.5;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.center-screen{max-width:560px;margin:68px auto 95px;min-height:500px}.center-screen h1{font-size:3.25rem;line-height:1.1}.ready-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid #6b4529;background:#261b13;color:var(--orange);margin-bottom:25px}.ready-summary{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 35px}.ready-summary span{font-size:.8rem;color:var(--body);border:1px solid var(--line);border-radius:6px;padding:8px 11px}.email-form .button{width:100%;margin:18px 0 12px}.email-form .small{font-size:.8rem}.local-note{font-size:.75rem;color:var(--muted);margin-top:17px;line-height:1.6}.center-screen .back-button{margin-top:24px}.loader{width:48px;height:48px;border:2px solid var(--line);border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:30px}@keyframes spin{to{transform:rotate(360deg)}}.loading-detail{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--muted);margin-top:30px}.loading-detail svg{color:var(--orange);width:18px}.plan-page{max-width:1050px;margin:45px auto 70px}.plan-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px}.plan-heading h1{font-size:3.4rem}.plan-heading p{margin-top:15px;font-size:.95rem;color:var(--muted)}.plan-actions{display:flex;gap:10px;flex-shrink:0}.plan-facts{display:flex;flex-wrap:wrap;gap:10px 28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--body);font-size:.875rem}.plan-facts span{display:flex;align-items:center;gap:9px}.plan-facts svg{width:18px;height:18px;color:var(--muted)}.plan-week{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));overflow-x:auto;gap:10px;margin:30px 0}.week-day{min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.8rem}.week-day .day-date{font-size:1.35rem;font-variant-numeric:tabular-nums}.week-day .day-type{font-size:.7rem}.week-day.training{background:var(--surface);color:var(--ink)}.week-day.training .day-type{color:var(--orange)}.week-day[aria-pressed=true]{border-color:#777780;color:var(--ink)}.workout-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:35px 0 22px}.workout-heading h2{font-size:1.9rem}.workout-heading p{font-size:.8rem;color:var(--muted);margin-top:8px}.workout-heading>span{font-size:.8rem;color:var(--muted)}.exercise-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.exercise-table th{color:var(--muted);font-weight:400;font-size:.75rem;padding:14px 12px;border-bottom:1px solid var(--line)}.exercise-table th:first-child{width:53%;padding-left:0}.exercise-table th:not(:first-child){width:15.66%;text-align:right}.exercise-table td{padding:20px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.9rem;font-variant-numeric:tabular-nums}.exercise-table td:first-child{padding-left:0}.exercise-table td:not(:first-child){text-align:right;white-space:nowrap}.exercise-name{display:flex;gap:15px;align-items:flex-start}.exercise-index{font-size:.75rem;color:var(--muted);min-width:20px;line-height:1.6}.exercise-name strong{font-size:.95rem;line-height:1.45;font-weight:550}.exercise-target{color:var(--muted);font-size:.75rem;margin-top:6px;line-height:1.5}.exercise-cues{margin-top:12px;font-size:.8rem;color:var(--body);max-width:500px}.exercise-cues summary{cursor:pointer;color:var(--muted);min-height:30px;line-height:1.5;padding:3px 0}.exercise-cues p{font-size:.8rem;line-height:1.6;margin-top:8px}.plan-guide{margin-top:26px;background:var(--surface);border-radius:12px;padding:22px 24px;display:flex;gap:14px;align-items:flex-start}.plan-guide>svg{color:var(--orange);width:21px;height:21px}.plan-guide h3{font-size:.9rem;margin-bottom:7px}.plan-guide p{font-size:.825rem;color:var(--muted);max-width:720px}.waitlist{margin-top:50px;padding:38px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;border-top:1px solid var(--line)}.waitlist h2{font-size:2rem}.waitlist p{margin-top:15px;font-size:.9rem;color:var(--muted)}.waitlist-actions{align-self:center}.waitlist-actions .button{width:100%}.waitlist-actions .text-button{display:block;margin:8px auto 0;font-size:.85rem}.waitlist-actions .small{font-size:.75rem;overflow-wrap:anywhere}.joined{display:flex;align-items:flex-start;gap:12px}.joined svg{color:var(--orange)}.joined strong{display:block;font-size:1rem;margin-bottom:6px}.joined p{margin:0;font-size:.8rem}.rest-panel{padding:70px 30px;text-align:center;background:var(--surface);border-radius:12px}.rest-panel svg{width:30px;height:30px;color:var(--orange);margin-bottom:20px}.rest-panel h2{font-size:2rem;margin-bottom:15px}.rest-panel p{max-width:420px;margin:auto}.plan-bottom{margin-top:20px;display:flex;justify-content:space-between;gap:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--ink);color:var(--canvas);padding:15px 22px;border-radius:10px;box-shadow:0 12px 36px #0006;z-index:10;font-size:.875rem}dialog{max-width:510px;width:calc(100% - 40px);max-height:85dvh;overflow:auto;padding:40px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px}dialog::backdrop{background:#000b}dialog h2{font-size:1.8rem;margin:20px 0}dialog p{font-size:.875rem;margin-top:15px}.dialog-close{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.landing{padding-top:60px;padding-bottom:85px;min-height:740px}.coach-film{height:470px}}
@media(max-width:1050px){.site-shell{padding:0 32px}.landing{gap:36px;min-height:600px}.coach-film{height:365px}.hero-description{font-size:1rem}.hero-copy h1{font-size:clamp(2.7rem,6vw,4rem)}.flow-layout{gap:50px;grid-template-columns:240px minmax(0,1fr)}.plan-heading h1{font-size:2.8rem}.plan-heading{align-items:flex-start}.plan-actions{flex-direction:column}.waitlist{gap:40px}}
@media(max-width:700px){.site-shell{padding:0 22px}.header{height:86px}.brand{font-size:1.55rem}.brand svg{width:27px;height:27px}.header nav{gap:18px}.nav-link{display:none}.preview-label{font-size:.7rem}.landing{grid-template-columns:1fr;gap:36px;padding:25px 0 38px;min-height:0}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(2.85rem,11.4vw,4.6rem)}.hero-description{margin-top:23px;font-size:1rem;max-width:400px}.desktop-break{display:none}.hero-cta{margin-top:27px;width:100%;justify-content:space-between}.hero-note{max-width:none;font-size:.75rem;text-align:center;margin-top:12px}.hero-visual{max-width:none}.coach-film{height:340px}.footer{align-items:flex-start;gap:12px;font-size:.7rem}.footer-description{display:none}.footer>div{gap:12px;flex-direction:column;align-items:flex-end}.footer .text-button{min-height:26px}.flow-layout{display:block;margin:25px auto 55px;min-height:540px}.flow-aside h2,.flow-aside>p,.aside-note{display:none}.flow-aside{padding:0}.flow-steps{flex-direction:row;justify-content:space-between;gap:4px;margin:0 0 28px}.flow-steps li{font-size:.65rem;gap:6px;min-height:26px}.flow-steps .step-dot{width:20px;height:20px;font-size:.65rem}.form-panel h1{font-size:2rem}.intro{font-size:.9rem;margin-bottom:24px}.progress-track{margin-bottom:28px}.option{padding:17px;min-height:88px}.form-actions{margin-top:27px;padding-top:20px}.form-actions .button{flex:1;max-width:230px;gap:12px}.day-choices{gap:5px}.day-option span{font-size:.75rem;min-height:49px}.duration-options{gap:6px}.duration-option{min-width:52px}.duration-option span{font-size:.75rem}.center-screen{margin:35px auto 65px;min-height:490px}.center-screen h1{font-size:2.65rem}.ready-summary{gap:7px;margin-bottom:28px}.ready-summary span{font-size:.75rem}.plan-page{margin:25px auto 45px}.plan-heading{display:block;margin-bottom:25px}.plan-heading h1{font-size:2.6rem}.plan-heading p{font-size:.875rem}.plan-actions{flex-direction:row;margin-top:25px}.plan-actions .button{width:100%}.plan-facts{font-size:.75rem;gap:14px 20px}.plan-week{gap:5px;margin:24px 0}.week-day{border-radius:8px;min-height:89px;gap:8px;font-size:.7rem}.week-day .day-date{font-size:1.1rem}.week-day .day-type{font-size:.75rem}.workout-heading{margin:26px 0 15px}.workout-heading h2{font-size:1.6rem}.workout-heading>span{font-size:.7rem}.exercise-table th{font-size:.75rem;padding:12px 2px}.exercise-table th:first-child{width:52%}.exercise-table th:not(:first-child){width:16%}.exercise-table td{font-size:.8rem;padding:18px 2px}.exercise-name{gap:5px}.exercise-index{min-width:14px;font-size:.65rem}.exercise-name strong{font-size:.85rem}.exercise-target{font-size:.75rem}.exercise-cues summary{font-size:.7rem}.exercise-cues p{font-size:.75rem}.plan-guide{padding:18px;gap:10px}.plan-guide p{font-size:.8rem}.waitlist{grid-template-columns:1fr;gap:23px;margin-top:35px;padding:30px 0}.waitlist h2{font-size:1.8rem;max-width:310px}.waitlist p{font-size:.875rem}.plan-bottom{flex-direction:column;gap:2px}.plan-bottom .small{font-size:.75rem}dialog{padding:25px}.rest-panel{padding:45px 20px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.loader{border-color:var(--orange)}}
@media print{.header,.footer,.waitlist,.plan-actions,.plan-bottom{display:none}body{background:white;color:black}.site-shell{padding:0}}
/* Local 3D hero; the video remains available if WebGL cannot start. */
#webgl-hero canvas{display:block;width:100%;height:100%;position:absolute;inset:0}
/* Actual generation, followed by a short reveal of the completed workflow. */
.build-symbol{display:flex;align-items:flex-end;gap:7px;height:46px;margin-bottom:30px;color:var(--orange)}
.build-symbol span{display:block;width:10px;height:30px;border-radius:3px;background:currentColor;transform-origin:bottom;animation:build-pulse 1.4s ease-in-out infinite}
.build-symbol span:nth-child(2){height:44px;animation-delay:.16s}
.build-symbol span:nth-child(3){height:35px;animation-delay:.32s}
@keyframes build-pulse{0%,100%{transform:scaleY(.6);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.build-stages{list-style:none;padding:0;margin:34px 0 24px}
.build-stages li{display:flex;align-items:center;gap:17px;padding:23px 0;border-bottom:1px solid var(--line);color:var(--muted);transition:color .3s ease}
.build-stages li:first-child{border-top:1px solid var(--line)}
.build-stages strong{font-size:1rem;font-weight:550}.build-stages p{font-size:.85rem;color:var(--muted);margin-top:5px}
.build-stage-mark{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}
.build-stage-mark svg{width:16px;height:16px;opacity:0}
.build-stages .active{color:var(--ink)}.build-stages .active .build-stage-mark{border-color:var(--orange);border-top-color:transparent;animation:spin 1s linear infinite}
.build-stages .complete{color:var(--ink)}.build-stages .complete .build-stage-mark{color:var(--orange);border-color:#76502d;background:#261b13}
.build-stages .complete svg{opacity:1}.build-stage-state{margin-left:auto;font-size:.75rem}.build-stages .complete .build-stage-state{color:var(--orange)}
.build-status{min-height:44px}.sealed-plan{display:flex;align-items:center;gap:16px;padding:20px;margin:0 0 28px;background:var(--surface);border-radius:12px}
.sealed-plan>svg{width:23px;height:23px;color:var(--orange)}.sealed-plan strong{font-size:.95rem;font-weight:550}.sealed-plan p{font-size:.8rem;color:var(--muted);margin-top:5px}
@media(max-width:700px){.build-stages li{gap:12px}.build-stages strong{font-size:.9rem}.build-stages p{font-size:.75rem}.build-stage-state{font-size:.75rem}.sealed-plan{padding:17px;gap:13px}}
@media(prefers-reduced-motion:reduce){.build-symbol span,.build-stages .active .build-stage-mark{animation:none}.build-stages .active .build-stage-mark{border-color:var(--orange)}}
/* Give the desktop consultation a more readable, generous scale. */
@media(min-width:1200px){
  .flow-layout{max-width:1120px;grid-template-columns:330px minmax(0,1fr);gap:100px;min-height:600px}
  .flow-aside h2{font-size:2.65rem;max-width:330px}
  .flow-aside>p{font-size:1.0625rem}
  .flow-steps li{font-size:1rem;min-height:48px;gap:15px}
  .flow-steps .step-dot{width:28px;height:28px;font-size:.8rem}
  .aside-note{max-width:300px;font-size:.9rem}
  .form-panel h1{font-size:2.5rem}
  .form-panel .intro{font-size:1.0625rem;margin-bottom:34px}
  .form-panel .option{min-height:96px;padding:22px 24px;gap:19px}
  .form-panel .option-title{font-size:1.125rem}
  .form-panel .option-description{font-size:.95rem}
  .form-panel .option input{width:23px;height:23px}
  .form-panel .section-label{font-size:1rem}
  .form-panel .day-option span{min-height:60px;font-size:.95rem}
  .form-panel .chip{min-height:54px;font-size:1rem;padding:15px 21px}
  .form-panel .check-line,.form-panel .schedule-note{font-size:.95rem}
  .form-panel .local-note{font-size:.875rem}
  .form-actions .button{min-height:62px;min-width:180px;padding:18px 30px;font-size:1.0625rem}
  .form-actions .back-button{min-height:54px;font-size:1rem}
}

/* A single offer and the original Coach film. */
.landing{grid-template-columns:1.15fr 1fr;gap:64px;min-height:calc(100svh - 112px);padding:36px 0 60px}
.hero-description{max-width:410px}
.hero-note{max-width:360px}
.hero-visual{max-width:470px}
.coach-film{height:auto;aspect-ratio:4 / 3;background:var(--canvas)}
.coach-film video{display:block;object-fit:cover;object-position:center}
.coach-film:after{display:none}
@media(min-width:1500px){.hero-visual{max-width:500px}}
@media(max-width:700px){
  .landing{grid-template-columns:1fr;gap:28px;min-height:0;padding:28px 0 36px}
  .hero-visual{justify-self:center;max-width:360px}
  .coach-film{height:auto;aspect-ratio:4 / 3}
  .hero-description{font-size:1rem;margin-top:22px}
  .hero-cta{margin-top:26px}
  .header nav{gap:14px}.header .nav-link{font-size:.75rem}.header:has(#resume:not([hidden])) .preview-label{display:none}
}

/* Studio lighting inspired by the Resend landing-page background. */
body:has(#landing:not([hidden])){background:#050506;position:relative;isolation:isolate}
body:has(#landing:not([hidden]))::before,
body:has(#landing:not([hidden]))::after{content:"";position:absolute;pointer-events:none;z-index:-1}
body:has(#landing:not([hidden]))::before{
  inset:0;
  background:
    radial-gradient(ellipse at 87% -16%,rgba(197,198,201,.15),transparent 53%),
    linear-gradient(126deg,transparent 39%,rgba(159,161,167,.025) 53%,rgba(159,161,167,.065) 65%,transparent 83%);
  mask-image:linear-gradient(#000 0%,#000 55%,transparent 95%);
}
body:has(#landing:not([hidden]))::after{
  left:0;right:0;top:64%;height:26%;
  background:linear-gradient(9deg,transparent 43%,rgba(171,170,166,.035) 48%,rgba(171,170,166,.07) 50%,rgba(171,170,166,.025) 53%,transparent 59%);
  mask-image:linear-gradient(90deg,transparent,#000 25%,#000 80%,transparent);
  filter:blur(8px);
}
.landing .coach-film{
  aspect-ratio:4 / 3;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  /* Mask the composited film layer, including its outermost video pixels. */
  -webkit-mask-image:linear-gradient(90deg,transparent 0 3%,#000 16% 84%,transparent 97% 100%),linear-gradient(transparent 0%,#000 4% 76%,transparent 98% 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0 3%,#000 16% 84%,transparent 97% 100%),linear-gradient(transparent 0%,#000 4% 76%,transparent 98% 100%);
  mask-composite:intersect;
}
.landing .coach-film video{object-fit:cover;-webkit-mask-image:none;mask-image:none}
/* Keep the media control accessible while reducing its visual weight. */
.video-toggle{top:12px;right:12px;border:0;background:transparent;opacity:.58;transition:opacity .18s var(--ease)}
.video-toggle::before{content:"";position:absolute;inset:4px;border:1px solid #ffffff1f;border-radius:50%;background:#0d0d0fb3}
.video-toggle svg{position:relative;z-index:1;width:14px;height:14px}
.video-toggle:hover,.video-toggle:focus-visible{opacity:1}
/* Bias the spacious desktop hero slightly upward without changing mobile flow. */
@media(min-width:701px) and (min-height:760px){
  .landing{padding-top:0;padding-bottom:116px}
}

.hero-cta{min-height:62px;padding:18px 30px;font-size:1.125rem;font-weight:650}
.header-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #35353a;border-radius:9px;font-size:.875rem;font-weight:550;color:var(--body);background:#11111366;transition:color .18s,border-color .18s,background .18s}
.header-contact:hover{color:var(--ink);border-color:#626269;background:var(--surface);text-decoration:none}
@media(max-width:700px){.hero-cta{justify-content:center}}
@media(max-width:700px){
  body:has(#landing:not([hidden]))::before{background:radial-gradient(ellipse at 100% 0%,rgba(197,198,201,.13),transparent 65%)}
  body:has(#landing:not([hidden]))::after{top:auto;bottom:9%;height:22%;opacity:.65}
}

/* Contact is a focused page in the same quiet visual system as the plan builder. */
.contact-page{max-width:980px;min-height:590px;margin:50px auto 90px;display:grid;grid-template-columns:minmax(0,340px) minmax(0,560px);gap:100px;align-items:start}
.contact-intro{padding-top:8px}.contact-intro h1{font-size:clamp(3.25rem,5vw,4.75rem)}.contact-intro>p{max-width:31ch;margin-top:22px;color:var(--muted)}.contact-intro .back-button{margin-top:34px}
.contact-form{display:grid;gap:21px}.contact-field{display:grid;gap:9px}.contact-field label{font-size:.9rem;font-weight:550}.contact-field label span{color:var(--muted);font-weight:400}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #55555e;border-radius:10px;background:var(--surface);color:var(--ink);padding:15px 17px;font:inherit}
.contact-form input,.contact-form select{min-height:56px}.contact-form textarea{min-height:170px;resize:vertical;line-height:1.55}.contact-form select{color-scheme:dark}.contact-form textarea::placeholder{color:var(--muted)}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#73737c}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{border-color:var(--orange)}
.contact-form .error{margin-top:0}.contact-form .button{justify-self:start;min-width:172px}.contact-form .local-note{margin-top:-6px}
.contact-success .intro{margin:24px 0 8px}.contact-success .button{margin-top:30px}
@media(max-width:700px){.contact-page{min-height:0;margin:28px auto 58px;grid-template-columns:1fr;gap:38px}.contact-intro{padding:0}.contact-intro h1{font-size:2.8rem}.contact-intro>p{font-size:.9rem}.contact-intro .back-button{margin-top:22px}.contact-form .button{width:100%}}
textarea:focus-visible{outline:2px solid var(--orange);outline-offset:5px}textarea{caret-color:var(--orange)}

/* A deliberate completion beat after the real plan build has finished. */
.build-complete-action{display:grid;justify-items:start;gap:10px;min-height:92px;margin-top:25px}
.build-complete-action .button{min-width:190px;animation:build-action-in .55s var(--ease)}
.build-complete-action .small{color:var(--muted);animation:build-action-in .55s var(--ease)}
@keyframes build-action-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.plan-reveal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:#050506;isolation:isolate;animation:reveal-overlay-in .2s ease-out}
.plan-reveal-light{position:absolute;width:min(760px,92vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(251,146,60,.2) 0%,rgba(251,146,60,.055) 34%,transparent 69%);filter:blur(10px);animation:reveal-light 1.8s var(--ease) both}
.plan-reveal-stage{position:relative;display:grid;justify-items:center;gap:36px;width:min(720px,90vw);perspective:1000px}
.plan-reveal-stage>p{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:550;color:var(--ink);letter-spacing:-.025em;animation:reveal-copy 1s .65s var(--ease) both}
.plan-reveal-sheet{position:relative;width:min(600px,86vw);min-height:350px;padding:40px;border:1px solid #56565e;border-radius:16px;background:#111113;overflow:hidden;transform-origin:center;animation:unseal-plan 1.35s .14s var(--ease) both}
.plan-reveal-sheet::after{content:"";position:absolute;inset:-45% auto -45% -35%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.17),transparent);transform:skewX(-14deg);animation:plan-scan 1.15s .62s ease-in-out both}
.plan-reveal-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line);font-size:1rem;color:var(--muted)}
.plan-reveal-head span:first-child{font-weight:650;color:var(--ink)}
.plan-reveal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:32px 0 36px}
.plan-reveal-days span{display:grid;place-items:center;height:52px;border-radius:7px;background:#252529;color:var(--muted);font-size:1rem;animation:reveal-day .42s var(--ease) both}
.plan-reveal-days span:nth-child(1),.plan-reveal-days span:nth-child(3),.plan-reveal-days span:nth-child(5){background:#3a2415;color:#ffad68}
.plan-reveal-days span:nth-child(1){animation-delay:.55s}.plan-reveal-days span:nth-child(2){animation-delay:.62s}.plan-reveal-days span:nth-child(3){animation-delay:.69s}.plan-reveal-days span:nth-child(4){animation-delay:.76s}.plan-reveal-days span:nth-child(5){animation-delay:.83s}.plan-reveal-days span:nth-child(6){animation-delay:.9s}.plan-reveal-days span:nth-child(7){animation-delay:.97s}
.plan-reveal-lines{display:grid;gap:13px}.plan-reveal-lines span{display:block;height:7px;border-radius:4px;background:#303035}.plan-reveal-lines span:nth-child(1){width:86%}.plan-reveal-lines span:nth-child(2){width:64%}.plan-reveal-lines span:nth-child(3){width:76%}.plan-reveal-lines span:nth-child(4){width:48%}
@keyframes reveal-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes reveal-light{from{opacity:0;transform:scale(.45)}55%{opacity:1}to{opacity:.48;transform:scale(1)}}
@keyframes unseal-plan{from{opacity:.25;clip-path:inset(49% 0 49% 0 round 16px);transform:translateY(18px) rotateX(8deg) scale(.9)}to{opacity:1;clip-path:inset(0 0 0 0 round 16px);transform:none}}
@keyframes plan-scan{from{left:-35%;opacity:0}20%{opacity:1}to{left:125%;opacity:0}}
@keyframes reveal-day{from{opacity:.25;transform:translateY(8px) scale(.92)}to{opacity:1;transform:none}}
@keyframes reveal-copy{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:700px){.build-complete-action{justify-items:stretch}.build-complete-action .button{width:100%}.plan-reveal-sheet{padding:23px;min-height:240px}.plan-reveal-days{gap:5px}.plan-reveal-days span{height:34px}}
@media(prefers-reduced-motion:reduce){.plan-reveal-light{opacity:.35}.plan-reveal-sheet,.plan-reveal-stage>p,.plan-reveal-days span{animation:none}.plan-reveal-sheet::after{display:none}}

/* The plan builder follows the Coach app's onboarding language and component system. */
.flow-layout.app-flow{display:block;max-width:780px;min-height:calc(100svh - 190px);margin:44px auto 78px}
.app-flow .form-panel{width:100%}
.question-progress{display:grid;gap:10px;margin-bottom:48px}
.question-progress>span{justify-self:end;font-size:.8125rem;color:var(--body)}
.app-flow .progress-track{height:5px;margin:0;border-radius:999px;background:var(--line)}
.app-flow .progress-track span{background:var(--ink);border-radius:999px}
.app-flow .form-panel h1{font-size:3.375rem;line-height:1.12;letter-spacing:0;font-weight:600}
.app-flow .form-panel .intro{max-width:680px;margin:10px 0 46px;font-size:1.375rem;line-height:1.42;color:var(--body)}
.app-flow .options{gap:18px}
.app-flow .option{min-height:128px;gap:28px;padding:30px 32px;border-color:var(--line);border-radius:12px;background:var(--surface)}
.app-flow .option:hover{border-color:#3a3a40;background:var(--raised)}
.app-flow .option:has(input:checked){border-color:var(--orange);background:#342113}
.app-flow .option>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.option-indicator{display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border:1.5px solid #3a3a40;border-radius:50%;background:var(--canvas);color:var(--canvas);transition:background .16s,border-color .16s,transform .16s}
.option-indicator svg{width:23px;height:23px;opacity:0;transform:scale(.65);transition:opacity .16s,transform .16s}
.option:has(input:checked) .option-indicator{border-color:var(--ink);background:var(--orange)}
.option:has(input:checked) .option-indicator svg{opacity:1;transform:scale(1)}
.app-flow .option-title{font-size:1.4375rem;line-height:1.3;font-weight:600}
.app-flow .option-description{margin-top:4px;font-size:1.1875rem;line-height:1.45;color:var(--body)}
.app-flow .compact-options{gap:10px}
.app-flow .compact-options .option{min-height:88px;gap:16px;padding:16px 20px}
.app-flow .compact-options .option-indicator{width:40px;height:40px;flex-basis:40px}
.app-flow .compact-options .option-indicator svg{width:18px;height:18px}
.app-flow .compact-options .option-title{font-size:1.0625rem}.app-flow .compact-options .option-description{font-size:.875rem}
.app-flow .section-label{margin-top:0;font-size:.9375rem;font-weight:700;color:var(--body)}
.app-flow .day-choices{gap:8px;overflow:visible}
.app-flow .day-option span{min-height:52px;border-color:transparent;border-radius:50%;background:var(--surface);font-size:1rem;font-weight:700;color:var(--body)}
.app-flow .day-option input:checked+span{border-color:var(--orange);background:#342113;color:var(--ink)}
.app-flow .duration-options{gap:8px}.app-flow .duration-option span{border-radius:8px;border-color:var(--line)}
.app-flow .chips{gap:8px}.app-flow .chip{min-height:50px;border-radius:8px;background:var(--surface);border-color:var(--line);font-size:1rem}
.app-flow .chip:hover{background:var(--raised);border-color:#3a3a40}.app-flow .chip[aria-pressed=true]{border-color:var(--orange);background:#342113;color:var(--ink)}
.app-flow .form-actions{justify-content:center;gap:24px;margin-top:44px;padding-top:24px}
.app-flow .form-actions .back-button{width:140px;justify-content:center;padding:0;min-height:62px;font-size:1rem}
.app-flow .form-actions .button{flex:1;max-width:600px;min-height:62px;font-size:1rem}
@media(max-width:700px){.flow-layout.app-flow{min-height:0;margin:24px auto 52px}.question-progress{margin-bottom:30px}.app-flow .form-panel h1{font-size:2rem;line-height:1.18}.app-flow .form-panel .intro{margin:9px 0 27px;font-size:1rem;line-height:1.45}.app-flow .options{gap:12px}.app-flow .option{min-height:88px;gap:16px;padding:16px}.option-indicator{width:40px;height:40px;flex-basis:40px}.option-indicator svg{width:18px;height:18px}.app-flow .option-title{font-size:1.0625rem}.app-flow .option-description{font-size:.875rem}.app-flow .form-actions{gap:8px;margin-top:28px;padding-top:16px}.app-flow .form-actions .back-button{width:84px;min-height:52px}.app-flow .form-actions .button{min-height:52px}.app-flow .day-option span{min-height:46px;font-size:.875rem}}

/* The plan reveal resolves into one clear preview and one clear action. */
.ready-page{max-width:1020px;min-height:0;margin:32px auto 64px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:92px;align-items:start}
.ready-overview h1{font-size:clamp(3.75rem,5.4vw,5rem);line-height:1.02}.ready-intro{max-width:460px;margin-top:22px;font-size:1.0625rem;color:var(--body)}
.ready-page .ready-summary{margin:24px 0 32px}.ready-page .ready-summary span{padding:8px 12px;background:var(--surface);border-color:var(--line)}
.ready-plan-preview{padding:25px 26px 27px;border-radius:16px;background:var(--surface)}
.ready-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.ready-preview-head strong{display:block;font-size:1rem;font-weight:600}.ready-preview-head span{display:block;margin-top:5px;font-size:.8rem;color:var(--muted)}.ready-preview-head svg{width:22px;height:22px;color:var(--orange)}
.ready-preview-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:26px}.ready-preview-days span{display:grid;justify-items:center;gap:9px;padding:12px 3px 10px;border-radius:8px;background:#202023;color:var(--muted)}.ready-preview-days span.training{background:#342113;color:#ffad68}.ready-preview-days b{font-size:.8rem}.ready-preview-days small{font-size:.625rem;color:inherit}
.ready-overview>.back-button{margin-top:24px}
.unlock-panel{padding:38px;border-radius:16px;background:#111113}.unlock-panel h2{font-size:2.25rem}.unlock-panel>p{margin-top:12px;font-size:.95rem;color:var(--body)}
.unlock-panel .email-form{margin-top:30px}.unlock-panel .email-form .button{margin-top:18px}.unlock-panel .email-form .small{text-align:center}.unlock-panel .local-note{text-align:left;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:850px){.ready-page{max-width:620px;grid-template-columns:1fr;gap:42px;align-items:start}.ready-overview h1 br{display:none}.ready-overview>.back-button{display:none}}
@media(max-width:700px){.ready-page{min-height:0;margin:28px auto 56px;gap:32px}.ready-overview h1{font-size:3rem}.ready-intro{font-size:.95rem}.ready-plan-preview{padding:20px 16px}.ready-preview-days{gap:4px}.ready-preview-days span{padding:10px 1px 9px}.ready-preview-days small{font-size:.55rem}.unlock-panel{padding:24px 20px}.unlock-panel h2{font-size:1.9rem}}

/* A live example week assembles behind the hero without competing with the offer. */
.landing{position:relative;isolation:isolate}
.training-matrix{position:absolute;z-index:0;top:-112px;right:calc(50% - 50vw);bottom:0;left:calc(50% - 50vw);overflow:hidden;pointer-events:none;opacity:0;transition:opacity 900ms var(--ease);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 27%,rgb(0 0 0/.28) 39%,#000 49%,#000 97%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 13%,#000 83%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,transparent 27%,rgb(0 0 0/.28) 39%,#000 49%,#000 97%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 13%,#000 83%,transparent 100%);mask-composite:intersect}
.training-matrix.is-ready{opacity:.62}.training-matrix canvas{display:block;width:100%;height:100%}
.hero-copy,.hero-visual{position:relative;z-index:2}
.matrix-status{position:absolute;z-index:3;right:clamp(18px,2.5vw,42px);bottom:clamp(30px,5.5vh,68px);display:grid;width:min(286px,24vw);min-width:238px;gap:5px;padding:17px 18px 16px;border:1px solid rgb(255 255 255/.1);border-radius:14px;background:rgb(14 14 16/.92);color:var(--ink);pointer-events:none}
.matrix-status.is-hovered{position:fixed;right:auto;bottom:auto;left:var(--matrix-x);top:var(--matrix-y);width:286px;z-index:20;border-color:rgb(251 146 60/.38)}
.matrix-status__eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.matrix-status__eyebrow i{width:7px;height:7px;background:var(--orange)}
.matrix-status strong{font-size:14px;line-height:1.35}.matrix-status>span:not(.matrix-status__eyebrow){color:var(--body);font-size:12px}.matrix-status__week{margin-top:8px;padding-top:10px;border-top:1px solid rgb(255 255 255/.08)}
.matrix-status.is-changing strong,.matrix-status.is-changing #matrix-detail{animation:matrix-copy-in 360ms var(--ease) both}
@keyframes matrix-copy-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.matrix-status{display:none}.training-matrix.is-ready{opacity:.46}}
@media(max-width:700px){.training-matrix{top:-86px;opacity:0;-webkit-mask-image:linear-gradient(180deg,transparent 2%,#000 23%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 2%,#000 23%,#000 80%,transparent 100%)}.training-matrix.is-ready{opacity:.3}}
@media(prefers-reduced-motion:reduce){.training-matrix{transition:none}.matrix-status.is-changing strong,.matrix-status.is-changing #matrix-detail{animation:none}}

/* The right half is one continuous scene; the left carries the offer. */
body:has(#landing:not([hidden])) .site-shell{max-width:none;padding-inline:clamp(28px,6vw,112px)}
body:has(#landing:not([hidden])) .header{position:relative;z-index:4}
.landing{display:flex;min-height:calc(100svh - 184px);padding:24px 0 76px}
.hero-copy{width:56%;max-width:800px}
.hero-copy h1{font-size:clamp(2.25rem,4.25vw,5.25rem);line-height:1.1;letter-spacing:-.04em}
.hero-copy h1>span{display:block}
.hero-copy h1>.hero-headline-primary{color:var(--ink)}
.hero-copy .hero-description{max-width:640px;margin-top:28px;font-size:clamp(1.125rem,1.4vw,1.5rem);line-height:1.55;font-weight:500;color:#e6e6e9}
.hero-description>span{display:block}
.hero-copy .hero-cta{margin-top:30px}
.hero-stage{position:absolute;left:calc(-1 * clamp(28px,6vw,112px));right:calc(-1 * clamp(28px,6vw,112px));top:-112px;bottom:-72px;overflow:hidden;isolation:isolate}
.hero-stage .training-matrix{inset:0;mask-image:linear-gradient(90deg,transparent,rgb(0 0 0/.5) 8%,rgb(0 0 0/.5) 40%,#000 56%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,rgb(0 0 0/.5) 8%,rgb(0 0 0/.5) 40%,#000 56%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in}
.hero-stage .hero-visual{position:absolute;width:34%;max-width:610px;left:76%;top:51%;transform:translate(-50%,-50%)}
.hero-stage .matrix-status:not(.is-hovered){right:32px;bottom:28px;width:260px;min-width:0;background:transparent;border:0;padding:0}
.contact-footer{position:relative;z-index:4;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:72px;padding-bottom:16px}
.contact-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.9375rem;font-weight:550;color:var(--body);transition:color .2s,border-color .2s,background .2s}
.contact-footer a:hover{color:var(--orange);border-color:var(--orange);background:var(--raised);text-decoration:none}
@media(max-width:850px){
  .landing{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:30px 0 0}
  .hero-copy{width:100%;max-width:620px}
  .hero-copy h1{font-size:clamp(2.25rem,5.8vw,3.2rem)}
  .hero-stage{position:relative;order:2;inset:auto;margin:18px -28px 0;height:560px;flex:none}
  .hero-stage .hero-visual{width:60%;max-width:400px;left:50%;top:50%}
  .hero-stage .matrix-status:not(.is-hovered){display:none}
  .hero-stage .matrix-status.is-hovered{display:grid}
  .contact-footer{min-height:64px}
}
/* Phone composition: keep the offer and film together within browser chrome. */
@media(max-width:700px){
  body:has(#landing:not([hidden])) .site-shell{width:100%;min-height:100svh;display:flex;flex-direction:column;padding-inline:24px}
  body:has(#landing:not([hidden])) #main{min-width:0}
  body:has(#landing:not([hidden])) .header{height:72px}
  body:has(#landing:not([hidden])) .brand img{width:124px}
  .landing{gap:24px;padding:16px 0 0}
  .hero-copy h1{font-size:clamp(1.5rem,7.7vw,3rem);line-height:1.15}
  .hero-copy .hero-description{margin-top:20px;font-size:1rem;line-height:1.55;max-width:400px}
  .hero-copy .hero-cta{margin-top:24px}
  .hero-cta{width:100%;min-height:54px;margin-top:24px;padding:14px 16px;font-size:1rem;line-height:1.4}
  .hero-stage{margin:0;height:auto;aspect-ratio:4 / 3;width:min(100%,320px);align-self:center}
  .hero-stage .hero-visual{width:100%;max-width:320px;top:0;transform:translateX(-50%)}
  .hero-stage .training-matrix{pointer-events:none}
  .contact-footer{justify-content:center;min-height:64px;padding:10px 0 max(10px,env(safe-area-inset-bottom));border-top:1px solid #ffffff0d}
  .contact-footer a{border:0;border-radius:0;background:transparent;font-size:.875rem;font-weight:400;color:var(--muted);padding:10px 16px}
  .contact-footer a:hover{background:transparent;text-decoration:underline}
}

.coach-film video{pointer-events:none}

.matrix-cycle-label{position:fixed;z-index:5;pointer-events:none;display:flex;align-items:flex-start;gap:11px;width:236px;padding:16px;border:1px solid #fb923c66;border-radius:12px;background:#171411;color:var(--ink);font-size:12px;font-weight:550;opacity:0;transform:translateY(-4px);transition:opacity 800ms ease-in-out,transform 1000ms cubic-bezier(.22,1,.36,1)}
.matrix-cycle-label.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.matrix-cycle-label{display:none}}

.matrix-cycle-label>svg{width:22px;height:22px;color:var(--orange);stroke-width:2;margin-top:1px}
.matrix-cycle-label>div{display:grid;gap:5px}.matrix-cycle-label strong{font-size:14px;line-height:1.3}.matrix-cycle-label span{font-size:12px;line-height:1.45;color:#c9b7a8;font-weight:400}
.matrix-status.is-adapted .matrix-status__eyebrow{color:#ffac6b}.matrix-status.is-hovered{background:#111113}

.matrix-cycle-label>.completion-check{width:28px;height:28px;margin-top:0;flex-shrink:0}
.completion-check rect{fill:#fb923c00;stroke:#fb923c66;stroke-width:1.4}
.completion-check path{fill:none;stroke:#ffae70;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.matrix-cycle-label.is-visible .completion-check rect{animation:completion-fill 1100ms 250ms ease-in-out both}
.matrix-cycle-label.is-visible .completion-check path{animation:completion-draw 1000ms 600ms cubic-bezier(.22,1,.36,1) both}
@keyframes completion-fill{from{fill:#fb923c00;stroke:#fb923c66}to{fill:#fb923c24;stroke:#fb923cb3}}
@keyframes completion-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.completion-check rect,.completion-check path{animation:none!important}.completion-check path{stroke-dashoffset:0}}

/* Supplied Terkai lockup: preserve its proportions and reserve layout space. */
.brand{min-height:44px;flex-shrink:0}
.brand img{display:block;width:166px;height:auto}
@media(max-width:700px){.brand img{width:142px}}

/* Desktop questionnaire with its original step sidebar. */
/* Single-choice cards retain native radio behavior and a circular indicator. */
.website-flow .option{transition:background .5s var(--ease),border-color .5s var(--ease)}
.website-flow .option>input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.website-flow .option .option-indicator{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1.5px solid #606068;border-radius:50%;background:transparent;color:var(--orange);transition:background .5s var(--ease),border-color .5s var(--ease)}
.website-flow .option .option-indicator svg{width:18px;height:18px;opacity:1;transform:none;stroke-width:2.5}
.website-flow .option .option-indicator path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .18s ease}
.website-flow .option:has(input:checked){border-color:#c77f43;background:#241c16}
.website-flow .option:has(input:checked) .option-indicator{background:var(--orange);border-color:var(--orange);color:var(--canvas)}
.website-flow .option:has(input:checked) .option-indicator path{stroke-dashoffset:0;transition:stroke-dashoffset 1s cubic-bezier(.22,.61,.36,1)}
.website-flow .option:has(input:disabled){pointer-events:none}
@media(prefers-reduced-motion:reduce){.website-flow .option,.website-flow .option .option-indicator,.website-flow .option .option-indicator path{transition:none}}

.website-flow .question-progress{margin-bottom:30px;gap:8px}
.website-flow .question-progress .progress-track{margin:0}
.website-flow .form-actions{justify-content:space-between}
.website-flow .form-actions .button{flex:0 1 auto}
@media(max-width:700px){.website-flow .flow-steps{flex-wrap:wrap}.website-flow .question-progress{margin-bottom:24px}}


/* A roomier build sequence, with one action when the week is complete. */
.center-screen.build-screen{max-width:760px;margin:48px auto 64px}
.build-screen h1{font-size:clamp(3rem,4.7vw,4.5rem);line-height:1.08}
.build-screen>.intro{font-size:1.125rem;margin-top:22px}
.build-screen .build-stages{margin-top:38px;margin-bottom:18px}
.build-screen .build-stages li{min-height:102px;gap:22px;transition:color .85s var(--ease)}
.build-screen .build-stages strong{font-size:1.1875rem}
.build-screen .build-stages p{font-size:1rem}
.build-screen .build-stage-mark{width:34px;height:34px;transition:background .85s,border-color .85s,color .85s}
.build-screen .build-stage-mark svg{width:19px;height:19px;transition:opacity .8s}
.build-screen .build-stages .complete svg path{stroke-dasharray:24;stroke-dashoffset:0;animation:build-check-draw 1s var(--ease)}
.build-screen .build-stages .active .build-stage-mark{animation-duration:1.8s}
.build-screen .build-status{font-size:1rem;transition:opacity .6s}
.build-screen.is-complete .build-status{opacity:0}
.build-screen .build-complete-action{margin-top:0;min-height:64px}
.build-screen .build-complete-action .button{min-width:230px;min-height:62px;font-size:1.125rem;animation-duration:.9s}
.plan-reveal-overlay{animation-duration:.55s;transition:opacity .65s ease}
.plan-reveal-overlay.is-leaving{opacity:0;pointer-events:none}
.plan-reveal-sheet{animation-duration:1.8s}
.plan-reveal-light{animation-duration:2.3s}
@keyframes build-check-draw{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
@media(max-width:700px){.center-screen.build-screen{margin:28px auto 44px}.build-screen h1{font-size:2.75rem}.build-screen .build-stages li{min-height:94px;gap:15px}.build-screen .build-stages strong{font-size:1.125rem}.build-screen .build-stages p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.build-screen .build-stages .complete svg path,.build-screen .build-complete-action .button,.plan-reveal-overlay{animation:none}.build-screen .build-stage-mark,.build-screen .build-stage-mark svg,.build-screen .build-stages li,.plan-reveal-overlay{transition:none}}

.terms-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.terms-link:hover{color:var(--orange)}
.terms-document{max-width:800px;margin:48px auto 80px;padding:0 24px}.terms-document h1{font-size:clamp(2.3rem,5vw,3.5rem);margin:48px 0 18px}.terms-document h2{font-size:1.35rem;margin:32px 0 12px}.terms-document p{margin:12px 0;font-size:1rem;line-height:1.7}.terms-version{color:var(--orange)}

/* Review keeps the questionnaire's desktop columns and compact mobile flow. */
.website-flow .progress-track[data-step="0"] span{transform:scaleX(.25)}
.website-flow .progress-track[data-step="1"] span{transform:scaleX(.5)}
.website-flow .progress-track[data-step="2"] span{transform:scaleX(.75)}
.website-flow .progress-track[data-step="3"] span{transform:scaleX(1)}
.website-flow .progress-track[data-step="4"] span{transform:scaleX(1)}
.review-choices{margin:0;border-top:1px solid var(--line)}
.review-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.review-row dt{color:var(--muted);font-size:.875rem;margin-bottom:5px}
.review-row dd{margin:0;font-size:1.0625rem;font-weight:600;overflow-wrap:anywhere}
.review-row a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--orange);text-underline-offset:4px}
.review-row a:hover{color:var(--ink)}
@media(max-width:700px){.website-flow .flow-steps{flex-wrap:wrap;justify-content:flex-start;gap:10px 14px}.review-row{padding:16px 0;gap:12px}.review-row dd{font-size:1rem}}

/* Compact phone questionnaire, with actions kept in the scrollable document. */
@media(max-width:700px){
  body:has(.website-flow) .header{height:64px}
  body:has(.website-flow) .brand img{width:124px}
  .flow-layout.website-flow{min-height:0;margin:12px auto 0;padding-bottom:max(32px,env(safe-area-inset-bottom))}
  .website-flow .flow-steps{margin-bottom:16px;gap:8px 12px}
  .website-flow .flow-steps li{font-size:.6875rem}
  .website-flow .question-progress{margin-bottom:20px}
  .website-flow .form-panel h1{font-size:1.75rem;line-height:1.15}
  .website-flow .intro{margin:12px 0 20px;font-size:.9375rem;line-height:1.5}
  .website-flow .options{gap:10px}
  .website-flow .option{min-height:78px;padding:14px;gap:14px}
  .website-flow .option-title{font-size:1rem;line-height:1.3}
  .website-flow .option-description{margin-top:4px;font-size:.875rem;line-height:1.4}
  .website-flow .option .option-indicator{width:26px;height:26px;flex-basis:26px}
  .website-flow .form-actions{margin-top:24px;padding-top:16px;gap:16px}
  .website-flow .form-actions .button{min-height:52px;padding:13px 20px;font-size:1rem}
  .website-flow .form-actions .back-button{min-height:52px}
}
@media(max-width:360px){
  .website-flow .flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .website-flow .flow-steps li{flex-direction:column;align-items:flex-start;gap:6px}
}

.plan-recovery-link{margin-top:18px;font-size:.875rem;color:var(--muted)}
.plan-recovery-link a{display:inline-flex;align-items:center;min-height:44px;color:var(--body);text-underline-offset:4px}
.plan-recovery-link a:hover{color:var(--orange)}
.recovery-page .back-button{margin-top:22px}

.build-screen.is-complete .build-symbol{visibility:hidden}
.build-screen.is-complete .build-symbol>span{animation:none}

/* The generation summary shares the onboarding's two-column desktop rhythm. */
.center-screen.build-screen{max-width:1120px;min-height:0;margin:56px auto 72px}
.build-screen .build-symbol{margin-bottom:22px}
.build-screen .build-status{margin-top:18px;min-height:28px}
.build-screen.is-complete .build-status{visibility:hidden}
@media(min-width:901px){
  .center-screen.build-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"mark ." "heading stages" "intro stages" ". status";column-gap:80px;row-gap:0;align-items:start}
  .build-screen .build-symbol{grid-area:mark}
  .build-screen h1{grid-area:heading;font-size:clamp(3.25rem,4.5vw,4.25rem);line-height:1.08;letter-spacing:-.035em}
  .build-screen>.intro{grid-area:intro;max-width:400px;margin:24px 0 30px;font-size:1.1875rem}
  .build-screen .build-stages{grid-area:stages;margin:0}
  .build-screen .build-stages li{min-height:124px;padding:28px 0;gap:22px}
  .build-screen .build-stages strong{font-size:1.25rem;line-height:1.35}
  .build-screen .build-stages p{font-size:1.0625rem;line-height:1.5}
  .build-screen .build-stage-mark{width:42px;height:42px}
  .build-screen .build-stage-mark svg{width:23px;height:23px}
  .build-screen .build-status{grid-area:status;font-size:1rem;line-height:1.5}
  .build-screen .build-complete-action{grid-area:action;margin-top:0;min-height:62px}
}
@media(max-width:900px){
  .center-screen.build-screen{max-width:640px;margin:32px auto 48px}
  .build-screen h1{font-size:clamp(2.5rem,6vw,3.5rem)}
  .build-screen .build-stages{margin-top:30px}
  .build-screen .build-complete-action{margin-top:8px}
}


/* Stage motion keeps the navigation and progress track in place. */
.website-flow.screen-enter{animation:enter .6s cubic-bezier(.22,.61,.36,1)}
.question-stage{position:relative;min-width:0}
.question-body{min-width:0;display:flex;flex-direction:column;min-height:620px}
.question-body>.form-actions{margin-top:auto;padding-top:24px}
.question-body>fieldset{flex-shrink:0}
.question-body>.error{margin-bottom:24px}
.question-body>.error:empty{display:block;height:32px;flex-shrink:0;margin:0;padding:0;border:0;background:none}
@media(max-width:700px){.question-body{min-height:580px}}
.question-leaving{position:absolute;inset:0 0 auto;pointer-events:none;user-select:none}
.website-flow .flow-steps li,.website-flow .step-dot{transition:color 400ms ease,border-color 400ms ease,background-color 400ms ease}
.website-flow .progress-track span{transition:transform 560ms cubic-bezier(.22,.61,.36,1)}

/* Optional invitation after the first plan view. Native dialog handles focus and Escape. */
.waitlist-dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:48px 36px 32px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.waitlist-dialog::backdrop{background:rgb(0 0 0 / .76)}
.waitlist-dialog[open]{animation:waitlist-arrive 220ms cubic-bezier(.16,1,.3,1)}
.waitlist-dialog h2{margin:0 0 20px;font-size:2.4rem;line-height:1.1;letter-spacing:-.035em}
.waitlist-dialog p{font-size:1rem;line-height:1.6;color:var(--body)}
.waitlist-dialog .waitlist-email{margin-top:24px;font-size:.875rem;overflow-wrap:anywhere;color:var(--muted)}
.waitlist-email strong{font-weight:500;color:var(--ink)}
.waitlist-dialog .local-note{font-size:.75rem}
.waitlist-dialog .error{color:#ffb9b3}
.waitlist-dialog-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted)}
.waitlist-dialog-close:hover{background:var(--raised);color:var(--ink)}
.waitlist-dialog-close svg{width:20px;height:20px}
.waitlist-dialog-actions{display:grid;gap:12px;margin-top:28px}
.waitlist-dialog-actions .button{width:100%;min-height:48px}
@keyframes waitlist-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.waitlist-dialog{padding:48px 24px 24px}.waitlist-dialog h2{font-size:2rem}}



/* Per-side prescriptions must wrap inside compact workout tables. */
.exercise-table td:nth-child(3){white-space:normal;overflow-wrap:normal}

.terms-document h3{font-size:1.1rem;margin:24px 0 10px}.terms-document ul{padding-left:24px;margin:12px 0}.terms-document li{line-height:1.7;margin:6px 0}

@media(max-width:700px){.plan-reveal-stage{gap:28px}.plan-reveal-head{font-size:.875rem;padding-bottom:20px}.plan-reveal-days{margin:24px 0 28px}.plan-reveal-days span{font-size:.875rem}}
@media(max-height:500px){.plan-reveal-stage{gap:16px}.plan-reveal-sheet{min-height:0;padding:20px}.plan-reveal-head{padding-bottom:16px}.plan-reveal-days{margin:16px 0}.plan-reveal-days span{height:32px}.plan-reveal-lines{gap:8px}.plan-reveal-stage>p{font-size:1.5rem}}

/* Separate schedule choices while keeping the day count with its controls. */
.website-flow .schedule-count{margin-bottom:32px}


/* Give the desktop onboarding steps more presence without crowding phones. */
@media(min-width:701px){
  .website-flow .flow-steps{gap:12px}
  .website-flow .flow-steps li{font-size:1.125rem;min-height:56px;gap:18px}
  .website-flow .flow-steps .step-dot{width:36px;height:36px;font-size:.9375rem;flex-shrink:0}
  .website-flow .flow-steps .step-dot svg{width:18px;height:18px}
}

/* Completed steps use the brand fill to make progress clear at a glance. */
.website-flow .flow-steps .complete .step-dot{background:var(--orange);border-color:var(--orange);color:var(--canvas)}
.website-flow .flow-steps .complete .step-dot svg{stroke-width:2.2}

.unlock-terms{align-items:flex-start;font-size:.9375rem;line-height:1.5}
.unlock-terms input{flex-shrink:0;margin-top:3px}
