@font-face{font-family:Barlow Condensed;src:url('/fonts/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Barlow Condensed;src:url('/fonts/barlow-condensed-extrabold.ttf') format('truetype');font-weight:800 900;font-display:swap}
:root{--display:'Barlow Condensed','Arial Narrow',sans-serif}
body{font-size:16px;line-height:1.55}.site-shell{overflow-x:clip}h1,h2,h3{overflow-wrap:break-word}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #38addd;outline-offset:5px}section[id]{scroll-margin-top:90px}
.nav{grid-template-columns:150px 1fr auto;background:#06111bc9}.nav-links{gap:25px;font-size:17px;letter-spacing:.04em}.nav-social{font-size:13px}.pill{font-size:17px;line-height:1.25}.hero{min-height:850px}.hero-copy{max-width:900px}.hero h1{font-size:clamp(78px,9.8vw,156px);line-height:.99;letter-spacing:-.015em;font-style:normal}.hero h1 span,.hero h1 em{display:block;transform:none;font-style:normal;line-height:.99}.hero-copy>p{font-size:18px;max-width:520px}.hero-stamp,.scroll-cue{font-size:12px}.hero-poster{background-image:url('/media/reps-hero-poster.jpg')}.ticker{transform:none!important;width:100%;margin:0}.ticker b{font-size:30px;font-style:normal}.ticker>div{padding:13px 0}.ticker:hover>div{animation-play-state:paused}
.manifesto h2,.program-head h2,.facility-content h2,.community h2,.social-head h2,.final-cta h2,.detail-body h2,.detail-cta h2,.story-panel h2,.gallery-page h1,.detail-copy h1{line-height:1.02;letter-spacing:-.015em;font-style:normal}.manifesto h2 i,.program-head h2 i,.facility-content h2 i,.community h2 i,.social-head h2 i,.final-cta h2 i,.gallery-page h1 i{font-style:normal}.manifesto h2 i,.facility-content h2 i,.social-head h2 i{color:#397800}.program-copy h3{line-height:1.02;font-style:normal}.program-copy p{font-size:16px;padding-right:48px}.program-copy small,.program-no,.section-kicker,.text-link,.image-label span,.feature-list b,.shot figcaption span,.detail-back,.detail-list b{font-size:14px}.program-copy h3{font-size:48px}.section-kicker{flex-wrap:wrap;line-height:1.4;letter-spacing:.1em}.community-stats span,.social-handle small,.footer-contact p,.footer-links a{font-size:14px}.footer-links b,.footer-contact>span,.footer-logo small,.footer-bottom,.intro small{font-size:12px}.footer-motto,.community-badge{line-height:1.04}.footer-contact a{overflow-wrap:anywhere}.social-tile b{line-height:1.15}.footer-links{grid-template-columns:repeat(4,1fr)}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:#fff;color:var(--ink)}.faq-heading h2,.life-heading h2,.rental-options h2,.rental-steps h2,.team-roots h2{font:800 clamp(48px,5.5vw,88px)/1.03 var(--display);letter-spacing:-.015em;text-transform:uppercase;margin:0 0 25px}.faq-heading h2 i,.life-heading h2 i,.rental-options h2 i,.team-roots h2 i{font-style:normal;color:#397800}.faq-heading p{max-width:430px;color:#475660}.faq-heading .section-kicker{margin-bottom:30px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;padding:24px 0;font-size:18px;font-weight:700;line-height:1.45}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{font:400 29px/1 var(--body);color:#397800;transition:transform .25s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{margin:0 42px 25px 0;color:#475660;line-height:1.75}.faq-list details[open]{background:linear-gradient(90deg,#f3f7ed,transparent)}
.life-section{background:var(--paper)}.life-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:20px 60px;align-items:end}.life-heading>p{max-width:440px;color:#475660}.life-heading>.pill{grid-column:2;justify-self:start}.life-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#56792a #dae0d0;padding:25px 0 20px;margin-top:30px}.life-card{position:relative;flex:0 0 min(390px,78vw);height:450px;overflow:hidden;scroll-snap-align:start}.life-card:nth-child(even){margin-top:35px}.life-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.life-card:hover img{transform:scale(1.06)}.life-card>span{position:absolute;inset:auto 0 0;padding:65px 24px 24px;background:linear-gradient(transparent,#030c13e6);color:#fff}.life-card small,.photo-card small{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--lime)}.life-card b{font:700 32px/1.12 var(--display);text-transform:uppercase}.life-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:14px}.life-bottom a{text-decoration:underline;text-underline-offset:5px}
.rental-hero{padding-top:90px;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white;min-height:860px}.rental-copy{padding:45px clamp(24px,5vw,82px) 65px;align-self:center}.back-link{display:inline-block;font-size:14px;margin-bottom:38px;color:#afbdc6}.rental-copy .eyebrow,.team-intro .eyebrow{color:var(--lime);font-size:14px;letter-spacing:.15em}.rental-copy h1,.team-intro h1{font:800 clamp(64px,7.7vw,118px)/1.02 var(--display);letter-spacing:-.015em;text-transform:uppercase;margin:24px 0}.rental-copy h1 i,.team-intro h1 i{font-style:normal;color:var(--lime)}.rental-copy p{max-width:540px;color:#c2cdd4;font-size:18px;line-height:1.7;margin-bottom:28px}.rental-copy>small{display:block;font-size:13px;color:#b2bec6;margin-top:20px}.rental-hero figure{margin:0;position:relative;min-width:0;overflow:hidden}.rental-hero figure img{width:100%;height:100%;object-fit:cover;object-position:55% center}.rental-hero figcaption{position:absolute;bottom:20px;left:20px;right:20px;padding:12px 18px;background:#06111be8;font-size:13px;line-height:1.6}.rental-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px}.rental-cards article{border-top:3px solid var(--ink);padding:30px;background:#fff;display:flex;flex-direction:column;align-items:start}.rental-cards article>span{font:700 28px/1 var(--display);color:#487d13}.rental-cards h3{font:700 34px/1.08 var(--display);margin:26px 0 0;text-transform:uppercase}.rental-cards p{color:#475660;line-height:1.7;margin-bottom:28px}.rental-cards a{margin-top:auto;text-decoration:underline;text-underline-offset:5px;font-size:15px}.rental-steps{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.rental-steps h2 i{color:var(--lime);font-style:normal}.rental-steps ol{margin:0;padding-left:24px}.rental-steps li{padding:0 0 28px 12px}.rental-steps li::marker{color:var(--lime)}.rental-steps b{font-size:22px}.rental-steps p{color:#b8c5ce;margin:8px 0 0}
.gallery-page h1{margin-bottom:25px}.gallery-intro{max-width:700px;font-size:18px;color:#b8c5ce;line-height:1.7}.gallery-filters{display:flex;gap:12px;flex-wrap:wrap;margin:40px 0}.gallery-filters button{border:1px solid #ffffff50;background:transparent;color:white;padding:10px 22px;border-radius:40px}.gallery-filters button[aria-pressed=true]{background:var(--lime);color:var(--ink);border-color:var(--lime)}.photo-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-bottom:50px;align-items:start}.photo-card{position:relative;padding:0;border:0;text-align:left;background:var(--navy);overflow:hidden}.photo-card img{height:360px;width:100%;object-fit:cover;transition:transform .6s}.photo-card:nth-child(3n+2) img{height:450px}.photo-card:hover img{transform:scale(1.035)}.photo-card>span{display:block;padding:22px;position:relative}.photo-card b{display:block;font:700 27px/1.1 var(--display);margin:8px 20px 0 0;text-transform:uppercase}.photo-card i{position:absolute;right:20px;bottom:23px}.photo-dialog{padding:20px;max-width:min(1100px,94vw);max-height:92svh;background:var(--ink);color:white;border:1px solid #ffffff40}.photo-dialog>img{max-height:72svh;margin:auto;object-fit:contain}.photo-dialog h2{font:700 30px/1.1 var(--display)}.photo-dialog>a{font-size:14px;text-decoration:underline}
.team-intro{background:var(--ink);color:white;padding-top:170px;padding-bottom:70px}.team-intro p{max-width:710px;color:#bbc9d1;font-size:18px;line-height:1.8}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:65px}.coach-card{display:grid;grid-template-columns:.8fr 1fr;gap:25px;align-items:start}.coach-portrait{width:100%;aspect-ratio:1;background-repeat:no-repeat;background-color:#dce2d7}.chris-photo{background-image:url('/media/chris-manning-official.jpg');background-size:240%;background-position:50% 37%}.chloe-photo{background-image:url('/media/chris-chloe-clinic-official.jpg');background-size:410%;background-position:96% 44%}.coach-card small{font:700 13px/1.5 var(--body);color:#456c26;letter-spacing:.04em}.coach-card h2{font:800 45px/1.03 var(--display);text-transform:uppercase;margin:13px 0}.coach-card p{color:#475660}.coach-card a,.team-roots aside a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.team-roots{display:grid;grid-template-columns:1.1fr .7fr;gap:8vw;background:white}.team-roots p{max-width:650px;color:#475660;line-height:1.8}.team-roots aside{border-left:3px solid var(--lime);padding:30px;align-self:center;background:var(--paper)}.team-roots aside small{font-size:13px;letter-spacing:.05em}.team-roots h3{font:800 42px/1.05 var(--display);margin:22px 0;text-transform:uppercase}.team-action{height:600px;position:relative;background:var(--ink);color:white}.team-action>img{width:100%;height:100%;object-fit:cover}.team-action>div{position:absolute;inset:0;padding:70px clamp(24px,5vw,82px);display:flex;align-items:start;justify-content:end;flex-direction:column;background:linear-gradient(90deg,#06111bd9,transparent)}.team-action h2{font:800 clamp(48px,6vw,92px)/1.04 var(--display);text-transform:uppercase;max-width:850px}
dialog::backdrop{background:#01090dc9;backdrop-filter:blur(7px)}.reps-dialog{padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);width:690px;background:#f5f7f1;color:var(--ink);overflow:auto;box-shadow:0 30px 100px #0008}.reps-dialog[open]{animation:dialog-in .3s ease-out}.dialog-close{position:absolute;right:14px;top:14px;z-index:5;width:42px;height:42px;border:1px solid #b6c0b6;border-radius:50%;background:#f8faf4;color:var(--ink);font:400 30px/1 var(--body)}.dialog-content{padding:42px}.dialog-content .eyebrow{font-size:13px;letter-spacing:.1em;color:#42631f;padding-right:30px}.dialog-content h2{font:800 clamp(38px,4vw,54px)/1.04 var(--display);letter-spacing:-.01em;text-transform:uppercase;margin:18px 0}.dialog-content>p{color:#46565f;line-height:1.65}.reps-form{display:flex;flex-direction:column;gap:17px;margin-top:26px}.reps-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}.reps-form label>span{font-weight:400}.reps-form input,.reps-form select,.reps-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #99a89a;background:#fff;color:var(--ink);font:400 16px/1.4 var(--body);border-radius:3px;min-height:48px}.reps-form input:focus,.reps-form select:focus,.reps-form textarea:focus{outline:2px solid #568926;outline-offset:2px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reps-form .honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reps-form .consent{flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;line-height:1.55}.reps-form .consent input{width:19px;height:19px;min-height:19px;flex:0 0 19px;accent-color:#507f16;margin:2px 0}.form-privacy{margin:0;color:#52616a;font-size:13px}.form-privacy a{text-decoration:underline}.reps-form .pill{border:0;width:100%;min-height:54px}.reps-form button:disabled{opacity:.6;cursor:wait}.form-error{border-left:3px solid #a6332b;background:#fff0ed;color:#802b25;padding:13px;font-size:14px;margin:0}.form-success{padding:30px 0}.form-success>span{display:grid;place-items:center;border-radius:50%;width:60px;height:60px;background:var(--lime);font-size:28px}.form-success h3{font:700 30px/1.1 var(--display);margin:25px 0 15px}.form-success p{line-height:1.7;margin-bottom:25px}.newsletter-dialog{width:970px}.newsletter-dialog .dialog-grid{display:grid;grid-template-columns:.85fr 1.15fr}.newsletter-photo{position:relative;background:var(--navy);min-height:580px}.newsletter-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.newsletter-photo>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:30px;background:linear-gradient(0deg,#06111bed,transparent 75%);color:white}.newsletter-photo span{font-size:13px;color:var(--lime);letter-spacing:.1em}.newsletter-photo b{font:800 76px/.99 var(--display);text-transform:uppercase;margin-top:18px}.newsletter-dialog .dialog-content{align-self:center}.skip-newsletter{display:block;margin:22px auto 0;border:0;background:none;font-size:14px;text-decoration:underline}.privacy-page{padding-top:160px;background:white;min-height:100vh}.privacy-page h1{font:800 70px/1 var(--display);text-transform:uppercase}.privacy-page h2{font:700 32px/1.1 var(--display);margin-top:40px}.privacy-page p{max-width:850px;line-height:1.8}.privacy-page p a{text-decoration:underline}@keyframes dialog-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1400px){.hero-copy{max-width:1060px}}
@media(max-width:1100px){.nav{grid-template-columns:125px 1fr auto}.nav-links{gap:18px}.nav-social{display:none}.team-grid{gap:30px}.coach-card{display:block}.coach-portrait{max-width:340px;margin-bottom:24px}.rental-copy h1{font-size:80px}.rental-cards article{padding:24px}}
@media(max-width:760px){.nav{grid-template-columns:1fr auto}.nav-actions{display:flex;margin-right:15px}.nav-actions .pill{min-height:40px;font-size:14px;padding:0 16px;gap:10px}.nav{grid-template-columns:1fr auto auto}.nav-links{display:none}.menu-toggle{display:block}.mobile-menu>a{font-size:34px}.mobile-menu{overflow-y:auto}.mobile-contact{gap:20px}.hero{min-height:820px;padding-top:170px}.hero h1{font-size:clamp(56px,14vw,103px);line-height:1.04}.hero h1 em{transform:none}.hero-copy>p{font-size:17px}.hero-video{object-position:58% center}.ticker b{font-size:25px}.section-kicker{font-size:13px}.section-kicker span{min-width:0}.manifesto h2,.program-head h2,.facility-content h2,.community h2,.social-head h2{font-size:clamp(48px,12vw,82px);line-height:1.04}.final-cta h2,.detail-cta h2{font-size:clamp(48px,12vw,86px);line-height:1.05}.detail-copy h1{font-size:clamp(50px,13vw,88px);line-height:1.04}.detail-hero{min-height:790px}.program-copy h3{font-size:42px}.program-card{height:550px}.footer-links{grid-template-columns:1fr 1fr}.faq-section,.rental-steps,.team-roots{grid-template-columns:1fr;gap:40px}.faq-heading h2,.life-heading h2,.rental-options h2,.rental-steps h2,.team-roots h2{font-size:clamp(44px,11vw,70px)}.faq-list summary{font-size:16px;padding:22px 0}.life-heading{display:block}.life-heading>.pill{margin-top:15px}.life-card{height:390px}.life-bottom{flex-direction:column}.rental-hero{grid-template-columns:1fr;padding-top:72px;min-height:0}.rental-copy{padding:30px 24px 45px}.rental-copy h1{font-size:clamp(62px,16vw,95px)}.rental-hero figure{height:350px}.rental-hero figure img{object-position:center}.rental-cards{grid-template-columns:1fr;margin-top:35px}.gallery-page{padding-top:130px}.gallery-page h1{font-size:70px}.photo-wall{grid-template-columns:1fr 1fr;gap:12px}.photo-card img,.photo-card:nth-child(3n+2) img{height:240px}.photo-card>span{padding:15px}.photo-card b{font-size:22px}.photo-card i{display:none}.photo-card small{font-size:12px}.team-intro{padding-top:130px}.team-intro h1{font-size:clamp(64px,15vw,95px)}.team-grid{grid-template-columns:1fr;gap:55px}.coach-card{display:grid;grid-template-columns:.8fr 1fr;gap:20px}.coach-card h2{font-size:34px}.coach-card p{font-size:15px}.coach-portrait{margin:0}.team-action{height:500px}.reps-dialog{max-width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.dialog-content{padding:32px 24px}.dialog-content .eyebrow{font-size:12px;margin-top:12px}.newsletter-dialog .dialog-grid{grid-template-columns:1fr}.newsletter-photo{min-height:180px;height:180px}.newsletter-photo img{object-position:center 38%}.newsletter-photo>div{padding:20px}.newsletter-photo b{font-size:46px;margin-top:8px}.newsletter-photo b br{display:none}.newsletter-photo span{font-size:12px}.newsletter-dialog .dialog-content{padding-top:22px}.dialog-content h2{font-size:38px}.newsletter-dialog .dialog-content .eyebrow{display:none}.form-pair{gap:12px}.privacy-page{padding-top:130px}.privacy-page h1{font-size:54px}}
@media(max-width:430px){.coach-card{display:block}.coach-portrait{width:220px;margin-bottom:20px}.photo-wall{grid-template-columns:1fr}.photo-card img,.photo-card:nth-child(3n+2) img{height:330px}.form-pair{grid-template-columns:1fr}.nav .brand{width:80px;padding:4px}.nav{padding-inline:12px}.nav-actions{margin-right:5px}.hero-buttons{gap:22px}}

/* Final video-first hero: centered cinema stage on desktop, compact reveal on mobile. */
.hero{height:100svh;min-height:720px;max-height:920px;grid-template-columns:minmax(460px,40vw) minmax(0,1fr)}
.hero-copy{max-width:none;padding-inline:clamp(38px,4vw,76px)}
.hero h1{font-size:clamp(52px,3.7vw,74px);line-height:.88;letter-spacing:-.045em}
.hero h1 span,.hero h1 em{line-height:.88}
.hero-media{min-height:0;height:100%;isolation:isolate;background:radial-gradient(circle at center,#102330 0,#030b11 70%)}
.hero-media::before{display:none}
.hero-media .hero-video,.hero-media .hero-poster{inset:50% auto auto 50%;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;transform:translate(-50%,-50%)}
.hero-media .hero-poster{background-size:contain;background-repeat:no-repeat;animation:none}
.hero-media .hero-vignette{z-index:2;background:linear-gradient(180deg,#020a10 0,#020a10cf 5%,transparent 19%,transparent 81%,#020a10cf 95%,#020a10 100%),linear-gradient(90deg,#020a1080,transparent 14%,transparent 86%,#020a1080)}
.hero-media .hero-grid{z-index:3}

@media(max-width:760px){
  .hero{height:auto;min-height:0;max-height:none;padding-top:72px}
  .hero-media{height:clamp(360px,53svh,500px);min-height:0;background:#020a10}
  .hero-media::before{display:none}
  .hero-media .hero-video,.hero-media .hero-poster{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transform:none}
  .hero-media .hero-vignette{background:linear-gradient(180deg,#020a1038,transparent 14%,transparent 86%,#020a106b)}
  .hero-copy{padding:18px 18px 22px}
  .hero h1{display:none}
  .hero-buttons{margin-top:0}
  .hero-buttons .pill{min-height:48px}
}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-poster{opacity:1!important}.life-card:nth-child(even){margin-top:0}.intro{display:none}.ticker>div{animation:none}}
.motion-toggle{position:absolute;z-index:5;right:26px;bottom:24px;display:flex;gap:12px;align-items:center;border:1px solid #ffffff70;border-radius:30px;color:#fff;background:#06111bcc;padding:8px 16px;font-size:12px}.motion-toggle:hover{background:var(--navy)}
.chris-photo{border-radius:50%}.footer-contact a[href^="mailto:"]{font-size:20px;line-height:1.45}

/* Reserve enough navigation space for the full-width REPS wordmark. */
.nav{grid-template-columns:210px 1fr auto}
@media(max-width:1100px){.nav{grid-template-columns:180px 1fr auto}}
@media(max-width:760px){.nav{grid-template-columns:1fr auto auto}}
@media(max-width:430px){.nav .brand{width:124px;height:52px;padding:0}}

/* Four equal message sets span 200vw, so the -25% loop never exposes an empty edge. */
.ticker>div{width:200vw;min-width:200vw;justify-content:space-around;gap:0}

/* Mixed media gallery: real stills plus muted Instagram activity reels. */
.gallery-count{display:flex;align-items:baseline;gap:14px;margin-top:25px;color:#b8c5ce;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em}.gallery-count b{font-size:42px;color:var(--lime)}.gallery-count i{font-style:normal;font-size:12px;color:#ffffff80}.photo-card,.media-card{position:relative;padding:0;border:0;text-align:left;background:var(--navy);overflow:hidden}.photo-card img,.video-card video{height:360px;width:100%;object-fit:cover;transition:transform .6s}.photo-card:nth-child(3n+2) img,.video-card:nth-child(3n+2) video{height:450px}.video-card video{background:#020b11;cursor:pointer}.video-card:hover video,.photo-card:hover img{transform:scale(1.035)}.media-meta{display:block;padding:22px;position:relative}.media-meta small{display:block;color:var(--lime);font-size:13px;text-transform:uppercase;letter-spacing:.1em}.media-meta b{display:block;font:700 27px/1.1 var(--display);margin:8px 20px 0 0;text-transform:uppercase}.media-meta a{display:inline-block;margin-top:16px;color:#b8c5ce;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.chris-photo{background-image:url('/media/social/photos/coach-huddle.jpg');background-size:cover;background-position:center}.chloe-photo{background-image:url('/media/social/photos/one-on-one-coaching.jpg');background-size:cover;background-position:center}
@media(max-width:760px){.video-card video{height:240px}.video-card:nth-child(3n+2) video{height:240px}.gallery-count{flex-wrap:wrap}}
.video-frame{position:relative;background:#020b11}.video-frame video{display:block}.sound-toggle{position:absolute;right:14px;top:14px;z-index:2;border:1px solid #ffffff80;border-radius:999px;padding:8px 12px;background:#06111bd9;color:#fff;font-size:12px;font-weight:700;letter-spacing:.03em}.sound-toggle:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
