@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');


:root{
  --navy:#0F1133; --navy-2:#171A46; --navy-3:#222651;
  --gold:#F2BE50; --gold-soft:#FFF2CF; --gray:#5C607A;
  --ink:#10122f; --muted:#565B73; --paper:#F7F7FA; --cream:#FBF9F4;
  --white:#fff; --line:#E5E6EE; --shadow:0 20px 60px rgba(15,17,51,.12);
  --radius:28px; --radius-sm:18px; --max:1220px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:white;line-height:1.58;font-size:17px;-webkit-font-smoothing:antialiased} a{text-decoration:none;color:inherit} img{display:block;max-width:100%} button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 44px));margin:0 auto}.narrow{width:min(860px,calc(100% - 44px));margin:0 auto}.center{text-align:center}.kicker{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--gold);margin-bottom:14px}.kicker.muted{color:var(--gray)}h1,h2,h3,h4{margin:0 0 18px;line-height:1.04}h1{font-size:clamp(3.4rem,6vw,6.4rem);letter-spacing:-.05em}h2{font-size:clamp(2.35rem,4.4vw,4.2rem);letter-spacing:-.04em}h3{font-size:1.5rem;letter-spacing:-.015em}p{margin:0 0 18px}.lead{font-size:clamp(1.08rem,1.8vw,1.32rem);color:var(--muted)}.lead.light{color:#D7D9E6}.small{font-size:.9rem;color:var(--muted)}.gold{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:14px 23px;border-radius:999px;font-weight:850;border:1px solid transparent;transition:.2s ease;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,17,51,.13)}.btn-gold{background:var(--gold);color:var(--navy)}.btn-navy{background:var(--navy);color:#EEF0F5}.btn-ghost{border-color:rgba(255,255,255,.5);color:#EEF0F5;background:transparent}.btn-line{border-color:#D8DAE5;color:var(--navy);background:white}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid #ececf2}.nav-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;min-width:260px}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-weight:900;letter-spacing:-.05em;border:1px solid #26295c}.brand-copy{line-height:1.05}.brand-name{font-weight:900;color:var(--navy);font-size:1rem}.brand-sub{margin-top:5px;font-size:.62rem;letter-spacing:.22em;color:var(--gray);font-weight:850}.nav-links{display:flex;align-items:center;gap:23px;color:#646884;font-weight:650;font-size:.96rem}.nav-links a:hover,.nav-links a.active{color:var(--navy)}.nav-actions{display:flex;align-items:center;gap:12px}.nav-login{font-weight:850;color:var(--navy)}.menu-btn{display:none;border:0;background:transparent;font-size:1.5rem;color:var(--navy)}.mobile-menu{display:none;padding-bottom:18px}.mobile-menu a{display:block;padding:9px 0;color:var(--navy);font-weight:700}

.hero{position:relative;min-height:790px;overflow:hidden;background:var(--navy);color:#EEF0F5}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,51,.98) 0%,rgba(15,17,51,.91) 35%,rgba(15,17,51,.45) 57%,rgba(15,17,51,.14) 100%),linear-gradient(0deg,rgba(15,17,51,.28),rgba(15,17,51,.02)),url('hero-actual.jpg') 70% center/cover no-repeat}.hero-inner{position:relative;z-index:2;min-height:790px;display:flex;align-items:center}.hero-copy{width:min(650px,59%);padding:76px 0}.hero h1{max-width:680px}.hero-copy p{font-size:1.18rem;color:#E2E4ED;max-width:610px}.hero-micro{margin-top:38px;display:flex;gap:22px;flex-wrap:wrap;font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:#D9DBE8}.hero-quote{position:absolute;right:18px;bottom:68px;width:235px;border-left:2px solid var(--gold);padding-left:18px;text-transform:uppercase;letter-spacing:.16em;line-height:1.65;font-size:.76rem;color:#EEF0F5}.proof-strip{background:var(--navy);color:#EEF0F5;border-top:1px solid rgba(255,255,255,.1)}.proof-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}.proof-item{background:var(--navy);padding:22px 18px;text-align:center;color:#cfd2df;font-size:.9rem}.proof-item strong{display:block;color:#EEF0F5;font-size:1.06rem;margin-bottom:2px}
section{padding:98px 0}.section-cream{background:var(--cream)}.section-soft{background:var(--paper)}.section-dark{background:var(--navy);color:#EEF0F5}.section-dark h2,.section-dark h3{color:#EEF0F5}.section-head{max-width:830px;margin:0 auto 42px;text-align:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:31px;box-shadow:0 10px 34px rgba(15,17,51,.06)}.icon-box{width:58px;height:58px;border-radius:17px;background:var(--gold-soft);color:#b2862e;display:grid;place-items:center;font-weight:900;font-size:1.4rem;margin-bottom:23px}.pillars .card{text-align:left;min-height:240px}.pillars .card p{color:var(--muted)}.photo-frame{overflow:hidden;border-radius:30px;box-shadow:var(--shadow);background:var(--navy)}.photo-frame img{width:100%;height:100%;object-fit:cover}.split-dark{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;background:var(--navy);color:#EEF0F5}.split-photo{min-height:620px;background:url('coaching-client-actual.jpg') center 45%/cover no-repeat;position:relative}.split-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,51,.04),rgba(15,17,51,.32))}.split-copy{padding:74px clamp(42px,6vw,88px);display:flex;flex-direction:column;justify-content:center}.split-copy h2{color:#EEF0F5}.split-copy p{color:#D2D5E2;font-size:1.07rem;max-width:570px}.mini-list{display:grid;gap:12px;margin:18px 0 26px}.mini-row{display:flex;align-items:flex-start;gap:11px;color:var(--ink);font-weight:600}.mini-row .small{color:#4E556E;font-weight:500}.section-dark .mini-row,.split-dark .mini-row,.philosophy .mini-row{color:#E7EAF4}.section-dark .mini-row .small,.split-dark .mini-row .small,.philosophy .mini-row .small{color:#D4D8E7}.mini-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);margin-top:.55em;flex:0 0 10px}.program-card{overflow:hidden;border-radius:24px;background:var(--navy);color:#EEF0F5;box-shadow:0 18px 48px rgba(15,17,51,.12);display:flex;flex-direction:column}.program-image{height:310px;overflow:hidden}.program-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.program-card:nth-child(1) .program-image img{object-position:center 28%}.program-card:nth-child(2) .program-image img{object-position:center 36%}.program-card:nth-child(3) .program-image img{object-position:center center}.program-body{padding:25px;display:flex;flex-direction:column;flex:1}.program-body .kicker{font-size:.68rem}.program-body h3{color:#EEF0F5}.program-body p{color:#F1F4FB;flex:1;font-weight:500;line-height:1.62}.program-body a{color:#FFD15A;font-weight:900;font-size:.8rem;letter-spacing:.05em}.platform-shell{background:linear-gradient(145deg,#F8F8FB,#fff);border:1px solid var(--line);border-radius:32px;padding:28px;box-shadow:var(--shadow)}.platform-screen{background:var(--navy);border-radius:24px;padding:26px;color:#EEF0F5}.platform-screen .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.chip{background:var(--gold-soft);color:#6b4a00;padding:7px 12px;border-radius:999px;font-size:.73rem;font-weight:900}.screen-row{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;margin:11px 0}.screen-row span{color:#bfc2d3;font-size:.88rem}.feature-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:white}.feature-card .icon-box{margin-bottom:16px}.feature-card p{color:var(--muted);font-size:.95rem}.philosophy{background:var(--navy);color:#EEF0F5;padding:0}.philosophy-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:630px}.philosophy-copy{padding:84px 36px 84px 0;display:flex;flex-direction:column;justify-content:center}.philosophy-copy h2,.philosophy-copy h3{color:#EEF0F5}.philosophy-copy p{color:#D2D5E2;max-width:590px}.philosophy-photo{min-height:630px;background:url('dark-mobility-actual.jpg') center 43%/cover no-repeat;position:relative}.philosophy-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(15,17,51,.38) 34%,rgba(15,17,51,.04) 100%)}.results-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}.result-photo{border-radius:28px;overflow:hidden;min-height:530px;box-shadow:var(--shadow)}.result-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:grayscale(100%)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:19px}.stat strong{display:block;font-size:1.35rem;color:var(--navy)}.stat span{font-size:.82rem;color:var(--muted)}.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.quote{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:22px;padding:26px}.stars{color:var(--gold);letter-spacing:.08em;margin-bottom:10px}.quote p{color:#d8dae5}.promise-section{padding:110px 0;background:white}.promise{font-size:clamp(2.15rem,4vw,4.25rem);line-height:1.2;letter-spacing:-.045em}.cta-band{background:var(--navy);color:#EEF0F5;border-radius:34px;padding:58px;text-align:center;position:relative;overflow:hidden}.cta-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(242,190,80,.08),transparent 42%)}.cta-band>*{position:relative;z-index:1}.cta-band h2{color:#EEF0F5}.cta-band p{color:#cbd0de}.footer{background:#0B0D28;color:#B8BACA;padding:68px 0 38px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px}.footer h4{color:#EEF0F5;margin-bottom:14px}.footer a{display:block;margin:9px 0;color:#c5c7d5}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.footer-bottom{margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.86rem;color:#8f93a8}

.page-hero{background:var(--navy);color:#EEF0F5;padding:108px 0 92px;position:relative;overflow:hidden}.page-hero h1{color:#EEF0F5;max-width:1000px}.page-hero .lead{color:#d5d8e5;max-width:820px}.page-hero.photo{min-height:610px;display:flex;align-items:center}.page-hero.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,51,.98),rgba(15,17,51,.81) 47%,rgba(15,17,51,.17)),url('mobility-actual.jpg') center 48%/cover no-repeat}.page-hero.photo .container{position:relative;z-index:1}.pathway{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.path-card{background:var(--navy-2);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:24px;color:#EEF0F5}.path-num{width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:900;margin-bottom:18px}.tabs{display:flex;gap:7px;background:#ECEEF5;padding:6px;border-radius:999px;width:max-content;margin:0 auto 38px}.tab{border:0;background:transparent;padding:12px 20px;border-radius:999px;color:#555A78;font-weight:850;cursor:pointer}.tab.active{background:var(--gold);color:var(--navy)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{position:relative;background:white;border:1px solid var(--line);border-radius:26px;padding:29px;box-shadow:0 10px 34px rgba(15,17,51,.06);display:flex;flex-direction:column}.price-card.featured{border:2px solid var(--gold)}.ribbon{position:absolute;left:23px;top:-14px;background:var(--gold);padding:7px 12px;border-radius:999px;font-size:.74rem;font-weight:900}.price-card ul{padding-left:19px;color:#4a4e69}.price-card li{margin:8px 0}.price{font-size:2.5rem;font-weight:900;letter-spacing:-.04em;margin-top:18px}.price small{font-size:1rem;color:var(--muted);font-weight:650}.price-card .grow{flex:1}.freq{display:flex;justify-content:center;gap:8px;margin-bottom:30px}.freq button{border:0;background:#ECEEF5;color:var(--navy);font-weight:850;border-radius:999px;padding:12px 20px;cursor:pointer}.freq button.active{background:var(--gold)}.hidden{display:none!important}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article{background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 34px rgba(15,17,51,.06)}.article-img{height:220px;overflow:hidden}.article-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.article-body{padding:24px}.meta{font-size:.8rem;color:var(--muted);margin-bottom:10px}.form-card{background:white;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.field{margin-bottom:17px}.field label{display:block;font-weight:800;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:14px 15px;border-radius:13px;border:1px solid #D7D9E3;color:var(--navy);background:white}.notice{display:none;margin-top:14px;background:var(--gold-soft);color:#6b4a00;border-radius:12px;padding:12px 14px;font-weight:700}.notice.show{display:block}

@media(max-width:1120px){.nav-links{display:none}.menu-btn{display:block}.hero-copy{width:70%}.hero-quote{display:none}.grid-4{grid-template-columns:repeat(2,1fr)}.pathway{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.split-dark{grid-template-columns:1fr}.split-photo{min-height:520px}.philosophy-grid,.results-grid,.grid-2{grid-template-columns:1fr}.philosophy-copy{padding:72px 0}.philosophy-photo{min-height:520px}}
@media(max-width:760px){.container{width:min(100% - 28px,var(--max))}.nav-inner{height:74px}.brand{min-width:unset}.brand-sub{display:none}.nav-actions .nav-login{display:none}.nav-actions .btn{padding:11px 15px;min-height:44px}.hero{min-height:700px}.hero-inner{min-height:700px}.hero-bg{background-position:63% center}.hero-copy{width:100%;padding:54px 0}.hero-copy:before{content:"";position:absolute;inset:0 -20px;background:linear-gradient(90deg,rgba(15,17,51,.96),rgba(15,17,51,.48));z-index:-1}.proof-strip .container{grid-template-columns:1fr 1fr}section{padding:72px 0}.grid-3,.grid-4,.article-grid,.quote-grid,.stats,.footer-grid,.pathway{grid-template-columns:1fr}.split-photo{min-height:430px}.split-copy{padding:48px 22px}.program-image{height:280px}.philosophy-photo{min-height:470px}.result-photo{min-height:430px}.cta-band{padding:40px 22px}.page-hero{padding:82px 0 70px}.tabs{width:100%;overflow:auto;justify-content:flex-start}.freq{flex-wrap:wrap}}


/* v13 readability refinement */
.lead{font-weight:500}
.small{color:#5B6078}
.section-dark .lead.light,
.section-dark .small,
.section-dark .mini-row,
.split-dark .small,
.split-dark .mini-row,
.page-hero .small{color:#EEF0F6}
.section-dark p,
.split-dark p{color:#E0E3EC}
.section-dark .quote p{color:#E4E6EE}
.program-body p{color:#E0E3EC}
.screen-row span{color:#D9DCE8}
.footer{color:#CDD0DB}
.footer a{color:#D7D9E2}
.footer-bottom{color:#AEB2C3}
.kicker.muted{color:#565B73}
.meta{color:#60657D}
.stat span{color:#5B6078}
.feature-card p{color:#565B73}
.price small{color:#5B6078}

/* v15 transparent CFIT logo integration */
.logo-wrap{
  display:flex;
  align-items:center;
  background:transparent;
}
.logo-wrap img{
  width:auto;
  height:58px;
  max-width:190px;
  object-fit:contain;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
.footer .logo-wrap img,
.footer-logo img{
  background:transparent !important;
  filter:none !important;
  box-shadow:none !important;
}
@media(max-width:760px){
  .logo-wrap img{height:48px;max-width:155px}
}

/* v16 visible transparent logo integration */
.brand-with-logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.site-logo{
  display:block;
  object-fit:contain;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  flex:0 0 auto;
}
.site-logo-nav{
  width:56px;
  height:56px;
}
.site-logo-footer{
  width:72px;
  height:72px;
}
.footer-brand-with-logo{
  display:flex;
  align-items:center;
  gap:14px;
}
@media(max-width:900px){
  .site-logo-nav{width:48px;height:48px}
  .brand-with-logo .brand-copy{display:none}
}


/* v17 — site-wide text visibility and readability refinement */

/* Stronger light-background text */
:root{
  --gray:#4E536B;
  --muted:#454A62;
}
body{
  font-size:18px;
  line-height:1.64;
}
p{
  color:#3E435A;
  line-height:1.68;
}
.lead{
  color:#454A62;
  font-weight:520;
  line-height:1.58;
}
.small{
  color:#4B5068;
  font-size:.95rem;
  line-height:1.58;
}
h1,h2,h3,h4,
p,.lead,.small,li,a{
  overflow-wrap:break-word;
}
h1,h2,h3{
  text-wrap:balance;
}
.kicker{
  font-size:.80rem;
  line-height:1.35;
}
.kicker.muted{
  color:#4F546B;
}

/* Navigation */
.nav-links{
  color:#444A62;
  font-weight:700;
}
.brand-sub{
  color:#4D526A;
}
.mobile-menu a{
  color:#10122F;
}

/* Dark backgrounds: make every supporting line clearly readable */
.hero-copy p,
.page-hero .lead,
.section-dark p,
.section-dark .lead,
.section-dark .small,
.section-dark .mini-row,
.split-dark p,
.split-dark .lead,
.split-dark .small,
.split-dark .mini-row,
.philosophy-copy p,
.program-body p,
.quote p,
.cta-band p{
  color:#F0F1F6;
}
.hero-micro{
  color:#EEF0F5;
}
.hero-quote{
  color:#FFFFFF;
}
.proof-item{
  color:#E6E8EF;
}
.screen-row span{
  color:#EEF0F5;
}
.path-card p{
  color:#EEF0F5 !important;
}

/* Light cards / lists */
.card p,
.feature-card p,
.price-card p,
.price-card li,
.article-body p,
.form-card p{
  color:#44495F;
}
.meta,
.stat span,
.price small{
  color:#4A4F67;
}
.field label{
  color:#171A36;
}
.field input,
.field textarea,
.field select{
  color:#11142F;
  border-color:#BFC3D0;
}

/* Gold labels on light backgrounds need deeper contrast */
.section-cream .kicker,
.section-soft .kicker,
.form-card .kicker,
.price-card .kicker,
.article .kicker{
  color:#8B6518;
}
.page-hero[style*="background:var(--cream)"] .kicker{
  color:#8B6518;
}
.page-hero[style*="background:var(--cream)"] .lead{
  color:#454A62 !important;
}
.page-hero[style*="background:var(--cream)"] .gold{
  color:#986B13;
}

/* Footer */
.footer{
  color:#E2E4EA;
}
.footer p{
  color:#E2E4EA;
}
.footer a{
  color:#EEF0F4;
}
.footer-bottom{
  color:#C6C9D3;
}
.footer h4{
  color:#FFFFFF;
}

/* Keep small content from being visually cramped */
.mini-row{
  line-height:1.55;
}
.program-body p,
.feature-card p,
.price-card p{
  line-height:1.62;
}
.card,
.feature-card,
.price-card,
.quote{
  min-width:0;
}

/* Avoid accidental clipping on responsive layouts */
main,
section,
.card,
.program-card,
.price-card,
.feature-card,
.form-card{
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  body{font-size:17px}
  h1{font-size:clamp(2.75rem,13vw,4.2rem);line-height:1.02}
  h2{font-size:clamp(2.15rem,10vw,3.35rem)}
  .lead{font-size:1.08rem}
  .small{font-size:.96rem}
  .btn{white-space:normal;text-align:center}
}


/* v18 — explicit text visibility fix */

/* Mini-list headings on light backgrounds were too pale */
.section-cream .mini-row strong,
.section-soft .mini-row strong,
section:not(.section-dark) .mini-row strong,
.reviews-list strong{
  color:#171A36 !important;
  font-weight:800 !important;
  opacity:1 !important;
}

/* Supporting text directly under those headings */
.section-cream .mini-row .small,
.section-soft .mini-row .small,
section:not(.section-dark) .mini-row .small{
  color:#4A5068 !important;
  opacity:1 !important;
}

/* Gold bullets stay visible but do not overpower the heading */
.section-cream .mini-dot,
.section-soft .mini-dot,
section:not(.section-dark) .mini-dot{
  background:#E7AD2F !important;
  opacity:1 !important;
}

/* Prevent generic light-text rules from leaking into light sections */
.section-cream strong,
.section-soft strong{
  color:#171A36;
}
.section-cream p,
.section-soft p{
  color:#40465E;
}

/* Reviews page: make the entire explanatory block clearly readable */
body .review-copy .mini-row strong,
body .review-copy .mini-row .small{
  opacity:1 !important;
}


/* v20 additional contrast */
.split-copy p,.philosophy-copy p,.quote p,.cta-band p,.platform-screen .screen-row span{color:#E0E4F0;}
.section-dark .lead.light{color:#E5E9F5;}


/* v21 — deliberate refinement using the live Creative Fitness NYC site screenshots */

/* 1) Three pillars: large photo background + dark navy overlay + white cards */
.home-method-band{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(15,17,51,.92),rgba(15,17,51,.84)),
    url('gym-dumbbell-reach-new.png') center 46%/cover no-repeat;
  color:#EEF0F5;
  padding:110px 0;
}
.home-method-band:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(15,17,51,.10),rgba(15,17,51,.28));
}
.home-method-band .section-head h2{
  color:#EEF0F5;
}
.home-method-band .section-head .lead{
  color:#ECEEF6;
}
.home-method-band .card{
  background:#FFFFFF;
  border:0;
  box-shadow:0 20px 50px rgba(0,0,0,.20);
}
.home-method-band .card h3{
  color:var(--navy);
}
.home-method-band .card p{
  color:#51566E;
}
.home-method-band .icon-box{
  background:#FFF4D9;
  color:#B48218;
}

/* 2) Program options: white premium cards over navy, matching the live-site card treatment */
.home-programs-live{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 0%,rgba(242,190,80,.10),transparent 30%),
    linear-gradient(180deg,rgba(15,17,51,.90) 0%,rgba(15,17,51,.94) 100%),
    url('hero-actual.jpg') center 42%/cover no-repeat;
  color:#EEF0F5;
  padding:110px 0;
}
.home-programs-live:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(15,17,51,.18),rgba(15,17,51,.08) 35%,rgba(15,17,51,.18));
  pointer-events:none;
}
.home-programs-live .container{
  position:relative;
  z-index:1;
}
.home-programs-live .section-head h2{
  color:#EEF0F5;
}
.home-programs-live .section-head .lead{
  color:#E5E8F2;
}
.home-programs-live .program-card{
  background:#FFFFFF;
  color:var(--navy);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 54px rgba(0,0,0,.22);
}
.home-programs-live .program-card:first-child{
  border-top:5px solid var(--gold);
}
.home-programs-live .program-card:nth-child(2){
  border-top:5px solid var(--navy);
}
.home-programs-live .program-card:nth-child(3){
  border-top:5px solid #8B8DA7;
}
.home-programs-live .program-body h3{
  color:var(--navy);
}
.home-programs-live .program-body p{
  color:#555B73 !important;
  font-weight:500;
}
.home-programs-live .program-body .kicker{
  color:#8A6416;
}
.home-programs-live .program-body a{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:52px;
  margin-top:22px;
  padding:12px 18px;
  border-radius:999px;
  background:var(--navy);
  color:#FFFFFF !important;
  font-size:.80rem;
  letter-spacing:.03em;
}
.home-programs-live .program-card:first-child .program-body a{
  background:var(--gold);
  color:var(--navy) !important;
}
.home-programs-live .program-card:nth-child(3) .program-body a{
  background:#8588A2;
  color:#FFFFFF !important;
}

/* 3) Testimonials: layered navy surface like the live-site review panels */
.home-reviews-live,
.reviews-quote-band{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(242,190,80,.08),transparent 26%),
    linear-gradient(145deg,#15183E,#0D0F2D);
}
.home-reviews-live:before,
.reviews-quote-band:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.015),transparent 42%,rgba(255,255,255,.015));
  pointer-events:none;
}
.home-reviews-live .container,
.reviews-quote-band .container{
  position:relative;
  z-index:1;
}
.home-reviews-live .quote,
.reviews-quote-band .quote{
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 12px 34px rgba(0,0,0,.12);
}

/* 4) Mission: centered white section with one strong navy/gold card */
.mission-live{
  background:#FFFFFF;
  padding:112px 0;
}
.mission-live h2{
  color:var(--navy);
}
.mission-card-live{
  margin:34px auto 0;
  max-width:900px;
  border-radius:24px;
  background:var(--navy);
  border-left:4px solid var(--gold);
  padding:46px 48px;
  box-shadow:0 18px 42px rgba(15,17,51,.12);
  text-align:left;
}
.mission-card-live p{
  margin:0;
  color:#F4C75E;
  font-size:clamp(1.35rem,2.4vw,2rem);
  line-height:1.6;
  font-weight:650;
}

/* 5) CFIT Journey: connected numbered progression like the live-site screenshot */
.pathway-live{
  background:
    radial-gradient(circle at 50% 0%,rgba(242,190,80,.06),transparent 28%),
    var(--navy);
}
.pathway-live .pathway{
  position:relative;
  gap:14px;
  padding-top:10px;
}
.pathway-live .pathway:before{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:34px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold) 8%,var(--gold) 92%,transparent);
  opacity:.72;
  z-index:0;
}
.pathway-live .path-card{
  position:relative;
  z-index:1;
  text-align:center;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  min-height:260px;
  padding:22px 20px 26px;
}
.pathway-live .path-num{
  margin:0 auto 20px;
  width:58px;
  height:58px;
  box-shadow:0 0 0 8px var(--navy);
}
.pathway-live .path-card h3{
  font-size:1.08rem;
  line-height:1.35;
}
.pathway-live .path-card p{
  color:#DDE1ED !important;
}

/* Responsive preservation */
@media(max-width:1120px){
  .pathway-live .pathway:before{display:none}
}
@media(max-width:760px){
  .home-method-band,
  .home-programs-live,
  .mission-live{padding:78px 0}
  .mission-card-live{padding:32px 26px}
}

/* v22 — streamlined information architecture */
.home-coaching-pair{max-width:980px;margin:0 auto}
.blueprint-bridge{
  max-width:980px;
  margin:28px auto 0;
  padding:26px 30px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
}
.blueprint-bridge h3{color:#EEF0F5;margin-bottom:8px}
.blueprint-bridge p{color:#E2E6F0;margin:0}
.platform-teaser-live{
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  padding:22px 0;
}
.programs-intro-live{
  background:#fff;
  padding:84px 0 34px;
}
.blueprint-assessment .card p{color:#50566E}
.transformations-live{padding-top:86px;padding-bottom:70px}
@media(max-width:820px){
  .blueprint-bridge,
  .platform-teaser-live{display:block}
  .blueprint-bridge .btn,
  .platform-teaser-live .btn{margin-top:20px}
}

/* v23 — Results before/after transformation cards */
.transformations-live{
  background:#FBF9F4;
}
.transformation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.transformation-card{
  background:#fff;
  border:1px solid #E3E4EB;
  border-radius:28px;
  padding:26px;
  box-shadow:0 18px 44px rgba(15,17,51,.09);
}
.transformation-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:20px;
}
.transformation-head h3{
  color:var(--navy);
  font-size:1.8rem;
  margin-bottom:0;
}
.temp-badge{
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.11em;
  color:#77550D;
  background:#FFF1C8;
  border:1px solid #F2CF73;
}
.before-after-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.transform-photo{
  margin:0;
  position:relative;
  overflow:hidden;
  min-height:360px;
  border-radius:20px;
  background:var(--navy);
}
.transform-photo img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  filter:grayscale(100%);
}
.transform-photo figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  background:rgba(15,17,51,.92);
  color:#EEF0F5;
  padding:7px 11px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.transform-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:18px;
}
.transform-stats > div{
  background:#F7F7FA;
  border-radius:16px;
  padding:16px 14px;
}
.transform-stats span{
  display:block;
  color:#555B73;
  font-size:.75rem;
  line-height:1.35;
  margin-bottom:6px;
}
.transform-stats strong{
  color:var(--navy);
  font-size:1.15rem;
}
.transform-note{
  margin:16px 0 0;
  color:#696E83;
  font-size:.84rem;
}
@media(max-width:900px){
  .transformation-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .before-after-grid{grid-template-columns:1fr}
  .transform-photo,.transform-photo img{min-height:330px}
  .transform-stats{grid-template-columns:1fr}
}


/* v24 — MOBILE-ONLY refinement. Desktop styles are intentionally unchanged. */

@media (max-width: 760px){

  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  body{
    font-size:16.5px;
    line-height:1.58;
  }

  .container,
  .narrow{
    width:calc(100% - 28px);
  }

  /* Navigation */
  .nav-inner{
    height:68px;
    gap:8px;
  }

  .site-logo-nav{
    width:44px;
    height:44px;
  }

  .brand{
    min-width:0;
    gap:8px;
  }

  .brand-copy{
    display:none !important;
  }

  .nav-actions{
    margin-left:auto;
    gap:6px;
  }

  .nav-actions .nav-login,
  .nav-actions .btn{
    display:none;
  }

  .menu-btn{
    display:block;
    font-size:1.65rem;
    padding:8px 4px;
    line-height:1;
  }

  .mobile-menu{
    padding:10px 14px 18px;
    background:#fff;
    border-top:1px solid #ECECF2;
  }

  .mobile-menu a{
    padding:12px 2px;
    border-bottom:1px solid #F0F1F5;
    font-size:1rem;
  }

  /* Typography */
  h1{
    font-size:clamp(2.7rem,13vw,4rem);
    line-height:1.01;
    letter-spacing:-.045em;
  }

  h2{
    font-size:clamp(2rem,9vw,3rem);
    line-height:1.05;
    letter-spacing:-.035em;
  }

  h3{
    font-size:1.32rem;
    line-height:1.16;
  }

  .lead{
    font-size:1.04rem;
    line-height:1.58;
  }

  .kicker{
    font-size:.68rem;
    letter-spacing:.15em;
  }

  .small{
    font-size:.92rem;
    line-height:1.5;
  }

  /* Spacing */
  section{
    padding:64px 0;
  }

  .section-head{
    margin-bottom:30px;
  }

  .card,
  .feature-card,
  .price-card,
  .quote,
  .form-card,
  .transformation-card{
    border-radius:20px;
  }

  .card,
  .feature-card,
  .price-card,
  .form-card,
  .transformation-card{
    padding:22px;
  }

  /* Hero */
  .hero,
  .hero-inner{
    min-height:640px;
  }

  .hero-bg{
    background-position:64% center;
  }

  .hero-copy{
    width:100%;
    padding:44px 0;
  }

  .hero-copy:before{
    inset:0 -14px;
    background:linear-gradient(90deg,rgba(15,17,51,.97),rgba(15,17,51,.74) 66%,rgba(15,17,51,.44));
  }

  .hero-copy p{
    font-size:1.02rem;
    line-height:1.55;
    max-width:95%;
  }

  .hero-micro{
    gap:10px 16px;
    margin-top:26px;
    font-size:.65rem;
    letter-spacing:.10em;
  }

  .cta-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:22px;
  }

  .cta-row .btn,
  .btn{
    width:100%;
    min-height:48px;
    padding:12px 16px;
    white-space:normal;
    text-align:center;
  }

  /* Proof strip */
  .proof-strip .container{
    grid-template-columns:1fr 1fr;
  }

  .proof-item{
    padding:16px 10px;
    font-size:.78rem;
  }

  .proof-item strong{
    font-size:.95rem;
  }

  /* Core grids */
  .grid-2,
  .grid-3,
  .grid-4,
  .article-grid,
  .quote-grid,
  .stats,
  .footer-grid,
  .pricing-grid,
  .results-grid,
  .pathway{
    grid-template-columns:1fr !important;
    gap:18px;
  }

  /* Images / photo sections */
  .photo-frame{
    border-radius:22px;
  }

  .split-photo,
  .philosophy-photo{
    min-height:380px;
  }

  .split-copy{
    padding:42px 18px;
  }

  .philosophy-copy{
    padding:52px 0 34px;
  }

  .result-photo{
    min-height:380px;
  }

  /* Program cards */
  .program-image{
    height:240px;
  }

  .program-body{
    padding:22px;
  }

  .home-programs-live .program-body a{
    min-height:48px;
  }

  .blueprint-bridge{
    display:block;
    padding:22px;
    border-radius:18px;
  }

  .blueprint-bridge .btn{
    margin-top:18px;
  }

  /* Platform */
  .platform-shell{
    padding:14px;
    border-radius:22px;
  }

  .platform-screen{
    padding:18px;
    border-radius:18px;
  }

  .platform-screen .top{
    gap:10px;
    align-items:flex-start;
  }

  .chip{
    font-size:.62rem;
    padding:6px 9px;
  }

  .screen-row{
    padding:13px;
  }

  .platform-teaser-live{
    display:block;
  }

  .platform-teaser-live .btn{
    margin-top:18px;
  }

  /* Page heroes */
  .page-hero{
    padding:70px 0 58px;
  }

  .page-hero.photo{
    min-height:520px;
  }

  .page-hero.photo:before{
    background-position:58% center;
  }

  /* Tabs / program controls */
  .tabs{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start;
    border-radius:18px;
    padding:5px;
    scrollbar-width:none;
  }

  .tabs::-webkit-scrollbar{
    display:none;
  }

  .tab{
    flex:0 0 auto;
    padding:11px 16px;
  }

  .freq{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
    padding-bottom:4px;
  }

  .freq::-webkit-scrollbar{
    display:none;
  }

  .freq button{
    flex:0 0 auto;
  }

  .price{
    font-size:2.05rem;
  }

  /* Forms */
  .field input,
  .field textarea,
  .field select{
    font-size:16px; /* prevents iOS zoom */
  }

  /* Mission / CTA */
  .mission-live{
    padding:64px 0;
  }

  .mission-card-live{
    padding:28px 22px;
    border-radius:18px;
  }

  .mission-card-live p{
    font-size:1.16rem;
    line-height:1.5;
  }

  .cta-band{
    padding:34px 20px;
    border-radius:24px;
  }

  /* Transformation cards */
  .transformation-grid{
    grid-template-columns:1fr !important;
    gap:20px;
  }

  .transformation-head{
    display:block;
  }

  .temp-badge{
    display:inline-block;
    margin-top:8px;
  }

  .before-after-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .transform-photo,
  .transform-photo img{
    min-height:240px;
  }

  .transform-photo{
    border-radius:16px;
  }

  .transform-photo figcaption{
    left:8px;
    bottom:8px;
    font-size:.62rem;
    padding:6px 9px;
  }

  .transform-stats{
    grid-template-columns:1fr;
    gap:8px;
  }

  /* Footer */
  .footer{
    padding:50px 0 28px;
  }

  .footer-grid{
    gap:28px;
  }

  .footer-brand-with-logo{
    align-items:flex-start;
  }

  .site-logo-footer{
    width:60px;
    height:60px;
  }

  .footer-bottom{
    margin-top:28px;
    padding-top:18px;
  }
}

@media (max-width: 420px){

  .container,
  .narrow{
    width:calc(100% - 22px);
  }

  h1{
    font-size:clamp(2.45rem,12.5vw,3.35rem);
  }

  h2{
    font-size:clamp(1.9rem,9vw,2.6rem);
  }

  .hero,
  .hero-inner{
    min-height:610px;
  }

  .hero-copy{
    padding:38px 0;
  }

  .proof-strip .container{
    grid-template-columns:1fr;
  }

  .before-after-grid{
    grid-template-columns:1fr 1fr;
  }

  .transform-photo,
  .transform-photo img{
    min-height:210px;
  }

  .program-image{
    height:215px;
  }

  .page-hero{
    padding:60px 0 50px;
  }

  .split-photo,
  .philosophy-photo,
  .result-photo{
    min-height:340px;
  }
}


/* =========================================================
   v33 — Homepage first two sections: live-site visual direction
   Keeps the replacement-site navigation and all later sections.
   Does NOT copy the old site's floating AI button.
   ========================================================= */

.live-home-hero{
  position:relative;
  min-height:780px;
  color:#EEF0F5;
  overflow:hidden;
  background:#101239;
}
.live-home-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(16,18,57,.94) 0%,rgba(16,18,57,.82) 43%,rgba(16,18,57,.52) 66%,rgba(16,18,57,.28) 100%),
    url('hero-actual.jpg') 50% 45%/cover no-repeat;
}
.live-home-hero-grid{
  position:relative;
  z-index:2;
  min-height:780px;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:64px;
  align-items:center;
  padding:82px 0 62px;
}
.live-home-hero-copy{max-width:760px}
.live-home-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#F2BE50;
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:28px;
}
.live-home-hero .live-home-eyebrow{
  border:1px solid rgba(255,255,255,.23);
  border-radius:999px;
  padding:9px 18px;
  background:rgba(255,255,255,.03);
}
.live-home-hero h1{
  max-width:760px;
  margin:0 0 30px;
  font-size:clamp(3.8rem,5.6vw,6.15rem);
  line-height:.99;
  letter-spacing:-.052em;
  font-weight:800;
  color:#EEF0F5;
}
.live-home-gold{color:#F2BE50}
.live-home-lead{
  max-width:720px;
  color:#E4E5EC !important;
  font-size:clamp(1.11rem,1.55vw,1.38rem);
  line-height:1.62;
  font-weight:400;
}
.live-home-cta-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.live-home-cta-row .btn{
  min-height:58px;
  padding:15px 26px;
  font-size:1rem;
}
.live-home-outline{
  border:1px solid rgba(255,255,255,.46);
  color:#EEF0F5;
  background:rgba(16,18,57,.12);
}
.live-home-outline:hover{
  color:#EEF0F5;
  border-color:#EEF0F5;
  background:rgba(255,255,255,.08);
}
.live-home-checks{
  display:flex;
  gap:34px;
  flex-wrap:wrap;
  margin-top:38px;
  color:#E1E3EB;
  font-size:.95rem;
}
.live-home-checks span::first-letter{color:#F2BE50}
.live-home-checks b{font-weight:500}
.live-home-quote{
  width:max-content;
  max-width:100%;
  margin-top:30px;
  border-left:2px solid #F2BE50;
  padding:4px 0 4px 16px;
  color:#EEF0F5;
  font-size:.84rem;
  line-height:1.45;
  letter-spacing:.035em;
}
.live-home-quote span{display:block;font-style:italic}
.live-home-quote strong{
  display:block;
  margin-top:4px;
  color:#F2BE50;
  font-size:.72rem;
  letter-spacing:.14em;
}

.live-home-hero-card{
  justify-self:end;
  width:min(100%,555px);
  min-height:500px;
  padding:42px 42px 34px;
  border-radius:40px;
  background:#fff;
  box-shadow:0 30px 70px rgba(4,6,25,.28);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.live-home-athlete-mark{
  flex:1;
  display:grid;
  place-items:center;
  min-height:310px;
}
.live-home-athlete-mark img{
  width:145px;
  height:220px;
  object-fit:contain;
}
.live-home-triad{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  padding-top:28px;
  border-top:1px solid #E4E5EC;
}
.live-home-triad-item{
  text-align:center;
  color:#6D6E8D;
  font-size:.78rem;
  letter-spacing:.035em;
}
.live-home-triad-icon{
  width:50px;
  height:50px;
  border-radius:14px;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  color:#EEF0F5;
  font-weight:800;
  font-size:1rem;
}
.live-home-triad-icon.move{background:#F2BE50;color:#EEF0F5}
.live-home-triad-icon.control{background:#777997}
.live-home-triad-icon.strength{background:#101239}

.live-home-method{
  position:relative;
  min-height:680px;
  padding:0;
  overflow:hidden;
  color:#EEF0F5;
  background:#101239;
}
.live-home-method-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(16,18,57,.82),rgba(16,18,57,.89)),
    url('hero-actual.jpg') center 48%/cover no-repeat;
}
.live-home-method-inner{
  position:relative;
  z-index:2;
  padding:66px 0 64px;
}
.live-home-method-copy{
  max-width:920px;
}
.live-home-method-copy .live-home-eyebrow{
  margin-bottom:16px;
  font-size:.82rem;
}
.live-home-method h2{
  max-width:820px;
  color:#EEF0F5;
  font-size:clamp(2.45rem,3.5vw,4rem);
  line-height:1.08;
  letter-spacing:-.035em;
  margin-bottom:22px;
}
.live-home-method-copy p{
  max-width:870px;
  color:#D8DAE5 !important;
  font-size:clamp(1.05rem,1.45vw,1.25rem);
  line-height:1.66;
}
.live-home-pillar-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:48px;
}
.live-home-pillar-card{
  min-height:280px;
  padding:36px 34px;
  border-radius:22px;
  background:#fff;
  color:#101239;
  box-shadow:0 16px 40px rgba(3,5,24,.16);
}
.live-home-pillar-card h3{
  margin:22px 0 13px;
  color:#101239;
  font-size:1.55rem;
  font-weight:800;
}
.live-home-pillar-card p{
  margin:0;
  color:#676B86 !important;
  font-size:1.01rem;
  line-height:1.65;
}
.live-home-pillar-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
}
.live-home-pillar-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.live-home-pillar-icon.mobility{
  color:#F2BE50;
  background:#FFF4DC;
}
.live-home-pillar-icon.stability{
  color:#6D6E8D;
  background:#ECECF2;
}
.live-home-pillar-icon.strength{
  color:#101239;
  background:#ECECF2;
}

@media(max-width:1080px){
  .live-home-hero-grid{
    grid-template-columns:1fr;
    gap:30px;
    padding:68px 0 58px;
  }
  .live-home-hero-card{
    justify-self:start;
    width:min(100%,620px);
    min-height:440px;
  }
  .live-home-hero{
    min-height:auto;
  }
}
@media(max-width:780px){
  .live-home-hero-grid{padding:52px 0 44px}
  .live-home-hero-bg{
    background:
      linear-gradient(90deg,rgba(16,18,57,.96),rgba(16,18,57,.68)),
      url('hero-actual.jpg') 58% center/cover no-repeat;
  }
  .live-home-hero h1{
    font-size:clamp(3rem,14vw,4.5rem);
  }
  .live-home-checks{
    display:grid;
    gap:10px;
  }
  .live-home-hero-card{
    min-height:380px;
    padding:28px 22px 24px;
    border-radius:28px;
  }
  .live-home-athlete-mark{min-height:250px}
  .live-home-athlete-mark img{width:115px;height:185px}
  .live-home-triad{gap:8px}
  .live-home-triad-icon{width:45px;height:45px}
  .live-home-method-inner{padding:56px 0 50px}
  .live-home-pillar-grid{grid-template-columns:1fr;gap:16px;margin-top:34px}
  .live-home-pillar-card{min-height:0}
}


/* =========================================================
   v36 — About page reference layout + background image
   ========================================================= */

.about-profile-hero{
  background:#171936;
  color:#EEF0F5;
  padding:0;
  min-height:760px;
  overflow:hidden;
}
.about-profile-grid{
  display:grid;
  grid-template-columns:minmax(390px,.88fr) minmax(0,1.12fr);
  min-height:760px;
}
.about-profile-photo{
  position:relative;
  min-height:760px;
  background:#0F1133;
  overflow:hidden;
}
.about-profile-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(15,17,51,.02) 74%,rgba(23,25,54,.48) 100%);
  pointer-events:none;
}
.about-profile-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  filter:grayscale(100%);
  display:block;
}
.about-profile-copy{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#171936;
}
.about-profile-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(23,25,54,.94),rgba(23,25,54,.82)),
    url('stability-kettlebells-actual.jpg') center 44%/cover no-repeat;
  opacity:.72;
}
.about-profile-copy:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 85% 18%,rgba(242,190,80,.08),transparent 34%),
    linear-gradient(180deg,rgba(15,17,51,.10),rgba(15,17,51,.28));
  pointer-events:none;
}
.about-profile-copy-inner{
  position:relative;
  z-index:2;
  padding:72px clamp(48px,6vw,110px);
}
.about-profile-kicker{
  color:#F2BE50;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:26px;
}
.about-profile-copy h1{
  color:#EEF0F5;
  font-size:clamp(3.6rem,5.2vw,6rem);
  line-height:.98;
  letter-spacing:-.045em;
  margin:0 0 24px;
  font-weight:800;
}
.about-profile-title{
  color:#F2BE50;
  font-size:clamp(1.15rem,1.85vw,1.7rem);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:38px;
}
.about-profile-copy p{
  color:#E4E5EC !important;
  font-size:clamp(1.05rem,1.55vw,1.32rem);
  line-height:1.7;
  max-width:760px;
  margin:0 0 26px;
  text-shadow:0 1px 12px rgba(0,0,0,.2);
}
.about-profile-location{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  color:#EEF0F5;
  font-size:1.12rem;
  font-weight:600;
}
.about-location-icon{
  width:30px;
  height:30px;
  color:#F2BE50;
  display:grid;
  place-items:center;
}
.about-location-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:900px){
  .about-profile-grid{grid-template-columns:1fr}
  .about-profile-photo{min-height:560px}
  .about-profile-copy-inner{padding:58px 28px 64px}
  .about-profile-bg{
    background:
      linear-gradient(rgba(23,25,54,.88),rgba(23,25,54,.88)),
      url('stability-kettlebells-actual.jpg') center/cover no-repeat;
  }
}
@media(max-width:600px){
  .about-profile-photo{min-height:450px}
  .about-profile-copy h1{font-size:3.2rem}
  .about-profile-title{font-size:1rem}
}


/* v37 — About "Coaching is a craft" background image */
.about-work-bg{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(15,17,51,.94) 0%,rgba(15,17,51,.90) 48%,rgba(15,17,51,.56) 100%),
    url('dark-mobility-actual.jpg') center 42%/cover no-repeat;
}
.about-work-bg > .container{
  position:relative;
  z-index:2;
}
.about-work-bg .photo-frame{
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 60px rgba(0,0,0,.26);
}

