/* Digital GRITT blue sampled from the live site's headline: RGB 81,173,226. */
:root{--blue:#51ade2;--brand-rgb:81,173,226}
.blue-text,h1 .motion-line-inner>span{color:var(--blue)}
.scroll-progress{background:var(--blue);box-shadow:0 0 12px #51ade260}
.short-line{box-shadow:0 0 16px #51ade285}.motion-label:before{background:var(--blue);box-shadow:0 0 12px #51ade245}
.header nav a:hover,.header nav a[aria-current=page]{color:var(--blue)}
.button.blue{border-color:#51ade280;background:linear-gradient(120deg,#51ade230,#15374e30)}
.button:hover,.button.blue:hover,.button.black:hover{border-color:var(--blue);box-shadow:0 0 28px #51ade21c}
.button span,.text-link:hover,.pricing-jumps a span{color:var(--blue)}
.pricing-jumps a:after{background:var(--blue);box-shadow:0 -3px 18px #51ade225}
.pricing-jumps a.is-active{color:#86c8ee;background:#51ade208}
.membership,.full-plans{background:radial-gradient(ellipse at 65% 10%,#51ade215,transparent 62%)}
.pricing-grid{border-top-color:#51ade24d}.price-card.featured{background:radial-gradient(ellipse at 50% 0%,#51ade214,transparent 75%)!important}
.featured .card-top,.plan-saving,.full-plans .price-card .plan-saving{color:#7ec2e9}
.foundation-note{position:relative}.foundation-note:before{content:'';position:absolute;top:-1px;left:0;width:80px;height:1px;background:var(--blue);box-shadow:0 0 16px #51ade260}
.coach-photo>img,.foundations-photo>img{filter:saturate(.78) brightness(.77)}
.coach-section:before,.foundations-block:before{background:radial-gradient(ellipse at 65% 55%,#51ade21b,transparent 65%)}
.photo-passage{position:relative;isolation:isolate;padding:35px 6% 70px;min-height:620px;overflow:hidden;--passage-fill:0}
.photo-passage:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 50%,#51ade21c,transparent 65%)}
.passage-rule{position:relative;height:1px;background:linear-gradient(90deg,transparent,#51ade225,transparent);margin-bottom:45px}
.passage-rule:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:scaleX(var(--passage-fill));transform-origin:left;box-shadow:0 0 20px #51ade240}
.passage-images{display:grid;grid-template-columns:1.9fr 1fr;align-items:start;gap:5%;height:570px}
.passage-images figure{position:relative;margin:0;overflow:hidden;isolation:isolate}
.passage-wide{height:440px;mask-image:linear-gradient(0deg,transparent,#000 28%,#000 88%,transparent)}
.passage-tall{height:530px;margin-top:40px!important;mask-image:linear-gradient(0deg,transparent,#000 15%,#000 90%,transparent)}
.passage-images img{width:100%;height:100%;object-fit:cover;filter:saturate(.32) brightness(.72)}
.passage-images figure:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#51ade215,transparent 55%);pointer-events:none}
.passage-tall:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;z-index:2;background:linear-gradient(transparent,var(--blue),transparent);opacity:.65}
.passage-caption{position:absolute;left:10%;bottom:100px;max-width:62%;text-shadow:0 2px 24px #000}
.passage-caption .section-label{color:#8fcbed;display:block;margin-bottom:18px;font-size:11px}
.passage-caption p{font-family:var(--display);font-size:clamp(3rem,5.7vw,6rem);font-weight:500;line-height:.95;color:#d9e9f2}
.passage-caption p>span{color:var(--blue)}
.passage-location{display:block;font-size:10px;letter-spacing:.18em;color:#8faab9;margin-top:25px}
.passage-pricing .passage-tall img{object-position:50% 35%;filter:brightness(.8)}
.final-cta:before{background:linear-gradient(90deg,#080c0efa 15%,#080c0e85),url('assets/gym-floor.jpg') center 45%/cover;opacity:.5}
.final-cta:after{background:radial-gradient(ellipse at 70% 70%,#51ade229,transparent 65%),linear-gradient(0deg,#080b0d,transparent 30%,transparent 80%,#090c0e)}
.final-cta h2 .motion-line-inner>span{background:linear-gradient(90deg,var(--blue) var(--text-fill,0%),transparent var(--text-fill,0%));background-clip:text;-webkit-background-clip:text}
.pricing-final{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 100%,#51ade222,transparent 70%)}
.pricing-final:after{content:'';position:absolute;left:6%;right:6%;top:0;height:1px;background:linear-gradient(90deg,transparent,#51ade28c,transparent)}
.footer{border-top-color:#51ade221}.footer-main h3{color:#70b4dc}
body.motion-disabled .passage-rule{--passage-fill:1}
@media(max-width:760px){.photo-passage{padding:20px 6% 50px;min-height:570px}.passage-rule{margin-bottom:25px}.passage-images{height:470px;grid-template-columns:1.55fr 1fr;gap:12px}.passage-wide{height:330px}.passage-wide img{object-position:45% center}.passage-tall{height:400px;margin-top:50px!important}.passage-caption{left:8%;bottom:70px;max-width:90%}.passage-caption p{font-size:12vw}.passage-caption .section-label{font-size:9px;letter-spacing:.12em}.passage-location{font-size:8px;max-width:180px}.passage-pricing .passage-tall img{object-position:46% center}}
@media(prefers-reduced-motion:reduce){.passage-rule{--passage-fill:1}.final-cta h2 .motion-line-inner>span{background:none}}
.pricing-hero-photo>span{bottom:105px;color:#bad7e7}@media(max-width:760px){.pricing-hero-photo>span{bottom:65px}}
