/* A short camera move through the gym doorway; photography supplies the space. */
.gym-entrance{display:none;position:absolute;inset:0;overflow:hidden;z-index:10;background:var(--cream)}
.gym-doorway{display:block;position:absolute;inset:0;transform-origin:50% 52%}
.gym-doorway img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.gym-entry-pending .gym-entrance,.gym-entering .gym-entrance{display:block}
.entry-words{position:absolute;left:6%;top:15%;color:var(--green);max-width:78%;z-index:1}
.entry-small{font-size:12px;font-weight:700;background:var(--cream);display:inline-block;padding:7px 13px;letter-spacing:.06em;margin-bottom:20px}
.entry-thought{font-weight:800;font-size:clamp(44px,5vw,72px);line-height:1.55;letter-spacing:-.045em;width:max-content;padding:10px 24px 16px;background:#fafaf1ed}
.entry-welcome{position:absolute;top:58px;left:0;opacity:0;transform:translateY(10px);white-space:nowrap;font-weight:800;font-size:clamp(56px,7vw,104px);line-height:1.3;letter-spacing:-.045em;width:max-content;padding:0;background:none;color:#fff;text-shadow:0 2px 14px #123223aa,0 1px 3px #123223}
.entry-mobile-break{display:none}
.entry-image-note{position:absolute;left:25px;bottom:20px;background:#fafaf1e8;padding:4px 8px;font-size:10px;color:var(--ink)}
.entry-skip{position:absolute;right:25px;bottom:20px;min-height:44px;border:0;border-bottom:1px solid var(--green);background:var(--cream);color:var(--green);padding:10px 15px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.5;cursor:pointer}
.entry-skip span{margin-left:12px}.entry-skip:hover{background:var(--yellow)}
.entry-skip:focus-visible,.entry-replay:focus-visible{outline:3px solid #0072bb;outline-offset:4px}
.entry-replay{display:none;border:0;border-bottom:1px solid #b7c9ba;padding:5px 0;background:none;color:var(--green);font:inherit;font-weight:700;cursor:pointer;line-height:1.7}
.gym-entry-ready .entry-replay{display:inline-flex;align-items:center;gap:8px}
.entry-replay:hover{border-color:var(--green)}
.hero-bottom-actions{display:flex;align-items:center;gap:30px}
.gym-entry-pending .hero-copy,.gym-entry-pending .hero-photo,.gym-entry-pending .hero-bottom{opacity:0}
.gym-entering .gym-doorway{animation:walkIntoGym 3400ms cubic-bezier(.36,.02,.2,1) both;will-change:transform,opacity}
.gym-entering .gym-entrance{animation:entranceDissolve 3400ms linear both}
.gym-entering .entry-thought{animation:firstFeeling 3400ms linear both}
.gym-entering .entry-welcome{animation:welcomeFeeling 3400ms linear both}
.gym-entering .entry-small{animation:entryEyebrow 3400ms linear both}
.gym-entering .hero-copy{animation:schoolArrives 1100ms 2200ms cubic-bezier(.22,1,.36,1) both}
.gym-entering .hero-photo{animation:photoArrives 1400ms 1900ms cubic-bezier(.22,1,.36,1) both}
.gym-entering .hero-bottom{animation:schoolArrives 650ms 2600ms both}
@keyframes walkIntoGym{0%,8%{transform:scale(1) translateY(0);opacity:1}68%{opacity:1}100%{transform:scale(2.4) translateY(-1%);opacity:0}}
@keyframes entranceDissolve{0%,78%{background:var(--cream);opacity:1}100%{background:transparent;opacity:0}}
@keyframes firstFeeling{0%,13%{opacity:1;transform:translateY(0)}35%,100%{opacity:0;transform:translateY(-12px)}}
@keyframes welcomeFeeling{0%,33%{opacity:0;transform:translateY(10px)}47%,75%{opacity:1;transform:translateY(0)}95%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes entryEyebrow{0%,72%{opacity:1}95%,100%{opacity:0}}
@keyframes schoolArrives{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes photoArrives{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.hero-bottom-actions{gap:18px}.entry-words{left:5%;top:15%}}
@media(max-width:700px){
 .first-hero{padding-top:20px}.hero-photo{order:0;height:240px;margin-bottom:23px}.hero-copy{order:1;padding-bottom:0}.hero-bottom{order:2;display:block;padding:22px 0 20px}.hero-bottom>p{display:none}.hero-bottom-actions{justify-content:space-between;gap:15px}.hero-bottom .entry-replay{font-size:10px}.hero-copy h1{font-size:clamp(32px,9.6vw,39px);line-height:1.26;margin-bottom:15px}.hero-intro{margin-bottom:12px}.hero-audience{margin-bottom:17px}.hero-copy .trial-button{min-height:54px;padding:15px 20px}.hero-copy .cta-note{margin-top:10px}
 .gym-entrance{inset:0}.entry-words{left:22px;top:17%;max-width:calc(100% - 44px)}.entry-small{font-size:10px;padding:6px 10px;margin-bottom:18px;letter-spacing:0}.entry-thought{font-size:39px;line-height:1.5;padding:10px 16px 14px}.entry-welcome{font-size:clamp(46px,14vw,66px);top:49px}.entry-mobile-break{display:block}.entry-image-note{left:18px;bottom:22px;font-size:9px}.entry-skip{right:18px;bottom:51px;font-size:11px}.gym-entering .gym-doorway{transform-origin:50% 52%}
}
@media(max-width:359px){.hero-photo{height:195px}.hero-copy h1{font-size:31px}.hero-audience{font-size:11px}.hero-audience strong{font-size:12px}.hero-bottom-actions{gap:10px}.entry-words{left:18px}.entry-thought{font-size:35px}}
@media(prefers-reduced-motion:reduce){.gym-entrance,.gym-entry-ready .entry-replay{display:none!important}.gym-entry-pending .hero-copy,.gym-entry-pending .hero-photo,.gym-entry-pending .hero-bottom{opacity:1!important}.gym-entering .hero-copy,.gym-entering .hero-photo,.gym-entering .hero-bottom{animation:none!important;opacity:1!important;transform:none!important}}
