
/* Targeted Jasfit website revisions — preserves original visual system */
.live-stat-text{font-size:clamp(17px,1.65vw,27px)!important;line-height:1.12!important;letter-spacing:-.045em!important;max-width:100%;overflow-wrap:anywhere}
.hero-heading{overflow:visible!important;padding:.08em .08em .13em 0;line-height:.9!important}.hero-heading span{overflow:visible!important;padding-right:.04em}.hero-heading span::after{background-size:100% 100%;clip-path:inset(-12% -6% -18% -4%)}
.program-photo{background:linear-gradient(145deg,#f8f8fa,#fff)!important}.program-photo img{object-fit:contain!important;object-position:center bottom!important;transform:none!important;padding:4px}
.tvc-player .video-controls{display:none!important}.tvc-player video{pointer-events:none}
.section-heading .eyebrow,.left-heading .eyebrow,.gallery-header .eyebrow{align-items:center;line-height:1.2}.section-heading .eyebrow::before,.left-heading .eyebrow::before,.gallery-header .eyebrow::before{flex:none}
.jasfit-map-frame{overflow:hidden;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}.jasfit-map-frame iframe{display:block;width:100%;height:min(520px,65vw);min-height:330px}
body:not([data-page="home"]) .page-hero{padding:126px 0 62px}body:not([data-page="home"]) .page-title{font-size:clamp(38px,5.2vw,70px)!important;line-height:.93!important;max-width:900px;margin-inline:auto}
body[data-page="login"] .page-hero,body[data-page="checkout"] .page-hero{background:linear-gradient(180deg,#fff6fb 0,#f8fbfc 100%);padding-bottom:42px}body[data-page="login"] .auth-section,body[data-page="checkout"] .checkout-section{background:linear-gradient(180deg,#f8fbfc,#fff);padding-top:44px}
@media(min-width:1100px){
 .home-hero{min-height:850px}.hero-layout{min-height:730px;grid-template-columns:.92fr 1.08fr}.hero-model-wrap{height:745px;align-self:end}.hero-model{height:735px;transform-origin:center bottom;animation-name:modelFloatBottom!important}
 .cta-layout{min-height:570px;grid-template-columns:.85fr .78fr .82fr}.cta-model{height:570px;align-self:end}.cta-model img{height:560px;transform-origin:center bottom;animation-name:modelFloatBottom!important}
 .membership-preview-card{min-height:365px;grid-template-columns:1fr 245px;padding:34px}.membership-preview-card figure{height:320px;margin-bottom:-34px}.membership-preview-card img{height:315px}
 body[data-page="membership"] .package-grid{gap:24px}body[data-page="membership"] .package-card{min-height:470px;padding:32px}body[data-page="membership"] .package-card.main{grid-template-columns:1fr 250px}body[data-page="membership"] .package-card figure{height:365px;margin-bottom:-32px}body[data-page="membership"] .package-card figure img{height:355px}
 body[data-page="program"] .program-list{gap:24px}body[data-page="program"] .program-product{min-height:340px;grid-template-columns:330px 1fr}body[data-page="program"] .program-product figure{height:100%;min-height:310px}body[data-page="program"] .program-product img{object-fit:contain!important;object-position:center bottom!important;background:#fff}
 body[data-page="trainer"] .trainer-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}body[data-page="trainer"] .trainer-profile{grid-template-columns:minmax(0,1fr) 220px;min-height:430px}body[data-page="trainer"] .trainer-profile h2{font-size:30px}body[data-page="trainer"] .trainer-profile .tag{font-size:9px;letter-spacing:.1em}
 .left-heading .btn{margin-top:30px}
}
@keyframes modelFloatBottom{0%{transform:translateY(0)}100%{transform:translateY(-12px)}}
@media(max-width:1099px){.program-photo img,body[data-page="program"] .program-product img{object-fit:contain!important}.membership-preview-card figure,.package-card figure{align-self:end}}
@media(max-width:720px){
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.stat-card{min-height:132px!important;padding:17px!important}.live-stat-text{font-size:15px!important}
 .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.why-card:last-child{grid-column:1/-1!important}
 .membership-preview-card{display:grid!important;grid-template-columns:minmax(0,1fr) 42%!important;min-height:320px!important;padding:22px!important}.membership-preview-card figure{display:flex!important;height:255px!important;margin:0 -18px -22px 0!important}.membership-preview-card img{height:250px!important}
 body[data-page="membership"] .package-card.main{display:grid!important;grid-template-columns:minmax(0,1fr) 43%!important;min-height:400px!important}body[data-page="membership"] .package-card figure{display:flex!important;height:295px!important;margin:0 -20px -25px 0!important}body[data-page="membership"] .package-card figure img{height:290px!important}
 .program-photo{height:280px!important}.program-photo img{object-fit:contain!important}.jasfit-map-frame iframe{height:380px}
 body:not([data-page="home"]) .page-title{font-size:clamp(34px,10.5vw,48px)!important}
}


/* ==================================================================
   TARGETED WEB REVISION — 2026-07-28
   Only requested homepage, responsive header/footer, program and contact adjustments.
   ================================================================== */
/* Remove the former two-dot title decoration across every public page. */
.eyebrow::before{display:none!important;content:none!important}.eyebrow{gap:0!important}

/* Premium glyph-only hero shimmer: clipped to each character shape. */
.hero-heading{overflow:visible!important;padding:0 0 .075em!important;line-height:.91!important}
.hero-heading span{display:block!important;position:relative!important;overflow:visible!important;padding:.015em .025em .09em 0!important;isolation:isolate}
.hero-heading span::after{
 content:attr(data-text)!important;position:absolute!important;inset:0!important;pointer-events:none!important;
 color:transparent!important;-webkit-text-fill-color:transparent!important;
 background:linear-gradient(105deg,transparent 0 34%,rgba(255,255,255,.15) 40%,rgba(255,255,255,.98) 49%,rgba(255,255,255,.28) 57%,transparent 66% 100%)!important;
 background-size:260% 100%!important;background-position:160% 0!important;
 -webkit-background-clip:text!important;background-clip:text!important;
 clip-path:inset(0)!important;transform:none!important;filter:none!important;text-shadow:none!important;
 animation:heroGlyphShimmer 5.8s cubic-bezier(.22,.8,.24,1) infinite!important;
}
.hero-heading .pink::after{animation-delay:.42s!important}.hero-heading .teal::after{animation-delay:.84s!important}
@keyframes heroGlyphShimmer{0%,20%{background-position:160% 0;opacity:0}28%{opacity:1}58%{background-position:-70% 0;opacity:1}68%,100%{background-position:-70% 0;opacity:0}}

/* Hero and CTA models remain physically anchored to the lower edge while moving. */
.hero-badge{display:none!important}
@keyframes heroModelAnchored{0%,100%{transform:translateX(-50%) scale(1) rotate(0)}50%{transform:translateX(-50%) scale(1.012) rotate(-.18deg)}}
@keyframes ctaModelAnchored{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.014)}}
@media(min-width:1081px){
 .home-hero{min-height:880px;padding-top:108px}
 .hero-layout{min-height:772px;grid-template-columns:.88fr 1.12fr}
 .hero-copy{padding-bottom:84px}
 .hero-model-wrap{height:772px;align-self:end;position:relative;overflow:visible}
 .hero-model{position:absolute!important;left:50%!important;bottom:0!important;height:772px!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;transform-origin:50% 100%!important;animation:heroModelAnchored 6s ease-in-out infinite!important}
 .hero-model-wrap::after{bottom:0!important}
 .cta-layout{min-height:590px;grid-template-columns:.87fr .74fr .82fr}
 .cta-model{height:590px!important;position:relative!important;overflow:visible!important;align-self:end!important}
 .cta-model img{position:absolute!important;left:50%!important;bottom:0!important;height:574px!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;transform-origin:50% 100%!important;animation:ctaModelAnchored 5.8s ease-in-out infinite!important}
 .cta-copy .site-logo{width:122px!important}
 .footer-brand .site-logo{width:126px!important}
}
@media(min-width:821px) and (max-width:1080px){
 .home-hero{min-height:850px;padding-top:82px}
 .hero-layout{min-height:768px;grid-template-columns:.82fr 1.18fr}
 .hero-model-wrap{height:768px!important;position:relative!important;align-self:end!important;overflow:visible!important}
 .hero-model{position:absolute!important;left:50%!important;bottom:0!important;height:765px!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;transform-origin:50% 100%!important;animation:heroModelAnchored 6s ease-in-out infinite!important}
}

/* Live stats use a complete, uninterrupted dark band. */
.stats-band{background:radial-gradient(circle at 12% 0,rgba(239,79,156,.17),transparent 31%),radial-gradient(circle at 88% 0,rgba(18,189,198,.16),transparent 34%),#071018!important;padding:36px 0 62px!important}
.stats-grid{margin-top:0!important}.stat-card{background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045))!important}

/* Program cards follow the full portrait artwork without cropping. */
.program-preview-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;height:100%}
.program-preview-card .program-photo{width:100%!important;height:auto!important;aspect-ratio:1152/1366!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:hidden!important;padding:0!important;background:linear-gradient(155deg,#fff,#f5f8fa)!important}
.program-preview-card .program-photo img{width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center bottom!important;padding:0!important;transform:none!important}
.program-card-body{display:flex!important;flex:1!important;flex-direction:column!important}.program-card-body .btn{margin-top:auto!important}

/* CTA and footer brand scale refinements. */
.cta-copy .site-logo{width:122px}.footer-brand .site-logo{width:126px}

/* Wider, cleaner desktop Program page. */
@media(min-width:1100px){
 body[data-page="program"] .program-list-section>.container{width:min(1420px,calc(100% - 64px))!important}
 body[data-page="program"] .program-list,body[data-page="program"] .program-subheading{max-width:none!important}
 body[data-page="program"] .program-list{gap:26px!important}
 body[data-page="program"] .program-product{grid-template-columns:minmax(300px,38%) minmax(0,1fr)!important;min-height:390px!important;padding:18px!important;gap:28px!important}
 body[data-page="program"] .program-product figure{height:354px!important;min-height:0!important;background:#fff!important}
 body[data-page="program"] .program-product figure img{object-fit:contain!important;object-position:center bottom!important}
}

/* Mobile public header: CS AI + registration, no menu toggle. */
.mobile-cs-ai,.mobile-register{display:none}
@media(max-width:820px){
 .mobile-toggle{display:none!important}.mobile-cs-ai{display:grid!important;flex:none}.mobile-register{display:inline-flex!important;min-height:40px!important;height:40px!important;padding:0 12px!important;border-radius:13px!important;font-size:8.5px!important;white-space:nowrap}
 .header-actions{gap:7px!important}.header-shell{padding-right:2px!important}.mobile-menu{display:none!important}
 .cta-copy .site-logo{width:102px!important}
}

/* Lightweight CS AI sheet for mobile header. */
.jasfit-cs-ai-panel{position:fixed;z-index:180;right:12px;top:74px;width:min(360px,calc(100% - 24px));max-height:min(560px,calc(100vh - 94px));display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.82);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 90px rgba(7,11,18,.23);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);transition:.25s var(--ease);overflow:hidden}
.jasfit-cs-ai-panel.open{opacity:1;visibility:visible;transform:none}.cs-ai-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px;background:linear-gradient(135deg,#fff1f8,#ecffff);border-bottom:1px solid var(--line)}.cs-ai-head strong{display:block;font:900 13px Inter,sans-serif;text-transform:uppercase}.cs-ai-head small{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:3px}.cs-ai-close{width:32px;height:32px;border:0;border-radius:10px;background:#fff;font-size:20px;cursor:pointer}.cs-ai-messages{min-height:170px;max-height:270px;overflow:auto;padding:14px;display:grid;align-content:start;gap:9px}.cs-ai-bubble{max-width:88%;padding:11px 12px;border-radius:15px 15px 15px 5px;background:#f1f5f7;color:var(--ink);font-size:10px;line-height:1.55}.cs-ai-bubble.me{justify-self:end;border-radius:15px 15px 5px;background:linear-gradient(135deg,var(--pink),var(--teal));color:#fff}.cs-ai-suggestions{display:flex;gap:6px;overflow:auto;padding:0 14px 10px}.cs-ai-suggestions button{flex:none;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;font-size:8px;font-weight:800;cursor:pointer}.cs-ai-form{display:grid;grid-template-columns:1fr auto;gap:7px;padding:12px;border-top:1px solid var(--line)}.cs-ai-form input{min-width:0;height:42px;border:1px solid var(--line);border-radius:13px;padding:0 12px;outline:0;font-size:10px}.cs-ai-form button{border:0;border-radius:12px;padding:0 13px;background:linear-gradient(135deg,var(--pink),var(--teal));color:#fff;font-size:9px;font-weight:900;text-transform:uppercase}

/* Mobile-only footer arrangement requested. */
@media(max-width:560px){
 .site-footer{padding:48px 0 98px!important}.footer-grid{grid-template-columns:1fr 1fr!important;gap:26px 20px!important}.footer-brand{grid-column:1/-1!important;text-align:center!important}.footer-brand .site-logo{display:block!important;width:100px!important;margin:0 auto!important}.footer-brand p{max-width:320px!important;margin:15px auto 0!important;text-align:justify!important;text-align-last:center!important;line-height:1.75!important}.footer-col:nth-child(2),.footer-col:nth-child(3){text-align:left!important}.footer-col:nth-child(4){grid-column:1/-1!important;text-align:center!important}.footer-col:nth-child(4) p{max-width:320px;margin:8px auto}.footer-col:nth-child(4) .footer-hours{margin-top:17px!important}.footer-bottom{grid-column:1/-1!important;text-align:center!important}
 .cta-copy .site-logo{width:94px!important}
}