/* v40: live-site scale match; AI button intentionally untouched */
.live-match-nav{background:#fff;border-bottom:1px solid #ececf2;position:sticky;top:0;z-index:1000}.live-match-nav-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:26px}.live-match-brand{display:flex;align-items:center;gap:10px;min-width:290px}.live-match-brand-mark{width:42px;height:42px;border:1px solid #e3e4ea;border-radius:12px;display:grid;place-items:center;background:#fff;box-shadow:0 3px 10px rgba(15,17,51,.06)}.live-match-brand-mark img{width:18px;height:33px;object-fit:contain}.live-match-brand-copy{display:flex;flex-direction:column;line-height:1}.live-match-brand-name{font-size:16px;font-weight:750;color:#11142f}.live-match-brand-sub{margin-top:4px;font-size:9px;letter-spacing:.23em;color:#747790}.live-match-nav-links{display:flex;gap:34px;align-items:center;font-size:16px;font-weight:500;color:#666b86;white-space:nowrap}.live-match-nav-actions{display:flex;gap:22px;align-items:center}.live-match-login{font-size:16px;font-weight:700;color:#11142f}.live-match-start{min-height:50px;padding:0 25px;border-radius:999px;background:#101239;color:#EEF0F5;display:inline-flex;align-items:center;font-size:16px;font-weight:650}.live-match-nav .menu-btn{display:none}
.live-exact-hero{min-height:660px;position:relative;overflow:hidden;background:#101239;color:#EEF0F5}.live-exact-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,51,.94),rgba(15,17,51,.83) 45%,rgba(15,17,51,.48) 70%,rgba(15,17,51,.25)),url('gym-dumbbell-reach-new.png') center 48%/cover no-repeat}.live-exact-hero-inner{position:relative;z-index:2;min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start;padding-top:52px;padding-bottom:38px}.live-exact-copy{max-width:620px}.live-exact-eyebrow{width:max-content;margin-bottom:28px;padding:8px 17px;border:1px solid rgba(255,255,255,.20);border-radius:999px;color:#f2be50;font-size:14px;font-weight:700;letter-spacing:.16em}.live-exact-copy h1{margin:0 0 26px;max-width:610px;color:#EEF0F5;font-size:clamp(52px,4.1vw,66px);line-height:1.03;letter-spacing:-.042em;font-weight:720}.live-exact-copy h1 span{color:#f2be50}.live-exact-lead{max-width:610px;margin:0;color:#e2e3ea!important;font-size:18px;line-height:1.58}.live-exact-cta-row{display:flex;gap:14px;margin-top:31px}.live-exact-primary,.live-exact-secondary{min-height:50px;padding:0 23px;border-radius:999px;display:inline-flex;align-items:center;font-size:15px;font-weight:700}.live-exact-primary{background:#f2be50;color:#101239;gap:20px}.live-exact-secondary{border:1px solid rgba(255,255,255,.31);color:#EEF0F5;padding:0 28px}.live-exact-checks{display:flex;gap:34px;margin-top:37px;color:#d6d8e1;font-size:15px}.live-exact-checks b{color:#f2be50;margin-right:6px}.live-exact-quote{margin-top:18px;color:#e8e9ef;font-size:12px;font-style:italic}.live-exact-quote strong{color:#f2be50;font-style:normal}.live-exact-card{justify-self:end;width:480px;height:430px;margin-top:2px;padding:34px;border-radius:34px;background:#fff;box-shadow:0 22px 58px rgba(4,6,28,.18);display:flex;flex-direction:column}.live-exact-athlete{flex:1;display:grid;place-items:center}.live-exact-athlete img{width:86px;height:182px;object-fit:contain}.live-exact-divider{height:1px;background:#e4e5ea}.live-exact-triad{display:grid;grid-template-columns:repeat(3,1fr);padding-top:23px}.live-exact-triad>div{text-align:center;color:#6d6e8d;font-size:11px}.live-exact-triad span{width:43px;height:43px;margin:0 auto 10px;border-radius:12px;display:grid;place-items:center;color:#EEF0F5;font-size:14px;font-weight:700}.live-exact-triad .m{background:#f2be50}.live-exact-triad .c{background:#777996}.live-exact-triad .s{background:#101239}
.live-exact-method{position:relative;min-height:650px;padding:0;overflow:hidden;color:#EEF0F5;background:#101239}.live-exact-method-bg{position:absolute;inset:0;background:linear-gradient(rgba(15,17,51,.81),rgba(15,17,51,.88)),url('gym-dumbbell-reach-new.png') center 45%/cover no-repeat}.live-exact-method-inner{position:relative;z-index:2;padding:57px 0 52px}.live-exact-method-copy{max-width:860px}.live-exact-method-kicker{margin-bottom:15px;color:#f2be50;font-size:14px;font-weight:700;letter-spacing:.18em}.live-exact-method h2{margin:0 0 21px;color:#EEF0F5;font-size:clamp(38px,3vw,50px);line-height:1.05;letter-spacing:-.032em;max-width:800px}.live-exact-method-copy p{max-width:850px;margin:0;color:#d9dae3!important;font-size:18px;line-height:1.62}.live-exact-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}.live-exact-pillar-grid article{min-height:240px;padding:34px 33px;border-radius:20px;background:#fff}.live-exact-pillar-grid h3{margin:19px 0 12px;color:#11142f;font-size:25px}.live-exact-pillar-grid p{color:#6d708a!important;font-size:16px;line-height:1.55}.live-exact-icon{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;font-size:24px}.live-exact-icon.mobility{background:#fff4dc;color:#f2be50}.live-exact-icon.stability{background:#ececf2;color:#777996}.live-exact-icon.strength{background:#ececf2;color:#101239}
@media(max-width:1040px){.live-match-nav-links{display:none}.live-match-nav .menu-btn{display:block}.live-exact-hero-inner{grid-template-columns:1fr}.live-exact-card{justify-self:start}}@media(max-width:720px){.live-match-brand-copy{display:none}.live-match-brand{min-width:0}.live-match-login{display:none}.live-exact-copy h1{font-size:48px}.live-exact-cta-row{flex-direction:column}.live-exact-card{width:100%;height:385px}.live-exact-pillar-grid{grid-template-columns:1fr}}


/* =========================================================
   v41 — duplicate live-site proportions, preserve OUR AI button
   ========================================================= */
:root{--live-max:1310px}

/* Header copied to the cleaner live-site proportions */
.live-match-nav{background:rgba(255,255,255,.98);border-bottom:1px solid #ECECF2;position:sticky;top:0;z-index:1000;backdrop-filter:blur(10px)}
.live-match-nav-inner{width:min(var(--live-max),calc(100% - 48px));height:70px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.live-match-brand{display:flex;align-items:center;gap:10px;min-width:295px}
.live-match-brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #E3E4EA;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(15,17,51,.07)}
.live-match-brand-mark img{width:18px;height:33px;object-fit:contain}
.live-match-brand-copy{display:flex;flex-direction:column;line-height:1}
.live-match-brand-name{color:#11142F;font-size:16px;font-weight:750;letter-spacing:-.012em}
.live-match-brand-sub{margin-top:4px;color:#747790;font-size:9px;font-weight:650;letter-spacing:.23em}
.live-match-nav-links{display:flex;align-items:center;gap:34px;white-space:nowrap;font-size:16px;font-weight:500;color:#666B86}
.live-match-nav-links a:hover{color:#101239}
.live-match-nav-actions{display:flex;align-items:center;gap:22px;white-space:nowrap}
.live-match-login{color:#11142F;font-size:16px;font-weight:700}
.live-match-start{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 25px;border-radius:999px;background:#101239;color:#EEF0F5;font-size:16px;font-weight:650}
.live-match-nav .menu-btn{display:none}

/* Hero exact live-site scale */
.live-exact-hero{position:relative;min-height:660px;overflow:hidden;background:#101239;color:#EEF0F5}
.live-exact-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,51,.94) 0%,rgba(15,17,51,.84) 44%,rgba(15,17,51,.52) 68%,rgba(15,17,51,.26) 100%),url('gym-dumbbell-reach-new.png') center 48%/cover no-repeat}
.live-exact-hero-inner{position:relative;z-index:2;width:min(var(--live-max),calc(100% - 48px));min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start;padding-top:52px;padding-bottom:38px}
.live-exact-copy{max-width:620px}
.live-exact-eyebrow{width:max-content;margin-bottom:28px;padding:8px 17px;border:1px solid rgba(255,255,255,.20);border-radius:999px;color:#F2BE50;font-size:14px;line-height:1;font-weight:700;letter-spacing:.16em}
.live-exact-copy h1{max-width:610px;margin:0 0 26px;color:#EEF0F5;font-size:clamp(52px,4.1vw,66px);line-height:1.03;letter-spacing:-.042em;font-weight:720}
.live-exact-copy h1 span{color:#F2BE50}
.live-exact-lead{max-width:610px;margin:0;color:#E2E3EA!important;font-size:18px;line-height:1.58;font-weight:400}
.live-exact-cta-row{display:flex;align-items:center;gap:14px;margin-top:31px}
.live-exact-primary,.live-exact-secondary{min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 23px;font-size:15px;font-weight:700}
.live-exact-primary{background:#F2BE50;color:#101239}
.live-exact-secondary{padding:0 28px;color:#EEF0F5;border:1px solid rgba(255,255,255,.31);background:rgba(15,17,51,.10)}
.live-exact-checks{display:flex;align-items:center;gap:34px;margin-top:37px;color:#D6D8E1;font-size:15px}
.live-exact-checks span::first-letter{color:#F2BE50}

/* White movement card — athlete moved higher, quote beneath */
.live-exact-card{justify-self:end;width:480px;height:430px;margin-top:2px;padding:28px 34px 27px;border-radius:34px;background:#fff;box-shadow:0 22px 58px rgba(4,6,28,.18);display:flex;flex-direction:column}
.live-exact-athlete{height:210px;display:grid;place-items:start center;padding-top:2px;flex:none}
.live-exact-athlete img{width:82px;height:168px;object-fit:contain}
.live-exact-card-quote{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3px 20px 12px;color:#363A53;font-size:13px;line-height:1.35;font-style:italic;letter-spacing:.01em}
.live-exact-card-quote strong{display:block;margin-top:4px;color:#B08326;font-size:10px;letter-spacing:.15em;font-style:normal}
.live-exact-divider{height:1px;background:#E4E5EA}
.live-exact-triad{display:grid;grid-template-columns:repeat(3,1fr);padding-top:22px}
.live-exact-triad>div{text-align:center;color:#6D6E8D;font-size:11px}
.live-exact-triad span{width:43px;height:43px;margin:0 auto 10px;border-radius:12px;display:grid;place-items:center;color:#EEF0F5;font-size:14px;font-weight:700}
.live-exact-triad .m{background:#F2BE50}.live-exact-triad .c{background:#777996}.live-exact-triad .s{background:#101239}

/* Second live-site section */
.live-exact-method{position:relative;min-height:650px;padding:0;overflow:hidden;color:#EEF0F5;background:#101239}
.live-exact-method-bg{position:absolute;inset:0;background:linear-gradient(rgba(15,17,51,.81),rgba(15,17,51,.88)),url('gym-dumbbell-reach-new.png') center 45%/cover no-repeat}
.live-exact-method-inner{position:relative;z-index:2;width:min(var(--live-max),calc(100% - 48px));padding:57px 0 52px}
.live-exact-method-copy{max-width:860px}
.live-exact-method-kicker{margin-bottom:15px;color:#F2BE50;font-size:14px;font-weight:700;letter-spacing:.18em}
.live-exact-method h2{max-width:760px;margin:0 0 21px;color:#EEF0F5;font-size:clamp(38px,3vw,50px);line-height:1.05;letter-spacing:-.032em;font-weight:700}
.live-exact-method-copy p{max-width:850px;margin:0;color:#D9DAE3!important;font-size:18px;line-height:1.62;font-weight:400}
.live-exact-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.live-exact-pillar-grid article{min-height:240px;padding:34px 33px 29px;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(0,0,0,.12)}
.live-exact-pillar-grid h3{margin:19px 0 12px;color:#11142F;font-size:25px;line-height:1.1;font-weight:700;letter-spacing:-.02em}
.live-exact-pillar-grid p{margin:0;color:#6D708A!important;font-size:16px;line-height:1.55}
.live-exact-icon{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;font-size:22px}
.live-exact-icon.mobility{background:#FFF4DC;color:#F2BE50}.live-exact-icon.stability{background:#ECECF2;color:#777996}.live-exact-icon.strength{background:#ECECF2;color:#101239}

/* OUR AI button only — not the old live-site Ask CFIT Method button */
.ask-coach-nick{position:fixed;right:22px;bottom:22px;z-index:2400;min-height:44px;padding:0 16px;display:flex;align-items:center;gap:8px;border:1px solid #F2BE50;border-radius:999px;background:#101239;color:#EEF0F5;box-shadow:0 12px 28px rgba(15,17,51,.24);font-size:14px;font-weight:700;cursor:grab;user-select:none;touch-action:none}
.ask-coach-nick:active{cursor:grabbing}

@media(max-width:1180px){.live-match-nav-links{gap:20px;font-size:14px}.live-match-brand{min-width:250px}.live-exact-card{width:440px}}
@media(max-width:1040px){.live-match-nav-links{display:none}.live-match-nav .menu-btn{display:block}.live-exact-hero{min-height:auto}.live-exact-hero-inner{min-height:0;grid-template-columns:1fr;padding:52px 0}.live-exact-card{justify-self:start}}
@media(max-width:720px){.live-match-nav-inner{height:68px;width:min(100% - 26px,var(--live-max))}.live-match-brand-copy{display:none}.live-match-brand{min-width:0}.live-match-nav-actions{gap:10px}.live-match-login{display:none}.live-match-start{min-height:44px;padding:0 18px;font-size:14px}.live-exact-hero-inner,.live-exact-method-inner{width:min(100% - 28px,var(--live-max))}.live-exact-copy h1{font-size:48px}.live-exact-lead{font-size:17px}.live-exact-cta-row{align-items:stretch;flex-direction:column}.live-exact-primary,.live-exact-secondary{width:100%}.live-exact-checks{display:grid;gap:8px;margin-top:28px}.live-exact-card{width:100%;height:390px;padding:24px}.live-exact-athlete{height:185px}.live-exact-athlete img{height:150px}.live-exact-pillar-grid{grid-template-columns:1fr}.ask-coach-nick{right:14px;bottom:14px}}


/* ===== v45 Programs redesign + button motion ===== */
.programs-hero{
  min-height: 430px;
}
.programs-hero-photo{
  padding: 104px 0 96px;
}
.programs-hero-photo:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(15,17,51,.96),rgba(15,17,51,.86) 48%,rgba(15,17,51,.58)),
    url('hero-actual.jpg') center 38%/cover no-repeat;
}
.programs-hero .container{
  position:relative;
  z-index:1;
}
.programs-hero-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:28px;
}
.programs-hero-badges span{
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#F4F6FB;
  font-weight:700;
  font-size:.92rem;
  backdrop-filter: blur(10px);
}
.programs-offer-section{
  position:relative;
  overflow:hidden;
  padding:96px 0 110px;
  background: #0F1133;
}
.programs-offer-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(15,17,51,.90),rgba(15,17,51,.92)),
    url('coaching-client-actual.jpg') center 42%/cover no-repeat;
  transform:scale(1.02);
}
.programs-offer-section .container{
  position:relative;
  z-index:1;
}
.programs-shell{
  border:1px solid rgba(255,255,255,.10);
  border-radius:36px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(14px);
  box-shadow:0 28px 60px rgba(0,0,0,.20);
  padding:42px;
}
.programs-section-head{
  max-width:880px;
  margin:0 auto 34px;
}
.programs-section-head h2{
  color:#EEF0F5;
  margin-bottom:14px;
}
.programs-section-head .lead{
  color:#D9DDE9;
}
.programs-tabs{
  margin-bottom:30px;
}
.programs-page .pricing-grid{
  gap:24px;
}
.programs-page .price-card{
  border:1px solid rgba(15,17,51,.10);
  box-shadow:0 16px 34px rgba(15,17,51,.12);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.programs-page .price-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 42px rgba(15,17,51,.16);
  border-color:#E0C06D;
}
.programs-page .price-card.featured{
  border:2px solid #F2BE50;
  box-shadow:0 20px 38px rgba(242,190,80,.22);
}
.programs-page .price-card .price{
  color:#0F1133;
}
.programs-page .tab{
  transition:all .24s ease;
}
.programs-page .tab.active{
  box-shadow:0 10px 20px rgba(242,190,80,.25);
}
.btn{
  position:relative;
  overflow:hidden;
}
.btn::after{
  content:"";
  position:absolute;
  inset:-2px auto -2px -38%;
  width:34%;
  transform:skewX(-24deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,0));
  opacity:0;
  transition:opacity .25s ease;
}
.btn:hover::after{
  opacity:1;
  animation:btnSweep 1.05s ease;
}
.btn-gold{
  background:linear-gradient(135deg,#F2BE50 0%,#FFD87A 100%);
  color:#0F1133;
}
.btn-navy{
  background:linear-gradient(135deg,#0F1133 0%,#22295F 100%);
  color:#EEF0F5;
}
.btn:hover{
  transform:translateY(-2px) scale(1.01);
}
@keyframes btnSweep{
  0%{left:-38%}
  100%{left:118%}
}
.ask-coach-nick{
  background:linear-gradient(135deg,#101239 0%,#1E2560 70%);
  border-color:#F2BE50;
  animation:coachPulse 2.8s ease-in-out infinite;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.ask-coach-nick:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(15,17,51,.30);
}
@keyframes coachPulse{
  0%,100%{box-shadow:0 12px 28px rgba(15,17,51,.24), 0 0 0 0 rgba(242,190,80,.18)}
  50%{box-shadow:0 16px 32px rgba(15,17,51,.28), 0 0 0 8px rgba(242,190,80,0)}
}
@media (max-width: 900px){
  .programs-shell{
    padding:28px;
    border-radius:28px;
  }
}
@media (max-width: 760px){
  .programs-hero-photo{
    padding:82px 0 74px;
  }
  .programs-hero-badges{
    justify-content:flex-start;
  }
  .programs-shell{
    padding:22px;
  }
}


/* =========================================================
   v46 — Results page: duplicate live-site treatment
   ========================================================= */

.results-live-transformations{
  padding:74px 0 90px;
  background:#fff;
}
.results-live-heading{
  max-width:860px;
  margin:0 auto 54px;
  text-align:center;
}
.results-live-heading h1{
  color:#101239;
  font-size:clamp(2.65rem,4.5vw,4.5rem);
  letter-spacing:-.045em;
  margin-bottom:18px;
}
.results-live-heading p{
  max-width:760px;
  margin:0 auto;
  color:#6D708A;
  font-size:1.18rem;
  line-height:1.55;
}
.results-live-client-grid{
  max-width:960px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:34px;
}
.results-live-client-card{
  padding:34px 32px 30px;
  border:2px solid #14163C;
  border-radius:24px;
  background:#F2F3FA;
  box-shadow:0 14px 28px rgba(15,17,51,.06);
  text-align:center;
  transition:transform .25s ease,box-shadow .25s ease;
}
.results-live-client-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 38px rgba(15,17,51,.11);
}
.results-live-before-after{
  display:grid;
  grid-template-columns:1fr 44px 1fr;
  gap:14px;
  align-items:center;
}
.results-live-before-after figure{
  margin:0;
}
.results-live-before-after img{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:16px;
  background:#fff;
}
.results-live-before-after figcaption{
  margin-top:8px;
  color:#737791;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
}
.results-live-arrow{
  color:#F2BE50;
  font-size:2.25rem;
  font-weight:500;
}
.results-live-client-card h2{
  margin:22px 0 16px;
  color:#101239;
  font-size:1.7rem;
  letter-spacing:-.025em;
}
.results-live-gold-rule{
  width:68px;
  height:4px;
  border-radius:999px;
  margin:0 auto 20px;
  background:#F2BE50;
}
.results-live-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #D7D9E5;
}
.results-live-stats div{
  min-width:0;
  padding:18px 10px 4px;
}
.results-live-stats div+div{
  border-left:1px solid #E0C36C;
}
.results-live-stats span{
  display:block;
  color:#70748E;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.13em;
}
.results-live-stats strong{
  display:block;
  margin-top:8px;
  color:#101239;
  font-size:1rem;
  line-height:1.28;
}

.results-live-testimonials{
  position:relative;
  overflow:hidden;
  padding:84px 0 96px;
  background:
    linear-gradient(rgba(15,17,51,.90),rgba(15,17,51,.93)),
    url('gym-dumbbell-reach-new.png') center 48%/cover no-repeat;
}
.results-live-review-heading{
  max-width:780px;
  margin:0 auto 38px;
  text-align:center;
}
.results-live-review-heading h2{color:#EEF0F5}
.results-live-review-heading p{
  color:#D8DBE7;
  font-size:1.08rem;
}
.results-live-review-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.results-live-review-card{
  padding:28px 30px 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(7px);
  color:#EEF0F5;
}
.review-name-row{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:10px;
}
.review-initials{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border:2px solid #F2BE50;
  border-radius:50%;
  color:#F2BE50;
  font-weight:800;
}
.results-live-review-card h3{
  margin:0 0 3px;
  color:#EEF0F5;
  font-size:1.08rem;
}
.results-live-review-card small{color:#C5C8D5}
.results-live-review-card .stars{
  margin:4px 0 14px 70px;
}
.results-live-review-card p{
  color:#ECEEF5;
  line-height:1.65;
  margin:0;
}

.results-live-cta-section{
  padding:78px 0 90px;
  background:#fff;
}
.results-live-cta{
  padding:62px 34px;
  border-radius:30px;
  background:#101239;
  color:#EEF0F5;
  text-align:center;
}
.results-live-cta h2{
  color:#EEF0F5;
  max-width:800px;
  margin:0 auto 18px;
  font-size:clamp(2rem,3.8vw,3.4rem);
}
.results-live-cta p{
  max-width:760px;
  margin:0 auto 28px;
  color:#D2D5E1;
  font-size:1.08rem;
}

@media(max-width:900px){
  .results-live-client-grid,
  .results-live-review-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .results-live-client-card{padding:24px 18px}
  .results-live-before-after{
    grid-template-columns:1fr 30px 1fr;
    gap:8px;
  }
  .results-live-stats{
    grid-template-columns:1fr;
  }
  .results-live-stats div+div{
    border-left:0;
    border-top:1px solid #E0C36C;
  }
  .results-live-review-card .stars{
    margin-left:0;
  }
}


/* =========================================================
   v47 — Homepage: real client results replace platform teaser
   ========================================================= */

.platform-inline-link{
  margin-top:12px;
  color:#6D708A !important;
  font-size:.72rem !important;
  letter-spacing:.055em !important;
}
.platform-inline-link:hover{
  color:#101239 !important;
}

.home-real-results{
  position:relative;
  overflow:hidden;
  padding:92px 0 98px;
  background:#F7F7FB;
}
.home-real-results:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 8%,rgba(242,190,80,.10),transparent 26%),
    radial-gradient(circle at 88% 90%,rgba(15,17,51,.05),transparent 30%);
  pointer-events:none;
}
.home-real-results .container{
  position:relative;
  z-index:1;
}
.home-real-results-head{
  max-width:820px;
  margin:0 auto 44px;
}
.home-real-results-head h2{
  color:#101239;
  margin-bottom:16px;
}
.home-real-results-head .lead{
  max-width:760px;
  margin:0 auto;
  color:#626780;
}
.home-results-client-grid{
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}
.home-results-client-card{
  padding:28px 28px 26px;
  border:1px solid #D9DBE6;
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,17,51,.08);
  text-align:center;
  transition:transform .25s ease, box-shadow .25s ease;
}
.home-results-client-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 46px rgba(15,17,51,.13);
}
.home-results-images{
  display:grid;
  grid-template-columns:1fr 38px 1fr;
  align-items:center;
  gap:10px;
}
.home-results-images figure{
  margin:0;
}
.home-results-images img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:15px;
}
.home-results-images figcaption{
  margin-top:7px;
  color:#777B93;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.15em;
}
.home-results-arrow{
  color:#F2BE50;
  font-size:2rem;
  font-weight:700;
}
.home-results-client-card h3{
  margin:20px 0 12px;
  color:#101239;
}
.home-results-rule{
  width:58px;
  height:4px;
  margin:0 auto 16px;
  border-radius:999px;
  background:#F2BE50;
}
.home-results-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #E2E3EA;
}
.home-results-stats div{
  padding:16px 8px 2px;
}
.home-results-stats div+div{
  border-left:1px solid #E8D18F;
}
.home-results-stats span{
  display:block;
  color:#777B93;
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.11em;
}
.home-results-stats strong{
  display:block;
  margin-top:7px;
  color:#101239;
  font-size:.92rem;
  line-height:1.25;
}
.home-results-link-row{
  margin-top:32px;
}

@media(max-width:900px){
  .home-results-client-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .home-real-results{
    padding:72px 0 78px;
  }
  .home-results-client-card{
    padding:22px 18px;
  }
  .home-results-images{
    grid-template-columns:1fr 28px 1fr;
    gap:7px;
  }
  .home-results-stats{
    grid-template-columns:1fr;
  }
  .home-results-stats div+div{
    border-left:0;
    border-top:1px solid #E8D18F;
  }
}


/* =========================================================
   v50 — CFIT Blueprint redesign
   Content preserved; visual hierarchy upgraded.
   ========================================================= */

.blueprint-page{
  background:#fff;
}

/* Hero */
.blueprint-hero{
  position:relative;
  min-height:560px;
  padding:0;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#0F1133;
}
.blueprint-hero-photo{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(15,17,51,.96) 0%,rgba(15,17,51,.88) 48%,rgba(15,17,51,.54) 76%,rgba(15,17,51,.40) 100%),
    url('coaching-client-actual.jpg') center 38%/cover no-repeat;
}
.blueprint-hero-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 24%,rgba(242,190,80,.14),transparent 30%),
    linear-gradient(180deg,rgba(15,17,51,.04),rgba(15,17,51,.18));
}
.blueprint-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:70px;
  align-items:center;
  padding:78px 0;
}
.blueprint-hero-copy{
  max-width:720px;
}
.blueprint-hero-copy h1{
  max-width:720px;
  margin-bottom:24px;
  color:#EEF0F5;
  font-size:clamp(3.7rem,5.6vw,5.8rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.blueprint-hero-copy .lead{
  max-width:680px;
  color:#E2E5EF;
  font-size:1.22rem;
  line-height:1.62;
}
.blueprint-hero-pills{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:28px;
}
.blueprint-hero-pills span{
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#F4F5FA;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.055em;
}
.blueprint-hero-mark{
  justify-self:end;
  width:min(360px,100%);
  min-height:300px;
  padding:42px 36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
  box-shadow:0 22px 50px rgba(0,0,0,.22);
  text-align:center;
}
.blueprint-hero-mark img{
  height:160px;
  width:auto;
  margin-bottom:30px;
  object-fit:contain;
}
.blueprint-hero-mark strong{
  display:block;
  color:#F2BE50;
  font-size:1.18rem;
}
.blueprint-hero-mark span{
  display:block;
  margin-top:4px;
  color:#EEF0F5;
}

/* Connect + form */
.blueprint-connect-section{
  position:relative;
  overflow:hidden;
  padding:104px 0 112px;
  background:
    radial-gradient(circle at top left, rgba(242,190,80,.12), transparent 36%),
    linear-gradient(180deg,#F6F7FB 0%,#F3F4F9 100%);
}
.blueprint-connect-section:before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-290px;
  top:-250px;
  border-radius:50%;
  background:rgba(242,190,80,.10);
}
.blueprint-connect-section:after{
  content:"";
  position:absolute;
  left:-180px;
  bottom:-220px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(15,17,51,.05);
}
.blueprint-connect-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:52px;
  align-items:start;
}
.blueprint-connect-copy{
  padding-top:10px;
}
.blueprint-connect-copy h2{
  max-width:680px;
  color:#101239;
  font-size:clamp(2.55rem,4.2vw,4.2rem);
  line-height:1.02;
  letter-spacing:-.03em;
}
.blueprint-connect-lead{
  max-width:690px;
  margin:18px 0 0;
  color:#56607D;
  font-size:1.12rem;
  line-height:1.72;
}
.blueprint-connect-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.blueprint-connect-card{
  min-height:208px;
  padding:22px 22px 20px;
  border:1px solid rgba(15,17,51,.08);
  border-radius:24px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 32px rgba(15,17,51,.07);
}
.blueprint-connect-card-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.blueprint-connect-num{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#101239;
  color:#F2BE50;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}
.blueprint-connect-tag{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(15,17,51,.06);
  color:#101239;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.blueprint-connect-card strong{
  display:block;
  margin:0 0 8px;
  color:#101239;
  font-size:1.14rem;
  line-height:1.25;
}
.blueprint-connect-card p{
  margin:0;
  color:#626780;
  font-size:.97rem;
  line-height:1.62;
}
.blueprint-connect-bridge{
  margin-top:22px;
  padding:24px 26px 22px;
  border-radius:26px;
  background:#101239;
  box-shadow:0 22px 44px rgba(15,17,51,.16);
}
.blueprint-connect-bridge-label{
  display:inline-block;
  margin-bottom:10px;
  color:#F2BE50;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.blueprint-connect-bridge p{
  margin:0;
  color:#F6F7FB;
  font-size:1.02rem;
  line-height:1.68;
}
.blueprint-form-card{
  position:relative;
  overflow:hidden;
  padding:38px 38px 36px;
  border:0;
  border-radius:30px;
  box-shadow:0 28px 60px rgba(15,17,51,.14);
}
.blueprint-form-topline{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:6px;
  background:linear-gradient(90deg,#F2BE50,#FFD978);
}
.blueprint-form-card .kicker{
  margin-top:4px;
}
.blueprint-form-card h3{
  color:#101239;
  font-size:1.8rem;
  margin-bottom:10px;
}
.blueprint-form-card .small{
  max-width:540px;
  margin-bottom:24px;
}
.blueprint-form-card .field{
  margin-bottom:16px;
}
.blueprint-form-card .field label{
  color:#101239;
  font-size:.94rem;
}
.blueprint-form-card .field input,
.blueprint-form-card .field textarea,
.blueprint-form-card .field select{
  padding:15px 16px;
  border:1px solid #D5D8E3;
  border-radius:14px;
  background:#FAFBFD;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.blueprint-form-card .field input:focus,
.blueprint-form-card .field textarea:focus,
.blueprint-form-card .field select:focus{
  outline:none;
  border-color:#F2BE50;
  background:#fff;
  box-shadow:0 0 0 4px rgba(242,190,80,.13);
}
.blueprint-submit{
  margin-top:6px;
  min-height:58px;
}

/* Context editorial section */
.blueprint-context-section{
  padding:104px 0;
  background:#fff;
}
.blueprint-context-grid{
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:68px;
  align-items:center;
}
.blueprint-context-photo{
  position:relative;
  min-height:570px;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 26px 54px rgba(15,17,51,.13);
}
.blueprint-context-photo img{
  width:100%;
  height:100%;
  min-height:570px;
  object-fit:cover;
  object-position:center 48%;
  filter:grayscale(100%);
}
.blueprint-context-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(15,17,51,.60));
}
.blueprint-context-photo-label{
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:2;
  color:#EEF0F5;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.16em;
}
.blueprint-context-copy h2{
  max-width:590px;
  color:#101239;
  font-size:clamp(2.7rem,4vw,4.25rem);
  line-height:1.02;
}
.blueprint-context-copy .lead{
  max-width:580px;
  color:#626780;
  font-size:1.2rem;
  line-height:1.65;
}
.blueprint-context-quote{
  margin-top:30px;
  padding:22px 24px;
  border-left:5px solid #F2BE50;
  border-radius:0 18px 18px 0;
  background:#F7F4EA;
  color:#101239;
  font-size:1.08rem;
  font-weight:800;
}

/* Capture section */
.blueprint-capture-section{
  position:relative;
  overflow:hidden;
  padding:98px 0 108px;
  background:#101239;
}
.blueprint-capture-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(15,17,51,.90),rgba(15,17,51,.94)),
    url('gym-dumbbell-reach-new.png') center 45%/cover no-repeat;
}
.blueprint-capture-section .container{
  position:relative;
  z-index:1;
}
.blueprint-capture-head h2{
  color:#EEF0F5;
}
.blueprint-capture-head .lead{
  color:#D6D9E6;
}
.blueprint-capture-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.blueprint-capture-card{
  position:relative;
  min-height:290px;
  padding:32px 30px 30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(9px);
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.blueprint-capture-card:hover{
  transform:translateY(-6px);
  border-color:rgba(242,190,80,.55);
  background:rgba(255,255,255,.12);
}
.blueprint-capture-icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#F2BE50;
  color:#101239;
  font-size:1.55rem;
  font-weight:900;
}
.blueprint-capture-index{
  position:absolute;
  right:24px;
  top:24px;
  color:rgba(255,255,255,.18);
  font-size:2.3rem;
  font-weight:900;
}
.blueprint-capture-card h3{
  margin:30px 0 12px;
  color:#EEF0F5;
  font-size:1.45rem;
}
.blueprint-capture-card p{
  margin:0;
  color:#D8DBE7;
  font-size:.98rem;
  line-height:1.62;
}

@media(max-width:980px){
  .blueprint-hero-inner,
  .blueprint-connect-grid,
  .blueprint-context-grid{
    grid-template-columns:1fr;
  }
  .blueprint-hero-mark{
    justify-self:start;
    width:100%;
    min-height:240px;
    flex-direction:row;
    justify-content:center;
    gap:30px;
  }
  .blueprint-hero-mark img{
    height:120px;
    margin:0;
  }
  .blueprint-connect-copy{
    padding-top:0;
  }
  .blueprint-connect-cards{
    grid-template-columns:1fr;
  }
  .blueprint-connect-card{
    min-height:auto;
  }
  .blueprint-capture-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .blueprint-hero{
    min-height:auto;
  }
  .blueprint-hero-inner{
    padding:66px 0 58px;
  }
  .blueprint-hero-copy h1{
    font-size:3.25rem;
  }
  .blueprint-hero-mark{
    padding:28px 24px;
    flex-direction:column;
  }
  .blueprint-connect-section,
  .blueprint-context-section,
  .blueprint-capture-section{
    padding:74px 0 80px;
  }
  .blueprint-connect-copy h2{
    font-size:3rem;
  }
  .blueprint-connect-lead{
    font-size:1rem;
    line-height:1.65;
  }
  .blueprint-connect-cards{
    gap:14px;
    margin-top:28px;
  }
  .blueprint-connect-card{
    padding:20px 18px 18px;
    border-radius:22px;
  }
  .blueprint-connect-bridge{
    padding:20px 18px 18px;
    border-radius:22px;
  }
  .blueprint-form-card{
    padding:30px 22px 26px;
  }
  .blueprint-context-photo,
  .blueprint-context-photo img{
    min-height:430px;
  }
}


/* =========================================================
   v51 — Platform page redesign
   ========================================================= */

.platform-page{
  background:#fff;
}

/* Hero */
.platform-hero{
  position:relative;
  overflow:hidden;
  min-height:650px;
  display:flex;
  align-items:center;
  color:#EEF0F5;
  background:#0F1133;
}
.platform-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(15,17,51,.96) 0%,rgba(15,17,51,.88) 46%,rgba(15,17,51,.60) 74%,rgba(15,17,51,.46) 100%),
    url('coaching-client-actual.jpg') center 42%/cover no-repeat;
}
.platform-hero-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(242,190,80,.13),transparent 31%);
}
.platform-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:center;
  padding:80px 0;
}
.platform-hero-copy h1{
  color:#EEF0F5;
  max-width:720px;
  margin-bottom:24px;
  font-size:clamp(3.5rem,5.1vw,5.5rem);
  line-height:.99;
  letter-spacing:-.05em;
}
.platform-hero-copy .lead{
  max-width:680px;
  color:#DFE2EC;
  font-size:1.18rem;
  line-height:1.62;
}
.platform-hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}
.platform-hero-pills span{
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#EEF0F5;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.05em;
}

.platform-hero-console{
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:30px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
  box-shadow:0 28px 58px rgba(0,0,0,.24);
}
.platform-console-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.platform-console-top strong{
  display:block;
  margin-top:4px;
  color:#EEF0F5;
  font-size:1.25rem;
}
.platform-console-eyebrow{
  color:#C8CBD7;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.14em;
}
.platform-console-live{
  padding:7px 10px;
  border-radius:999px;
  background:#F2BE50;
  color:#101239;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.08em;
}
.platform-console-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.platform-console-tile{
  min-height:124px;
  padding:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(15,17,51,.38);
}
.platform-console-tile.gold{
  background:linear-gradient(145deg,rgba(242,190,80,.20),rgba(242,190,80,.08));
  border-color:rgba(242,190,80,.35);
}
.platform-console-tile span{
  color:#F2BE50;
  font-size:.66rem;
  font-weight:900;
}
.platform-console-tile strong{
  display:block;
  margin-top:16px;
  color:#EEF0F5;
  font-size:1rem;
}
.platform-console-tile small{
  display:block;
  margin-top:4px;
  color:#C4C8D7;
}
.platform-console-flow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:14px;
  padding:13px 15px;
  border-radius:15px;
  background:#0F1133;
  color:#E8EAF2;
  font-size:.69rem;
  font-weight:800;
}
.platform-console-flow i{
  color:#F2BE50;
  font-style:normal;
}

/* System / bento */
.platform-system-section{
  padding:100px 0 108px;
  background:#F6F7FA;
}
.platform-system-head{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:end;
  margin-bottom:44px;
}
.platform-system-head h2{
  max-width:760px;
  color:#101239;
}
.platform-system-head>p{
  margin:0 0 8px;
  color:#626780;
  font-size:1.06rem;
  line-height:1.62;
}
.platform-bento{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.platform-bento-card{
  position:relative;
  min-height:260px;
  padding:28px;
  overflow:hidden;
  border:1px solid #DFE1E9;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,17,51,.05);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.platform-bento-card:hover{
  transform:translateY(-5px);
  border-color:#E6C56B;
  box-shadow:0 20px 38px rgba(15,17,51,.10);
}
.platform-bento-large{
  grid-column:span 2;
}
.platform-bento-wide{
  grid-column:span 2;
  background:#101239;
  border-color:#101239;
}
.platform-bento-number{
  position:absolute;
  right:20px;
  top:18px;
  color:#ECEEF3;
  font-size:2.8rem;
  font-weight:900;
}
.platform-bento-wide .platform-bento-number{
  color:rgba(255,255,255,.11);
}
.platform-bento-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#FFF3D9;
  color:#B78625;
  font-size:1.35rem;
  font-weight:900;
}
.platform-bento-card h3{
  position:relative;
  z-index:1;
  margin:24px 0 10px;
  color:#101239;
}
.platform-bento-card p{
  position:relative;
  z-index:1;
  max-width:650px;
  margin:0;
  color:#626780;
  line-height:1.62;
}
.platform-bento-wide h3,
.platform-bento-wide p{
  color:#EEF0F5;
}
.platform-bento-wide p{
  color:#D5D8E4;
}
.platform-data-strip,
.platform-approval-flow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:24px;
}
.platform-data-strip span,
.platform-approval-flow span{
  padding:8px 11px;
  border-radius:999px;
  background:#F4F5F8;
  color:#545A73;
  font-size:.68rem;
  font-weight:850;
}
.platform-approval-flow span{
  background:rgba(255,255,255,.09);
  color:#EEF0F5;
}
.platform-approval-flow i{
  color:#F2BE50;
  font-style:normal;
}

/* AI */
.platform-ai-section{
  position:relative;
  overflow:hidden;
  padding:108px 0;
  background:#101239;
  color:#EEF0F5;
}
.platform-ai-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(15,17,51,.94),rgba(15,17,51,.86)),
    url('gym-dumbbell-reach-new.png') center 48%/cover no-repeat;
}
.platform-ai-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:70px;
  align-items:center;
}
.platform-ai-copy h2{
  color:#EEF0F5;
  max-width:650px;
  font-size:clamp(2.8rem,4vw,4.3rem);
  line-height:1.02;
}
.platform-ai-copy .lead{
  max-width:650px;
  color:#D9DCE8;
}
.platform-ai-rules{
  display:grid;
  gap:12px;
  margin-top:28px;
}
.platform-ai-rules div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  align-items:start;
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.platform-ai-rules span{
  color:#F2BE50;
  font-size:.72rem;
  font-weight:900;
}
.platform-ai-rules p{
  margin:0;
  color:#ECEEF5;
  font-weight:650;
}

.platform-command-center{
  padding:28px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  box-shadow:0 30px 60px rgba(0,0,0,.24);
}
.platform-command-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.platform-command-header small{
  color:#AEB3C5;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.14em;
}
.platform-command-header strong{
  display:block;
  margin-top:4px;
  color:#EEF0F5;
  font-size:1.15rem;
}
.platform-command-header>span{
  align-self:start;
  padding:7px 10px;
  border-radius:999px;
  background:#F2BE50;
  color:#101239;
  font-size:.62rem;
  font-weight:900;
}
.platform-command-row{
  display:grid;
  grid-template-columns:13px 1fr auto;
  gap:13px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.platform-command-status{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#858BA1;
}
.platform-command-status.active{
  background:#F2BE50;
  box-shadow:0 0 0 5px rgba(242,190,80,.10);
}
.platform-command-row strong{
  display:block;
  color:#EEF0F5;
  font-size:.98rem;
}
.platform-command-row small{
  display:block;
  margin-top:4px;
  color:#BFC4D3;
  line-height:1.45;
}
.platform-command-badge{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#DCE0EA;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.07em;
}
.platform-command-footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-top:20px;
  color:#BFC4D3;
  font-size:.78rem;
}
.platform-command-footer strong{
  color:#F2BE50;
}

/* Human */
.platform-human-section{
  padding:108px 0;
  background:#fff;
}
.platform-human-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:70px;
  align-items:center;
}
.platform-human-photo{
  position:relative;
  min-height:620px;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 28px 56px rgba(15,17,51,.13);
}
.platform-human-photo img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:center center;
  filter:grayscale(100%);
}
.platform-human-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(15,17,51,.62));
}
.platform-human-photo-tag{
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:2;
  color:#EEF0F5;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
}
.platform-human-copy h2{
  color:#101239;
  max-width:620px;
  font-size:clamp(2.7rem,4vw,4.15rem);
  line-height:1.03;
}
.platform-human-copy .lead{
  max-width:600px;
  color:#626780;
  line-height:1.65;
}
.platform-human-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:30px 0 32px;
}
.platform-human-points div{
  padding:18px;
  border:1px solid #E1E3EA;
  border-radius:18px;
  background:#F8F9FB;
}
.platform-human-points span{
  color:#F2BE50;
  font-size:.66rem;
  font-weight:900;
}
.platform-human-points strong{
  display:block;
  margin:8px 0 4px;
  color:#101239;
}
.platform-human-points p{
  margin:0;
  color:#6B7088;
  font-size:.82rem;
  line-height:1.45;
}

/* CTA */
.platform-cta-section{
  padding:0 0 96px;
  background:#fff;
}
.platform-cta-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
  padding:48px 52px;
  border-radius:30px;
  background:#101239;
  color:#EEF0F5;
}
.platform-cta-card h2{
  color:#EEF0F5;
  max-width:760px;
  margin-bottom:8px;
}
.platform-cta-card p{
  margin:0;
  color:#C9CDDA;
}

@media(max-width:1020px){
  .platform-hero-grid,
  .platform-system-head,
  .platform-ai-grid,
  .platform-human-grid{
    grid-template-columns:1fr;
  }
  .platform-bento{
    grid-template-columns:repeat(2,1fr);
  }
  .platform-bento-large,
  .platform-bento-wide{
    grid-column:span 2;
  }
  .platform-human-points{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .platform-hero{
    min-height:auto;
  }
  .platform-hero-grid{
    padding:68px 0 58px;
  }
  .platform-hero-copy h1{
    font-size:3.25rem;
  }
  .platform-console-grid,
  .platform-bento{
    grid-template-columns:1fr;
  }
  .platform-bento-large,
  .platform-bento-wide{
    grid-column:auto;
  }
  .platform-system-section,
  .platform-ai-section,
  .platform-human-section{
    padding:76px 0;
  }
  .platform-human-photo,
  .platform-human-photo img{
    min-height:440px;
  }
  .platform-cta-card{
    grid-template-columns:1fr;
    padding:34px 26px;
  }
}


/* =========================================================
   v56 — One uniform photo footer across the entire public site
   Chosen image: hero-actual.jpg
   ========================================================= */

.footer.footer-photo{
  position:relative;
  overflow:hidden;
  min-height:410px;
  padding:72px 0 34px;
  border-top:4px solid #F2BE50;
  background:
    linear-gradient(90deg,rgba(11,13,40,.98) 0%,rgba(11,13,40,.95) 46%,rgba(11,13,40,.83) 72%,rgba(11,13,40,.70) 100%),
    url('hero-actual.jpg') 68% 50%/cover no-repeat;
  color:#D4D7E2;
}
.footer-photo-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(11,13,40,.10),rgba(11,13,40,.30)),
    radial-gradient(circle at 10% 15%,rgba(242,190,80,.08),transparent 28%);
  pointer-events:none;
}
.footer-content{
  position:relative;
  z-index:2;
}
.footer.footer-photo .footer-grid{
  display:grid;
  grid-template-columns:1.55fr repeat(3,.72fr);
  gap:44px;
  align-items:start;
}
.footer.footer-photo .footer-brand-column{
  max-width:430px;
}
.footer.footer-photo .footer-brand{
  margin-bottom:18px;
}
.footer.footer-photo .site-logo-footer{
  width:54px;
  height:54px;
  object-fit:contain;
  padding:5px;
  border-radius:14px;
  background:rgba(255,255,255,.95);
  box-shadow:0 10px 26px rgba(0,0,0,.14);
}
.footer-brand-name{
  color:#EEF0F5;
  font-size:1.06rem;
  font-weight:900;
}
.footer-brand-sub{
  margin-top:3px;
  color:#DDE0E8;
  font-size:.69rem;
  font-weight:750;
  letter-spacing:.17em;
}
.footer.footer-photo p{
  color:#D2D6E1;
  line-height:1.65;
}
.footer.footer-photo .footer-tagline{
  margin-top:12px;
  color:#F2BE50;
  font-weight:800;
}
.footer.footer-photo h4{
  margin:5px 0 16px;
  color:#EEF0F5;
  font-size:.88rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer.footer-photo a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:10px 0;
  color:#D9DCE6;
  transition:color .2s ease, transform .2s ease;
}
.footer.footer-photo a:hover{
  color:#F2BE50;
  transform:translateX(3px);
}
.footer.footer-photo .footer-bottom{
  margin-top:52px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#AEB3C3;
  font-size:.82rem;
}

@media(max-width:1000px){
  .footer.footer-photo .footer-grid{
    grid-template-columns:1.2fr 1fr 1fr;
  }
  .footer.footer-photo .footer-grid > div:last-child{
    grid-column:2 / 4;
  }
}
@media(max-width:760px){
  .footer.footer-photo{
    min-height:auto;
    padding:58px 0 28px;
    background:
      linear-gradient(rgba(11,13,40,.94),rgba(11,13,40,.94)),
      url('hero-actual.jpg') 70% 50%/cover no-repeat;
  }
  .footer.footer-photo .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:32px 24px;
  }
  .footer.footer-photo .footer-brand-column{
    grid-column:1 / -1;
  }
  .footer.footer-photo .footer-grid > div:last-child{
    grid-column:auto;
  }
  .footer.footer-photo .footer-bottom{
    margin-top:38px;
  }
}
@media(max-width:520px){
  .footer.footer-photo .footer-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v58 — Lean launch site cleanup
   ========================================================= */

.method-readiness-statement{
  margin-top:28px;
  padding:22px 24px;
  border-left:5px solid #F2BE50;
  border-radius:0 18px 18px 0;
  background:#F7F4EA;
  color:#101239;
  font-size:1.08rem;
  line-height:1.55;
  font-weight:850;
}

.platform-bento-lean .platform-bento-card{
  min-height:250px;
}
.platform-command-simple{
  padding:30px;
}
.platform-command-simple .platform-command-header{
  border-bottom:1px solid rgba(255,255,255,.13);
  padding-bottom:20px;
  margin-bottom:4px;
}
.platform-simple-point{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:14px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.platform-simple-point:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.platform-simple-point>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#F2BE50;
  color:#101239;
  font-weight:950;
}
.platform-simple-point strong{
  display:block;
  color:#EEF0F5;
  font-size:1rem;
}
.platform-simple-point small{
  display:block;
  margin-top:5px;
  color:#C7CBD8;
  font-size:.86rem;
  line-height:1.5;
}

.blueprint-start-card{
  position:relative;
  overflow:hidden;
  padding:42px 40px 38px;
  border-radius:30px;
  background:#fff;
  box-shadow:0 28px 60px rgba(15,17,51,.14);
}
.blueprint-start-accent{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:6px;
  background:linear-gradient(90deg,#F2BE50,#FFD978);
}
.blueprint-start-card h3{
  margin:6px 0 14px;
  color:#101239;
  font-size:2rem;
}
.blueprint-start-card>p{
  margin:0;
  color:#626780;
  font-size:1.02rem;
  line-height:1.68;
}
.blueprint-start-points{
  display:grid;
  gap:10px;
  margin:26px 0 28px;
  padding:20px;
  border-radius:20px;
  background:#F7F8FB;
  color:#101239;
  font-weight:750;
}
.blueprint-start-points span::first-letter{
  color:#F2BE50;
}
.blueprint-start-button{
  width:100%;
  min-height:58px;
}
.footer.footer-photo .footer-grid-lean{
  grid-template-columns:1.65fr .72fr .62fr .72fr;
}

@media(max-width:980px){
  .footer.footer-photo .footer-grid-lean{
    grid-template-columns:1.2fr 1fr 1fr;
  }
  .footer.footer-photo .footer-grid-lean > div:last-child{
    grid-column:auto;
  }
}
@media(max-width:640px){
  .blueprint-start-card{
    padding:32px 22px 26px;
  }
  .blueprint-start-card h3{
    font-size:1.7rem;
  }
}


/* =========================================================
   v59 — Method page standout redesign
   ========================================================= */
.method-hero-standout{position:relative;overflow:hidden;background:#101239;color:#EEF0F5}
.method-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,51,.90) 0%,rgba(15,17,51,.82) 44%,rgba(15,17,51,.52) 100%),url('gym-dumbbell-reach-new.png') center 42%/cover no-repeat}
.method-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) 440px;gap:46px;align-items:center;padding:86px 0 78px}
.method-hero-kicker{color:#F2BE50}
.method-hero-copy h1{max-width:780px;margin:0 0 18px;font-size:clamp(52px,6vw,84px);line-height:.98;letter-spacing:-.045em;color:#EEF0F5}
.method-hero-copy .lead{max-width:720px;color:#DCE0EC;font-size:1.16rem;line-height:1.72}
.method-hero-chips{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 30px}
.method-hero-chips span{padding:12px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#EEF0F5;font-weight:720;font-size:.94rem}
.method-hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.btn-outline-light{min-height:54px;padding:0 26px;border-radius:999px;border:1.5px solid rgba(255,255,255,.34);display:inline-flex;align-items:center;justify-content:center;color:#EEF0F5;background:rgba(255,255,255,.04);font-weight:800;transition:.25s ease}
.btn-outline-light:hover{transform:translateY(-1px);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55)}
.method-hero-panel{padding:28px;border-radius:28px;background:rgba(255,255,255,.10);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.22)}
.method-panel-top{display:flex;flex-direction:column;gap:8px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}
.method-panel-label{color:#F2BE50;font-size:.77rem;font-weight:900;letter-spacing:.18em}
.method-panel-top strong{font-size:1.55rem;line-height:1.15;color:#EEF0F5}
.method-panel-grid{display:grid;gap:14px;padding:22px 0}
.method-panel-item{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:14px;border-radius:18px;background:rgba(255,255,255,.06)}
.method-panel-item>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#F2BE50;color:#101239;font-weight:900}
.method-panel-item strong{display:block;color:#EEF0F5;font-size:1rem}
.method-panel-item small{display:block;margin-top:4px;color:#D0D5E2;font-size:.9rem;line-height:1.5}
.method-panel-quote{padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:#EEF0F5;font-weight:840;font-size:1.05rem}
.method-pillars-band{position:relative;padding:84px 0;background:linear-gradient(180deg,#13184A 0%,#0F1133 100%);color:#EEF0F5}
.method-pillars-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(242,190,80,.15),transparent 22%),radial-gradient(circle at 88% 30%,rgba(255,255,255,.07),transparent 18%)}
.method-pillars-band .container{position:relative;z-index:1}
.light-head h2,.light-head .lead{color:#EEF0F5}
.light-head .lead{max-width:830px;margin-inline:auto;color:#D9DEEA}
.method-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.method-pillar-card{position:relative;min-height:340px;padding:30px 28px 28px;border-radius:28px;background:#fff;color:#101239;box-shadow:0 22px 50px rgba(0,0,0,.18)}
.method-pillar-card ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:11px}
.method-pillar-card li{position:relative;padding-left:18px;color:#5F6580;line-height:1.52}
.method-pillar-card li:before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:#F2BE50}
.method-pillar-card h3{margin:16px 0 10px;font-size:1.9rem;letter-spacing:-.02em}
.method-pillar-card p{margin:0;color:#5F6580;line-height:1.65}
.method-pillar-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:1.7rem;font-weight:900}
.method-pillar-card.mobility .method-pillar-icon{background:#FFF3D7;color:#D89C15}
.method-pillar-card.stability .method-pillar-icon{background:#EFF0F6;color:#777D97}
.method-pillar-card.strength .method-pillar-icon{background:#EEF0F9;color:#101239}
.method-pillar-number{position:absolute;top:28px;right:28px;font-size:.85rem;font-weight:900;color:#B2B7C8;letter-spacing:.16em}
.method-flow-section{padding:92px 0;background:#F7F8FB}
.method-flow-grid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:42px;align-items:center}
.method-flow-copy h2{max-width:680px}
.method-flow-steps{display:grid;gap:18px;margin-top:28px}
.method-flow-step{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;padding:18px 20px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(15,17,51,.08)}
.method-flow-step>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#101239;color:#EEF0F5;font-weight:900}
.method-flow-step strong{display:block;margin-bottom:5px;color:#101239;font-size:1rem}
.method-flow-step p{margin:0;color:#61667E;line-height:1.58}
.method-flow-visual{display:grid;gap:18px}
.method-flow-photo{height:450px;border-radius:34px;overflow:hidden;box-shadow:0 25px 55px rgba(15,17,51,.14)}
.method-flow-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.method-flow-card{padding:26px;border-radius:28px;background:#101239;color:#EEF0F5;box-shadow:0 20px 50px rgba(15,17,51,.18)}
.method-flow-card-top{margin-bottom:16px;color:#F2BE50;font-size:.82rem;font-weight:900;letter-spacing:.18em}
.method-flow-card-stack{display:grid;gap:10px}
.method-stack-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.07)}
.method-stack-row strong{font-size:1rem}
.method-stack-row span{color:#D4D9E6;font-size:.92rem;text-align:right}
.method-stack-arrow{display:grid;place-items:center;color:#F2BE50;font-weight:900;font-size:1.2rem}
.method-principles-strip{padding:0 0 86px;background:#F7F8FB}
.method-principles-card{display:grid;grid-template-columns:350px 1fr;gap:34px;padding:36px 40px;border-radius:32px;background:#101239;color:#EEF0F5;box-shadow:0 22px 50px rgba(15,17,51,.16)}
.method-principles-intro h2{margin:8px 0 0;color:#EEF0F5}
.method-principles-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.method-principles-list>div{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:16px;border-radius:20px;background:rgba(255,255,255,.06)}
.method-principles-list span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#F2BE50;color:#101239;font-weight:900}
.method-principles-list p{margin:0;color:#D7DCEA;line-height:1.6}
.method-principles-list strong{color:#EEF0F5}
.method-cta-section{padding:0 0 100px;background:#F7F8FB}
.method-cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;padding:34px 40px;border-radius:32px;background:linear-gradient(135deg,#FFF8E6 0%,#FFFFFF 100%);border:1px solid rgba(15,17,51,.08);box-shadow:0 22px 50px rgba(15,17,51,.08)}
.method-cta-card h2{margin:8px 0 12px}
.method-cta-card p{margin:0;max-width:760px;color:#61667E;line-height:1.62}
.method-cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}
@media(max-width:1100px){
  .method-hero-inner,.method-flow-grid{grid-template-columns:1fr}
  .method-hero-panel{max-width:520px}
  .method-pillars-grid,.method-principles-list{grid-template-columns:1fr}
  .method-principles-card,.method-cta-card{grid-template-columns:1fr}
  .method-cta-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .method-hero-inner{padding:66px 0 60px;gap:28px}
  .method-hero-copy h1{font-size:46px}
  .method-pillars-band,.method-flow-section{padding:68px 0}
  .method-pillars-grid{gap:18px}
  .method-pillar-card{min-height:auto;padding:24px}
  .method-flow-photo{height:340px}
  .method-principles-card,.method-cta-card{padding:26px 22px}
  .method-flow-step{grid-template-columns:48px 1fr;padding:16px}
  .method-stack-row{flex-direction:column;align-items:flex-start}
}


/* =========================================================
   v60 — Premium dynamic buttons across the whole site
   ========================================================= */

/* Shared premium motion */
.btn,
.tab,
.freq button,
.menu-btn,
.ask-coach-nick{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform:translateZ(0);
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    filter .28s ease,
    color .28s ease,
    background .28s ease;
}

/* Animated gold buttons */
.btn-gold{
  background:
    linear-gradient(115deg,
      #F2BE50 0%,
      #FFD978 26%,
      #F2BE50 48%,
      #E5A936 72%,
      #FFD978 100%);
  background-size:220% 220%;
  color:#101239;
  border:1px solid rgba(242,190,80,.75);
  box-shadow:
    0 10px 24px rgba(242,190,80,.20),
    inset 0 1px 0 rgba(255,255,255,.35);
  animation:premiumGoldFlow 6s ease-in-out infinite;
}

/* Animated navy buttons */
.btn-navy{
  background:
    linear-gradient(115deg,
      #0F1133 0%,
      #242B68 26%,
      #15194A 48%,
      #3A3977 72%,
      #0F1133 100%);
  background-size:220% 220%;
  color:#EEF0F5;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 10px 24px rgba(15,17,51,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
  animation:premiumNavyFlow 7s ease-in-out infinite;
}

/* Shimmer sweep */
.btn:before,
.tab:before,
.freq button:before,
.ask-coach-nick:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-35%;
  bottom:-35%;
  left:-50%;
  width:34%;
  transform:skewX(-22deg);
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.42),
    transparent
  );
  opacity:0;
  pointer-events:none;
}

.btn:hover:before,
.tab:hover:before,
.freq button:hover:before,
.ask-coach-nick:hover:before{
  opacity:.75;
  animation:premiumSweep .78s ease forwards;
}

.btn:hover{
  transform:translateY(-3px) scale(1.015);
  filter:saturate(1.08);
}

.btn-gold:hover{
  box-shadow:
    0 16px 34px rgba(242,190,80,.30),
    0 0 0 5px rgba(242,190,80,.08),
    inset 0 1px 0 rgba(255,255,255,.40);
}

.btn-navy:hover{
  box-shadow:
    0 16px 34px rgba(15,17,51,.30),
    0 0 0 5px rgba(36,43,104,.08),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.btn:active,
.tab:active,
.freq button:active,
.menu-btn:active,
.ask-coach-nick:active{
  transform:translateY(1px) scale(.985);
  transition-duration:.08s;
}

/* Outline buttons feel alive without becoming loud */
.btn-outline-light{
  background:
    linear-gradient(115deg,
      rgba(255,255,255,.04),
      rgba(242,190,80,.10),
      rgba(255,255,255,.05));
  background-size:220% 220%;
  animation:premiumOutlineFlow 7s ease-in-out infinite;
}
.btn-outline-light:hover{
  border-color:rgba(242,190,80,.72);
  color:#EEF0F5;
  box-shadow:0 12px 28px rgba(0,0,0,.18), 0 0 0 4px rgba(242,190,80,.07);
}

/* Navigation CTA */
.nav-actions .btn{
  box-shadow:0 8px 20px rgba(15,17,51,.16);
}

/* Program tabs */
.tab{
  background-size:220% 220%;
}
.tab.active{
  background:
    linear-gradient(115deg,#101239,#292D6A,#101239);
  background-size:220% 220%;
  color:#EEF0F5;
  border-color:#F2BE50;
  box-shadow:0 10px 22px rgba(15,17,51,.18), 0 0 0 3px rgba(242,190,80,.08);
  animation:premiumNavyFlow 6s ease-in-out infinite;
}
.tab:not(.active):hover{
  transform:translateY(-2px);
  border-color:#F2BE50;
  color:#101239;
  box-shadow:0 10px 22px rgba(15,17,51,.09);
}

/* Zoom frequency controls */
.freq button{
  background:#fff;
}
.freq button:hover{
  transform:translateY(-2px);
  border-color:#F2BE50;
  box-shadow:0 10px 20px rgba(15,17,51,.08);
}
.freq button.active{
  background:
    linear-gradient(115deg,#101239,#2D3477,#101239);
  background-size:220% 220%;
  color:#EEF0F5;
  border-color:#F2BE50;
  animation:premiumNavyFlow 6s ease-in-out infinite;
}

/* Ask Coach Nick */
.ask-coach-nick{
  background:
    linear-gradient(115deg,
      #101239 0%,
      #262D70 35%,
      #101239 62%,
      #8D6A20 100%);
  background-size:240% 240%;
  border:1px solid rgba(242,190,80,.80);
  box-shadow:
    0 14px 32px rgba(15,17,51,.24),
    0 0 0 1px rgba(242,190,80,.10);
  animation:
    premiumCoachFlow 8s ease-in-out infinite,
    premiumCoachPulse 3.2s ease-in-out infinite;
}
.ask-coach-nick:hover{
  transform:translateY(-3px) scale(1.025);
  box-shadow:
    0 18px 38px rgba(15,17,51,.32),
    0 0 0 5px rgba(242,190,80,.08);
}

/* Mobile menu control */
.menu-btn{
  border-radius:12px;
}
.menu-btn:hover{
  transform:translateY(-1px);
  background:rgba(242,190,80,.10);
  color:#101239;
}

/* Keyboard accessibility */
.btn:focus-visible,
.tab:focus-visible,
.freq button:focus-visible,
.menu-btn:focus-visible,
.ask-coach-nick:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px #fff,
    0 0 0 6px rgba(242,190,80,.80);
}

/* Motion */
@keyframes premiumGoldFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes premiumNavyFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes premiumOutlineFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes premiumCoachFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes premiumSweep{
  0%{left:-50%}
  100%{left:120%}
}
@keyframes premiumCoachPulse{
  0%,100%{box-shadow:0 14px 32px rgba(15,17,51,.24),0 0 0 0 rgba(242,190,80,.16)}
  50%{box-shadow:0 16px 34px rgba(15,17,51,.28),0 0 0 8px rgba(242,190,80,0)}
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce){
  .btn,
  .tab,
  .freq button,
  .ask-coach-nick{
    animation:none !important;
    transition:none !important;
  }
  .btn:before,
  .tab:before,
  .freq button:before,
  .ask-coach-nick:before{
    display:none !important;
  }
}

/* =========================================================
   v61 — Reactive hover motion for cards, chips, and key UI blocks
   ========================================================= */

.method-pillar-card,
.method-pillar-icon,
.method-pillar-number,
.method-flow-step,
.method-flow-step>span,
.method-principles-list>div,
.method-principles-list span,
.programs-hero-badges span,
.platform-hero-pills span,
.blueprint-hero-pills span,
.platform-console-tile,
.platform-console-tile span,
.platform-console-tile strong,
.platform-console-tile small,
.platform-human-points div,
.platform-human-points span,
.platform-human-points strong,
.platform-human-points p,
.blueprint-connect-card,
.blueprint-connect-num,
.blueprint-connect-tag,
.platform-data-strip span,
.platform-approval-flow span{
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease,
    color .28s ease,
    opacity .28s ease,
    filter .28s ease;
}

@media (hover:hover) and (pointer:fine){
  .method-pillar-card:hover{
    transform:translateY(-8px);
    box-shadow:
      0 30px 58px rgba(0,0,0,.22),
      0 0 0 1px rgba(242,190,80,.22);
  }
  .method-pillar-card:hover .method-pillar-icon{
    transform:translateY(-4px) scale(1.08);
    box-shadow:0 12px 24px rgba(15,17,51,.12);
  }
  .method-pillar-card:hover .method-pillar-number{
    color:#F2BE50;
    transform:translateY(-2px);
  }

  .method-flow-step:hover{
    transform:translateX(6px) translateY(-2px);
    background:linear-gradient(135deg,#FFFFFF 0%,#FFF8E7 100%);
    box-shadow:0 20px 40px rgba(15,17,51,.12);
  }
  .method-flow-step:hover>span{
    background:#F2BE50;
    color:#101239;
    transform:scale(1.06);
    box-shadow:0 10px 20px rgba(242,190,80,.28);
  }

  .method-principles-list>div:hover{
    transform:translateY(-6px);
    background:rgba(255,255,255,.12);
    box-shadow:
      0 18px 36px rgba(0,0,0,.16),
      inset 0 0 0 1px rgba(242,190,80,.20);
  }
  .method-principles-list>div:hover span{
    transform:scale(1.08);
  }

  .programs-hero-badges span:hover,
  .platform-hero-pills span:hover,
  .blueprint-hero-pills span:hover{
    transform:translateY(-3px);
    border-color:rgba(242,190,80,.46);
    background:rgba(255,255,255,.14);
    box-shadow:0 14px 30px rgba(15,17,51,.18);
  }

  .platform-console-tile:hover{
    transform:translateY(-6px) scale(1.012);
    background:rgba(24,29,84,.66);
    border-color:rgba(242,190,80,.24);
    box-shadow:0 22px 40px rgba(0,0,0,.22);
  }
  .platform-console-tile.gold:hover{
    background:linear-gradient(145deg,rgba(242,190,80,.28),rgba(242,190,80,.13));
    border-color:rgba(242,190,80,.48);
  }
  .platform-console-tile:hover strong{
    transform:translateY(-2px);
  }
  .platform-console-tile:hover small{
    color:#E2E6F0;
  }

  .platform-human-points div:hover{
    transform:translateY(-6px);
    background:#FFFFFF;
    border-color:#E1C06A;
    box-shadow:0 18px 36px rgba(15,17,51,.12);
  }
  .platform-human-points div:hover strong{
    color:#0F1133;
  }
  .platform-human-points div:hover p{
    color:#555C76;
  }

  .blueprint-connect-card:hover{
    transform:translateY(-6px);
    background:#FFFFFF;
    border-color:rgba(242,190,80,.42);
    box-shadow:0 24px 44px rgba(15,17,51,.11);
  }
  .blueprint-connect-card:hover .blueprint-connect-num{
    background:#F2BE50;
    color:#101239;
    transform:scale(1.06);
    box-shadow:0 10px 20px rgba(242,190,80,.24);
  }
  .blueprint-connect-card:hover .blueprint-connect-tag{
    background:rgba(242,190,80,.18);
    color:#101239;
    border-color:rgba(242,190,80,.24);
  }

  .platform-data-strip span:hover{
    transform:translateY(-3px);
    background:#FFF6DE;
    color:#101239;
    box-shadow:0 10px 22px rgba(15,17,51,.08);
  }
  .platform-approval-flow span:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.14);
    box-shadow:0 12px 24px rgba(0,0,0,.14);
  }
}

@media (prefers-reduced-motion: reduce){
  .method-pillar-card,
  .method-pillar-icon,
  .method-pillar-number,
  .method-flow-step,
  .method-flow-step>span,
  .method-principles-list>div,
  .method-principles-list span,
  .programs-hero-badges span,
  .platform-hero-pills span,
  .blueprint-hero-pills span,
  .platform-console-tile,
  .platform-console-tile span,
  .platform-console-tile strong,
  .platform-console-tile small,
  .platform-human-points div,
  .platform-human-points span,
  .platform-human-points strong,
  .platform-human-points p,
  .blueprint-connect-card,
  .blueprint-connect-num,
  .blueprint-connect-tag,
  .platform-data-strip span,
  .platform-approval-flow span{
    transition:none !important;
  }
  .method-pillar-card:hover,
  .method-pillar-card:hover .method-pillar-icon,
  .method-pillar-card:hover .method-pillar-number,
  .method-flow-step:hover,
  .method-flow-step:hover>span,
  .method-principles-list>div:hover,
  .method-principles-list>div:hover span,
  .programs-hero-badges span:hover,
  .platform-hero-pills span:hover,
  .blueprint-hero-pills span:hover,
  .platform-console-tile:hover,
  .platform-console-tile.gold:hover,
  .platform-human-points div:hover,
  .blueprint-connect-card:hover,
  .blueprint-connect-card:hover .blueprint-connect-num,
  .blueprint-connect-card:hover .blueprint-connect-tag,
  .platform-data-strip span:hover,
  .platform-approval-flow span:hover{
    transform:none !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   v62 — Blueprint symmetry + heartbeat emphasis
   ========================================================= */
.blueprint-start-stack{
  display:grid;
  gap:22px;
  align-self:start;
  min-width:0;
}
.blueprint-start-stack .blueprint-start-card,
.blueprint-start-stack .blueprint-connect-bridge{
  width:100%;
  margin:0;
}
.blueprint-start-stack .blueprint-connect-bridge{
  border-radius:30px;
  padding:28px 30px 27px;
  border:1px solid rgba(242,190,80,.14);
  box-shadow:0 22px 44px rgba(15,17,51,.16);
}
.blueprint-heartbeat-card{
  transform-origin:center center;
  animation:blueprintHeartbeat 3.4s ease-in-out infinite;
}
.blueprint-heartbeat-card:hover{
  animation-play-state:paused;
  transform:translateY(-4px) scale(1.01);
  box-shadow:
    0 28px 52px rgba(15,17,51,.22),
    0 0 0 4px rgba(242,190,80,.08);
}
@keyframes blueprintHeartbeat{
  0%,68%,100%{
    transform:scale(1);
    box-shadow:0 22px 44px rgba(15,17,51,.16),0 0 0 0 rgba(242,190,80,0);
  }
  72%{
    transform:scale(1.018);
    box-shadow:0 24px 48px rgba(15,17,51,.20),0 0 0 7px rgba(242,190,80,.07);
  }
  76%{
    transform:scale(1);
    box-shadow:0 22px 44px rgba(15,17,51,.16),0 0 0 0 rgba(242,190,80,0);
  }
  80%{
    transform:scale(1.010);
    box-shadow:0 23px 46px rgba(15,17,51,.18),0 0 0 4px rgba(242,190,80,.05);
  }
  84%{
    transform:scale(1);
    box-shadow:0 22px 44px rgba(15,17,51,.16),0 0 0 0 rgba(242,190,80,0);
  }
}
@media(max-width:980px){
  .blueprint-start-stack{width:100%;}
}
@media(max-width:640px){
  .blueprint-start-stack{gap:16px;}
  .blueprint-start-stack .blueprint-connect-bridge{
    padding:22px 20px 21px;
    border-radius:22px;
  }
}
@media(prefers-reduced-motion:reduce){
  .blueprint-heartbeat-card{animation:none !important;}
}

/* =========================================================
   v63 — Blueprint WHY IT MATTERS vertical balance
   ========================================================= */
.blueprint-start-stack .blueprint-connect-bridge{
  margin-top:34px;
}
@media(max-width:980px){
  .blueprint-start-stack .blueprint-connect-bridge{
    margin-top:10px;
  }
}
@media(max-width:640px){
  .blueprint-start-stack .blueprint-connect-bridge{
    margin-top:4px;
  }
}

/* =========================================================
   v64 — Tighten Blueprint right-column balance
   Removes excess open space beneath WHY IT MATTERS by letting
   the right-side stack fill the height of the four left cards.
   ========================================================= */
@media(min-width:981px){
  .blueprint-connect-grid{
    align-items:stretch;
  }
  .blueprint-connect-copy{
    align-self:start;
  }
  .blueprint-start-stack{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    gap:22px;
  }
  .blueprint-start-stack .blueprint-connect-bridge{
    margin-top:auto;
  }
}

/* =========================================================
   v65 — Center WHY IT MATTERS against the left Blueprint cards
   Keep it under Start Your CFIT Blueprint, but visually center it
   between the top and bottom rows of the left card grid.
   ========================================================= */
@media(min-width:981px){
  .blueprint-connect-grid{
    align-items:start;
  }
  .blueprint-start-stack{
    align-self:start;
    display:grid;
    gap:22px;
  }
  .blueprint-start-stack .blueprint-connect-bridge{
    margin-top:108px;
  }
}


/* =========================================================
   v66 — Live Zoom coaching video
   ========================================================= */
.zoom-live-video-wrap{
  position:relative;
  overflow:hidden;
  background:#0F1133;
  isolation:isolate;
}
.zoom-live-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#0F1133;
}
.zoom-live-video-wrap:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(15,17,51,.02) 34%,rgba(15,17,51,.72) 100%);
  z-index:1;
}
.zoom-live-video-badge{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(15,17,51,.62);
  backdrop-filter:blur(8px);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.zoom-live-video-badge span{
  color:#F2BE50;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.14em;
}
.zoom-live-video-badge strong{
  color:#EEF0F5;
  font-size:.86rem;
  line-height:1.25;
}
.zoom-live-video-large .zoom-live-video-badge{
  left:24px;
  right:24px;
  bottom:22px;
  padding:14px 16px;
}
.zoom-live-video-large .zoom-live-video-badge strong{font-size:.96rem}
@media(max-width:760px){
  .zoom-live-video{object-position:center center}
  .zoom-live-video-badge{left:12px;right:12px;bottom:12px;padding:10px 12px}
  .zoom-live-video-badge strong{font-size:.78rem}
}


/* =========================================================
   v67 — Softer site-wide bright text + clearer Zoom copy
   ========================================================= */

:root{
  --cfit-soft-white:#EEF0F5;
  --cfit-soft-white-2:#D8DCE7;
  --cfit-soft-white-3:#BEC5D5;
}

/* Live Zoom copy: visible on the dark/photo background, but intentionally not bright white */
.programs-page #zoomPanel h2{
  color:#E7E9F0;
}
.programs-page #zoomPanel .lead{
  color:#C3C9D7;
  opacity:.94;
}
.programs-page #zoomPanel .kicker{
  color:#E7B94E;
}

/* Tone down near-white supporting copy across dark areas */
.hero-copy p,
.page-hero .lead,
.programs-section-head .lead,
.split-copy p,
.philosophy-copy p,
.section-dark p,
.method-hero-copy .lead,
.light-head .lead,
.platform-hero-copy .lead,
.platform-ai-copy .lead,
.footer.footer-photo p,
.footer.footer-photo a,
.zoom-live-video-badge strong{
  color:#D3D8E4;
}

/* Headings remain clear but less stark than pure white */
.hero h1,
.page-hero h1,
.section-dark h1,
.section-dark h2,
.section-dark h3,
.split-copy h2,
.philosophy-copy h2,
.philosophy-copy h3,
.programs-section-head h2,
.method-hero-copy h1,
.method-pillars-band h2,
.method-principles-card h2,
.platform-hero-copy h1,
.platform-ai-copy h2,
.footer.footer-photo h4,
.footer-brand-name,
.zoom-live-video-badge strong{
  color:#ECEEF4;
}

/* Keep body copy in dark program cards softer as well */
.program-body p{
  color:#D7DBE5;
}

/* Slightly soften bright micro-copy without losing hierarchy */
.hero-micro,
.proof-item,
.footer-bottom,
.method-panel-item small,
.method-stack-row span,
.platform-console-tile small,
.platform-simple-point small{
  color:#C7CDDA;
}

/* Maintain accessibility/readability while softening the visual intensity */
@media (prefers-contrast: more){
  .programs-page #zoomPanel .lead{
    color:#D8DCE6;
    opacity:1;
  }
}


/* =========================================================
   v68 — Mobile brand lock + softer site-wide dark text
   ========================================================= */

.brand-sub-mobile{
  display:none;
}

/* Softer dark-surface palette: intentionally less stark than white */
:root{
  --cfit-dark-heading:#DDE1E9;
  --cfit-dark-body:#B8C0CF;
  --cfit-dark-soft:#A7B0C2;
  --cfit-dark-button:#E1E4EB;
}

/* Dark areas — headings */
:is(
  .hero,
  .page-hero,
  .section-dark,
  .split-dark,
  .philosophy,
  .cta-band,
  .footer,
  .footer-photo,
  .program-card,
  .programs-hero,
  .programs-offer-section,
  .platform-screen,
  .platform-hero,
  .platform-ai-section,
  .platform-command-card,
  .platform-cta-section,
  .blueprint-hero,
  .blueprint-connect-bridge,
  .method-hero-standout,
  .method-pillars-band,
  .method-flow-card,
  .method-principles-card,
  .live-exact-hero,
  .live-exact-method
) :is(h1,h2,h3,h4){
  color:var(--cfit-dark-heading) !important;
}

/* Dark areas — supporting copy */
:is(
  .hero,
  .page-hero,
  .section-dark,
  .split-dark,
  .philosophy,
  .cta-band,
  .footer,
  .footer-photo,
  .program-card,
  .programs-hero,
  .programs-offer-section,
  .platform-screen,
  .platform-hero,
  .platform-ai-section,
  .platform-command-card,
  .platform-cta-section,
  .blueprint-hero,
  .blueprint-connect-bridge,
  .method-hero-standout,
  .method-pillars-band,
  .method-flow-card,
  .method-principles-card,
  .live-exact-hero,
  .live-exact-method
) :is(p,.lead,small,li){
  color:var(--cfit-dark-body) !important;
}

/* Selected micro-copy that was still visually bright */
.live-exact-checks,
.live-exact-quote,
.method-panel-item small,
.method-stack-row span,
.platform-console-tile small,
.platform-simple-point small,
.footer-bottom,
.footer.footer-photo a{
  color:var(--cfit-dark-soft) !important;
}

/* Keep the bright hierarchy down even on controls with white text */
.btn-navy,
.btn-ghost,
.live-exact-secondary,
.live-match-start,
.ask-coach-nick,
.zoom-live-video-badge strong{
  color:var(--cfit-dark-button) !important;
}

/* Zoom section: more visible than before, still deliberately dimmed */
.programs-page #zoomPanel h2{
  color:#D9DEE8 !important;
}
.programs-page #zoomPanel .lead{
  color:#B4BDCD !important;
  opacity:1 !important;
}
.programs-page #zoomPanel .kicker{
  color:#DBAD45 !important;
}

/* Preserve gold accents — slightly softened, not neon */
.kicker,
.method-hero-kicker,
.method-panel-label,
.method-flow-card-top,
.live-exact-eyebrow,
.live-exact-method-kicker,
.zoom-live-video-badge span{
  filter:saturate(.88) brightness(.96);
}

/* MOBILE HEADER: always show Creative Fitness NYC + CFIT METHOD */
@media(max-width:900px){
  .nav .brand-with-logo{
    min-width:0 !important;
    gap:10px !important;
    flex:1 1 auto;
  }

  .nav .brand-with-logo .brand-copy{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    line-height:1.03;
  }

  .nav .brand-name{
    display:block !important;
    white-space:nowrap;
    color:#11142F;
    font-size:.88rem;
    font-weight:900;
    letter-spacing:-.01em;
  }

  .nav .brand-sub{
    display:block !important;
    margin-top:5px;
    white-space:nowrap;
    color:#5D637C;
    font-size:.52rem;
    line-height:1;
    font-weight:850;
    letter-spacing:.14em;
  }

  .nav .brand-sub-desktop{
    display:none;
  }

  .nav .brand-sub-mobile{
    display:inline;
  }

  .nav .site-logo-nav{
    flex:0 0 auto;
  }

  .nav .nav-actions{
    flex:0 0 auto;
  }
}

/* Keep the full mobile brand readable even on small phones */
@media(max-width:430px){
  .nav-inner{
    gap:8px !important;
  }

  .nav .site-logo-nav{
    width:46px !important;
    height:46px !important;
  }

  .nav .brand-name{
    font-size:.80rem;
  }

  .nav .brand-sub{
    font-size:.47rem;
    letter-spacing:.11em;
  }

  .nav .menu-btn{
    font-size:1.6rem;
    padding:5px 2px;
  }
}

/* Previously locked mobile rule: photographic backgrounds stay centered */
@media(max-width:760px){
  .hero-bg,
  .page-hero.photo:before,
  .programs-hero-photo:before,
  .platform-hero-bg,
  .blueprint-hero-bg,
  .method-hero-bg,
  .live-exact-hero-bg,
  .live-exact-method-bg,
  .footer.footer-photo{
    background-position:center center !important;
  }
}

/* Accessibility */
@media (prefers-contrast: more){
  :root{
    --cfit-dark-heading:#ECEEF3;
    --cfit-dark-body:#D2D7E1;
    --cfit-dark-soft:#C5CBD7;
  }
}


/* =========================================================
   v69 — Balanced contrast: soft whites on dark, dark text on white cards
   ========================================================= */

:root{
  --cfit-dark-heading:#F0F1F4;
  --cfit-dark-body:#D5D9E2;
  --cfit-dark-soft:#C3C9D5;
  --cfit-dark-button:#F1F2F5;
}

/* White/light cards must always use dark readable typography, even inside dark sections */
.price-card,
.method-pillar-card,
.home-programs-live .program-card,
.home-method-band .card,
.card,
.feature-card,
.article,
.form-card,
.stat,
.blueprint-connect-card,
.platform-human-points > div,
.method-flow-step,
.method-cta-card{
  color:#252A46 !important;
}

.price-card :is(h1,h2,h3,h4,strong,.price),
.method-pillar-card :is(h1,h2,h3,h4,strong),
.home-programs-live .program-card :is(h1,h2,h3,h4,strong),
.home-method-band .card :is(h1,h2,h3,h4,strong),
.card :is(h1,h2,h3,h4,strong),
.feature-card :is(h1,h2,h3,h4,strong),
.article :is(h1,h2,h3,h4,strong),
.form-card :is(h1,h2,h3,h4,strong),
.stat :is(h1,h2,h3,h4,strong),
.blueprint-connect-card :is(h1,h2,h3,h4,strong),
.platform-human-points > div :is(h1,h2,h3,h4,strong),
.method-flow-step :is(h1,h2,h3,h4,strong),
.method-cta-card :is(h1,h2,h3,h4,strong){
  color:#171B3A !important;
}

.price-card :is(p,.lead,li,small),
.method-pillar-card :is(p,.lead,li,small),
.home-programs-live .program-card :is(p,.lead,li,small),
.home-method-band .card :is(p,.lead,li,small),
.card :is(p,.lead,li,small),
.feature-card :is(p,.lead,li,small),
.article :is(p,.lead,li,small),
.form-card :is(p,.lead,li,small),
.stat :is(p,.lead,li,small),
.blueprint-connect-card :is(p,.lead,li,small),
.platform-human-points > div :is(p,.lead,li,small),
.method-flow-step :is(p,.lead,li,small),
.method-cta-card :is(p,.lead,li,small){
  color:#596078 !important;
}

/* Keep labels/kickers distinct on light cards */
.price-card .kicker,
.home-programs-live .program-card .kicker,
.blueprint-connect-tag,
.blueprint-connect-num{
  color:#765714 !important;
}

/* The Zoom intro should be clearly visible while still softer than pure white */
.programs-page #zoomPanel h2{
  color:#EEF0F4 !important;
}
.programs-page #zoomPanel .lead{
  color:#D2D7E1 !important;
  opacity:1 !important;
}

/* Light-background section headings should remain dark, not washed out */
.section-soft :is(h1,h2,h3),
.section-cream :is(h1,h2,h3),
.platform-system-section :is(h1,h2,h3),
.platform-human-section :is(h1,h2,h3),
.blueprint-connect-section :is(h1,h2,h3),
.method-flow-section :is(h1,h2,h3),
.method-cta-section :is(h1,h2,h3){
  color:#171B3A !important;
}

.section-soft :is(p,.lead),
.section-cream :is(p,.lead),
.platform-system-section :is(p,.lead),
.platform-human-section :is(p,.lead),
.blueprint-connect-section :is(p,.lead),
.method-flow-section :is(p,.lead),
.method-cta-section :is(p,.lead){
  color:#5B627A !important;
}


/* =========================================================
   v70 — Restore readable text inside white Method cards
   ========================================================= */

/* These cards sit inside a dark section, but the cards themselves are white.
   Their text should be dark and only slightly softened—not pale. */
.live-exact-pillar-grid article{
  color:#252A46 !important;
}

.live-exact-pillar-grid article h3{
  color:#1A1E3D !important;
  opacity:1 !important;
}

.live-exact-pillar-grid article p{
  color:#596078 !important;
  opacity:1 !important;
}

/* Keep the icons crisp without becoming overly bright */
.live-exact-pillar-grid .live-exact-icon.mobility{
  color:#D9A52D !important;
}
.live-exact-pillar-grid .live-exact-icon.stability{
  color:#747990 !important;
}
.live-exact-pillar-grid .live-exact-icon.strength{
  color:#171B3A !important;
}

/* Slight hover emphasis remains premium and readable */
@media (hover:hover) and (pointer:fine){
  .live-exact-pillar-grid article:hover h3{
    color:#101239 !important;
  }
  .live-exact-pillar-grid article:hover p{
    color:#4F566E !important;
  }
}


/* =========================================================
   v71 — Live coaching exercise title visibility
   ========================================================= */

/* Override white-card inheritance inside the video badge */
.home-programs-live .program-card .zoom-live-video-badge strong,
.programs-page .zoom-live-video-badge strong,
.zoom-live-video-badge strong{
  color:#EEF0F5 !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}


/* =========================================================
   v72 — Visible homepage CTA + premium company footer
   ========================================================= */

.cta-band .kicker{
  color:#D9A83D !important;
  opacity:1 !important;
}
.cta-band h2{
  color:#E8EBF2 !important;
  opacity:1 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.10);
}
.cta-band p{
  color:#C8CEDA !important;
  opacity:1 !important;
}

.footer.footer-photo.footer-v72{
  min-height:0;
  padding:72px 0 30px;
}
.footer-v72-grid{
  display:grid;
  grid-template-columns:1.35fr 1.05fr .72fr 1.15fr;
  gap:46px;
  align-items:start;
}
.footer-v72-brand{
  max-width:420px;
}
.footer-v72-contact h4,
.footer-v72-links h4,
.footer-v72-social h4{
  color:#E8EBF2 !important;
}
.footer-contact-card{
  display:block !important;
  width:100% !important;
  margin:0 0 12px !important;
  padding:15px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
  transform:none !important;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease !important;
}
.footer-contact-card span{
  display:block;
  margin-bottom:5px;
  color:#D9A83D;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.13em;
}
.footer-contact-card strong{
  display:block;
  color:#DCE1EA;
  font-size:.88rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.footer-contact-card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(242,190,80,.42);
  background:rgba(255,255,255,.09);
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}
.footer-location{
  margin-top:14px;
  color:#AEB7C8;
  font-size:.84rem;
}
.footer-v72-links a{
  margin:9px 0 !important;
}
.footer-social-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.footer-social-grid a{
  display:flex !important;
  align-items:center;
  gap:10px;
  width:100% !important;
  min-height:46px;
  margin:0 !important;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:#C7CEDA !important;
  font-size:.80rem;
  font-weight:750;
  transform:none !important;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease !important;
}
.footer-social-grid a span{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(242,190,80,.12);
  color:#E6BA52;
  font-size:.72rem;
  font-weight:950;
}
.footer-social-grid a:hover{
  transform:translateY(-3px) !important;
  color:#E8EBF2 !important;
  border-color:rgba(242,190,80,.42);
  background:rgba(255,255,255,.085);
  box-shadow:0 14px 26px rgba(0,0,0,.14);
}
.footer-v72-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px 26px;
  margin-top:46px !important;
}

@media(max-width:1050px){
  .footer-v72-grid{
    grid-template-columns:1.2fr 1fr 1fr;
  }
  .footer-v72-social{
    grid-column:2 / 4;
  }
  .footer-social-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .footer.footer-photo.footer-v72{
    padding:56px 0 26px;
    background:
      linear-gradient(rgba(11,13,40,.94),rgba(11,13,40,.94)),
      url('hero-actual.jpg') center center/cover no-repeat !important;
  }
  .footer-v72-grid{
    grid-template-columns:1fr 1fr;
    gap:32px 22px;
  }
  .footer-v72-brand,
  .footer-v72-social{
    grid-column:1 / -1;
  }
  .footer-social-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .footer-v72-bottom{
    display:block;
    margin-top:38px !important;
  }
  .footer-v72-bottom span{
    display:block;
    margin-top:6px;
  }
}
@media(max-width:520px){
  .footer-v72-grid{
    grid-template-columns:1fr;
  }
  .footer-v72-brand,
  .footer-v72-social{
    grid-column:auto;
  }
  .footer-social-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   v73 — Restore mobile/tablet optimization
   Treat <= 900px as the compact/mobile presentation.
   ========================================================= */

@media(max-width:900px){

  html,body{
    max-width:100%;
    overflow-x:hidden;
  }

  /* ---------- Header ---------- */
  .nav-inner{
    height:76px !important;
    gap:10px !important;
  }

  .nav .brand-with-logo{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 58px);
    gap:9px !important;
  }

  .nav .site-logo-nav{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px;
  }

  .nav .brand-with-logo .brand-copy{
    display:flex !important;
    min-width:0;
  }

  .nav .brand-name{
    font-size:clamp(.80rem,2.15vw,1rem) !important;
    line-height:1.05;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .nav .brand-sub{
    margin-top:4px !important;
    font-size:clamp(.46rem,1.15vw,.56rem) !important;
    letter-spacing:.12em !important;
  }

  /* On compact screens the menu replaces Login / Start Free in the header */
  .nav .nav-actions{
    flex:0 0 auto !important;
    margin-left:auto;
    gap:0 !important;
  }

  .nav .nav-actions .nav-login,
  .nav .nav-actions > .btn{
    display:none !important;
  }

  .nav .menu-btn{
    display:block !important;
    padding:7px 3px !important;
    font-size:1.65rem !important;
    line-height:1;
  }

  /* ---------- Homepage hero ---------- */
  .live-exact-hero{
    min-height:auto !important;
  }

  .live-exact-hero-bg{
    background:
      linear-gradient(90deg,rgba(15,17,51,.96),rgba(15,17,51,.72)),
      url('gym-dumbbell-reach-new.png') center center/cover no-repeat !important;
  }

  .live-exact-hero-inner{
    width:calc(100% - 30px) !important;
    min-height:0 !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:42px 0 38px !important;
  }

  .live-exact-copy{
    width:100%;
    max-width:none;
  }

  .live-exact-eyebrow{
    max-width:100%;
    width:max-content;
    margin-bottom:20px !important;
    padding:8px 14px !important;
    font-size:.72rem !important;
    letter-spacing:.13em !important;
    white-space:normal;
  }

  .live-exact-copy h1{
    max-width:100% !important;
    margin-bottom:22px !important;
    font-size:clamp(2.85rem,7.5vw,3.65rem) !important;
    line-height:1.01 !important;
    letter-spacing:-.045em !important;
  }

  .live-exact-lead{
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.55 !important;
  }

  .live-exact-cta-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:11px !important;
    margin-top:26px !important;
  }

  .live-exact-primary,
  .live-exact-secondary{
    width:100% !important;
    min-height:52px !important;
    padding:12px 18px !important;
    text-align:center;
    white-space:normal;
  }

  .live-exact-checks{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:26px !important;
    font-size:.94rem !important;
  }

  /* Compact the former desktop hero card so it doesn't create a huge blank block */
  .live-exact-card{
    justify-self:stretch !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin-top:4px !important;
    padding:22px 20px 20px !important;
    border-radius:26px !important;
  }

  .live-exact-athlete{
    height:auto !important;
    min-height:138px !important;
    padding:4px 0 10px !important;
  }

  .live-exact-athlete img{
    width:70px !important;
    height:126px !important;
  }

  .live-exact-card-quote{
    min-height:0 !important;
    padding:8px 8px 15px !important;
    font-size:.79rem !important;
  }

  .live-exact-triad{
    gap:6px !important;
    padding-top:16px !important;
  }

  .live-exact-triad span{
    width:38px !important;
    height:38px !important;
    margin-bottom:7px !important;
  }

  .live-exact-triad>div{
    font-size:.66rem !important;
  }

  /* ---------- Homepage Method section ---------- */
  .live-exact-method{
    min-height:0 !important;
  }

  .live-exact-method-bg{
    background:
      linear-gradient(rgba(15,17,51,.86),rgba(15,17,51,.91)),
      url('gym-dumbbell-reach-new.png') center center/cover no-repeat !important;
  }

  .live-exact-method-inner{
    width:calc(100% - 30px) !important;
    padding:50px 0 46px !important;
  }

  .live-exact-method h2{
    max-width:100% !important;
    font-size:clamp(2.05rem,6vw,2.75rem) !important;
    line-height:1.06 !important;
  }

  .live-exact-method-copy p{
    font-size:1rem !important;
    line-height:1.57 !important;
  }

  .live-exact-pillar-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-top:30px !important;
  }

  .live-exact-pillar-grid article{
    min-height:0 !important;
    padding:24px 22px !important;
  }

  /* ---------- Program / page controls ---------- */
  .tabs,
  .freq{
    max-width:100%;
  }

  /* ---------- All photographic backgrounds ---------- */
  .hero-bg,
  .page-hero.photo:before,
  .programs-hero-photo:before,
  .platform-hero-bg,
  .blueprint-hero-bg,
  .method-hero-bg,
  .live-exact-hero-bg,
  .live-exact-method-bg,
  .footer.footer-photo{
    background-position:center center !important;
  }

  /* ---------- Footer ---------- */
  .footer-v72-grid{
    grid-template-columns:1fr 1fr !important;
    gap:30px 22px !important;
  }

  .footer-v72-brand,
  .footer-v72-social{
    grid-column:1 / -1 !important;
  }

  .footer-social-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){

  .container,
  .narrow{
    width:calc(100% - 24px) !important;
  }

  .nav-inner{
    height:72px !important;
  }

  .nav .site-logo-nav{
    width:44px !important;
    height:44px !important;
    flex-basis:44px;
  }

  .nav .brand-name{
    font-size:.80rem !important;
  }

  .nav .brand-sub{
    font-size:.46rem !important;
    letter-spacing:.10em !important;
  }

  .live-exact-hero-inner,
  .live-exact-method-inner{
    width:calc(100% - 24px) !important;
  }

  .live-exact-copy h1{
    font-size:clamp(2.55rem,12vw,3.15rem) !important;
  }

  .live-exact-lead{
    font-size:.98rem !important;
  }

  .live-exact-primary,
  .live-exact-secondary{
    min-height:50px !important;
    font-size:.91rem !important;
  }

  .live-exact-card{
    padding:20px 16px 18px !important;
    border-radius:22px !important;
  }

  .live-exact-athlete{
    min-height:120px !important;
  }

  .live-exact-athlete img{
    width:62px !important;
    height:110px !important;
  }

  .footer-v72-grid{
    grid-template-columns:1fr !important;
  }

  .footer-v72-brand,
  .footer-v72-social{
    grid-column:auto !important;
  }
}


/* =========================================================
   v74 — Remove empty space below footer
   Keep footer anchored to the bottom of short pages.
   ========================================================= */

html{
  min-height:100%;
}

body{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}

body > main{
  flex:1 0 auto;
}

body > footer{
  flex:0 0 auto;
  margin-top:auto;
}

/* The fixed Ask Coach Nick control should never contribute page height */
body > .ask-coach-nick{
  position:fixed;
}

/* Prevent any accidental bottom spacing after the final footer */
body > footer:last-of-type{
  margin-bottom:0 !important;
}

body::after{
  display:none !important;
  content:none !important;
}

@media(max-width:900px){
  body{
    min-height:100dvh;
  }

  .footer.footer-photo.footer-v72{
    margin-bottom:0 !important;
  }
}

/* =========================================================
   v75 — Final mobile interaction + layout QA
   ========================================================= */

/* Mobile Programs housekeeping */
@media(max-width:900px){
  /* Requested: center the content block on mobile */
  .programs-page .programs-section-head,
  .programs-page #zoomPanel > .grid-2 > div:first-child{
    text-align:center !important;
  }

  .programs-page .programs-section-head .lead,
  .programs-page #zoomPanel > .grid-2 > div:first-child .lead,
  .programs-page #zoomPanel > .grid-2 > div:first-child h2,
  .programs-page #zoomPanel > .grid-2 > div:first-child .kicker{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .programs-page #zoomPanel > .grid-2{
    align-items:center;
  }

  /* Keep the App / Zoom selector centered and fully visible */
  .programs-page .programs-tabs{
    width:100% !important;
    max-width:540px;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
    overflow:visible !important;
    padding:6px !important;
  }

  .programs-page .programs-tabs .tab{
    flex:1 1 0;
    min-width:0;
    text-align:center;
    white-space:normal;
    line-height:1.18;
  }

  /* Requested: permanent premium gold ring around Live Zoom button */
  .programs-page .programs-tabs .tab:nth-child(2){
    border:2px solid #F2BE50 !important;
    box-shadow:0 0 0 3px rgba(242,190,80,.10), 0 8px 20px rgba(15,17,51,.08);
  }

  .programs-page .programs-tabs .tab:nth-child(2).active{
    box-shadow:0 0 0 4px rgba(242,190,80,.16), 0 10px 24px rgba(15,17,51,.12);
  }

  .programs-page .freq{
    justify-content:center !important;
  }

  /* Mobile/touch interaction feedback for every major button surface */
  :is(
    .btn,
    .tab,
    .freq button,
    .menu-btn,
    .live-exact-primary,
    .live-exact-secondary,
    .live-match-start,
    .ask-coach-nick,
    .footer-social-grid a,
    .footer-contact-card,
    .mobile-menu a
  ){
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:
      transform .18s cubic-bezier(.2,.8,.2,1),
      box-shadow .22s ease,
      background .22s ease,
      border-color .22s ease,
      filter .22s ease !important;
  }

  :is(
    .btn,
    .tab,
    .freq button,
    .menu-btn,
    .live-exact-primary,
    .live-exact-secondary,
    .live-match-start,
    .footer-social-grid a,
    .footer-contact-card,
    .mobile-menu a
  ):active,
  :is(
    .btn,
    .tab,
    .freq button,
    .menu-btn,
    .live-exact-primary,
    .live-exact-secondary,
    .live-match-start,
    .footer-social-grid a,
    .footer-contact-card,
    .mobile-menu a
  ).mobile-press{
    transform:translateY(2px) scale(.975) !important;
    filter:brightness(.96) saturate(1.04);
  }

  .btn.mobile-press,
  .live-exact-primary.mobile-press,
  .live-exact-secondary.mobile-press,
  .tab.mobile-press,
  .freq button.mobile-press{
    box-shadow:0 5px 14px rgba(15,17,51,.16) !important;
  }

  /* Make dynamic generated Zoom CTAs full-width and easy to tap */
  #zoomCards .btn{
    width:100%;
  }

  /* Mobile menu behaves like an intentional panel, not loose links */
  .mobile-menu{
    box-shadow:0 16px 28px rgba(15,17,51,.08);
  }
}

@media(max-width:520px){
  .programs-page .programs-tabs .tab{
    padding:11px 10px !important;
    font-size:.88rem;
  }
}


/* =========================================================
   v76 — Page-by-page final interaction + mobile centering QA
   Applies to every public page before payment integration.
   ========================================================= */

/* Unified premium interaction treatment for every real button/control */
:is(
  .btn,
  .live-exact-primary,
  .live-exact-secondary,
  .tab,
  .freq button,
  .menu-btn,
  .ask-coach-nick,
  .footer-contact-card,
  .footer-social-grid a,
  .program-body > a,
  .mobile-menu a
){
  position:relative;
  transition:
    transform .2s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease,
    color .24s ease,
    filter .24s ease !important;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

/* Desktop hover parity across every page */
@media (hover:hover) and (pointer:fine){
  :is(
    .btn,
    .live-exact-primary,
    .live-exact-secondary,
    .tab,
    .freq button,
    .footer-contact-card,
    .footer-social-grid a,
    .program-body > a
  ):hover{
    transform:translateY(-3px) scale(1.012);
    box-shadow:0 14px 30px rgba(15,17,51,.16);
    filter:saturate(1.04);
  }

  .program-body > a:hover{
    color:#B98517;
  }

  /* Non-clickable premium chips/cards still react visually */
  :is(
    .method-hero-chips span,
    .programs-hero-badges span,
    .blueprint-hero-pills span,
    .platform-hero-pills span,
    .method-panel-item
  ):hover{
    transform:translateY(-4px);
    border-color:rgba(242,190,80,.48) !important;
    box-shadow:0 14px 28px rgba(15,17,51,.14);
    background-color:rgba(255,255,255,.11);
  }

  .method-panel-item:hover > span:first-child{
    transform:scale(1.06);
    box-shadow:0 8px 18px rgba(242,190,80,.20);
  }
}

/* Add transitions to chips/panel items that previously looked static */
:is(
  .method-hero-chips span,
  .programs-hero-badges span,
  .blueprint-hero-pills span,
  .platform-hero-pills span,
  .method-panel-item,
  .method-panel-item > span:first-child
){
  transition:
    transform .2s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    border-color .24s ease,
    background-color .24s ease !important;
}

/* ---------------------------------------------------------
   Mobile/tablet: center ALL CTA/button groups page-by-page.
   --------------------------------------------------------- */
@media(max-width:900px){

  /* HOME */
  .live-exact-cta-row{
    justify-items:center !important;
    text-align:center;
  }
  .live-exact-primary,
  .live-exact-secondary{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .home-coaching-pair .program-body{
    text-align:center;
  }
  .home-coaching-pair .program-body > a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:4px auto 0;
  }
  .cta-band{
    text-align:center;
  }
  .cta-band .btn{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* METHOD */
  .method-hero-copy{
    text-align:center;
  }
  .method-hero-copy .lead{
    margin-left:auto;
    margin-right:auto;
  }
  .method-hero-chips{
    justify-content:center !important;
  }
  .method-hero-ctas,
  .method-cta-actions{
    justify-content:center !important;
    text-align:center;
  }
  .method-hero-ctas .btn,
  .method-cta-actions .btn{
    width:min(100%,420px);
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .method-panel-grid{
    text-align:left;
  }
  .method-panel-item{
    transform-origin:center;
  }

  /* PROGRAMS */
  .programs-hero-badges{
    justify-content:center !important;
  }
  .programs-page .programs-tabs,
  .programs-page .freq{
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
  }
  .programs-page .price-card .btn,
  #zoomCards .btn{
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .programs-page .programs-tabs .tab:nth-child(2){
    border:2px solid #F2BE50 !important;
    box-shadow:0 0 0 3px rgba(242,190,80,.12),0 8px 20px rgba(15,17,51,.09) !important;
  }

  /* PLATFORM */
  .platform-hero-copy,
  .platform-human-copy,
  .platform-cta-card{
    text-align:center;
  }
  .platform-hero-pills{
    justify-content:center !important;
  }
  .platform-human-copy .btn,
  .platform-cta-card .btn{
    display:flex;
    width:min(100%,420px);
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* ABOUT — no body CTA; center major text blocks for compact layout */
  .about-profile-copy,
  .about-work-bg .grid-2 > div:first-child{
    text-align:center;
  }
  .about-profile-location{
    justify-content:center;
  }

  /* BLUEPRINT */
  .blueprint-hero-copy{
    text-align:center;
  }
  .blueprint-hero-pills{
    justify-content:center !important;
  }
  .blueprint-start-card{
    text-align:center;
  }
  .blueprint-start-button{
    display:flex !important;
    width:min(100%,420px);
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* LOGIN */
  .form-card.center .btn{
    display:flex;
    width:min(100%,420px);
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* SHARED MOBILE MENU + FOOTER */
  .mobile-menu{
    text-align:center;
  }
  .mobile-menu a{
    width:100%;
  }
  .footer-v72-contact,
  .footer-v72-links,
  .footer-v72-social{
    text-align:center;
  }
  .footer-contact-card{
    max-width:430px;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .footer-social-grid{
    justify-content:center;
  }

  /* Mobile tap feedback for chips/panel items shown in screenshots */
  :is(
    .method-hero-chips span,
    .programs-hero-badges span,
    .blueprint-hero-pills span,
    .platform-hero-pills span,
    .method-panel-item
  ):active,
  :is(
    .method-hero-chips span,
    .programs-hero-badges span,
    .blueprint-hero-pills span,
    .platform-hero-pills span,
    .method-panel-item
  ).mobile-press{
    transform:translateY(2px) scale(.98) !important;
    filter:brightness(.97);
  }
}

@media(max-width:560px){
  .method-hero-chips,
  .programs-hero-badges,
  .blueprint-hero-pills,
  .platform-hero-pills{
    width:100%;
  }

  .method-hero-chips span,
  .programs-hero-badges span,
  .blueprint-hero-pills span,
  .platform-hero-pills span{
    text-align:center;
  }
}

@media(prefers-reduced-motion:reduce){
  :is(
    .btn,.live-exact-primary,.live-exact-secondary,.tab,.freq button,.menu-btn,
    .ask-coach-nick,.footer-contact-card,.footer-social-grid a,.program-body>a,
    .method-hero-chips span,.programs-hero-badges span,.blueprint-hero-pills span,
    .platform-hero-pills span,.method-panel-item
  ){
    transition:none !important;
  }
}


/* =========================================================
   v77 — Mobile detail fixes from final visual QA
   ========================================================= */

/* Shared motion for the newly reviewed surfaces */
.method-stack-row,
.platform-console-live,
.platform-console-flow span,
.platform-ai-rules > div,
.platform-simple-point,
.blueprint-connect-bridge{
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease,
    color .24s ease !important;
}

/* Desktop hover parity for these surfaces */
@media (hover:hover) and (pointer:fine){
  .method-stack-row:hover,
  .platform-ai-rules > div:hover,
  .platform-simple-point:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 28px rgba(15,17,51,.14);
  }

  .method-stack-row:hover{
    background:rgba(255,255,255,.11);
  }

  .platform-ai-rules > div:hover{
    border-color:rgba(242,190,80,.30);
  }

  .platform-simple-point:hover{
    background:rgba(255,255,255,.055);
    border-radius:18px;
    padding-left:12px;
    padding-right:12px;
  }

  .platform-console-live:hover{
    transform:translateY(-2px) scale(1.03);
    box-shadow:0 8px 18px rgba(242,190,80,.18);
  }
}

/* ---------- MOBILE / TABLET ---------- */
@media(max-width:900px){

  /* METHOD — center Movement Quality First card content */
  .method-flow-card{
    text-align:center !important;
    padding:24px 20px !important;
  }

  .method-flow-card-top{
    text-align:center !important;
    margin-bottom:18px !important;
  }

  .method-flow-card-stack{
    gap:12px !important;
  }

  .method-stack-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    gap:8px !important;
    text-align:center !important;
    padding:18px 16px !important;
  }

  .method-stack-row strong,
  .method-stack-row span{
    width:100%;
    text-align:center !important;
  }

  .method-stack-arrow{
    text-align:center !important;
    justify-items:center !important;
  }

  /* PLATFORM HERO — prevent CONNECTED from wrapping */
  .platform-console-top{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:14px !important;
  }

  .platform-console-top > div{
    width:100%;
    text-align:center;
  }

  .platform-console-live{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto !important;
    max-width:100%;
    margin:0 auto !important;
    padding:8px 16px !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-height:1 !important;
  }

  /* PLATFORM HERO FLOW — equal spacing, centered labels */
  .platform-console-flow{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items:center !important;
    justify-items:center !important;
    gap:7px !important;
    padding:14px 12px !important;
    text-align:center !important;
  }

  .platform-console-flow span{
    width:100%;
    text-align:center !important;
    line-height:1.22;
  }

  /* PLATFORM AI RULES — keep numbers inside the panel and center each rule */
  .platform-ai-copy{
    text-align:center !important;
  }

  .platform-ai-copy .lead{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .platform-ai-rules{
    width:100%;
    max-width:720px;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .platform-ai-rules > div{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:9px !important;
    padding:18px 14px !important;
    text-align:center !important;
  }

  .platform-ai-rules span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:34px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(242,190,80,.10);
    text-align:center !important;
  }

  .platform-ai-rules p{
    width:100%;
    max-width:650px;
    text-align:center !important;
    line-height:1.5 !important;
  }

  /* PLATFORM DIFFERENCE CARD — center all content on mobile */
  .platform-command-simple{
    text-align:center !important;
    padding:26px 22px !important;
  }

  .platform-command-simple .platform-command-header{
    justify-content:center !important;
    text-align:center !important;
  }

  .platform-command-simple .platform-command-header > div{
    width:100%;
  }

  .platform-command-simple .platform-command-header strong{
    max-width:650px;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .platform-simple-point{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:10px !important;
    padding:20px 8px !important;
    text-align:center !important;
  }

  .platform-simple-point > span{
    margin:0 auto !important;
  }

  .platform-simple-point > div{
    width:100%;
    max-width:650px;
    text-align:center !important;
  }

  .platform-simple-point strong,
  .platform-simple-point small{
    text-align:center !important;
  }

  /* BLUEPRINT — WHY IT MATTERS must be readable and centered */
  .blueprint-start-stack .blueprint-connect-bridge,
  .blueprint-connect-bridge{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .blueprint-connect-bridge-label{
    display:inline-block !important;
    text-align:center !important;
  }

  .blueprint-connect-bridge p{
    color:#D8DDE7 !important;
    opacity:1 !important;
    text-align:center !important;
    line-height:1.6 !important;
  }

  /* Touch feedback for all reviewed surfaces */
  :is(
    .method-stack-row,
    .platform-console-live,
    .platform-console-flow span,
    .platform-ai-rules > div,
    .platform-simple-point,
    .blueprint-connect-bridge
  ):active,
  :is(
    .method-stack-row,
    .platform-console-live,
    .platform-console-flow span,
    .platform-ai-rules > div,
    .platform-simple-point,
    .blueprint-connect-bridge
  ).mobile-press{
    transform:translateY(2px) scale(.985) !important;
    filter:brightness(.97);
  }
}

/* Small phones — stack the platform journey vertically instead of squeezing */
@media(max-width:520px){
  .platform-console-flow{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .platform-console-flow i{
    transform:rotate(90deg);
    line-height:1;
  }

  .platform-console-flow span{
    padding:6px 0;
    font-size:.76rem !important;
  }

  .method-flow-card{
    padding:22px 16px !important;
  }

  .platform-command-simple{
    padding:24px 18px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .method-stack-row,
  .platform-console-live,
  .platform-console-flow span,
  .platform-ai-rules > div,
  .platform-simple-point,
  .blueprint-connect-bridge{
    transition:none !important;
  }
}


/* v77 interaction completion */
.method-stack-row,
.platform-console-live,
.platform-console-flow span,
.platform-ai-rules > div,
.platform-simple-point,
.blueprint-connect-bridge{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}


/* =========================================================
   v83 LIVE QA PATCH — Homepage CFIT hero card balance
   Keeps the approved quote + MOVE / CONTROL / STRENGTH triad,
   but removes the oversized empty white area and gives the
   CFIT athlete mark proper visual weight.
   ========================================================= */
@media (min-width:1041px){
  .live-exact-card{
    width:460px !important;
    height:auto !important;
    min-height:0 !important;
    padding:22px 30px 24px !important;
    border-radius:32px !important;
  }

  .live-exact-athlete{
    height:172px !important;
    min-height:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:start center !important;
    overflow:visible !important;
  }

  .live-exact-athlete img{
    width:112px !important;
    height:205px !important;
    object-fit:contain !important;
    transform:translateY(-18px) !important;
  }

  .live-exact-card-quote{
    min-height:54px !important;
    margin-top:-4px !important;
    padding:0 18px 13px !important;
    font-size:14px !important;
    line-height:1.42 !important;
  }

  .live-exact-divider{
    margin-top:0 !important;
  }

  .live-exact-triad{
    padding-top:18px !important;
  }
}


/* =========================================================
   v84 LIVE QA PATCH — Vertically center homepage CFIT card
   Centers the right-side card within the desktop hero so the
   visual breathing room above and below is balanced.
   ========================================================= */
@media (min-width:1041px){
  .live-exact-card{
    align-self:center !important;
    margin-top:0 !important;
    transform:translateY(-7px) !important;
  }
}
