/* Total Fitness editorial homepage. Full-width photography, warm cream and yellow. */
.tf-hero,.tf-stories,.tf-brand-banner,.tf-facility{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','DM Sans',system-ui,sans-serif;color:#f3efe3;box-sizing:border-box}
.tf-hero{position:relative;min-height:calc(100svh - var(--header-bottom,84px));background:#000000;overflow:hidden;display:flex;align-items:center;padding:80px 7% 110px}
.tf-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.tf-hero-copy{position:relative;z-index:1;width:49%;max-width:680px}
.tf-kicker{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 32px;line-height:1.5}
.tf-hero h1{font-size:clamp(64px,7.6vw,116px);line-height:.97;letter-spacing:-.045em;font-weight:350;margin:0 0 30px;color:#f5f1e5}
.tf-hero h1 em{font-style:normal;color:#efd446}
.tf-intro{font-size:15px;line-height:1.65;max-width:365px;color:#d3d1c7;margin:0 0 30px}
.tf-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.tf-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#ffd700;color:#000000;border:1px solid #ffd700;border-radius:100px;padding:15px 24px;font-size:13px;font-weight:650;text-decoration:none;transition:background .25s,transform .25s}
.tf-button:hover{background:#ffd700;color:#000000;transform:translateY(-2px)}
.tf-text-link{color:#f3efe3;text-decoration:none;font-size:13px;border-bottom:1px solid #827f68;padding:8px 0}
.tf-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:52px}
.tf-hero-tags span{border:1px solid #817342;border-radius:30px;padding:8px 14px;font-size:10px;color:#ddd7bc}
.tf-hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#c9c6b5;gap:20px}
.tf-hero-bottom a{color:inherit;text-decoration:none;letter-spacing:.5px}
.tf-stories{background:#000000;padding:90px 7% 100px}
.tf-section-heading{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:40px;align-items:start;margin-bottom:50px}
.tf-section-heading h2{font-size:clamp(28px,3.5vw,52px);line-height:1.08;letter-spacing:-1.2px;font-weight:350;margin:0}.tf-section-heading h2 span{transition:color .45s cubic-bezier(0.16, 1, 0.3, 1),transform .45s cubic-bezier(0.16, 1, 0.3, 1)}
.tf-section-heading>p:last-child{font-size:13px;line-height:1.6;color:#bbb6a5;margin:4px 0}
.tf-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.tf-story{position:relative;aspect-ratio: .62;overflow:hidden;border-radius:16px;color:#f4efdf;background:#000000;text-decoration:none;isolation:isolate}
.tf-story:after{display:none!important}
.tf-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.3) brightness(.75);z-index:-2;transition:transform 1.2s ease}
.tf-story:hover img{transform:scale(1.035)}.tf-story:hover{color:#fff}
.tf-story-top{position:absolute;top:25px;left:25px;font-size:10px;letter-spacing:2px;border-top:1px solid #beb9a5;padding-top:12px;right:25px}
.tf-story-copy{position:absolute;bottom:30px;left:30px;right:26px}
.tf-story h3{font-size:clamp(26px,3vw,43px);font-weight:400;line-height:1.02;letter-spacing:-1.2px;text-transform:uppercase;margin:0 0 20px}
.tf-story p{font-size:13px;line-height:1.45;padding-top:15px;border-top:1px solid #9a9583;margin:0 0 24px;max-width:225px}
.tf-story-link{font-size:11px;letter-spacing:.2px}
.tf-story-middle img{object-position:53% center}.tf-story-middle .tf-story-copy{top:90px;bottom:auto}
.tf-story-fuel{background:#000000}.tf-story-fuel img{object-fit:contain;height:65%;top:5%;padding:30px;filter:none}.tf-story-fuel:after{display:none!important}
.tf-brand-banner{height:85svh;min-height:500px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000000}
.tf-brand-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.35) brightness(.48)}
.tf-brand-banner h2{position:relative;font-size:clamp(70px,14.6vw,240px);font-weight:350;letter-spacing:-.05em;line-height:1;margin:0;white-space:nowrap;color:#f2eedf}.tf-brand-banner h2 span{color:#e9d341}
.tf-brand-banner .tf-kicker{position:absolute;top:42px;left:7%}.tf-brand-bottom{position:absolute;bottom:32px;right:7%;font-size:10px;letter-spacing:2px}
.tf-facility{position:relative;min-height:calc(100svh - var(--header-bottom,84px));overflow:hidden;display:flex;align-items:end;padding:80px 7%;background:#000000}
.tf-facility>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5)}
.tf-facility-copy{position:relative;z-index:1}.tf-facility h2{font-size:clamp(50px,7vw,105px);letter-spacing:-.04em;line-height:.97;font-weight:350;margin:0 0 35px}
.tf-facility-mark{position:absolute;right:10%;top:20%;font-weight:800;font-size:clamp(150px,29vw,420px);letter-spacing:-.12em;color:rgba(239,236,222,.18);line-height:1}
.philosophy-section{background:#000000!important;color:#ffffff!important;padding:100px 7%!important;min-height:0!important;border-top:1px solid rgba(244,208,63,0.15)!important;border-bottom:1px solid rgba(244,208,63,0.15)!important}.philosophy-label{color:#ffd700!important;font-weight:700!important;letter-spacing:2px}.philosophy-title{color:#ffffff!important;font-size:clamp(40px,6vw,80px)!important;letter-spacing:-3px;line-height:1.05!important}.philosophy-title strong{color:#ffd700!important}.philosophy-text{max-width:640px!important;font-size:16px!important;color:#ffffff!important}.parallax-layer{display:none}
.preview-section{background:#000000!important;padding:0 7% 90px!important}.preview-grid{max-width:none!important;gap:24px!important}.preview-card{border-radius:14px!important;background:#000000!important;background-image:none!important;color:#ffffff!important;box-shadow:0 12px 35px rgba(0,0,0,0.7)!important;border:1px solid rgba(244,208,63,0.22)!important;min-height:330px!important}.preview-title{color:#ffd700!important;font-size:36px!important;letter-spacing:-1.5px}.preview-desc{color:#ffffff!important}.preview-feature{color:#ffffff!important}.preview-feature-icon{color:#ffd700!important;font-weight:bold}.preview-number{color:#ffd700!important;opacity:.9}
.video-strip{background:#000000!important;min-height:350px!important;border-top:1px solid rgba(244,208,63,0.15)!important;border-bottom:1px solid rgba(244,208,63,0.15)!important}.video-quote{font-size:clamp(25px,3vw,44px)!important;line-height:1.25!important;font-weight:400!important;max-width:900px!important;color:#ffffff!important}.video-bg{display:none}.video-overlay{background:transparent!important}
.founder-section,.testimonials-section{background:#000000!important;color:#ffffff!important;border-top:1px solid rgba(244,208,63,0.12)!important;border-bottom:1px solid rgba(244,208,63,0.12)!important}.founder-name{color:#ffffff!important;letter-spacing:-3px}.founder-label{color:#ffd700!important;font-weight:700}.founder-quote{color:#ffffff!important;border-left:3px solid #ffd700;padding-left:18px}.achievement-text{color:#ffd700!important}.testimonials-header h2{color:#ffffff!important}.testimonial-text{color:#ffffff!important}.testimonial-name{color:#ffd700!important}.testimonial-role{color:#ffd700!important}.testimonial-stars{color:#ffd700!important}.achievement-icon{font-size:16px!important;filter:none}.testimonial-slide{background:#000000!important;background-image:none!important;border:1px solid rgba(244,208,63,0.2)!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(0,0,0,0.5)!important}
.final-cta-section{padding:0!important;background:#000000!important}.final-cta-grid{gap:24px!important;max-width:1320px!important;margin:auto!important;padding:60px 7%!important}.final-cta-card{background:#000000!important;background-image:none!important;border-radius:20px!important;box-shadow:0 18px 45px rgba(0,0,0,0.75)!important;min-height:380px!important;border:1px solid rgba(255,215,0,0.25)!important}.final-cta-content{background:#000000!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.final-cta-title{color:#ffffff!important;font-size:clamp(32px,3.8vw,52px)!important;letter-spacing:-1px;font-weight:800!important;text-shadow:0 2px 14px rgba(0,0,0,0.95)!important}.final-cta-text{color:#ffffff!important;font-size:16px!important;line-height:1.55!important;text-shadow:0 1px 8px rgba(0,0,0,0.9)!important}.final-cta-btn,.final-cta-card button{background:#ffd700!important;color:#0a0a0a!important;border:none!important;border-radius:99px!important;padding:14px 32px!important;font-weight:800!important;font-size:15px!important;cursor:pointer;box-shadow:0 8px 25px rgba(255,215,0,0.35)!important}
.tf-hero a:focus-visible,.tf-stories a:focus-visible,.tf-facility a:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:700px){.tf-hero{padding:55px 24px 92px;min-height:850px;align-items:flex-start}.tf-hero-photo{object-position:64% center;opacity:.7}.tf-hero-copy{width:100%;max-width:420px}.tf-hero h1{font-size:70px}.tf-intro{max-width:285px;font-size:14px}.tf-hero-tags{margin-top:300px}.tf-hero-bottom{left:24px;right:24px}.tf-hero-bottom>span:last-child{display:none}.tf-stories{padding:65px 24px}.tf-section-heading{grid-template-columns:1fr;gap:15px}.tf-kicker{margin-bottom:20px}.tf-story-grid{grid-template-columns:1fr;gap:22px}.tf-story{aspect-ratio:.72}.tf-story h3{font-size:40px}.tf-brand-banner{height:65svh;min-height:400px}.tf-brand-banner h2{font-size:15vw}.tf-facility{min-height:650px;padding:55px 24px}.tf-facility-mark{top:22%;right:15%}.tf-section-heading h2{font-size:38px}.preview-grid{grid-template-columns:1fr!important}.tf-story-fuel img{padding:25px}.performance-glass-card{max-width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){.tf-story img,.tf-button{transition:none}}
.tf-hero-photo{object-position:center top}
.tf-stories,.tf-brand-banner,.tf-facility{scroll-margin-top:var(--header-bottom,84px)}
@media(max-width:700px){.tf-hero-photo{object-position:68% bottom;height:58%;top:auto;bottom:0;opacity:1}.tf-hero{min-height:940px;background:#000000}.tf-hero-tags{margin-top:380px}.tf-hero-bottom{font-size:8px}.tf-hero-copy{z-index:1}}
.tf-brand-grid{min-height:65svh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;background:#000000;color:#f1eddc;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','DM Sans',system-ui,sans-serif;padding:70px 5%;border-top:1px dashed #696759;border-bottom:1px dashed #696759}
.tf-brand-grid h2{font-size:clamp(65px,14.3vw,220px);letter-spacing:-.05em;line-height:1.05;margin:30px 0;font-weight:350;border-top:1px dashed #696759;border-bottom:1px dashed #696759;width:100%;text-align:center;white-space:nowrap}
.tf-brand-grid h2 span{color:#e8d347}.tf-brand-grid>p:last-child{font-size:10px;letter-spacing:3px;margin:25px 0 0}.tf-brand-grid .tf-kicker{margin:0}
.tf-hero-bottom{color:#f2efdd;text-shadow:0 1px 6px #000}
@media(max-width:700px){.tf-brand-grid{min-height:360px}.tf-brand-grid .tf-kicker{font-size:8px;letter-spacing:1px}.tf-brand-grid h2{font-size:14.4vw}}
.tf-story-fuel img{object-fit:cover;height:100%;top:0;padding:0;filter:sepia(.15) brightness(.72)}
.tf-story-fuel .tf-story-copy{top:34%;bottom:auto}
#home{scroll-margin-top:var(--header-bottom,84px)}
@media(max-width:700px){.tf-hero-photo{mask-image:none;-webkit-mask-image:none}.tf-hero h1{font-size:64px}.tf-hero .tf-kicker{font-size:8px;letter-spacing:1.5px}}
.preview-card:before,.preview-card:after{display:none!important}.preview-content{position:relative;z-index:1}
.video-content{opacity:1!important;transform:none!important;position:relative!important}.video-quote{color:#f1eddc!important}.video-author{color:#cdc7ad!important}
.tf-brand-grid{background:#000000!important;background-image:none!important}
.tf-facility-mark{border:1px dashed rgba(236,232,214,.22);padding:20px 45px}
.video-quote{opacity:1!important;transform:none!important;font-style:normal!important;text-shadow:none!important;margin:0 auto!important}
.preview-card:not(.interactive-deck-card){padding:40px!important;min-height:0!important}.preview-card:not(.interactive-deck-card) .preview-content{padding:0!important}

/* Journey: black and yellow athletic timeline */
.tf-journey{--journey-progress:0;position:relative;isolation:isolate;padding:110px max(5vw,24px) 140px;background:#000000!important;background-image:none!important;color:#f5f5f5;scroll-margin-top:84px;overflow:clip;border-top:1px solid rgba(244,208,63,0.15);border-bottom:1px solid rgba(244,208,63,0.15)}
.tf-journey::before{display:none!important}
.tf-journey-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:.85fr 1.7fr;gap:7vw;align-items:start}
.tf-journey-intro{position:sticky;top:150px;padding:20px 0;max-width:370px}
.tf-journey-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:32px;color:#ffd700}
.tf-journey h2{font-family:inherit;font-size:clamp(48px,5.1vw,78px);font-weight:600;letter-spacing:-.065em;line-height:1.02;margin:0 0 30px;color:#ffffff}
.tf-journey h2 em{font-style:normal;color:#ffd700}
.tf-journey-intro>p{font-size:15px;line-height:1.8;color:#b5b5b5;max-width:310px;margin:0 0 42px}
.tf-journey-range{display:flex;align-items:center;gap:20px;max-width:300px;font-size:28px;font-weight:700;letter-spacing:-.04em;color:#ffd700}
.tf-journey-range i{height:2px;background:rgba(244,208,63,0.4);flex:1;position:relative}
.tf-journey-range i:after{content:'';width:6px;height:6px;position:absolute;right:0;top:-2px;border-radius:50%;background:#ffd700;box-shadow:0 0 8px #ffd700}
.tf-journey-status{max-width:300px;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.12em;margin-top:28px;color:#ffd700}
.tf-journey-count{font-variant-numeric:tabular-nums;color:#ffffff}
.tf-journey-meter{height:2px;background:#222222;max-width:300px;margin-top:13px;overflow:hidden;border-radius:1px}
.tf-journey-meter i{display:block;height:100%;background:#ffd700;box-shadow:0 0 10px #ffd700;transform:scaleX(var(--journey-progress));transform-origin:left;transition:transform .3s linear}
.tf-journey-scroll{display:block;margin-top:22px;font-size:9px;letter-spacing:.14em;color:#888888}
.tf-journey-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;position:relative;padding-bottom:70px}
.tf-journey-cards:before{display:none!important}
.tf-milestone{background:#ffd700;color:#0a0a0a;border-radius:8px;padding:24px 26px 28px;position:relative;box-shadow:0 20px 40px rgba(0,0,0,0.6);min-width:0;transition:transform .85s cubic-bezier(.2,.75,.2,1),opacity .85s ease,box-shadow .4s ease;will-change:auto}
.tf-milestone:nth-child(even){top:80px;background:#ffd700}
.tf-milestone:nth-child(3){background:#ffd700}.tf-milestone:nth-child(5){background:#ffd700}
.tf-milestone-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(10,10,10,0.2);padding-bottom:16px;font-size:10px;font-weight:700;letter-spacing:.025em;color:#0a0a0a}
.tf-milestone-top>span{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:#0a0a0a}
.tf-milestone-art{width:100%;margin:21px 0 24px;color:#0a0a0a;overflow:hidden}
.tf-milestone-art svg{display:block;width:100%;height:auto;stroke:#0a0a0a;transition:transform 1.4s cubic-bezier(.2,.75,.2,1)}
.tf-milestone:hover{box-shadow:0 25px 45px rgba(0,0,0,0.8), 0 0 25px rgba(244,208,63,0.4);transform:translateY(-6px)}.tf-milestone:hover svg{transform:translateY(-4px)}
.tf-milestone-label{font-size:9px;font-weight:750;letter-spacing:.16em;display:block;margin-bottom:12px;color:#222222}
.tf-milestone h3{font-size:clamp(22px,1.8vw,28px);font-weight:700;letter-spacing:-.045em;line-height:1.15;color:#0a0a0a;margin:0 0 15px;min-height:2.3em}
.tf-milestone p{color:#1a1a1a;font-size:13px;line-height:1.75;margin:0;min-height:6.8em;font-weight:500}
.journey-motion .tf-milestone{opacity:0;transform:translateY(35px)}
.journey-motion .tf-milestone.chapter-visible{opacity:1;transform:translateY(0)}
.journey-motion .tf-milestone:nth-child(even){transition-delay:.12s}
@media(min-width:1600px){.tf-journey-layout{gap:100px}.tf-milestone-art{margin:24px 0 32px}}
@media(max-width:1000px){.tf-journey-layout{gap:35px;grid-template-columns:.7fr 1.3fr}.tf-journey-cards{gap:18px}.tf-milestone{padding:20px 18px}.tf-journey h2{font-size:52px}.tf-milestone p{min-height:8.5em}}
@media(max-width:700px){.tf-journey{padding:65px 22px 85px}.tf-journey-layout{display:block}.tf-journey-intro{position:relative;top:auto;max-width:none;padding:0 0 40px}.tf-journey-eyebrow{margin-bottom:22px}.tf-journey h2{font-size:58px}.tf-journey-intro>p{max-width:330px;margin-bottom:28px}.tf-journey-range{max-width:100%;font-size:24px}.tf-journey-status,.tf-journey-meter{max-width:100%}.tf-journey-cards{display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:0}.tf-journey-cards:before{display:none}.tf-milestone{padding:23px 26px 30px}.tf-milestone:nth-child(even){top:0}.tf-milestone-art{max-width:290px;margin:22px auto}.tf-milestone h3{font-size:29px;min-height:0}.tf-milestone p{font-size:13px;min-height:0}.tf-journey-scroll{display:none}}
@media(prefers-reduced-motion:reduce){.tf-milestone,.tf-milestone-art svg,.tf-journey-meter i{transition:none!important;transform:none!important;opacity:1!important}}
