body .section {
    padding: 96px 6vw;
    border-bottom: 1px solid var(--border);
}
/****** New CSS 01-june-2026********/
    .wrap.reveal.in {
    width: 100%;
}
.incl-band {
    width: 100%;
}
a.btn:hover {
    color: #fff;
}
blockquote {
    padding: 0px !important;
    border: 0px !important;
    font-style: normal !important;
}
/****** End New CSS 01-june-2026********/
  /* (legacy inline-nav styles removed — pages now use the global ACSA header/footer) */
  /* find us / map */
  .findus{display:grid; grid-template-columns:1fr 1.25fr; gap:48px; align-items:stretch}
  @media (max-width: 1024px){
    /*********Membership css********/
    .glow {
    position: absolute !important;
}
header#main.hero.has-photo .wrap.hero-pad {
    padding-bottom: 0px;
}
header#main.hero.has-photo .wrap.hero-pad p.lead {
    margin: 0px !important;
    font-size: 16px;
}
header#main.hero.has-photo .wrap.hero-pad h1 {
    margin-bottom: 10px;
}
header#main.hero.has-photo .wrap.hero-pad .hero-actions {
    margin-top: 15px;
    gap: 15px;
}
header#main.hero.has-photo .wrap.hero-pad a.btn--ghost {
    font-size: 16px;
}
header#main.hero.has-photo .wrap.hero-pad .hero-stats {
    margin-top: 27px;
    border: 0px;
    padding: 0px;
    gap: 10px 20px;
}
header#main.hero.has-photo {
    padding: 3rem 2rem;
}
.section .incl-grid p {
    max-width: 100% !important;
    margin: 6px 0px 0px !important;
}
.section .incl-grid h2 br {
    display: none;
}
.section .incl-grid ul.incl {
    margin: 0px;
}
.section .incl-grid .incl li:first-child {
    padding-top: 0px;
}
.section .incl-grid .incl li:first-child::before {
    top: 1px;
}
.section .incl-grid .incl li {
    padding: 0px 0 3px 17px;
    line-height: 20px;
}
.section .incl-grid .incl li::before {
    top: 0px;
}
.section .incl-grid  span.eyebrow {
    margin-bottom: 10px;
}
section.section.long-game-sec .ptable .ptier {
    padding-left: 15px;
    padding-right: 15px;
}
section.section.long-game-sec .ptable {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
section.section.long-game-sec .ptable .ptier {
    width: 100%;
}
button.faq-q {
    padding: 0px;
    margin-bottom: 0px;
}
.card-grid.stagger {
    display: flex;
    flex-wrap: wrap;
}
.section {
    padding: 3rem 1.5rem;
}
.faq-item {
    margin: 0px 0px 15px;
}
.faq-item button.faq-q {
    padding: 0px 23px 5px 0px;
    line-height: 1.2;
    margin: 0px;
}
.faq-item  p {
    margin: 0px;
}
/*********End Membership css********/
  }
  @media(max-width:820px){.findus{grid-template-columns:1fr; gap:26px}}
  .findus .map{border:1px solid var(--border); overflow:hidden; min-height:330px}
  .findus .map iframe{width:100%; height:100%; min-height:330px; border:0; display:block}
  .findus .addr p{font-size:16px}

  /* buttons */
  .btn{display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff;
    font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; letter-spacing:0.4px;
    padding:17px 34px; border:none; cursor:pointer;
    box-shadow:0 6px 22px rgba(200,0,30,0.34),0 1px 4px rgba(0,0,0,0.18);
    transition:transform .2s var(--spring), background .2s, box-shadow .2s;}
  .btn:hover{background:var(--red-dark); transform:translateY(-2px); box-shadow:0 10px 30px rgba(200,0,30,0.46)}
  .btn:active{transform:translateY(0)}
  .btn .price-tag{font-weight:400; opacity:.85; font-size:13px}
  .btn--ghost{background:transparent; color:var(--charcoal); box-shadow:none; padding:12px 4px; border-bottom:1px solid rgba(26,26,26,0.4); font-weight:500}
  .btn--ghost:hover{color:var(--red); border-color:var(--red); transform:none; background:transparent; box-shadow:none}
  .on-dark .btn--ghost{color:#fff; border-color:rgba(255,255,255,0.4)}

  /* sections */
   body .section{padding:96px 6vw; border-bottom:1px solid var(--border)}
  .section--dark{position:relative; background:var(--charcoal); color:#cfcccc; overflow:hidden}
  .section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
  .glow{position:absolute; width:680px; height:680px; pointer-events:none;
    background:radial-gradient(circle, rgba(200,0,30,0.14) 0%, transparent 70%);}

    @media (max-width: 767px){
      /**********Membership page css *********/
      header#main.hero.has-photo .wrap.hero-pad .hero-actions {
    margin-top: 15px;
    gap: 0px;
    flex-direction: column;
    align-items: baseline;
}
body section.section .incl-band .sbg img {
    object-position: 62% 100%;
}
section.section.long-game-sec .ptable {
    gap: 20px;
}
.eyebrow {
    font-size: 11px !important;
}
section h2 {
    max-width: 100% !important;
}
section.section p {
    font-size: 16px;
    line-height: 25px;
}
section.section.long-game-sec .ptable .ptier {
    padding: 30px 15px;
}
.section.section.long-game-sec .ptable .ptier.featured.pop, section.section.long-game-sec .ptable .ptier:nth-child(2) {
    padding-top: 74px;
}
.section.section.long-game-sec .ptable .ptier.featured.pop span.ptag, section.section.long-game-sec .ptable .ptier:nth-child(2) span.ptag {
    left: 15px;
}
.kt-grid.stagger .kt-card {
    padding: 30px 15px;
}
.kt-grid.stagger .kt-prices {
    margin-top: 0px;
    margin-bottom: 0px;
}
.kt-grid.stagger ul.kt-feat {
    margin: 15px 0px;
}
.kt-grid.stagger ul.kt-feat li {
    padding-bottom: 0px;
    margin-bottom: 0px;
}
.kt-grid.stagger   span.kt-pop {
    margin-left: 0px;
}
.card-grid.stagger .card.ic-card {
    padding: 30px 20px;
}
.pt-card .pt-body {
    padding-left: 20px;
    padding-right: 20px;
}
.pt-card .pt-body span.pu {
    font-size: 12px;
}
.faq-item  button.faq-q {
    line-height: 1.4;
}
.faq-item button.faq-q {
}
.faq-item {
    margin-bottom: 15px;
    padding-bottom: 15px;
}
.faq-item .inner {
    padding-bottom: 0px;
}
section.section.section--dark.grain.on-dark p.deciding {
    flex-wrap: wrap;
    gap: 0px 6px;
}
.section .incl-grid .incl li {
    padding: 0px 0 8px 17px;
}
 /**********End Membership page css *********/
    }
  @media(max-width:760px){.section{padding:60px 22px}}
  .eyebrow{display:inline-block; font-size:12px; letter-spacing:3px; font-weight:600;
    text-transform:uppercase; color:var(--red); margin-bottom:18px}
  .eyebrow::before{content:"— "}
  .lead{font-weight:300; font-size:clamp(18px,2.2vw,23px); line-height:1.55; max-width:34ch}
  .muted{color:var(--grey-muted)}
  /* brighter red for small text/icons on dark backgrounds (WCAG AA contrast) */
  .on-dark .eyebrow, .section--dark .eyebrow{color:var(--red-bright)}
  .section--dark .ic{color:var(--red-bright)}
  .section--dark .stat .num .unit{color:var(--red-bright)}
  .section--dark .offer-list li::before{color:var(--red-bright)}
  .section--dark a.txtlink{color:var(--red-bright)}

  /* hero */
  .hero{position:relative; overflow:hidden; background:var(--charcoal); color:#fff; padding:118px 6vw 0}
  .hero .glow{bottom:-260px; left:-200px}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; max-width:1180px; margin:0 auto}
  @media(max-width:920px){.hero-grid{grid-template-columns:1fr; gap:34px}}
  .hero .lead{color:#d8d3cc; max-width:32ch}
  .hero-actions{display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:32px}
  .hero-trust{display:flex; align-items:center; gap:10px; margin-top:30px; font-size:14px; color:#cbc6bf}
  .stars{color:#FFB400; letter-spacing:2px; font-size:15px}
  .hero-photo{position:relative; aspect-ratio:4/3.4; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,0.5); border:1px solid rgba(255,255,255,0.08)}
  .hero-photo img{width:100%; height:100%; object-fit:cover}
  .hero-photo::after{content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(to top, rgba(26,26,26,0.62), transparent 42%)}
  .hero-tab{position:absolute; left:0; bottom:0; z-index:2; background:var(--red); color:#fff; font-size:12px;
    letter-spacing:1.5px; text-transform:uppercase; font-weight:600; padding:10px 18px}
  .hero-pad{padding-bottom:96px}

  /* facts band */
  .facts{background:var(--charcoal-2); color:#fff; padding:22px 6vw; text-align:center}
  .facts .big{font-family:'Bebas Neue',sans-serif; font-size:clamp(24px,3.4vw,34px); letter-spacing:.5px}
  .facts .sub{font-size:13px; color:var(--grey-muted); margin-top:6px; letter-spacing:.3px}
  .facts .big .dot{color:var(--red); margin:0 10px}

  /* split block */
  .feeling{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center}
  @media(max-width:860px){.feeling{grid-template-columns:1fr; gap:34px}}
  .feeling-photo{aspect-ratio:3/2.3; overflow:hidden; border:1px solid var(--border)}
  .feeling-photo img{width:100%; height:100%; object-fit:cover}
  .feeling p{font-size:19px}

  /* cards */
  .card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:22px}
  .card{border:1px solid var(--border); padding:32px; background:transparent;
    transition:transform .3s var(--spring), background .3s, box-shadow .3s; position:relative}
  .card:hover{transform:translateY(-4px); background:#fff; box-shadow:0 10px 36px rgba(0,0,0,0.08)}
  .on-dark .card{border-color:rgba(255,255,255,0.12)}
  .on-dark .card:hover{background:#262626}
  .card h3{margin-bottom:10px}
  .card p{font-size:15.5px; color:inherit}
  .card .num-badge{font-family:'Bebas Neue',sans-serif; font-size:34px; color:var(--red); line-height:1; display:block; margin-bottom:10px}

  /* animated icons */
  .ic{width:54px; height:54px; margin-bottom:20px; color:var(--red); display:block}
  .ic svg{width:100%; height:100%; overflow:visible}
  .ic [data-draw]{stroke-dasharray:var(--len,200); stroke-dashoffset:var(--len,200);
    transition:stroke-dashoffset 1s var(--apple);}
  .in .ic [data-draw]{stroke-dashoffset:0}
  .ic-card .ic svg{transition:transform .45s var(--spring)}
  .ic-card:hover .ic svg{transform:translateY(-4px) scale(1.05)}
  .in .pulse{animation:pulse 4.2s var(--smooth) infinite}
  @keyframes pulse{0%,100%{opacity:.5; transform:scale(.94)}50%{opacity:1; transform:scale(1)}}
  .in .bar{transform-origin:bottom; animation:grow 3.6s var(--apple) infinite alternate}
  .in .bar.b2{animation-delay:.3s} .in .bar.b3{animation-delay:.6s}
  @keyframes grow{from{transform:scaleY(.7)}to{transform:scaleY(1)}}
  .in .beat{stroke-dasharray:60; animation:beat 3.6s linear infinite}
  @keyframes beat{from{stroke-dashoffset:120}to{stroke-dashoffset:0}}
  .ic-card:hover .ring{transform-origin:center; animation:ring 2.4s ease-in-out infinite}
  @keyframes ring{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

  /* filter */
  .filter{display:grid; grid-template-columns:1fr 1fr; gap:22px}
  @media(max-width:680px){.filter{grid-template-columns:1fr}}
  .filter-col{padding:34px; border:1px solid var(--border); background:#fff}
  .filter-col.yes{border-top:3px solid var(--red)}
  .filter-col.no{background:transparent}
  .filter-col h3{margin-bottom:18px; display:flex; align-items:center; gap:10px}
  .filter-col ul{list-style:none}
  .filter-col li{padding:11px 0; border-bottom:1px solid var(--border); font-size:15.5px; display:flex; gap:12px; align-items:flex-start}
  .filter-col li:last-child{border-bottom:none}
  .tick{color:var(--red); flex:0 0 auto; margin-top:3px}
  .cross{color:var(--grey-muted); flex:0 0 auto; margin-top:3px}

  /* coach */
  .coach{display:grid; grid-template-columns:0.85fr 1.15fr; gap:52px; align-items:center}
  @media(max-width:820px){.coach{grid-template-columns:1fr; gap:30px}}
  .coach-photo{overflow:hidden; border:1px solid var(--border); background:#e8e4dd; aspect-ratio:4/4.4}
  .coach-photo img{width:100%; height:100%; object-fit:cover; object-position:center top}
  .coach-creds{list-style:none; margin-top:18px}
  .coach-creds li{padding:10px 0 10px 26px; position:relative; font-size:15.5px; border-bottom:1px solid var(--border)}
  .coach-creds li::before{content:""; position:absolute; left:0; top:17px; width:12px; height:2px; background:var(--red)}

  /* coach grid (multiple coaches) */
  .coach-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:28px}
  .coach-card{border:1px solid var(--border); background:#fff; transition:transform .3s var(--spring), box-shadow .3s}
  .coach-card:hover{transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.10)}
  .coach-card .photo{aspect-ratio:4/4.2; overflow:hidden; background:#e8e4dd}
  .coach-card .photo img{width:100%; height:100%; object-fit:cover; object-position:center top}
  .coach-card .body{padding:26px}
  .coach-card .role{font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--red); font-weight:600; margin-bottom:6px}
  .coach-card h3{margin-bottom:10px}
  .coach-card p{font-size:15px}
  .coach-card .tags{margin-top:14px; display:flex; flex-wrap:wrap; gap:8px}
  .coach-card .tag{font-size:11.5px; letter-spacing:.5px; text-transform:uppercase; color:var(--grey-body); border:1px solid var(--border); padding:5px 10px}

  /* offer */
  .offer-card{background:var(--charcoal-2); padding:42px; border:1px solid rgba(255,255,255,0.10);
    box-shadow:0 18px 54px rgba(200,0,30,0.42),0 4px 16px rgba(0,0,0,0.6); max-width:540px}
  .offer-card .price{font-family:'Bebas Neue',sans-serif; font-size:72px; color:#fff; line-height:1}
  .offer-card .price small{font-size:22px; color:var(--grey-muted)}
  .offer-list{list-style:none; margin:18px 0 26px}
  .offer-list li{padding:7px 0 7px 26px; position:relative; color:#cfcccc; font-size:15.5px}
  .offer-list li::before{content:"✓"; position:absolute; left:0; color:var(--red); font-weight:700}
  .stats{display:flex; flex-wrap:wrap; gap:46px; margin-top:46px}
  .stat .num{font-family:'Bebas Neue',sans-serif; font-size:58px; color:#fff; line-height:1}
  .stat .num .unit{color:var(--red); font-size:26px}
  .stat .label{font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--grey-muted)}

  /* pricing table */
  .ptable{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px; margin-top:36px}
  .ptier{border:1px solid var(--border); background:#fff; padding:70px 30px 34px; position:relative; transition:transform .3s var(--spring), box-shadow .3s}
  .ptier:hover{transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.09)}
  .ptier.featured{border-top:3px solid var(--red)}
  .ptier .tname{font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--red); font-weight:600}
  .ptier .pcost{font-family:'Bebas Neue',sans-serif; font-size:56px; color:var(--charcoal); line-height:1; margin:10px 0}
  .ptier .pcost small{font-size:18px; color:var(--grey-muted)}
  .ptier .ptag{position:absolute; top:30px; left:30px; display:inline-block; background:var(--red); color:#fff; font-size:11px; letter-spacing:1px; text-transform:uppercase; padding:4px 10px; font-weight:600; margin-bottom:0}

  /* faq */
  .faq-item{border-bottom:1px solid var(--border)}
  .faq-q{width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:24px 44px 24px 0;
    font-family:'Bebas Neue',sans-serif; font-size:clamp(20px,2.6vw,26px); color:var(--charcoal); position:relative; letter-spacing:.01em}
  .faq-q::after{content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-family:'DM Sans',sans-serif; font-size:26px; color:var(--red); transition:transform .3s var(--smooth)}
  .faq-q[aria-expanded="true"]::after{content:"–"}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--smooth)}
  .faq-a .inner{padding:0 0 24px; font-size:16px; color:var(--grey-body); max-width:70ch}
  .faq-cat{font-family:'Bebas Neue',sans-serif; font-size:clamp(22px,3vw,30px); color:var(--charcoal); margin:42px 0 6px}
  /* FAQ on dark sections */
  .section--dark .faq-q{color:#fff}
  .section--dark .faq-item{border-color:rgba(255,255,255,0.14)}
  .section--dark .faq-q::after{color:var(--red-bright)}
  .section--dark .faq-a .inner{color:#cfcccc}
  .faq-a a{color:var(--red); text-decoration:underline; text-underline-offset:2px}

  /* form */
  form .row{display:grid; gap:14px}
  .field{padding:15px 16px; background:var(--charcoal-2); border:1px solid rgba(255,255,255,0.14);
    color:#fff; font-family:'DM Sans',sans-serif; font-size:15.5px; width:100%}
  .field::placeholder{color:#9a948c}
  select.field{color:#cfcccc}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
  .fineprint{font-size:12.5px; color:var(--grey-muted); margin:0}

  /* sticky mobile CTA */
  .sticky-cta{position:fixed; left:0; right:0; bottom:0; z-index:70; display:none;
    background:rgba(26,26,26,0.96); backdrop-filter:blur(8px); padding:12px 16px;
    box-shadow:0 -4px 24px rgba(0,0,0,0.3); align-items:center; justify-content:space-between; gap:14px}
  .sticky-cta .lbl{color:#fff; font-size:13px; line-height:1.3}
  .sticky-cta .lbl b{font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.5px}
  .sticky-cta .btn{padding:13px 20px; flex:0 0 auto}
  @media(max-width:760px){.sticky-cta{display:flex} body{padding-bottom:74px}}

  /* (legacy footer styles removed — pages now use the global ACSA footer) */

  /* reveal motion */
  .reveal{opacity:0; transform:translateY(40px) scale(0.98); filter:blur(5px);
    transition:opacity .9s var(--apple), transform .9s var(--apple), filter .9s var(--apple); will-change:opacity,transform,filter}
  .reveal.in{opacity:1; transform:none; filter:none}
  .stagger>*{opacity:0; transform:translateY(30px) scale(0.98); filter:blur(4px);
    transition:opacity .8s var(--apple), transform .8s var(--apple), filter .8s var(--apple)}
  .stagger.in>*{opacity:1; transform:none; filter:none}
  .img-reveal{overflow:hidden; clip-path:inset(0 0 100% 0); transition:clip-path 1.1s var(--apple)}
  .img-reveal.in{clip-path:inset(0 0 0 0)}
  .img-reveal img{transform:scale(1.16); transition:transform 1.5s var(--apple)}
  .img-reveal.in img{transform:scale(1)}
  @media(prefers-reduced-motion:reduce){
    .reveal,.stagger>*,.img-reveal,.img-reveal img{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
    .ic svg,.pulse,.bar,.beat,.ring{animation:none!important}
    .ic [data-draw]{stroke-dashoffset:0!important}
    .hero-bg img,.incl-band .sbg img{animation:none!important; transform:none!important}
    .snow{display:none!important}
  }

  /* hero background image + overlay (matches Women's page hero) */
  .hero-bg{position:absolute; inset:0; z-index:0}
  .hero-bg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 28%; filter:grayscale(.2) contrast(1.05); transform-origin:center; animation:heroZoom 24s ease-in-out infinite alternate}
  @keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.09)}}
  .hero-overlay{position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(95deg, rgba(18,18,18,.96) 0%, rgba(18,18,18,.86) 34%, rgba(18,18,18,.55) 64%, rgba(18,18,18,.34) 100%)}
  .hero-overlay::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(18,18,18,.92), transparent 34%)}
  .hero.has-photo .wrap, .hero.has-photo .glow{position:relative; z-index:2}
  .hero.has-photo h1{color:#fff}
  .hero-stats{display:flex; flex-wrap:wrap; gap:clamp(26px,4vw,52px); margin-top:40px; padding-top:28px; border-top:1px solid rgba(255,255,255,.16)}
  .hero-stats .hn{font-family:'Bebas Neue',sans-serif; font-size:clamp(28px,3.6vw,44px); color:#fff; line-height:1}
  .hero-stats .hn span{color:var(--red-bright)}
  .hero-stats .hl{font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#a9a39b; margin-top:7px}

  /* inclusions / no-hidden-costs list */
  .incl{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:6px 36px; margin-top:26px}
  @media(max-width:640px){.incl{grid-template-columns:1fr}}
  .incl li{padding:12px 0 12px 30px; position:relative; font-size:16px; border-bottom:1px solid var(--border)}
  .incl li::before{content:"✓"; position:absolute; left:0; top:11px; color:var(--red); font-weight:700}
  .on-dark .incl li{border-color:rgba(255,255,255,0.12); color:#d8d3cc}
  .on-dark .incl li::before{color:var(--red-bright)}

  /* most-popular pricing highlight */
  .ptier.pop{border:1px solid var(--red); box-shadow:0 14px 44px rgba(200,0,30,0.15)}
  .ptier.pop .pcost{color:var(--red)}
  .ptag.alt{background:transparent; color:var(--grey-muted); border:1px solid var(--border)}

  /* still-deciding line */
  .deciding{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; font-size:15.5px; color:var(--grey-body); margin-top:8px}
  .deciding a{color:var(--red); font-weight:600; border-bottom:1px solid rgba(200,0,30,.3)}
  .deciding a:hover{border-color:var(--red)}
  /* final CTA actions — equal height so the ghost link aligns to the button */
  .final-actions{display:inline-flex; align-items:stretch; justify-content:center; flex-wrap:wrap; gap:14px 28px}
  .final-actions .btn--ghost{display:inline-flex; align-items:center}

  @media(max-width:520px){.final-actions{flex-direction:column; width:100%} .final-actions .btn,.final-actions .btn--ghost{width:100%; justify-content:center}}

  /* kids & teens premium cards */
  .kt-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:36px}
  @media(max-width:740px){.kt-grid{grid-template-columns:1fr}}
  .kt-card{border:1px solid var(--border); background:#fff; padding:clamp(28px,3vw,40px); display:flex; flex-direction:column;
    transition:transform .3s var(--spring), box-shadow .3s}
  .kt-card:hover{transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,0.10)}
  .kt-age{font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--red); font-weight:600}
  .kt-card h3{font-size:clamp(26px,3vw,34px); margin:8px 0 2px}
  .kt-sub{font-size:14.5px; color:var(--grey-muted)}
  .kt-prices{margin:22px 0 6px; border-top:1px solid var(--border)}
  .kt-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 0; border-bottom:1px solid var(--border)}
  .kt-row .kl{font-size:15.5px; color:var(--grey-body)}
  .kt-amt{font-family:'Bebas Neue',sans-serif; font-size:34px; color:var(--charcoal); line-height:1; white-space:nowrap}
  .kt-amt small{font-size:15px; color:var(--grey-muted)}
  .kt-row.pop .kt-amt{color:var(--red)}
  .kt-pop{display:inline-block; background:var(--red); color:#fff; font-size:10px; letter-spacing:1px; text-transform:uppercase; font-weight:600; padding:3px 8px; margin-left:8px; vertical-align:middle}
  .kt-feat{list-style:none; margin:18px 0 26px}
  .kt-feat li{padding:8px 0 8px 26px; position:relative; font-size:15px; color:var(--grey-body)}
  .kt-feat li::before{content:"✓"; position:absolute; left:0; top:8px; color:var(--red); font-weight:700}
  .kt-cta{margin-top:auto}
  .kt-cta .btn{width:100%; justify-content:center}
  .kt-try{display:block; margin-top:14px; text-align:center; font-size:13.5px; color:var(--grey-muted); line-height:1.55}
  .kt-try a{color:var(--red); font-weight:600; border-bottom:1px solid rgba(200,0,30,.3)}
  .kt-try a:hover{border-color:var(--red)}

  /* premium Personal Training card (split with photo) */
  .pt-card{position:relative; overflow:hidden; background:linear-gradient(180deg,#1f1f1f 0%,#161616 100%);
    border:1px solid rgba(255,255,255,.10); display:grid; grid-template-columns:0.9fr 1.1fr;
    box-shadow:0 30px 80px -34px rgba(0,0,0,.65)}
  @media(max-width:780px){.pt-card{grid-template-columns:1fr}}
  .pt-card::before{content:""; position:absolute; width:460px; height:460px; top:-180px; right:-140px; pointer-events:none; z-index:1;
    background:radial-gradient(circle, rgba(200,0,30,.20) 0%, transparent 70%)}
  .pt-photo{position:relative; min-height:360px; overflow:hidden}
  @media(max-width:780px){.pt-photo{min-height:260px}}
  .pt-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; filter:grayscale(.15) contrast(1.05)}
  .pt-photo::after{content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(90deg, rgba(22,22,22,.18) 0%, transparent 32%, transparent 68%, rgba(22,22,22,.94) 100%)}
  @media(max-width:780px){.pt-photo::after{background:linear-gradient(to bottom, transparent 45%, rgba(22,22,22,.94) 100%)}}
  .pt-body{position:relative; z-index:2; padding:clamp(34px,4vw,56px)}
  .pt-body .eyebrow{color:var(--red-bright)}
  .pt-body h2{color:#fff}
  .pt-body p{color:#cfcccc; max-width:48ch; margin-top:12px}
  .pt-price{display:flex; align-items:baseline; gap:10px; margin-top:20px}
  .pt-price .pn{font-family:'Bebas Neue',sans-serif; font-size:48px; color:#fff; line-height:1}
  .pt-price .pu{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--grey-muted)}
  .pt-cta{margin-top:26px}

  /* icon hover */
  .ic img{transition:transform .45s var(--spring)}
  .ic-card:hover .ic img{transform:translateY(-4px) scale(1.05)}
  /* "what's included" — full-bleed photo, text overlaid, height-controlled (~half hero) */
  .incl-band{position:relative; overflow:hidden; display:flex; align-items:center; min-height:clamp(373px,42vw,506px); padding:clamp(32px,3.8vw,44px) 6vw}
  @media(max-width:820px){.incl-band{min-height:0; padding:clamp(40px,8vw,52px) 22px}}
  .incl-band .sbg{position:absolute; inset:0; z-index:0}
  .incl-band .sbg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 47%; filter:grayscale(.2) contrast(1.05); transform-origin:center; animation:inclZoom 30s ease-in-out infinite alternate}
  @keyframes inclZoom{from{transform:scale(1)}to{transform:scale(1.02)}}
  .incl-band .sbg::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, rgba(18,18,18,.94) 0%, rgba(18,18,18,.78) 46%, rgba(18,18,18,.6) 72%, rgba(18,18,18,.55) 100%)}
  .incl-band .wrap{position:relative; z-index:1; width:100%}
  .incl-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(28px,5vw,60px); align-items:center}
  @media(max-width:820px){.incl-grid{grid-template-columns:1fr; gap:18px}
    .incl-band .sbg::after{background:linear-gradient(180deg, rgba(18,18,18,.55) 0%, rgba(18,18,18,.82) 100%)}}
  .incl-band h2{margin:0}
  .incl-band .incl{grid-template-columns:1fr; margin-top:0; gap:0}
  .incl-band .incl li{padding:9px 0 9px 30px; font-size:15px}

  /* subtle gold embers / fireflies (dark panels) — from the home page */
  .snow{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0}
  .snow i{position:absolute; top:-12px; border-radius:50%;
    background:radial-gradient(circle, rgba(214,178,84,.9), rgba(214,178,84,0) 70%);
    opacity:0; animation:fall linear infinite}
  @keyframes fall{0%{transform:translate3d(0,-12px,0); opacity:0}12%{opacity:.55}86%{opacity:.4}100%{transform:translate3d(var(--dx,24px),var(--dy,820px),0); opacity:0}}

  /* how-it-works infographic cards */
  .card.ic-card .step-num{position:absolute; top:18px; right:24px; font-family:'Bebas Neue',sans-serif; font-size:44px; color:rgba(0,0,0,0.09); line-height:1}
