/* FitOnTrack Design V2: public conversion layer and light motion polish. */
:root{
  --fit-v2-radius:24px;
  --fit-v2-radius-sm:16px;
  --fit-v2-shadow:0 24px 60px rgba(13,20,36,.11);
  --fit-v2-shadow-soft:0 14px 38px rgba(13,20,36,.075);
}

/* Shared motion: subtle only, with reduced-motion support below. */
.fitness-motion-reveal{opacity:0;transform:translate3d(0,20px,0);transition:opacity 620ms cubic-bezier(.2,.75,.2,1),transform 620ms cubic-bezier(.2,.75,.2,1);transition-delay:var(--fit-reveal-delay,0ms)}
.fitness-motion-reveal.is-visible{opacity:1;transform:none}
.fit-motion-lift{transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}
@media (hover:hover) and (pointer:fine){.fit-motion-lift:hover{transform:translateY(-4px);box-shadow:var(--fit-v2-shadow)}}

/* Public homepage */
.fit-public-home-v2{overflow:hidden;background:#f7f9fc}
.fit-home-hero-v2{background:radial-gradient(circle at 78% 20%,rgba(184,242,60,.14),transparent 32%),linear-gradient(145deg,#0d1424 0%,#111b31 58%,#0d1424 100%);padding:clamp(54px,8vw,104px) 0 72px;color:#fff;position:relative}
.fit-home-hero-v2:after{content:"";position:absolute;inset:auto -140px -210px auto;width:520px;height:520px;border-radius:50%;border:1px solid rgba(184,242,60,.16)}
.fit-home-hero-v2 .fit-home-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(36px,6vw,84px);align-items:center}
.fit-home-hero-v2 .fit-public-kicker{display:inline-flex;align-items:center;gap:.5rem;color:var(--fit-accent);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.fit-home-hero-v2 h1{font-size:clamp(3rem,6.3vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 22px;color:#fff;max-width:780px}
.fit-home-hero-v2 .fit-home-hero-copy>p{font-size:clamp(1.06rem,1.5vw,1.25rem);line-height:1.7;color:#c7d2e1;max-width:650px;margin:0 0 28px}
.fit-home-hero-v2 .fit-public-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fit-home-hero-v2 .fit-btn-primary{background:var(--fit-accent);border-color:var(--fit-accent);color:var(--fit-navy);box-shadow:0 12px 30px rgba(184,242,60,.16)}
.fit-home-hero-v2 .fit-btn-primary:hover{background:var(--fit-accent-hover);border-color:var(--fit-accent-hover);color:var(--fit-navy)}
.fit-home-hero-v2 .fit-btn-secondary{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#fff}
.fit-home-hero-v2 .fit-btn-secondary:hover{background:rgba(255,255,255,.12);color:#fff}
.fit-hero-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:25px;color:#b9c5d4;font-size:.86rem;font-weight:700}
.fit-hero-facts span{display:inline-flex;align-items:center;gap:.45rem}
.fit-hero-facts i{color:var(--fit-accent)}
.fit-hero-visual{position:relative;min-height:560px}
.fit-hero-photo-stage{position:relative;height:100%;min-height:560px}
.fit-hero-photo{position:absolute;margin:0;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.14);box-shadow:0 34px 90px rgba(0,0,0,.28);background:#172033}
.fit-hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.fit-hero-photo-primary{inset:0 80px 0 0}
.fit-hero-photo-secondary{width:36%;height:46%;right:0;bottom:36px;border:6px solid #0f1729}
.fit-hero-photo-secondary img{object-position:center 18%}
.fit-hero-app-card{position:absolute;left:-32px;bottom:34px;width:min(330px,64%);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);color:var(--fit-ink);border-radius:20px;border:1px solid rgba(255,255,255,.75);box-shadow:0 24px 70px rgba(0,0,0,.2);padding:18px}
.fit-hero-app-card .fit-preview-top,.fit-hero-app-card .fit-preview-progress>div:first-child{display:flex;justify-content:space-between;align-items:center}
.fit-hero-app-card .fit-preview-top{font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.fit-hero-app-card .fit-preview-workout{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px 0 14px}
.fit-hero-app-card .fit-preview-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#edf8cf;color:#0d1424}
.fit-hero-app-card .fit-preview-workout div{display:flex;flex-direction:column}
.fit-hero-app-card .fit-preview-workout small,.fit-hero-app-card .fit-preview-workout span{color:#64748b;font-size:.73rem}
.fit-hero-app-card .fit-preview-workout strong{font-size:.98rem}
.fit-hero-app-card .progress{height:7px;background:#e7edf4;border-radius:999px;margin-top:8px;overflow:hidden}
.fit-hero-app-card .progress-bar{background:linear-gradient(90deg,var(--fit-accent),var(--fit-success));border-radius:999px}

.fit-proof-strip{background:#fff;border-bottom:1px solid var(--fit-border)}
.fit-proof-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.fit-proof-item{display:flex;align-items:center;gap:12px;padding:21px 20px;border-right:1px solid var(--fit-border)}
.fit-proof-item:last-child{border-right:0}
.fit-proof-item i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eff7db;color:#0d1424;flex:0 0 auto}
.fit-proof-item strong{display:block;font-size:.9rem;line-height:1.25}
.fit-proof-item span{display:block;color:var(--fit-muted);font-size:.78rem;margin-top:2px}

.fit-public-home-v2 .fit-public-section{padding:clamp(62px,8vw,104px) 0}
.fit-public-home-v2 .fit-public-heading{max-width:760px;margin-bottom:34px}
.fit-public-home-v2 .fit-public-heading>span{display:block;color:#536174;font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.fit-public-home-v2 .fit-public-heading h2{font-size:clamp(2.25rem,4.4vw,4rem);line-height:1.04;letter-spacing:-.045em;margin:0 0 14px}
.fit-public-home-v2 .fit-public-heading p{font-size:1.04rem;color:var(--fit-muted);max-width:700px;margin:0}

.fit-outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fit-outcome-card{position:relative;min-height:430px;border-radius:22px;overflow:hidden;background:#111827;color:#fff;box-shadow:var(--fit-v2-shadow-soft)}
.fit-outcome-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(7,11,20,.16) 20%,rgba(7,11,20,.94) 88%)}
.fit-outcome-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 420ms cubic-bezier(.2,.75,.2,1)}
.fit-outcome-card:hover img{transform:scale(1.035)}
.fit-outcome-card-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:22px}
.fit-outcome-card-copy span{display:inline-flex;align-items:center;gap:.35rem;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--fit-accent)}
.fit-outcome-card-copy h3{font-size:1.45rem;margin:7px 0 7px;color:#fff}
.fit-outcome-card-copy p{font-size:.87rem;color:#d5deea;margin:0;line-height:1.55}

.fit-three-step-section{background:#fff}
.fit-three-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fit-three-step{position:relative;padding:30px;border:1px solid var(--fit-border);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(13,20,36,.045)}
.fit-three-step-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#0d1424;color:#fff;font-weight:900;margin-bottom:24px}
.fit-three-step i{position:absolute;right:24px;top:26px;font-size:1.35rem;color:#8aa30f}
.fit-three-step h3{font-size:1.28rem;margin:0 0 8px}
.fit-three-step p{color:var(--fit-muted);margin:0}
.fit-three-step-cta{margin-top:26px}

.fit-sample-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center}
.fit-sample-copy{background:linear-gradient(145deg,#0d1424,#17233d);border-radius:26px;padding:clamp(30px,5vw,54px);color:#fff;box-shadow:var(--fit-v2-shadow)}
.fit-sample-copy .fit-public-heading{margin:0}
.fit-sample-copy .fit-public-heading>span{color:var(--fit-accent)}
.fit-sample-copy .fit-public-heading h2{color:#fff}
.fit-sample-copy .fit-public-heading p{color:#c1cddd}
.fit-sample-copy ul{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.fit-sample-copy li{display:flex;gap:10px;align-items:flex-start;color:#dbe4ef}
.fit-sample-copy li i{color:var(--fit-accent);margin-top:.28rem}
.fit-week-preview{display:grid;gap:12px}
.fit-week-day{display:grid;grid-template-columns:74px 1fr auto;gap:18px;align-items:center;padding:18px 20px;background:#fff;border:1px solid var(--fit-border);border-radius:16px;box-shadow:0 8px 24px rgba(13,20,36,.045)}
.fit-week-day strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#475569}
.fit-week-day div{display:flex;flex-direction:column}
.fit-week-day div b{font-size:1rem}
.fit-week-day div span{font-size:.78rem;color:var(--fit-muted)}
.fit-week-day>span{font-size:.77rem;font-weight:850;color:#536174;background:#f1f5f9;border-radius:999px;padding:6px 10px}
.fit-week-day.is-training>span{background:#edf8cf;color:#344600}

.fit-proof-section{background:#0d1424;color:#fff}
.fit-proof-section .fit-public-heading>span{color:var(--fit-accent)}
.fit-proof-section .fit-public-heading h2{color:#fff}
.fit-proof-section .fit-public-heading p{color:#b8c4d3}
.fit-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fit-proof-card{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.055)}
.fit-proof-card i{font-size:1.35rem;color:var(--fit-accent);margin-bottom:20px}
.fit-proof-card h3{font-size:1.2rem;color:#fff;margin:0 0 8px}
.fit-proof-card p{color:#b9c5d4;margin:0}
.fit-proof-disclaimer{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:#91a0b3;font-size:.84rem}

.fit-guidance-section-v2{background:#eef3f7}
.fit-guidance-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fit-guidance-card-v2{padding:26px;background:#fff;border:1px solid var(--fit-border);border-radius:20px}
.fit-guidance-card-v2 i{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#eff7db;color:#0d1424;margin-bottom:18px}
.fit-guidance-card-v2 h3{font-size:1.14rem;margin:0 0 7px}
.fit-guidance-card-v2 p{color:var(--fit-muted);font-size:.9rem;margin:0}

.fit-public-home-v2 .fit-public-cta{padding:72px 0;background:#fff}
.fit-public-home-v2 .fit-public-cta .container{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px 40px;border-radius:24px;background:linear-gradient(135deg,#f2f8df,#fff);border:1px solid #dce9b9}
.fit-public-home-v2 .fit-public-cta h2{font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:-.035em;margin:0 0 7px}
.fit-public-home-v2 .fit-public-cta p{color:var(--fit-muted);margin:0;max-width:700px}

/* Navigation conversion CTA */
.site-header .site-cta{box-shadow:0 6px 22px rgba(184,242,60,.16)}

/* Program discovery polish without changing program logic. */
#fitness-app .fitness-hero{background:radial-gradient(circle at 90% 15%,rgba(184,242,60,.17),transparent 28%),linear-gradient(135deg,#0d1424,#17233d);box-shadow:var(--fit-v2-shadow-soft)}
#fitness-app .fitness-visual-goals,#fitness-app .fitness-training-selector{border-radius:22px;box-shadow:var(--fit-v2-shadow-soft)}
#fitness-app .fitness-visual-goal-card{overflow:hidden;border-radius:18px;transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease;background:#fff}
@media (hover:hover) and (pointer:fine){#fitness-app .fitness-visual-goal-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(13,20,36,.11)}}
#fitness-app .fitness-visual-goal-card.is-selected{border-color:#8db61e;box-shadow:0 0 0 3px rgba(184,242,60,.19)}
#fitness-app .fitness-training-option{border-radius:16px;transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
@media (hover:hover) and (pointer:fine){#fitness-app .fitness-training-option:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,20,36,.08)}}
#fitness-app .fitness-program-card{border-radius:22px;box-shadow:var(--fit-v2-shadow-soft);padding:24px;position:relative;overflow:hidden}
#fitness-app .fitness-program-card-primary{border-color:#b7d66a;box-shadow:0 22px 52px rgba(79,104,20,.13)}
#fitness-app .fitness-program-card-primary:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--fitness-accent),var(--fitness-success))}
#fitness-app .fitness-program-card h2{font-size:1.42rem;letter-spacing:-.025em;margin-top:14px}
#fitness-app .fitness-program-card>div:first-child>p{font-size:.93rem}
#fitness-app .fitness-program-meta{gap:8px}
#fitness-app .fitness-program-meta span{background:#f6f8fb;border:1px solid #e7ecf1;border-radius:999px;padding:7px 10px;font-size:.76rem}
#fitness-app .fitness-program-card .fitness-card-actions{border-top:1px solid var(--fitness-border);padding-top:18px;margin-top:18px}
#fitness-app .fitness-pill{letter-spacing:.03em}

/* Premium product / purchase page */
.fit-purchase-page{padding:26px 0 72px;background:#f7f9fc}
.fit-product-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px;align-items:start}
.fit-product-main{background:#fff;border:1px solid var(--fit-border);border-radius:24px;box-shadow:var(--fit-v2-shadow-soft);padding:clamp(24px,4vw,42px)}
.fit-product-image{overflow:hidden;border-radius:18px;margin-bottom:28px;max-height:460px;background:#eef2f5}
.fit-product-image img{width:100%;max-height:460px;object-fit:cover}
.fit-product-main h1{font-size:clamp(2.15rem,4.5vw,3.7rem);line-height:1.04;letter-spacing:-.045em;margin:.45rem 0 12px}
.fit-product-lead{font-size:1.05rem;color:var(--fit-muted);max-width:720px}
.fit-product-snapshot{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.fit-product-snapshot span{display:inline-flex;align-items:center;gap:.42rem;background:#f2f6f9;border:1px solid #e4e9ee;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:800;color:#48576a}
.fit-product-snapshot i{color:#718c16}
.fit-product-description{color:#334155;line-height:1.72}
.fit-product-description h2,.fit-product-specs h2,.fit-purchase-main-section h2{font-size:1.35rem;margin:30px 0 14px}
.fit-purchase-main-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.fit-purchase-main-card{padding:18px;border:1px solid var(--fit-border);border-radius:16px;background:#fbfcfd}
.fit-purchase-main-card i{color:#718c16;margin-bottom:12px}
.fit-purchase-main-card strong{display:block;font-size:.9rem;margin-bottom:4px}
.fit-purchase-main-card span{display:block;color:var(--fit-muted);font-size:.79rem;line-height:1.5}
.fit-purchase-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}
.fit-purchase-step{padding:15px;border-radius:14px;background:#f6f8fa;border:1px solid var(--fit-border);font-size:.8rem;color:#566476}
.fit-purchase-step b{display:block;color:#111827;margin-bottom:3px}
.fit-purchase-card{position:sticky;top:96px;background:#0d1424;color:#fff;border-radius:24px;padding:26px;box-shadow:0 28px 70px rgba(13,20,36,.2)}
.fit-purchase-card .fit-price{display:flex;align-items:flex-end;gap:10px;margin-bottom:5px}
.fit-purchase-card .fit-price strong{font-size:2.55rem;line-height:1;color:#fff}
.fit-purchase-card .fit-price>span{color:#91a0b3;text-decoration:line-through}
.fit-purchase-card>small{color:#91a0b3}
.fit-price-note{display:flex;align-items:center;gap:.5rem;margin:14px 0 18px;color:#c8d2df;font-size:.8rem}
.fit-price-note i{color:var(--fit-accent)}
.fit-purchase-card .fit-btn-primary{background:var(--fit-accent);border-color:var(--fit-accent);color:#0d1424;min-height:52px}
.fit-purchase-card .fit-btn-primary:hover{background:var(--fit-accent-hover);border-color:var(--fit-accent-hover);color:#0d1424}
.fit-purchase-card h2{font-size:1rem;color:#fff;margin:24px 0 12px}
.fit-secure-note{display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#d6dfeb}
.fit-secure-note i{color:var(--fit-accent);margin-top:.2rem}
.fit-secure-note strong,.fit-secure-note span{display:block}
.fit-secure-note span{color:#9fadbf;font-size:.77rem;margin-top:2px}
.fit-includes{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fit-includes li{display:flex;gap:9px;align-items:flex-start;color:#dce4ee;font-size:.86rem}
.fit-includes i{color:var(--fit-accent);margin-top:.25rem}

@media(max-width:1199.98px){
  .fit-home-hero-v2 .fit-home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}
  .fit-outcome-grid{grid-template-columns:repeat(2,1fr)}
  .fit-outcome-card{min-height:390px}
}
@media(max-width:991.98px){
  .fit-home-hero-v2 .fit-home-hero-grid,.fit-sample-layout,.fit-product-layout{grid-template-columns:1fr}
  .fit-home-hero-v2 .fit-home-hero-grid{gap:42px}
  .fit-hero-visual,.fit-hero-photo-stage{min-height:520px}
  .fit-proof-strip .container{grid-template-columns:repeat(2,1fr)}
  .fit-proof-item:nth-child(2){border-right:0}
  .fit-proof-item:nth-child(-n+2){border-bottom:1px solid var(--fit-border)}
  .fit-three-step-grid,.fit-proof-grid,.fit-guidance-grid-v2,.fit-purchase-main-grid{grid-template-columns:1fr}
  .fit-purchase-card{position:static}
}
@media(max-width:767.98px){
  .fit-home-hero-v2{padding:44px 0 54px}
  .fit-home-hero-v2 h1{font-size:clamp(2.65rem,13vw,4rem)}
  .fit-home-hero-v2 .fit-public-actions{align-items:stretch;flex-direction:column}
  .fit-home-hero-v2 .fit-public-actions .btn{width:100%}
  .fit-hero-visual,.fit-hero-photo-stage{min-height:450px}
  .fit-hero-photo-primary{inset:0 34px 0 0}
  .fit-hero-photo-secondary{width:39%;height:40%;bottom:18px;border-width:4px}
  .fit-hero-app-card{left:12px;bottom:18px;width:67%;padding:14px}
  .fit-proof-strip .container{grid-template-columns:1fr}
  .fit-proof-item,.fit-proof-item:nth-child(2){border-right:0;border-bottom:1px solid var(--fit-border)}
  .fit-proof-item:last-child{border-bottom:0}
  .fit-outcome-grid{grid-template-columns:1fr}
  .fit-outcome-card{min-height:410px}
  .fit-week-day{grid-template-columns:60px 1fr;gap:12px}
  .fit-week-day>span{grid-column:2;justify-self:start}
  .fit-public-home-v2 .fit-public-cta .container{align-items:stretch;flex-direction:column;padding:28px 22px}
  .fit-public-home-v2 .fit-public-cta .fit-public-actions{width:100%;display:grid}
  .fit-product-main{padding:22px}
  .fit-purchase-card{padding:22px}
}
@media(prefers-reduced-motion:reduce){
  .fitness-motion-reveal{opacity:1;transform:none;transition:none!important}
  .fit-motion-lift,.fit-outcome-card img,#fitness-app .fitness-visual-goal-card,#fitness-app .fitness-training-option{transition:none!important}
  .fit-motion-lift:hover,.fit-outcome-card:hover img,#fitness-app .fitness-visual-goal-card:hover,#fitness-app .fitness-training-option:hover{transform:none!important}
}
