    /* ═══════════════════════════════════════
       DESIGN TOKENS
    ═══════════════════════════════════════ */
    :root {
      --bg:        #090909;
      --bg2:       #0f0f0f;
      --bg3:       #161616;
      --bg4:       #1e1e1e;
      --purple:    #7c5cfc;
      --purple2:   #a68cff;
      --purple3:   rgba(124,92,252,0.12);
      --lime:      #c8ff00;
      --lime2:     rgba(200,255,0,0.08);
      --text:      #efefef;
      --muted:     #606060;
      --muted2:    rgba(255,255,255,0.42);
      --muted3:    rgba(255,255,255,0.18);
      --border:    rgba(255,255,255,0.055);
      --border2:   rgba(255,255,255,0.1);
      --radius-sm: 10px;
      --radius:    16px;
      --radius-lg: 22px;
      --radius-xl: 30px;
      --shell:     min(1200px, calc(100% - 3rem));
    }

    /* ═══════════════════════════════════════
       RESET & BASE
    ═══════════════════════════════════════ */
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; font-size:16px; }
    body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Inter', sans-serif;
      font-weight: 400;
      line-height: 1.6;
      overflow-x: hidden;
    }
    a { text-decoration: none; color: inherit; }
    button { font-family: inherit; cursor: pointer; }
    img { display: block; max-width: 100%; }

    /* ─── Hero video background ─── */
    .hero-video-bg { position:absolute; inset:0; z-index:0; overflow:hidden; }
    .hero-video-bg video { width:100%; height:100%; object-fit:cover; opacity:0.48; }
    .hero-video-overlay {
      position:absolute; inset:0;
      background:
        linear-gradient(to right, rgba(9,9,9,.75) 0%, rgba(9,9,9,.28) 55%, rgba(9,9,9,.08) 100%),
        linear-gradient(to bottom, rgba(9,9,9,.15) 0%, rgba(9,9,9,.6) 100%);
    }
    /* ─── Programs video preview ─── */
    .prog-video-wrap {
      width:min(100%, 920px); margin:0 auto 3rem;
      aspect-ratio:16/9; border-radius:var(--radius-lg);
      overflow:hidden; border:1px solid var(--border);
    }
    .prog-video-wrap video { width:100%; height:100%; display:block; object-fit:cover; }
    /* ─── Diet panel real image ─── */
    .diet-img-real { height:210px; position:relative; overflow:hidden; }
    .diet-img-real img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
    .diet-panel:hover .diet-img-real img { transform:scale(1.04); }
    .diet-img-real::after {
      content:''; position:absolute; inset:0;
      background:linear-gradient(to bottom, rgba(0,0,0,.08) 30%, rgba(15,15,15,.96) 100%);
    }
    /* ─── Trainer real images ─── */
    .trainer-real-img {
      position:absolute; inset:0;
      background-size:cover;
      background-repeat:no-repeat;
      background-position:center 18%;
      transition:transform .4s cubic-bezier(.22,.61,.36,1);
    }
    .trainer-real-img.trainer-sarah { background-image: url('../images/trainer-sarah.jpg'); background-position:center 14%; }
    .trainer-real-img.trainer-marcus { background-image: url('../images/trainer-marcus.jpg'); background-position:center 15%; }
    .trainer-real-img.trainer-priya { background-image: url('../images/trainer-priya.jpg'); background-position:center 18%; }
    .trainer-card:hover .trainer-real-img { transform:scale(1.04); }
    /* ─── Custom cursor — upgraded ─── */
    @media (hover:hover) and (pointer:fine) {
      body { cursor: none; }
      #cur, #cur-ring { display: block; }
    }
    @media (hover:none),(pointer:coarse) {
      #cur, #cur-ring { display: none !important; }
    }
    #cur {
      position:fixed; width:8px; height:8px;
      background:var(--lime); border-radius:50%;
      pointer-events:none; z-index:9999;
      transform:translate(-50%,-50%);
      transition:width .12s, height .12s, background .2s;
      mix-blend-mode:difference;
    }
    #cur-ring {
      position:fixed; width:36px; height:36px;
      border:1.5px solid rgba(200,255,0,.5);
      border-radius:50%; pointer-events:none; z-index:9998;
      transform:translate(-50%,-50%);
      transition:width .35s cubic-bezier(.22,.61,.36,1),
                  height .35s cubic-bezier(.22,.61,.36,1),
                  border-color .25s, left .08s linear, top .08s linear;
    }
    #cur.on-interactive { width:6px; height:6px; background:var(--lime); }
    #cur-ring.on-interactive {
      width:52px; height:52px;
      border-color:rgba(124,92,252,.7);
    }
    #cur.on-button { background:var(--lime); width:10px; height:10px; }
    #cur-ring.on-button {
      width:60px; height:60px;
      border-color:rgba(200,255,0,.6);
      border-width:2px;
    }
    #cur.clicking { transform:translate(-50%,-50%) scale(.75); }
    #cur-ring.clicking { transform:translate(-50%,-50%) scale(.85); }
    /* ─── Cursor glow — the big ambient purple orb ─── */
    #cur-glow {
      position:fixed;
      width:520px; height:520px;
      background:radial-gradient(circle, rgba(124,92,252,.13) 0%, transparent 70%);
      border-radius:50%;
      pointer-events:none;
      z-index:0;
      transform:translate(-50%,-50%);
      transition: left .6s cubic-bezier(.22,.61,.36,1),
                  top  .6s cubic-bezier(.22,.61,.36,1),
                  opacity .4s;
    }
    @media (hover:none),(pointer:coarse) { #cur-glow { display:none !important; } }

    /* ─── Scroll progress ─── */
    #sp {
      position:fixed; top:0; left:0; height:2px;
      background: var(--lime); z-index:200;
      transition: width .08s linear;
    }

    /* ─── Reveal animation ─── */
    .r {
      opacity:0; transform:translateY(24px);
      transition: opacity .75s cubic-bezier(.22,.61,.36,1),
                  transform .75s cubic-bezier(.22,.61,.36,1);
    }
    .r.show { opacity:1; transform:none; }

    /* ═══════════════════════════════════════
       SHARED TYPOGRAPHY
    ═══════════════════════════════════════ */
    .eyebrow {
      font-family: 'Inter', sans-serif;
      font-size: .68rem; font-weight:500;
      letter-spacing: .2em; text-transform:uppercase;
      color: var(--purple2); margin-bottom:.65rem;
    }
    .headline {
      font-family:'Space Grotesk', sans-serif;
      font-size: clamp(2.6rem, 5vw, 4rem);
      font-weight:800; letter-spacing:-.035em;
      line-height:.96; color:#fff;
      margin-bottom:.9rem;
    }
    .sub {
      font-size:.93rem; line-height:1.85;
      color: var(--muted2); max-width:520px;
    }

    /* ═══════════════════════════════════════
       LAYOUT SHELL
    ═══════════════════════════════════════ */
    .shell { width: var(--shell); margin-inline:auto; }

    /* ═══════════════════════════════════════
       NAV
    ═══════════════════════════════════════ */
    nav {
      position:sticky; top:0; z-index:100;
      height:64px; padding:0 5%;
      display:flex; align-items:center; justify-content:space-between;
      background: rgba(9,9,9,.88);
      backdrop-filter: blur(20px) saturate(1.4);
      border-bottom: 1px solid var(--border);
    }
    .logo {
      font-family:'Space Grotesk',sans-serif; font-size:1.25rem;
      font-weight:800; color:#fff; letter-spacing:-.02em;
      display:flex; align-items:center; gap:.3rem;
    }
    .logo-dot { color:var(--lime); }
    .nav-links {
      display:flex; gap:2rem; align-items:center;
    }
    .nav-links a {
      font-size:.82rem; font-weight:400;
      color: var(--muted2);
      transition: color .2s;
      position:relative;
    }
    .nav-links a::after {
      content:''; position:absolute;
      bottom:-4px; left:0; width:0; height:1.5px;
      background:var(--lime); transition:width .25s ease;
    }
    .nav-links a:hover, .nav-links a.active { color:#fff; }
    .nav-links a:hover::after, .nav-links a.active::after { width:100%; }
    .nav-cta {
      background: var(--purple); color:#fff;
      padding:.48rem 1.3rem; border-radius:999px;
      font-size:.82rem; font-weight:500;
      transition: all .25s;
    }
    .nav-cta:hover {
      background: var(--lime); color:#000;
      transform:translateY(-2px);
    }
    .hamburger {
      display:none; flex-direction:column;
      gap:5px; background:none; border:none; padding:4px;
    }
    .hamburger span {
      display:block; width:20px; height:1.5px;
      background:#fff; border-radius:2px; transition:all .3s;
    }
    .hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px);}
    .hamburger.open span:nth-child(2){opacity:0;}
    .hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px);}
    .mob-menu {
      display:none; position:fixed; inset:64px 0 0;
      background:rgba(9,9,9,.97); backdrop-filter:blur(20px);
      z-index:99; flex-direction:column; align-items:center;
      justify-content:center; gap:2.5rem;
    }
    .mob-menu.open { display:flex; }
    .mob-menu a {
      font-family:'Space Grotesk',sans-serif; font-size:2.2rem;
      font-weight:700; color:var(--muted2); transition:color .2s;
    }
    .mob-menu a:hover { color:#fff; }

    /* ═══════════════════════════════════════
       HERO
    ═══════════════════════════════════════ */
    .hero {
      min-height:100vh;
      display:grid; grid-template-columns:1.15fr .85fr;
      gap:3rem; align-items:center;
      padding:6rem 5% 5rem; position:relative; overflow:hidden;
    }
    /* Ambient orbs */
    .orb {
      position:absolute; border-radius:50%; pointer-events:none;
      filter:blur(80px);
    }
    .orb1 {
      width:700px; height:700px;
      background:radial-gradient(circle, rgba(124,92,252,.18), transparent 65%);
      top:-200px; right:-200px;
      animation:floatOrb 15s ease-in-out infinite;
    }
    .orb2 {
      width:450px; height:450px;
      background:radial-gradient(circle, rgba(200,255,0,.06), transparent 65%);
      bottom:-100px; left:-100px;
      animation:floatOrb 20s ease-in-out infinite reverse;
    }
    @keyframes floatOrb {
      0%,100%{transform:translateY(0) scale(1);}
      50%{transform:translateY(-28px) scale(1.04);}
    }
    /* Noise texture overlay */
    .hero::before {
      content:'';
      position:absolute; inset:0; z-index:0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
      opacity:.025; pointer-events:none;
    }
    .hero-text { position:relative; z-index:2; }
    .hero-eyebrow {
      display:inline-flex; align-items:center; gap:.5rem;
      font-size:.68rem; font-weight:500; letter-spacing:.18em;
      text-transform:uppercase; color:var(--lime);
      margin-bottom:1.4rem;
      opacity:0; animation:fadeUp .7s .1s forwards;
    }
    .hero-eyebrow-dot {
      width:6px; height:6px; border-radius:50%;
      background:var(--lime); display:inline-block;
    }
    .hero h1 {
      font-family:'Space Grotesk',sans-serif;
      font-size:clamp(3.6rem, 8vw, 6.4rem);
      font-weight:800; letter-spacing:-.045em;
      line-height:.9; color:#fff; margin-bottom:1.6rem;
      opacity:0; animation:fadeUp .7s .25s forwards;
    }
    .hero h1 .ac { color:var(--purple2); }
    .hero h1 .lm { color:var(--lime); }
    .hero-sub {
      font-size:1rem; line-height:1.85;
      color:var(--muted2); max-width:420px;
      margin-bottom:2.8rem;
      opacity:0; animation:fadeUp .7s .4s forwards;
    }
    .hero-btns {
      display:flex; gap:.9rem; align-items:center;
      flex-wrap:wrap; margin-bottom:3.5rem;
      opacity:0; animation:fadeUp .7s .55s forwards;
    }
    .btn-primary {
      background:var(--purple); color:#fff;
      padding:.78rem 2rem; border-radius:999px;
      font-size:.88rem; font-weight:500;
      transition: all .25s; position:relative; overflow:hidden;
    }
    .btn-primary::after {
      content:''; position:absolute; inset:0;
      background:rgba(255,255,255,.1);
      transform:translateX(-100%); transition:transform .3s;
    }
    .btn-primary:hover::after { transform:translateX(0); }
    .btn-primary:hover {
      transform:translateY(-3px);
      box-shadow:0 14px 35px rgba(124,92,252,.38);
    }
    .btn-ghost {
      border:1px solid var(--border2); color:var(--muted2);
      padding:.76rem 2rem; border-radius:999px;
      font-size:.88rem; font-weight:400;
      transition:all .25s;
    }
    .btn-ghost:hover { border-color:var(--purple2); color:var(--purple2); transform:translateY(-2px); }
    .hero-stats {
      display:flex; gap:3rem; align-items:center;
      opacity:0; animation:fadeUp .7s .7s forwards;
    }
    .stat-num {
      font-family:'Space Grotesk',sans-serif;
      font-size:2.1rem; font-weight:800; color:#fff; line-height:1;
    }
    .stat-num span { color:var(--lime); }
    .stat-label { font-size:.7rem; color:var(--muted); margin-top:.25rem; letter-spacing:.06em; }
    .stat-divider { width:1px; height:36px; background:var(--border2); }

    /* Hero Card */
    .hero-card-wrap {
      position:relative; z-index:2;
      display:flex; align-items:center; justify-content:center;
      opacity:0; animation:fadeUp .7s .3s forwards;
    }
    .hero-card {
      background:linear-gradient(145deg, var(--purple) 0%, #5a35e0 100%);
      border-radius:var(--radius-xl);
      padding:2.2rem; width:100%; max-width:360px;
      position:relative; overflow:hidden;
      animation:floatCard 8s ease-in-out infinite;
      box-shadow:0 40px 80px rgba(124,92,252,.35), 0 0 0 1px rgba(255,255,255,.08);
    }
    @keyframes floatCard {
      0%,100%{transform:translateY(0);}
      50%{transform:translateY(-12px);}
    }
    .hero-card::before {
      content:''; position:absolute;
      top:-50px; right:-50px; width:160px; height:160px;
      background:rgba(255,255,255,.07); border-radius:50%;
    }
    .hero-card::after {
      content:''; position:absolute;
      bottom:-70px; left:-30px; width:200px; height:200px;
      background:rgba(255,255,255,.04); border-radius:50%;
    }
    .card-badge {
      display:inline-flex; align-items:center; gap:.35rem;
      background:var(--lime); color:#000;
      font-family:'Space Grotesk',sans-serif;
      font-size:.62rem; font-weight:700; letter-spacing:.04em;
      padding:.35rem .85rem; border-radius:999px;
      position:absolute; top:1.1rem; right:1.1rem;
      cursor:pointer; transition:transform .2s; z-index:2;
    }
    .card-badge:hover { transform:scale(1.05); }
    .card-badge.done { background:#22c55e; color:#fff; }
    .card-eyebrow {
      font-size:.6rem; color:rgba(255,255,255,.5);
      letter-spacing:.1em; margin-bottom:.35rem;
    }
    .card-title {
      font-family:'Space Grotesk',sans-serif; font-size:1.3rem;
      font-weight:800; color:#fff; margin-bottom:1.2rem;
    }
    .card-tags { display:flex; gap:.4rem; margin-bottom:1.3rem; flex-wrap:wrap; }
    .card-tag {
      font-size:.58rem; font-weight:600; letter-spacing:.05em;
      padding:.2rem .6rem; border-radius:999px;
    }
    .card-tag.d { background:rgba(255,255,255,.12); color:rgba(255,255,255,.85); }
    .card-tag.l { background:var(--lime); color:#000; }
    .card-meta {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:.5rem; margin-bottom:1.4rem;
    }
    .meta-item label {
      display:block; font-size:.56rem;
      color:rgba(255,255,255,.45); letter-spacing:.07em; margin-bottom:.1rem;
    }
    .meta-item span { font-size:.78rem; font-weight:600; color:#fff; }
    .card-btn {
      width:100%; background:var(--lime); color:#000;
      border:none; border-radius:999px; padding:.8rem;
      font-family:'Space Grotesk',sans-serif; font-size:.86rem;
      font-weight:700; letter-spacing:.03em;
      transition:all .2s; cursor:pointer;
    }
    .card-btn:hover { transform:scale(1.02); box-shadow:0 8px 24px rgba(200,255,0,.3); }
    .card-step {
      margin-top:1rem;
      background:rgba(0,0,0,.18);
      border-radius:12px; padding:.9rem 1rem;
      border-left:2px solid var(--lime);
    }
    .step-lbl { font-size:.56rem; color:rgba(255,255,255,.45); letter-spacing:.09em; margin-bottom:.3rem; }
    .card-step p { font-size:.72rem; color:rgba(255,255,255,.78); line-height:1.6; }

    @keyframes fadeUp {
      from { opacity:0; transform:translateY(18px); }
      to   { opacity:1; transform:none; }
    }

    /* ═══════════════════════════════════════
       FEATURES STRIP
    ═══════════════════════════════════════ */
    .features-section { padding:5rem 0 4rem; }
    .features-grid {
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:.9rem;
      perspective: 1200px;
    }
    .feat-card {
      background:var(--bg2);
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      padding:2.4rem 2.2rem;
      aspect-ratio:1 / 1.1;
      display:flex; flex-direction:column;
      justify-content:space-between; align-items:flex-start;
      text-decoration:none; color:inherit;
      position:relative; overflow:hidden;
      transition:border-color .32s, transform .32s;
    }
    .feat-card:hover {
      border-color:rgba(255,255,255,.14);
      transform:translateY(-4px);
    }
    .feat-card::after {
      content:''; position:absolute;
      bottom:0; left:2.2rem; right:2.2rem;
      height:1px; background:var(--lime);
      transform:scaleX(0); transform-origin:left;
      transition:transform .35s ease;
    }
    .feat-card:hover::after { transform:scaleX(1); }
    .feat-icon {
      width:42px; height:42px; border-radius:10px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.06);
      display:flex; align-items:center; justify-content:center;
      font-size:1.15rem;
    }
    .feat-card h3 {
      font-family:'Space Grotesk',sans-serif; font-size:1rem;
      font-weight:700; color:#fff; letter-spacing:-.01em;
      margin-bottom:.45rem;
    }
    .feat-card p {
      font-size:.79rem; color:rgba(255,255,255,.42); line-height:1.75;
    }
    .feat-link {
      display:inline-flex; align-items:center; gap:.35rem;
      font-size:.72rem; font-weight:500;
      color:rgba(255,255,255,.32);
      border:1px solid rgba(255,255,255,.08);
      border-radius:999px; padding:.28rem .7rem;
      transition:all .25s;
    }
    .feat-card:hover .feat-link {
      color:var(--purple2); border-color:rgba(124,92,252,.35);
    }

    /* ═══════════════════════════════════════
       ✦ ANIMATION SYSTEM — Bring the soul back
    ═══════════════════════════════════════ */

    /* Staggered page-load for hero */
    @keyframes fadeUp {
      from { opacity:0; transform:translateY(22px); }
      to   { opacity:1; transform:none; }
    }
    @keyframes fadeIn {
      from { opacity:0; } to { opacity:1; }
    }

    /* Shimmer sweep on feat-cards */
    @keyframes shimmer {
      0%   { transform:translateX(-100%) skewX(-15deg); }
      100% { transform:translateX(250%) skewX(-15deg); }
    }
    .feat-card::before {
      content:''; position:absolute;
      top:0; left:0; width:40%; height:100%;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.04), transparent);
      transform:translateX(-100%) skewX(-15deg);
      pointer-events:none;
    }
    .feat-card:hover::before {
      animation: shimmer .65s ease forwards;
    }

    /* Prog-card image zoom is already on .prog-bg — boost it */
    .prog-card:hover .prog-bg { transform:scale(1.07); }

    /* Prog-card entrance: slide + fade with stagger via JS class */
    .prog-card {
      transition: border-color .3s, transform .3s, opacity .5s, box-shadow .3s;
    }
    .prog-card:hover {
      box-shadow: 0 20px 50px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);
      transform:translateY(-6px);
    }

    /* Floating orb extra pulse */
    @keyframes orbPulse {
      0%,100% { opacity:.18; transform:scale(1); }
      50%      { opacity:.28; transform:scale(1.06); }
    }
    .orb1 { animation: floatOrb 15s ease-in-out infinite, orbPulse 8s ease-in-out infinite; }
    .orb2 { animation: floatOrb 20s ease-in-out infinite reverse, orbPulse 11s ease-in-out infinite reverse; }

    /* Hero card glow pulse */
    @keyframes cardGlow {
      0%,100% { box-shadow: 0 40px 80px rgba(124,92,252,.35), 0 0 0 1px rgba(255,255,255,.08); }
      50%      { box-shadow: 0 50px 100px rgba(124,92,252,.55), 0 0 40px rgba(124,92,252,.2), 0 0 0 1px rgba(255,255,255,.12); }
    }
    .hero-card { animation: floatCard 8s ease-in-out infinite, cardGlow 4s ease-in-out infinite; }

    /* Lime underline on feat-cards — faster, more satisfying */
    .feat-card::after { transition: transform .28s cubic-bezier(.22,.61,.36,1); }

    /* Stat numbers count-up glow */
    .stat-num { transition: color .3s; }
    .stat-num:hover { color: var(--lime); }

    /* Vstat hover lift */
    .vstat {
      transition: border-color .28s, transform .28s, box-shadow .28s;
    }
    .vstat:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 40px rgba(0,0,0,.4);
    }

    /* Price card hover lift + glow */
    .price-card { transition: border-color .28s, transform .28s, box-shadow .28s; }
    .price-card:hover { box-shadow: 0 18px 45px rgba(0,0,0,.45); }
    .price-card.featured:hover { box-shadow: 0 24px 60px rgba(124,92,252,.5); }

    /* Trainer card border colour shift on hover */
    .trainer-card { transition: border-color .32s, transform .32s, box-shadow .32s; }
    .trainer-card:hover {
      border-color: rgba(124,92,252,.45);
      box-shadow: 0 18px 45px rgba(0,0,0,.5);
    }

    /* Bar chart bars — smoother, springier */
    .bar {
      transition: height .9s cubic-bezier(.34,1.56,.64,1), filter .2s;
    }

    /* Nav link hover underline — springy */
    .nav-links a::after { transition: width .3s cubic-bezier(.34,1.56,.64,1); }

    /* Button magnetic press effect */
    .btn-primary:active, .btn-ghost:active, .card-btn:active,
    .modal-submit:active, .co-submit:active { transform:scale(.97); }

    /* Diet item hover */
    .diet-item { transition: all .22s cubic-bezier(.22,.61,.36,1); }

    /* Hero eyebrow dot blink */
    @keyframes blink {
      0%,100% { opacity:1; } 50% { opacity:.3; }
    }
    .hero-eyebrow-dot { animation: blink 2.4s ease-in-out infinite; }

    /* Section reveal — more spring */
    .r {
      opacity:0; transform:translateY(28px);
      transition: opacity .8s cubic-bezier(.22,.61,.36,1),
                  transform .8s cubic-bezier(.22,.61,.36,1);
    }
    .r.show { opacity:1; transform:none; }

    /* Scroll progress bar end glow */
    #sp { box-shadow: 2px 0 12px var(--lime); }
    .programs-section { padding:4rem 0 5rem; }
    .programs-header { text-align:center; margin-bottom:3.5rem; }
    .programs-header .sub { margin:0 auto; }

    .prog-filter {
      display:flex; gap:.45rem;
      margin-bottom:2.5rem; flex-wrap:wrap;
    }
    .filter-btn {
      padding:.36rem 1rem; border-radius:999px;
      font-size:.72rem; font-weight:400;
      border:1px solid rgba(255,255,255,.09);
      color:rgba(255,255,255,.38);
      background:transparent; transition:all .22s; cursor:pointer;
    }
    .filter-btn:hover { border-color:rgba(255,255,255,.2); color:rgba(255,255,255,.65); }
    .filter-btn.active {
      background:rgba(124,92,252,.15);
      border-color:rgba(124,92,252,.45);
      color:var(--purple2);
    }
    .prog-grid {
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:1.1rem;
      perspective: 1200px;
    }
    .prog-card {
      background:var(--bg2);
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      overflow:hidden; display:flex; flex-direction:column;
      cursor:pointer;
      transition:border-color .3s, transform .3s;
    }
    .prog-card:hover {
      border-color:rgba(255,255,255,.13);
      transform:translateY(-3px);
    }
    .prog-thumb {
      width:100%; aspect-ratio:16/9;
      position:relative; overflow:hidden; flex-shrink:0;
    }
    .prog-bg {
      position:absolute; inset:0;
      background-size:cover !important;
      background-position:center center !important;
      background-repeat:no-repeat !important;
      transition:transform .6s cubic-bezier(.22,.61,.36,1);
    }
    .prog-card:hover .prog-bg { transform:scale(1.06); }
    /* Solid colour fallback if image fails */
    .prog-bg.yoga     { background-color:#12083a; background-image: url('../images/prog-yoga.jpg'); }
    .prog-bg.crossfit { background-color:#081e08; background-image: url('../images/prog-crossfit.jpg'); }
    .prog-bg.hiit     { background-color:#380808; background-image: url('../images/prog-hiit.jpg'); }
    .prog-bg.strength { background-color:#181408; background-image: url('../images/prog-strength.jpg'); }
    .prog-bg.pilates  { background-color:#082030; background-image: url('../images/prog-pilates.jpg'); }
    .prog-bg.boxing   { background-color:#280818; background-image: url('../images/prog-boxing.jpg'); }
    /* Bottom-only scrim — photo shows fully above the fold line */
    .prog-scrim {
      position:absolute; inset:0; z-index:1;
      background:linear-gradient(
        to bottom,
        rgba(0,0,0,0)   0%,
        rgba(0,0,0,0)   40%,
        rgba(0,0,0,.6)  100%
      );
    }
    .prog-emoji { display:none; }
    .prog-mark {
      position:absolute; top:.7rem; right:.7rem; z-index:3;
      background:rgba(0,0,0,.5);
      border:1px solid rgba(255,255,255,.13);
      border-radius:6px; padding:.15rem .5rem;
      font-size:.58rem; font-weight:600;
      color:rgba(255,255,255,.75); letter-spacing:.06em;
      backdrop-filter:blur(6px);
    }
    .prog-body {
      padding:1.5rem 1.65rem 1.65rem;
      display:flex; flex-direction:column; flex:1; gap:.5rem;
    }
    .prog-tags { display:flex; gap:.35rem; flex-wrap:wrap; }
    .prog-tag {
      font-size:.56rem; font-weight:600; letter-spacing:.06em;
      padding:.17rem .48rem; border-radius:999px;
    }
    .pt1 { background:rgba(124,92,252,.12); color:var(--purple2); border:1px solid rgba(124,92,252,.28); }
    .pt2 { background:rgba(200,255,0,.09); color:var(--lime); border:1px solid rgba(200,255,0,.22); }
    .pt3 { background:rgba(34,197,94,.1); color:#22c55e; border:1px solid rgba(34,197,94,.22); }
    .prog-card h3 {
      font-family:'Space Grotesk',sans-serif; font-size:1rem;
      font-weight:700; color:#fff; letter-spacing:-.01em;
    }
    .prog-card p { font-size:.78rem; color:rgba(255,255,255,.42); line-height:1.72; }
    .prog-meta {
      display:flex; gap:.7rem;
      font-size:.7rem; color:rgba(255,255,255,.32); flex-wrap:wrap;
    }
    .prog-cta {
      display:inline-flex; align-items:center; gap:.45rem;
      margin-top:auto;
      font-size:.76rem; font-weight:500;
      color:rgba(255,255,255,.55);
      border:1px solid rgba(255,255,255,.1);
      border-radius:999px;
      padding:.38rem .9rem;
      align-self:flex-start;
      transition:color .22s, border-color .22s, background .22s;
    }
    .prog-card:hover .prog-cta {
      color:#fff;
      border-color:rgba(255,255,255,.28);
      background:rgba(255,255,255,.06);
    }

    /* ═══════════════════════════════════════
       DIET / NUTRITION
    ═══════════════════════════════════════ */
    .diet-section {
      padding:5rem 0;
      background:var(--bg2);
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      position:relative; overflow:hidden;
    }
    .diet-section::before {
      content:''; position:absolute;
      top:-200px; right:-100px;
      width:500px; height:500px;
      background:radial-gradient(circle, rgba(124,92,252,.07), transparent 65%);
      pointer-events:none;
    }
    .diet-inner {
      display:grid; grid-template-columns:1fr 1fr;
      gap:4rem; align-items:start;
    }
    .goal-card {
      background:linear-gradient(135deg, var(--purple) 0%, #5a35e0 100%);
      border-radius:var(--radius-lg); padding:1.8rem;
      cursor:pointer; position:relative; overflow:hidden;
      transition:transform .25s, box-shadow .25s;
      margin-bottom:1.4rem;
    }
    .goal-card:hover { transform:translateY(-4px); box-shadow:0 18px 45px rgba(124,92,252,.38); }
    .goal-card::after {
      content:''; position:absolute;
      top:-50px; right:-50px; width:130px; height:130px;
      background:rgba(255,255,255,.07); border-radius:50%;
    }
    .goal-card h4 {
      font-family:'Space Grotesk',sans-serif; font-size:.98rem;
      font-weight:700; color:#fff; margin-bottom:.4rem;
    }
    .goal-card p { font-size:.78rem; color:rgba(255,255,255,.65); margin-bottom:1.2rem; line-height:1.7; }
    .goal-btn {
      background:var(--lime); color:#000; border:none;
      border-radius:999px; padding:.55rem 1.4rem;
      font-family:'Space Grotesk',sans-serif; font-size:.8rem; font-weight:700;
      cursor:pointer; transition:all .2s; position:relative; z-index:1;
    }
    .goal-btn:hover { transform:scale(1.04); box-shadow:0 6px 18px rgba(200,255,0,.3); }
    .diet-stats {
      display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem;
    }
    .dstat {
      background:rgba(255,255,255,.025);
      border:1px solid var(--border); border-radius:var(--radius-sm);
      padding:.9rem .75rem; text-align:center;
      transition:border-color .2s, transform .2s; cursor:default;
    }
    .dstat:hover { border-color:rgba(124,92,252,.35); transform:translateY(-2px); }
    .dstat-num {
      font-family:'Space Grotesk',sans-serif; font-size:1.35rem;
      font-weight:800; color:var(--lime); margin-bottom:.2rem;
    }
    .dstat-lbl { font-size:.6rem; color:var(--muted); line-height:1.45; }
    .diet-panel {
      background:rgba(255,255,255,.025);
      border:1px solid var(--border2);
      border-radius:var(--radius-xl); overflow:hidden;
      box-shadow:0 24px 60px rgba(0,0,0,.4);
    }
    .diet-img {
      height:200px; position:relative; overflow:hidden;
      background:linear-gradient(135deg,#1a1a2e,#16213e);
      display:flex; align-items:center; justify-content:center;
      font-size:5rem;
    }
    .diet-img::after {
      content:''; position:absolute; inset:0;
      background:linear-gradient(to bottom, transparent 30%, rgba(15,15,15,.97));
    }
    .diet-img-badge {
      position:absolute; top:.9rem; right:.9rem; z-index:2;
      background:var(--lime); color:#000;
      font-size:.58rem; font-weight:700; letter-spacing:.07em;
      padding:.22rem .65rem; border-radius:999px;
      font-family:'Space Grotesk',sans-serif;
    }
    .diet-img-lbl {
      position:absolute; bottom:1rem; left:1.4rem; z-index:2;
      font-family:'Space Grotesk',sans-serif; font-size:1.1rem; font-weight:800; color:#fff;
    }
    .diet-img-sub {
      position:absolute; bottom:.4rem; left:1.4rem; z-index:2;
      font-size:.65rem; color:rgba(255,255,255,.45);
    }
    .diet-body { padding:1.4rem; }
    .diet-lbl {
      font-size:.65rem; font-weight:600; letter-spacing:.14em;
      color:var(--muted); text-transform:uppercase; margin-bottom:.9rem;
    }
    .diet-list { display:flex; flex-direction:column; gap:.45rem; }
    .diet-item {
      background:var(--bg3); border:1px solid var(--border);
      border-radius:12px; padding:.8rem 1rem;
      display:flex; align-items:center; gap:.8rem;
      cursor:pointer; transition:all .25s; position:relative; overflow:hidden;
    }
    .diet-item::before {
      content:''; position:absolute;
      left:0; top:0; bottom:0; width:2px;
      background:var(--purple); transform:scaleY(0); transition:transform .3s;
    }
    .diet-item.active::before { transform:scaleY(1); }
    .diet-item:hover, .diet-item.active {
      border-color:rgba(124,92,252,.35);
      background:rgba(124,92,252,.07);
    }
    .diet-icon { font-size:1.3rem; flex-shrink:0; }
    .diet-text { flex:1; min-width:0; }
    .diet-text h4 { font-size:.82rem; font-weight:500; margin-bottom:.1rem; transition:color .2s; }
    .diet-text p { font-size:.67rem; color:var(--muted); line-height:1.4; }
    .diet-item.active .diet-text h4 { color:var(--purple2); }
    .diet-check {
      width:18px; height:18px; flex-shrink:0;
      border-radius:50%; border:1.5px solid var(--border2);
      display:flex; align-items:center; justify-content:center;
      font-size:.55rem; color:transparent; transition:all .25s;
    }
    .diet-item.active .diet-check { background:var(--purple); border-color:var(--purple); color:#fff; }

    /* ═══════════════════════════════════════
       TRAINERS
    ═══════════════════════════════════════ */
    .trainers-section { padding:5rem 0; }
    .trainer-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
      margin-top:3rem;
    }
    .trainer-card {
      background:var(--bg2); border:1px solid var(--border);
      border-radius:var(--radius-lg); overflow:hidden;
      cursor:pointer; transition:all .32s;
    }
    .trainer-card:hover {
      border-color:rgba(255,255,255,.12); transform:translateY(-5px);
    }
    .trainer-thumb {
      height:340px; position:relative; overflow:hidden;
      display:flex; align-items:center; justify-content:center; font-size:5rem;
    }
    .trainer-thumb span { display:block; transition:transform .4s cubic-bezier(.22,.61,.36,1); }
    .trainer-card:hover .trainer-thumb span { transform:scale(1.12); }
    .trainer-thumb.t1 { background:linear-gradient(135deg,#12083a,#2a1466); }
    .trainer-thumb.t2 { background:linear-gradient(135deg,#081808,#153018); }
    .trainer-thumb.t3 { background:linear-gradient(135deg,#200810,#401028); }
    .trainer-thumb::after {
      content:''; position:absolute; inset:0;
      background:linear-gradient(to bottom, transparent 45%, rgba(9,9,9,.52));
      pointer-events:none;
    }
    .trainer-body { padding:1.3rem; }
    .trainer-body h3 {
      font-family:'Space Grotesk',sans-serif; font-size:.95rem;
      font-weight:700; margin-bottom:.25rem;
    }
    .trainer-role { font-size:.72rem; color:var(--purple2); margin-bottom:.75rem; }
    .trainer-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.75rem; }
    .trainer-tag {
      font-size:.62rem; background:var(--bg3);
      border:1px solid var(--border); border-radius:999px;
      padding:.16rem .55rem; color:var(--muted);
    }
    .trainer-cta {
      display:inline-flex; align-items:center; gap:.45rem;
      font-size:.76rem; font-weight:500;
      color:rgba(255,255,255,.55);
      border:1px solid rgba(255,255,255,.1);
      border-radius:999px;
      padding:.38rem .9rem;
      margin-top:.2rem;
      transition:color .22s, border-color .22s, background .22s;
    }
    .trainer-card:hover .trainer-cta {
      color:#fff;
      border-color:rgba(255,255,255,.28);
      background:rgba(255,255,255,.06);
    }

    /* ═══════════════════════════════════════
       VITALITY / ANALYTICS
    ═══════════════════════════════════════ */
    .vitality-section {
      padding:6rem 0; background:var(--bg);
      position:relative; overflow:hidden;
    }
    .vitality-section::before { display:none; }
    .vitality-inner {
      display:grid; grid-template-columns:1fr 1fr;
      gap:4rem; align-items:center; position:relative; z-index:1;
    }
    .vstats {
      display:grid; grid-template-columns:1fr 1fr;
      gap:1rem; margin-top:3rem;
    }
    .vstat {
      background:var(--bg2); border:1px solid var(--border);
      border-radius:var(--radius); padding:1.6rem 1.4rem;
      transition:all .28s;
    }
    .vstat:hover { border-color:rgba(124,92,252,.3); transform:translateY(-4px); }
    .vstat-num {
      font-family:'Space Grotesk',sans-serif; font-size:2.4rem;
      font-weight:800; color:var(--lime); line-height:1; margin-bottom:.65rem;
    }
    .vstat-lbl { font-size:.8rem; color:rgba(255,255,255,.38); margin-bottom:.35rem; }
    .vstat-change { font-size:.75rem; color:#22c55e; font-weight:500; }
    .vchart {
      background:rgba(255,255,255,.025);
      border:1px solid var(--border);
      border-radius:var(--radius-lg); padding:2.2rem 2rem 1.8rem;
      box-shadow:0 25px 50px rgba(0,0,0,.4);
    }
    .vchart-title {
      font-family:'Space Grotesk',sans-serif; font-size:1rem;
      font-weight:700; color:#fff; margin-bottom:2rem;
    }
    .chart-bars {
      display:flex; align-items:flex-start;
      justify-content:space-between; height:160px; gap:8px;
    }
    .bar-wrap {
      flex:1; display:flex; flex-direction:column;
      align-items:center; height:100%;
      justify-content:flex-start; gap:.55rem;
      position:relative; cursor:pointer;
    }
    .bar {
      width:100%; max-width:88px;
      background:linear-gradient(180deg,#9674ff 0%,#7c5cfc 100%);
      border-radius:0 0 4px 4px;
      transition:height .8s cubic-bezier(.17,.67,.83,.67), filter .2s;
      height:0;
    }
    .bar.lime { background:linear-gradient(180deg,#d6ff28 0%,#c8ff00 100%); }
    .bar-wrap:hover .bar { filter:brightness(1.12); }
    .bar-tip {
      position:absolute; bottom:calc(100% + 10px);
      background:var(--bg3); border:1px solid var(--border2);
      border-radius:7px; padding:.28rem .55rem;
      font-size:.65rem; color:var(--text);
      white-space:nowrap; opacity:0;
      transform:translateY(5px);
      transition:opacity .2s, transform .2s;
      pointer-events:none;
    }
    .bar-wrap:hover .bar-tip { opacity:1; transform:none; }
    .bar-lbl { font-size:.7rem; color:rgba(255,255,255,.3); }
    .chart-legend {
      display:flex; gap:1.2rem; margin-top:1.4rem; flex-wrap:wrap;
    }
    .legend-item { display:flex; align-items:center; gap:.45rem; font-size:.78rem; color:var(--muted); }
    .legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }

    /* ═══════════════════════════════════════
       PRICING
    ═══════════════════════════════════════ */
    .pricing-section { padding:5rem 0; background:var(--bg2); border-top:1px solid var(--border); }
    .pricing-grid {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:1rem; margin-top:3rem;
    }
    .price-card {
      background:var(--bg3); border:1px solid var(--border);
      border-radius:var(--radius-lg); padding:2rem;
      position:relative; transition:all .25s;
    }
    .price-card:hover { border-color:rgba(255,255,255,.14); transform:translateY(-4px); }
    .price-card.featured {
      background:linear-gradient(145deg,var(--purple) 0%,#5a35e0 100%);
      border-color:var(--purple);
    }
    .price-card.featured:hover { box-shadow:0 22px 55px rgba(124,92,252,.42); }
    .price-card.featured::before {
      content:'Most Popular'; position:absolute;
      top:-11px; left:50%; transform:translateX(-50%);
      background:var(--lime); color:#000;
      font-size:.6rem; font-weight:700; letter-spacing:.07em;
      padding:.22rem .8rem; border-radius:999px;
      font-family:'Space Grotesk',sans-serif; white-space:nowrap;
    }
    .price-tier { font-size:.68rem; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; margin-bottom:.45rem; }
    .price-card.featured .price-tier { color:rgba(255,255,255,.55); }
    .price-amount {
      font-family:'Space Grotesk',sans-serif; font-size:2.3rem;
      font-weight:800; margin-bottom:.25rem;
    }
    .price-period { font-size:.75rem; color:var(--muted); margin-bottom:1.6rem; }
    .price-card.featured .price-period { color:rgba(255,255,255,.55); }
    .price-features { list-style:none; display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.8rem; }
    .price-features li {
      font-size:.79rem; color:var(--muted);
      display:flex; align-items:center; gap:.55rem;
    }
    .price-card.featured .price-features li { color:rgba(255,255,255,.78); }
    .price-features li::before { content:'✓'; font-weight:700; color:var(--lime); flex-shrink:0; }
    .price-cta {
      width:100%; padding:.78rem; border-radius:999px;
      font-family:'Space Grotesk',sans-serif; font-size:.85rem;
      font-weight:700; cursor:pointer; border:none;
      transition:all .2s; display:block; text-align:center;
    }
    .price-cta.dk {
      background:rgba(255,255,255,.05);
      color:var(--text); border:1px solid var(--border2);
    }
    .price-cta.dk:hover { border-color:var(--purple); color:var(--purple2); }
    .price-cta.lt { background:var(--lime); color:#000; }
    .price-cta.lt:hover { box-shadow:0 8px 24px rgba(200,255,0,.3); transform:translateY(-2px); }

    /* ═══════════════════════════════════════
       CONTACT
    ═══════════════════════════════════════ */
    .contact-section {
      padding:5rem 0; background:var(--bg);
      border-top:1px solid var(--border);
    }
    .contact-inner {
      display:grid; grid-template-columns:1fr 1fr;
      gap:4rem; align-items:start; margin-top:3rem;
    }
    .contact-form { display:flex; flex-direction:column; gap:.7rem; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
    .form-row.full { grid-template-columns:1fr; }
    .finput {
      background:var(--bg2); border:1px solid var(--border2);
      border-radius:var(--radius-sm); padding:.72rem 1rem;
      font-size:.84rem; color:var(--text);
      font-family:'Inter',sans-serif;
      transition:border-color .2s; outline:none; width:100%;
    }
    .finput:focus { border-color:var(--purple); }
    .finput::placeholder { color:var(--muted); }
    .contact-submit {
      background:var(--purple); color:#fff; border:none;
      border-radius:999px; padding:.78rem 2rem;
      font-family:'Space Grotesk',sans-serif; font-size:.88rem;
      font-weight:700; cursor:pointer; transition:all .2s;
      align-self:flex-start; margin-top:.4rem;
    }
    .contact-submit:hover { background:var(--lime); color:#000; }
    .contact-info { display:flex; flex-direction:column; gap:1.4rem; margin-top:.5rem; }
    .cinfo h4 { font-family:'Space Grotesk',sans-serif; font-size:.88rem; font-weight:700; margin-bottom:.25rem; }
    .cinfo p { font-size:.8rem; color:var(--muted); }

    /* ═══════════════════════════════════════
       FOOTER
    ═══════════════════════════════════════ */
    footer {
      background:var(--bg2); border-top:1px solid var(--border);
      padding:3.5rem 5% 2rem;
    }
    .footer-grid {
      display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr;
      gap:2rem; margin-bottom:2.5rem;
    }
    .footer-logo {
      font-family:'Space Grotesk',sans-serif; font-size:1.2rem;
      font-weight:800; color:#fff; display:flex;
      align-items:center; gap:.25rem; margin-bottom:.7rem;
    }
    .footer-logo span { color:var(--lime); }
    .footer-col p, .footer-col a {
      font-size:.78rem; color:var(--muted);
      line-height:2.15; display:block; text-decoration:none;
      transition:color .2s;
    }
    .footer-col a:hover { color:#fff; }
    .footer-col h4 {
      font-family:'Space Grotesk',sans-serif; font-size:.85rem;
      font-weight:700; color:#fff; margin-bottom:.7rem;
    }
    .footer-bottom {
      border-top:1px solid var(--border); padding-top:1.4rem;
      display:flex; justify-content:space-between;
      font-size:.72rem; color:var(--muted); flex-wrap:wrap; gap:.5rem;
    }

    /* ═══════════════════════════════════════
       MODALS
    ═══════════════════════════════════════ */
    .modal-overlay {
      display:none; position:fixed; inset:0;
      background:rgba(0,0,0,.82); backdrop-filter:blur(14px);
      z-index:500; align-items:center; justify-content:center; padding:2rem;
    }
    .modal-overlay.open { display:flex; }
    .modal {
      background:var(--bg2); border:1px solid var(--border2);
      border-radius:var(--radius-xl); padding:2.4rem;
      max-width:460px; width:100%;
      animation:modalIn .35s cubic-bezier(.22,.61,.36,1);
      position:relative;
    }
    @keyframes modalIn {
      from{transform:scale(.92) translateY(18px);opacity:0;}
      to{transform:none;opacity:1;}
    }
    .modal h3 {
      font-family:'Space Grotesk',sans-serif; font-size:1.45rem;
      font-weight:800; margin-bottom:.45rem;
    }
    .modal > p { font-size:.82rem; color:var(--muted); margin-bottom:1.4rem; }
    .modal-close {
      position:absolute; top:1.2rem; right:1.2rem;
      background:var(--bg3); border:1px solid var(--border);
      border-radius:8px; width:30px; height:30px;
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; font-size:.85rem; color:var(--muted);
      transition:all .2s;
    }
    .modal-close:hover { color:#fff; border-color:var(--purple); }
    .goal-options {
      display:grid; grid-template-columns:1fr 1fr;
      gap:.7rem; margin-bottom:1.4rem;
    }
    .goal-option {
      border:1px solid var(--border2); border-radius:12px;
      padding:.9rem; cursor:pointer; text-align:center;
      background:var(--bg3); transition:all .2s;
    }
    .goal-option:hover, .goal-option.sel {
      border-color:var(--purple); background:rgba(124,92,252,.1);
    }
    .go-icon { font-size:1.6rem; margin-bottom:.35rem; }
    .go-lbl { font-family:'Space Grotesk',sans-serif; font-size:.82rem; font-weight:700; }
    .go-sub { font-size:.68rem; color:var(--muted); margin-top:.15rem; }
    .modal-submit {
      width:100%; background:var(--purple); color:#fff;
      border:none; border-radius:999px; padding:.82rem;
      font-family:'Space Grotesk',sans-serif; font-size:.88rem;
      font-weight:700; cursor:pointer; transition:all .2s;
    }
    .modal-submit:hover { background:var(--lime); color:#000; }

    /* ─── Checkout modal — redesigned ─── */
    .co-modal {
      display:none; position:fixed; inset:0;
      background:rgba(0,0,0,.88); backdrop-filter:blur(20px);
      z-index:500; align-items:center; justify-content:center; padding:2rem;
    }
    .co-modal.open { display:flex; }
    .co-inner {
      background:var(--bg2);
      border:1px solid rgba(255,255,255,.1);
      border-radius:28px;
      max-width:460px; width:100%;
      overflow:hidden;
      animation:modalIn .38s cubic-bezier(.22,.61,.36,1);
      position:relative;
    }
    /* Top accent banner */
    .co-banner {
      background:linear-gradient(135deg,var(--purple) 0%,#5a35e0 100%);
      padding:2rem 2.2rem 1.8rem;
      position:relative; overflow:hidden;
    }
    .co-banner::before {
      content:''; position:absolute;
      top:-40px; right:-40px; width:130px; height:130px;
      background:rgba(255,255,255,.07); border-radius:50%;
    }
    .co-banner::after {
      content:''; position:absolute;
      bottom:-60px; left:-20px; width:160px; height:160px;
      background:rgba(255,255,255,.04); border-radius:50%;
    }
    .co-plan-badge {
      display:inline-flex; align-items:center; gap:.35rem;
      background:var(--lime); color:#000;
      font-family:'Space Grotesk',sans-serif;
      font-size:.6rem; font-weight:800; letter-spacing:.08em;
      padding:.28rem .75rem; border-radius:999px;
      margin-bottom:.9rem; position:relative; z-index:1;
    }
    .co-banner h3 {
      font-family:'Space Grotesk',sans-serif;
      font-size:1.5rem; font-weight:800;
      color:#fff; letter-spacing:-.02em;
      margin-bottom:.35rem; position:relative; z-index:1;
    }
    .co-banner p {
      font-size:.8rem; color:rgba(255,255,255,.65);
      position:relative; z-index:1; margin:0;
    }
    /* Trust badges row */
    .co-trust {
      display:flex; gap:1.2rem; align-items:center;
      padding:.9rem 2.2rem;
      border-bottom:1px solid var(--border);
      background:rgba(255,255,255,.018);
    }
    .co-trust-item {
      display:flex; align-items:center; gap:.35rem;
      font-size:.68rem; color:rgba(255,255,255,.45);
    }
    .co-trust-icon { color:var(--lime); font-size:.78rem; }
    /* Form body */
    .co-form-body { padding:1.8rem 2.2rem 2rem; }
    .co-submit {
      width:100%; background:var(--purple); color:#fff;
      border:none; border-radius:999px; padding:.88rem;
      font-family:'Space Grotesk',sans-serif; font-size:.92rem;
      font-weight:700; cursor:pointer; transition:all .22s; margin-top:1.1rem;
      position:relative; overflow:hidden;
    }
    .co-submit::after {
      content:''; position:absolute; inset:0;
      background:rgba(255,255,255,.1);
      transform:translateX(-100%); transition:transform .3s;
    }
    .co-submit:hover::after { transform:translateX(0); }
    .co-submit:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(124,92,252,.4); }
    .trial-note {
      font-size:.69rem; color:rgba(255,255,255,.32);
      text-align:center; margin-top:.75rem;
    }

    /* Trainer modal */
    .tm-overlay {
      display:none; position:fixed; inset:0;
      background:rgba(0,0,0,.85); backdrop-filter:blur(16px);
      z-index:500; align-items:center; justify-content:center; padding:2rem;
    }
    .tm-overlay.open { display:flex; }
    .tm-inner {
      background:var(--bg2); border:1px solid var(--border2);
      border-radius:var(--radius-xl); overflow:hidden;
      max-width:500px; width:100%;
      animation:modalIn .35s cubic-bezier(.22,.61,.36,1);
      position:relative;
    }
    .tm-header {
      height:150px; display:flex; align-items:center;
      justify-content:center; font-size:4.5rem; position:relative;
    }
    .tm-close {
      position:absolute; top:.9rem; right:.9rem;
      background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.15);
      border-radius:8px; width:30px; height:30px;
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; font-size:.85rem; color:#fff;
      transition:all .2s; z-index:2;
    }
    .tm-close:hover { background:rgba(255,255,255,.1); }
    .tm-body { padding:1.8rem; }
    .tm-body h3 { font-family:'Space Grotesk',sans-serif; font-size:1.4rem; font-weight:800; margin-bottom:.15rem; }
    .tm-role { color:var(--purple2); font-size:.82rem; margin-bottom:.9rem; }
    .tm-bio { font-size:.8rem; color:var(--muted); line-height:1.75; margin-bottom:1.3rem; }
    .tm-classes h4 { font-family:'Space Grotesk',sans-serif; font-size:.82rem; font-weight:700; margin-bottom:.6rem; }
    .tm-tags { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.4rem; }
    .tm-tag {
      background:var(--bg3); border:1px solid var(--border);
      border-radius:8px; padding:.3rem .7rem; font-size:.72rem;
    }
    .tm-book {
      width:100%; background:var(--purple); color:#fff; border:none;
      border-radius:999px; padding:.82rem;
      font-family:'Space Grotesk',sans-serif; font-size:.88rem; font-weight:700;
      cursor:pointer; transition:all .2s;
    }
    .tm-book:hover { background:var(--lime); color:#000; }

    /* ═══════════════════════════════════════
       TOAST
    ═══════════════════════════════════════ */
    .toast {
      position:fixed; bottom:2rem; left:50%;
      transform:translateX(-50%) translateY(80px);
      background:var(--bg3); border:1px solid var(--border2);
      color:var(--text); padding:.85rem 1.5rem; border-radius:12px;
      font-size:.82rem; z-index:1000;
      box-shadow:0 8px 30px rgba(0,0,0,.5);
      transition:transform .4s cubic-bezier(.22,.61,.36,1);
      white-space:nowrap;
    }
    .toast.show { transform:translateX(-50%) translateY(0); }

    /* ═══════════════════════════════════════
       RESPONSIVE
    ═══════════════════════════════════════ */
    @media(max-width:1024px){
      .hero { grid-template-columns:1fr; text-align:center; min-height:auto; padding:5rem 5% 4rem; }
      .hero-text { align-items:center; }
      .hero-sub, .sub { margin-inline:auto; }
      .hero-btns { justify-content:center; }
      .hero-stats { justify-content:center; }
      .hero-card-wrap { justify-content:center; }
      .features-grid { grid-template-columns:repeat(2,1fr); }
      .feat-card { aspect-ratio:auto; min-height:240px; }
      .vitality-inner { grid-template-columns:1fr; }
      .diet-inner { grid-template-columns:1fr; }
    }
    @media(max-width:768px){
      .nav-links { display:none; }
      .hamburger { display:flex; }
      .prog-grid { grid-template-columns:1fr 1fr; }
      .trainer-grid { grid-template-columns:1fr 1fr; }
      .pricing-grid { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .contact-inner { grid-template-columns:1fr; }
      .vstats { grid-template-columns:1fr 1fr; }
    }
    @media(max-width:560px){
      .features-grid { grid-template-columns:1fr; }
      .prog-grid { grid-template-columns:1fr; }
      .trainer-grid { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr; }
      .form-row { grid-template-columns:1fr; }
      .vstats { grid-template-columns:1fr; }
      .diet-stats { grid-template-columns:1fr 1fr; }
    }
