
/* 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-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}
}

@media(max-width:560px){
 .mobile-cs-ai{display:grid!important;flex:none;order:1}.mobile-register{order:2}
}

/* 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}
}


/* ==================================================================
   JASFIT HOMEPAGE + AUTH REVISION — 2026-08-03
   Targeted overrides only; existing page structure remains unchanged.
   ================================================================== */
/* Hero headline: more readable spacing with slow clipped brand gradient. */
.hero-heading{
  line-height:.965!important;
  letter-spacing:-.055em!important;
  padding-bottom:.12em!important;
}
.hero-heading span{
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background-image:linear-gradient(112deg,#111217 0%,#111217 20%,#f52d83 39%,#ff73b4 49%,#05bfc5 67%,#111217 88%,#111217 100%)!important;
  background-size:260% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  animation:jasfitHeroBrandGradient 15s cubic-bezier(.45,0,.55,1) infinite alternate!important;
}
.hero-heading .pink{animation-delay:-2.6s!important}.hero-heading .teal{animation-delay:-5.2s!important}
.hero-heading span::after{display:none!important;content:none!important}
@keyframes jasfitHeroBrandGradient{0%{background-position:0% 50%}100%{background-position:100% 50%}}

/* Gallery remains automatic, with a larger and more responsive drag area. */
.gallery-marquee{touch-action:pan-y pinch-zoom!important;user-select:none;-webkit-user-select:none;cursor:grab!important}
.gallery-marquee.dragging{cursor:grabbing!important}
.gallery-track,.gallery-card,.gallery-card img{user-select:none!important;-webkit-user-drag:none!important}
.gallery-floating-controls button{touch-action:manipulation}

/* CTA logo and register form alignment with the new authentication page. */
.cta-copy .site-logo{display:block!important;width:94px!important;opacity:.92!important;filter:brightness(0) invert(1)!important}
.cta-copy .site-logo img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important}
.cta-register-card{padding:22px!important;border-radius:24px!important;background:rgba(255,255,255,.97)!important}
.cta-register-card .cta-form-title{
  margin:0!important;font-size:25px!important;line-height:1.05!important;
  background:linear-gradient(110deg,#f52d83,#08bfc4,#111217,#f52d83);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:jasfitHeroBrandGradient 13s ease-in-out infinite alternate;
}
.cta-form-subtitle{margin:8px 0 15px!important;color:#747887!important;font-size:11px!important;line-height:1.5!important}
.cta-auth-grid{gap:8px!important}
.cta-register-card .field{display:block;margin:0!important}
.cta-register-card .field-label{display:block;margin:0 0 5px;font-size:9.5px;font-weight:800;color:#272b36}
.cta-register-card .input-wrap{position:relative;display:block}
.cta-register-card .field-icon{position:absolute;left:8px;top:50%;width:29px;height:29px;transform:translateY(-50%);display:grid;place-items:center;color:#f52d83;pointer-events:none}
.cta-register-card .field-icon svg{width:17px;height:17px;stroke:currentColor}
.cta-register-card input,.cta-register-card select{height:43px!important;min-height:43px!important;padding:0 38px 0 42px!important;border-radius:12px!important;font-size:10.5px!important}
.cta-register-card select{appearance:none;cursor:pointer}
.cta-register-card .select-arrow{position:absolute;right:13px;top:50%;width:15px;height:15px;transform:translateY(-50%);pointer-events:none;color:#545866}
.cta-register-card .password-toggle{right:5px!important;bottom:4px!important;width:34px!important;height:34px!important;font-size:8.5px!important;font-weight:800!important;color:#737887!important;border-radius:10px!important}
.cta-register-card .password-toggle:hover{background:#ebffff!important;color:#05bfc5!important}
.cta-register-card .cta-submit{height:48px!important;min-height:48px!important;margin-top:3px!important}
.cta-login-copy{margin:1px 0 0!important;text-align:center;color:#767a88;font-size:9.5px;line-height:1.4}
.cta-login-copy a{color:#f52d83;font-weight:900}

/* Footer brand alignment and social links. */
.footer-brand .site-logo{display:block;margin-left:-4px!important}
.footer-socials{display:flex;align-items:center;gap:9px;margin-top:17px}
.footer-socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:11px;display:grid;place-items:center;color:rgba(255,255,255,.75);background:rgba(255,255,255,.045);transition:transform .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}
.footer-socials a:hover{transform:translateY(-3px);color:#fff;border-color:rgba(255,255,255,.32);background:linear-gradient(135deg,rgba(245,45,131,.75),rgba(5,191,197,.72))}
.footer-socials svg{width:17px;height:17px}

@media(max-width:820px){
  .cta-copy .site-logo{width:88px!important}
  .cta-register-card{width:min(480px,100%)!important;margin:auto}
}
@media(max-width:560px){
  .hero-heading{line-height:1!important;letter-spacing:-.045em!important}
  .cta-copy .site-logo{width:84px!important}
  .site-footer{padding:38px 0 84px!important}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:18px 18px!important}
  .footer-brand{grid-column:1/-1!important;text-align:center!important}
  .footer-brand .site-logo{width:116px!important;margin:0 auto!important}
  .footer-brand p{max-width:330px!important;margin:11px auto 0!important;text-align:center!important;text-align-last:auto!important;line-height:1.58!important}
  .footer-socials{justify-content:center;margin-top:13px}
  .footer-socials a{width:32px;height:32px;border-radius:10px}
  .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:left!important;padding-top:2px}
  .footer-col:nth-child(4) p{max-width:none!important;margin:5px 0!important;text-align:left!important}
  .footer-col:nth-child(4) .footer-hours{margin-top:11px!important}
  .footer-col h4{margin-bottom:10px!important}
  .footer-col ul{gap:6px!important}
  .footer-bottom{margin-top:23px!important;padding-top:16px!important;gap:6px!important;text-align:center!important}
  .cta-register-card{padding:19px!important}
}
@media(prefers-reduced-motion:reduce){.hero-heading span,.cta-register-card .cta-form-title{animation:none!important}}

/* ==================================================================
   TARGETED REVISION QC — 2026-08-03 (Hero / CTA / Footer / Auth shell)
   Only the explicitly requested presentation details are overridden.
   ================================================================== */
.hero-action-card{display:contents}

/* Desktop: a full-bleed lower foundation without widening the text column. */
@media(min-width:821px){
  .home-hero::after{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    right:0;
    bottom:0;
    height:clamp(92px,8.6vw,138px);
    pointer-events:none;
    background:
      radial-gradient(circle at 76% 0,rgba(255,255,255,.32),transparent 38%),
      linear-gradient(104deg,rgba(245,45,131,.16),rgba(255,255,255,.32) 45%,rgba(5,191,197,.22));
    border-top:1px solid rgba(255,255,255,.55);
    box-shadow:inset 0 22px 42px rgba(255,255,255,.12);
  }
  .home-hero .hero-layout{z-index:2}
  .home-hero .hero-copy{z-index:4}
  .home-hero .hero-model-wrap{z-index:3}
  .cta-copy .site-logo{width:112px!important}
  .cta-register-card{
    align-self:center!important;
    margin:32px 0!important;
  }
  .footer-brand .site-logo{width:142px!important}
}

/* Mobile-app hero: compact content, grounded model, one gradient action card. */
@media(max-width:720px){
  .home-hero{
    min-height:clamp(690px,112vw,780px)!important;
    padding-top:72px!important;
    border-radius:0 0 28px 28px;
    background:
      radial-gradient(circle at 12% 18%,rgba(255,255,255,.78),transparent 27%),
      radial-gradient(circle at 88% 34%,rgba(5,191,197,.26),transparent 34%),
      linear-gradient(145deg,#ffd5e7 0%,#f7eef6 50%,#d8fbfc 100%)!important;
  }
  .home-hero::after{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    right:0;
    bottom:0;
    height:96px;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(245,45,131,.19),rgba(255,255,255,.18),rgba(5,191,197,.23));
    border-top:1px solid rgba(255,255,255,.55);
  }
  .home-hero .hero-ring{width:112vw!important;right:-48%!important;top:128px!important;opacity:.42!important}
  .home-hero .hero-layout{
    display:block!important;
    min-height:clamp(618px,101vw,708px)!important;
    position:relative!important;
  }
  .home-hero .hero-copy{
    padding:24px 0 0!important;
    position:relative!important;
    z-index:5!important;
  }
  .home-hero .hero-heading{
    max-width:100%!important;
    font-size:clamp(42px,11.8vw,62px)!important;
    line-height:.98!important;
    letter-spacing:-.047em!important;
  }
  .home-hero .hero-copy>p{
    max-width:min(82%,470px)!important;
    margin-top:15px!important;
    font-size:12.5px!important;
    line-height:1.58!important;
  }
  .home-hero .hero-model-wrap{
    position:absolute!important;
    z-index:3!important;
    top:auto!important;
    right:-15%!important;
    bottom:0!important;
    width:78%!important;
    height:clamp(430px,74vw,540px)!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .home-hero .hero-model{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    height:clamp(430px,74vw,540px)!important;
    max-height:none!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform-origin:50% 100%!important;
    animation:heroModelAnchored 6s ease-in-out infinite!important;
  }
  .home-hero .hero-model-wrap::after{bottom:0!important;width:70%!important;height:44px!important;opacity:.72}
  .hero-action-card{
    display:block!important;
    position:absolute!important;
    z-index:6!important;
    left:0!important;
    right:0!important;
    bottom:14px!important;
    padding:12px!important;
    border:1px solid rgba(255,255,255,.48)!important;
    border-radius:22px!important;
    background:
      linear-gradient(120deg,rgba(245,45,131,.94),rgba(24,25,32,.91) 52%,rgba(5,191,197,.94))!important;
    box-shadow:0 18px 45px rgba(26,25,40,.23),inset 0 1px 0 rgba(255,255,255,.34)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    overflow:hidden!important;
  }
  .hero-action-card::before{
    content:"";
    position:absolute;
    inset:-50% auto auto -18%;
    width:56%;
    aspect-ratio:1;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    filter:blur(8px);
    pointer-events:none;
  }
  .hero-action-card .hero-actions{
    position:relative;
    z-index:1;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:0!important;
  }
  .hero-action-card .hero-actions .btn{
    min-height:42px!important;
    padding:0 9px!important;
    border:1px solid rgba(255,255,255,.5)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 8px 22px rgba(14,15,24,.12)!important;
    color:#161820!important;
    font-size:8.5px!important;
  }
  .hero-action-card .hero-actions .btn.btn-teal{color:#068f96!important}
  .hero-action-card .hero-points{
    position:relative;
    z-index:1;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px 10px!important;
    max-width:none!important;
    margin:10px 0 0!important;
  }
  .hero-action-card .hero-point{
    min-width:0!important;
    gap:6px!important;
    color:#fff!important;
    font-size:8px!important;
    line-height:1.25!important;
    text-shadow:0 1px 8px rgba(0,0,0,.18)!important;
  }
  .hero-action-card .mini-icon{
    width:27px!important;
    height:27px!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:none!important;
    color:#f52d83!important;
    font-size:11px!important;
  }
}

@media(max-width:390px){
  .home-hero{min-height:680px!important}
  .home-hero .hero-layout{min-height:608px!important}
  .home-hero .hero-heading{font-size:40px!important}
  .home-hero .hero-copy>p{max-width:88%!important;font-size:11.5px!important}
  .home-hero .hero-model-wrap,.home-hero .hero-model{height:420px!important}
  .hero-action-card{padding:10px!important;border-radius:19px!important}
  .hero-action-card .hero-actions .btn{min-height:40px!important;font-size:7.8px!important}
  .hero-action-card .hero-point{font-size:7.4px!important}
  .hero-action-card .mini-icon{width:25px!important;height:25px!important}
}

/* CTA breathing room and slightly stronger brand presence. */
.cta-copy .site-logo{width:106px!important}
.cta-register-card{margin-block:24px!important}
@media(max-width:820px){
  .cta-copy .site-logo{width:98px!important}
  .cta-register-card{margin:24px auto 8px!important}
}
@media(max-width:560px){
  .cta-copy .site-logo{width:96px!important}
  .cta-register-card{margin:22px auto 4px!important}
}

/* Compact, readable mobile footer with grouped navigation. */
@media(max-width:720px){
  .site-footer{padding:34px 0 88px!important}
  .site-footer .container{width:min(var(--container),calc(100% - 26px))!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .footer-brand{grid-column:1/-1!important;text-align:center!important;padding:0 6px 5px!important}
  .footer-brand .site-logo{width:126px!important;margin:0 auto!important}
  .footer-brand p{max-width:335px!important;margin:10px auto 0!important;text-align:center!important;text-align-last:auto!important;font-size:10px!important;line-height:1.55!important}
  .footer-socials{justify-content:center!important;margin-top:11px!important;gap:8px!important}
  .footer-socials a{width:31px!important;height:31px!important;border-radius:10px!important}
  .footer-col:nth-child(2),.footer-col:nth-child(3),.footer-col:nth-child(4){
    min-width:0!important;
    padding:13px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.035)!important;
    text-align:left!important;
  }
  .footer-col:nth-child(4){grid-column:1/-1!important}
  .footer-col h4{margin:0 0 9px!important;font-size:9px!important;letter-spacing:.09em!important}
  .footer-col ul{gap:5px!important}
  .footer-col a,.footer-col p{font-size:9.5px!important;line-height:1.55!important}
  .footer-col:nth-child(4) p{max-width:none!important;margin:4px 0!important;text-align:left!important}
  .footer-col:nth-child(4) .footer-hours{margin-top:9px!important}
  .footer-bottom{margin-top:17px!important;padding-top:13px!important;gap:4px!important;text-align:center!important;font-size:8px!important;line-height:1.5!important}
}

/* Final cascade corrections after QC. */
@media(min-width:821px){
  .cta-copy .site-logo{width:112px!important}
  .cta-register-card{margin-block:32px!important}
}
@media(max-width:720px){
  .home-hero .hero-copy{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    padding:24px 0 0!important;
  }
}


/* ==================================================================
   FINAL TARGETED REVISION — 2026-08-03 16:33
   Scope: homepage hero/CTA and auth scroll/mobile banner only.
   ================================================================== */

/* Remove the decorative hero grid and its lower divider line. */
.home-hero::before{display:none!important;content:none!important;animation:none!important}
.home-hero::after{border-top:0!important;box-shadow:none!important}

/* Desktop hero always occupies the complete first viewport. */
@media(min-width:821px){
  .home-hero{
    height:100svh!important;
    min-height:100svh!important;
    padding-top:var(--header)!important;
  }
  .home-hero .hero-layout{
    height:calc(100svh - var(--header))!important;
    min-height:calc(100svh - var(--header))!important;
    align-items:end!important;
  }
  .home-hero .hero-copy{
    align-self:center!important;
    padding-top:clamp(20px,4vh,48px)!important;
    padding-bottom:clamp(42px,7vh,82px)!important;
  }
  .home-hero .hero-model-wrap{
    height:100%!important;
    min-height:0!important;
    align-self:end!important;
  }
  .home-hero .hero-model{
    bottom:0!important;
    height:min(100%,820px)!important;
    max-height:100%!important;
    object-position:center bottom!important;
  }
  .cta-copy .site-logo{width:132px!important}
}

/* Mobile hero: full-width model, copy over its lower area, action card attached below. */
@media(max-width:720px){
  .home-hero{
    height:clamp(790px,118vw,900px)!important;
    min-height:clamp(790px,118vw,900px)!important;
    padding-top:0!important;
    border-radius:0 0 28px 28px!important;
  }
  .home-hero .hero-layout{
    display:block!important;
    height:100%!important;
    min-height:100%!important;
    position:relative!important;
  }
  .home-hero .hero-model-wrap{
    position:absolute!important;
    z-index:3!important;
    top:62px!important;
    bottom:auto!important;
    left:50%!important;
    right:auto!important;
    width:calc(100vw + 24px)!important;
    height:calc(100% - 210px)!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .home-hero .hero-model{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    width:auto!important;
    height:100%!important;
    max-width:none!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;
  }
  .home-hero .hero-model-wrap::after{
    bottom:-1px!important;
    width:58%!important;
    height:40px!important;
  }
  .home-hero .hero-copy{
    position:absolute!important;
    z-index:6!important;
    inset:auto 0 158px 0!important;
    width:auto!important;
    padding:0!important;
    text-shadow:0 3px 18px rgba(255,255,255,.5)!important;
  }
  .home-hero .hero-copy::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:-18px;
    right:-18px;
    top:-54px;
    bottom:-18px;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 0%,rgba(248,246,249,.36) 38%,rgba(248,246,249,.9) 100%);
    filter:blur(.2px);
  }
  .home-hero .hero-heading{
    max-width:100%!important;
    font-size:clamp(40px,11.5vw,58px)!important;
    line-height:.96!important;
    letter-spacing:-.047em!important;
  }
  .home-hero .hero-copy>p{
    max-width:94%!important;
    margin-top:11px!important;
    color:#4f5a6b!important;
    font-size:12px!important;
    line-height:1.5!important;
    text-shadow:0 2px 12px rgba(255,255,255,.9)!important;
  }
  .hero-action-card{
    left:0!important;
    right:0!important;
    bottom:10px!important;
    padding:11px!important;
    border-radius:21px!important;
  }
  .hero-action-card .hero-actions .btn{min-height:41px!important}
  .hero-action-card .hero-points{margin-top:9px!important}
  .cta-copy .site-logo{width:110px!important}
}

@media(max-width:390px){
  .home-hero{
    height:780px!important;
    min-height:780px!important;
  }
  .home-hero .hero-model-wrap{
    top:60px!important;
    height:calc(100% - 202px)!important;
    width:calc(100vw + 20px)!important;
  }
  .home-hero .hero-copy{inset:auto 0 154px 0!important}
  .home-hero .hero-heading{font-size:40px!important}
  .home-hero .hero-copy>p{font-size:11.3px!important;line-height:1.46!important}
}

/* Mobile hero final stacking correction: copy and action card use the full hero stage. */
@media(max-width:720px){
  .home-hero .hero-copy{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
  }
  .home-hero .hero-copy::before{
    top:auto!important;
    bottom:138px!important;
    height:292px!important;
  }
  .home-hero .hero-heading{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:218px!important;
    margin:0!important;
  }
  .home-hero .hero-copy>p{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:164px!important;
    margin:0!important;
  }
  .hero-action-card{bottom:10px!important}
}
@media(max-width:390px){
  .home-hero .hero-heading{bottom:215px!important}
  .home-hero .hero-copy>p{bottom:161px!important}
}

/* Remove the former lower hero foundation completely; no horizontal line/band remains. */
.home-hero::after{display:none!important;content:none!important}
