
:root { --ink:#0a0b0b; --paper:#f2f0ea; --lime:#c7ff28; --muted:#9b9e98; --font-geist-sans:'Inter',Arial,sans-serif; --font-geist-mono:'Geist Mono',monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1380px, calc(100% - 80px)); margin-inline:auto; }
.brand { font-size:27px; font-weight:900; letter-spacing:-1.8px; line-height:1; }
.brand span,.brand i { color:var(--lime); font-style:normal; }
.nav { height:88px; display:flex; align-items:center; justify-content:space-between; position:absolute; inset:0 0 auto; z-index:10; color:#fff; border-bottom:1px solid #ffffff29; }
.navLinks { display:flex; gap:38px; font:700 13px/1 var(--font-geist-mono); letter-spacing:.07em; text-transform:uppercase; }
.navLinks a,.textLink,.footer a { transition:color .25s; }
.navLinks a:hover,.textLink:hover,.footer a:hover { color:var(--lime); }
.navCta { border:1px solid #ffffff77; padding:14px 19px; font:700 12px/1 var(--font-geist-mono); text-transform:uppercase; letter-spacing:.05em; }
.navCta span,.button span { margin-left:18px; }
.hero { height:min(900px, 100vh); min-height:720px; position:relative; overflow:hidden; background:#080a09; color:white; }
.heroImage { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,6,.94) 0%,rgba(5,7,6,.63) 34%,rgba(5,7,6,.06) 69%), url('/hubfit-hero.png') center/cover no-repeat; }
.heroGrid { position:absolute; inset:0; opacity:.13; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:160px 160px; mask-image:linear-gradient(90deg,#000,transparent 72%); }
.heroContent { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; padding-top:76px; }
.eyebrow,.micro,.sectionLabel { font:700 13px/1.25 var(--font-geist-mono); letter-spacing:.1em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#d1d2ce; margin-bottom:30px; }
.eyebrow span { width:34px; height:2px; background:var(--lime); }
h1,h2,h3,blockquote { margin:0; text-transform:uppercase; letter-spacing:-.055em; font-weight:900; line-height:.86; }
h1 { font-size:clamp(90px,12.6vw,190px); max-width:850px; }
h1 em,h2 em,blockquote em { color:var(--lime); font-style:normal; }
.heroCopy { width:430px; max-width:90%; font-size:18px; line-height:1.6; color:#d2d4cf; margin:32px 0 34px; }
.heroActions { display:flex; align-items:center; gap:32px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; padding:21px 24px; min-width:310px; font:800 12px/1 var(--font-geist-mono); text-transform:uppercase; letter-spacing:.045em; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-3px); }
.lime { background:var(--lime); color:#0b0c0a; }
.textLink { font:700 12px/1 var(--font-geist-mono); text-transform:uppercase; letter-spacing:.05em; }
.textLink span { color:var(--lime); margin-left:12px; }
.heroTag { position:absolute; right:28px; bottom:40px; z-index:2; writing-mode:vertical-rl; font:700 11px/1 var(--font-geist-mono); letter-spacing:.1em; color:#e2e4df; display:flex; align-items:center; gap:12px; }
.heroTag span { height:60px; width:1px; background:var(--lime); }
.ticker { overflow:hidden; background:var(--lime); border-block:1px solid #000; padding:18px 0; font-size:18px; font-weight:900; white-space:nowrap; letter-spacing:.07em; }
.tickerTrack { display:flex; width:max-content; will-change:transform; animation:ticker 18s linear infinite; }
.tickerTrack span { flex:none; padding-right:34px; }
.ticker b { margin:0 30px; }
@keyframes ticker { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }
.intro { display:grid; grid-template-columns:1fr 2.3fr; gap:40px; padding-top:150px; padding-bottom:90px; }
.sectionLabel { display:flex; gap:22px; align-items:flex-start; padding-top:5px; }
.sectionLabel span { color:#777b75; }
.intro h2,.about h2,.cta h2 { font-size:clamp(56px,7vw,112px); }
.intro h2 em,.about h2 em { display:inline-block; margin-top:.08em; color:var(--paper); -webkit-text-fill-color:var(--paper); -webkit-text-stroke:1.5px var(--ink); paint-order:stroke fill; }
.lead { width:min(600px,90%); font-size:19px; line-height:1.65; color:#555954; margin:44px 0 0 auto; }
.methodGrid { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:150px; border:1px solid #b9bbb6; }
.methodCard { height:570px; padding:30px; border-right:1px solid #b9bbb6; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; position:relative; }
.methodCard:last-child { border:0; }
.methodCard.featured { background:#121412; color:white; }
.methodCard.acid { background:var(--lime); }
.cardNo { font:700 12px/1 var(--font-geist-mono); color:#9da19a; }
.methodCard h3 { font-size:47px; margin:10px 0 22px; line-height:.92; }
.methodCard p:last-child { font-size:16px; line-height:1.6; max-width:340px; color:#565a55; }
.methodCard.featured p:last-child { color:#aeb1ac; }
.methodCard.acid p:last-child { color:#20221f; }
.micro { margin:0; }
.orbit { width:230px; height:230px; border:1px solid #444843; border-radius:50%; margin:0 auto; position:relative; }
.orbit:before,.orbit:after { content:""; position:absolute; border:1px solid #444843; border-radius:50%; inset:37px; }
.orbit:after { inset:75px; background:var(--lime); border:0; }
.orbit i,.orbit b { position:absolute; height:1px; background:#444843; left:-30px; right:-30px; top:50%; }
.orbit b { transform:rotate(90deg); }
.bars { height:210px; display:flex; align-items:flex-end; gap:11px; justify-content:center; }
.bars i { display:block; width:28px; background:#171917; }
.bars i:nth-child(1),.bars i:nth-child(5){height:40%}.bars i:nth-child(2),.bars i:nth-child(4){height:68%}.bars i:nth-child(3){height:100%;background:var(--lime)}
.target { width:210px; height:210px; margin:0 auto; border:1px solid #121412; border-radius:50%; position:relative; box-shadow:inset 0 0 0 34px var(--lime),inset 0 0 0 35px #121412,inset 0 0 0 69px var(--lime),inset 0 0 0 70px #121412; }
.target i { width:22px;height:22px;background:#111;border-radius:50%;position:absolute;inset:0;margin:auto; }
.studioFeature { position:relative; height:620px; margin-bottom:150px; overflow:hidden; background:#111; }
.studioFeatureImage { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,6,.15),rgba(5,7,6,.06) 55%,rgba(5,7,6,.72)),url('/hubfit-studio-row.png') center/cover no-repeat; }
.studioFeatureCaption { position:absolute; right:45px; bottom:45px; width:390px; color:white; border-left:3px solid var(--lime); padding-left:24px; display:flex; flex-direction:column; gap:14px; }
.studioFeatureCaption span { font:700 12px/1.3 var(--font-geist-mono); letter-spacing:.08em; color:var(--lime); }
.studioFeatureCaption strong { font-size:38px; line-height:1; letter-spacing:-.04em; text-transform:uppercase; }
.results { background:#0c0e0c; color:white; padding:145px 0; }
.resultsInner { display:grid; grid-template-columns:1.5fr 1fr; gap:130px; }
.light { color:#e8e9e6; }
.results blockquote { font-size:clamp(55px,6vw,100px); margin:90px 0 48px; }
.person { display:flex; flex-direction:column; gap:6px; font:700 12px/1.5 var(--font-geist-mono); text-transform:uppercase; }
.person span { color:#7d817a; }
.numbers { border-left:1px solid #343733; padding-left:70px; display:flex; flex-direction:column; justify-content:space-between; }
.numbers div { padding:22px 0 45px; border-bottom:1px solid #343733; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.numbers strong { font-size:68px; letter-spacing:-.07em; color:var(--lime); }
.numbers span { font:600 13px/1.5 var(--font-geist-mono); color:#b9bcb6; text-transform:uppercase; }
.about { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; padding-top:160px; padding-bottom:160px; }
.aboutGraphic { background:#151715 url('/hubfit-coaching-portrait.png') center/cover no-repeat; min-height:760px; display:flex; align-items:flex-start; justify-content:flex-end; overflow:hidden; position:relative; }
.aboutGraphic:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(5,6,5,.8)); }
.aboutGraphic span { position:relative; z-index:2; color:transparent; -webkit-text-stroke:1px var(--lime); font:900 120px/.8 var(--font-geist-sans); letter-spacing:-.08em; margin:28px 30px 0 0; }
.aboutGraphic i { position:absolute; z-index:2; color:#fff; bottom:35px; left:35px; font:700 13px/1 var(--font-geist-mono); text-transform:uppercase; letter-spacing:.09em; font-style:normal; }
.aboutCopy { padding-top:10px; }
.about h2 { margin-top:80px; }
.aboutCopy>p:not(.sectionLabel) { font-size:17px; line-height:1.7; color:#585c57; max-width:530px; margin:40px 0; }
.about ul { list-style:none; padding:0; border-top:1px solid #b8bab5; }
.about li { padding:20px 0; border-bottom:1px solid #b8bab5; text-transform:uppercase; font-weight:800; font-size:15px; }
.about li b { font:700 12px/1 var(--font-geist-mono); margin-right:30px; color:#666a65; }
.cta { background:#171917; color:white; padding:145px 0; position:relative; overflow:hidden; }
.ctaMark { position:absolute; right:-80px; bottom:-180px; color:#20231f; font-size:650px; font-weight:950; line-height:1; transform:rotate(-12deg); }
.ctaInner { position:relative; z-index:1; }
.cta h2 { margin:70px 0 35px; }
.cta p:not(.sectionLabel) { color:#aaaDa7; line-height:1.65; width:520px; max-width:100%; margin:0 0 40px; }
.button.large { min-width:360px; padding:24px 26px; }
.footer { min-height:170px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; }
.footer .brand span,.footer .brand i { color:#111; }
.footer p { font:700 12px/1 var(--font-geist-mono); text-align:center; text-transform:uppercase; letter-spacing:.07em; color:#656964; }
.footer div { display:flex; justify-content:flex-end; gap:30px; font:700 12px/1 var(--font-geist-mono); text-transform:uppercase; }

@media (max-width: 900px) {
  .shell{width:min(100% - 36px,700px)} .nav{height:72px}.navLinks{display:none}.navCta{padding:12px;font-size:12px}.hero{min-height:700px;height:100svh}.heroImage{background-position:60% center;opacity:.68}.heroContent{justify-content:flex-end;padding-bottom:85px}.eyebrow{margin-bottom:22px;font-size:12px}h1{font-size:clamp(70px,21vw,120px)}.heroCopy{font-size:16px;width:360px;margin:22px 0}.heroActions{align-items:flex-start;flex-direction:column;gap:22px}.button{min-width:min(100%,330px);font-size:12px}.textLink{font-size:12px}.heroTag{display:none}.ticker{font-size:16px}.intro{grid-template-columns:1fr;padding:90px 0 55px}.intro h2,.about h2,.cta h2{font-size:clamp(50px,13vw,80px);line-height:.9}.lead{margin:28px 0 0;width:100%;font-size:18px}.methodGrid{grid-template-columns:1fr;margin-bottom:90px}.methodCard{height:530px;border-right:0;border-bottom:1px solid #aaa}.studioFeature{height:520px;margin-bottom:90px}.studioFeatureImage{background-position:38% center}.studioFeatureCaption{left:24px;right:24px;bottom:28px;width:auto}.studioFeatureCaption strong{font-size:30px}.results{padding:90px 0}.resultsInner{grid-template-columns:1fr;gap:70px}.results blockquote{margin:60px 0 40px}.numbers{border-left:0;border-top:1px solid #343733;padding-left:0}.numbers strong{font-size:55px}.numbers span{font-size:12px}.about{grid-template-columns:1fr;gap:70px;padding:90px 0}.aboutGraphic{min-height:590px;background-position:center}.aboutGraphic span{font-size:90px;margin:24px}.about h2{margin-top:55px}.cta{padding:90px 0}.ctaMark{font-size:420px}.footer{grid-template-columns:1fr;gap:22px;padding:50px 0;text-align:center}.footer p{text-align:center}.footer div{justify-content:center}
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.tickerTrack{animation-duration:24s}.button{transition:none} }
