/* Vagabond Muscle Coaching — standalone styles */
:root{
  --bg:#0D0D0D; --bg-alt:#121212; --card:#161616; --border:#2E2E2E; --border-soft:#4A4A4A;
  --text:#F2F2F2; --text-muted:#C9C9C9; --text-dim:#8A8A8A; --text-faint:#6E6E6E;
  --gold:#F5B921; --gold-ink:#0D0D0D; --olive:#6B7040;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
a{color:var(--gold);}
img{max-width:100%;display:block;}
h1,h2,h3{letter-spacing:-0.02em;line-height:1.1;margin:0;}

/* scrolling supplier ticker */
.ticker{display:block;background:#0D0D0D;color:#B0B0B0;text-decoration:none;
  overflow:hidden;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.08);}
.ticker-track{display:inline-flex;align-items:center;will-change:transform;animation:ticker 44s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-group{display:inline-flex;align-items:center;padding:14px 0;}
.ticker .ti{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:#AFAFAF;padding:0 14px;}
.ticker .hl{color:var(--gold);}
.ticker .brand{color:#F3F2EF;font-weight:700;}
.ticker .code{background:var(--gold);color:#0D0D0D;padding:3px 9px;border-radius:4px;letter-spacing:0.12em;font-weight:800;}
.ticker .dot{color:#4A4A4A;padding:0 3px;font-size:0.6rem;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;}}

/* header */
.announce{background:#161616;border-bottom:1px solid var(--border);color:#D8D8D8;
  text-align:center;font-size:0.75rem;padding:12px 16px;letter-spacing:0.01em;}
.nav{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);}
.nav-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;gap:20px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:600;font-size:1.05rem;}
.brand img{width:40px;height:40px;border-radius:50%;}
.nav-links{display:flex;gap:22px;flex-wrap:wrap;}
.nav-links a{color:#D8D8D8;text-decoration:none;font-size:0.9rem;}
.nav-links a:hover{color:#fff;}

/* layout */
.section{max-width:var(--maxw);margin:0 auto;padding:88px 24px;}
.section.tight{padding:64px 24px;}
.section.narrow{max-width:800px;}
.bg-alt{background:var(--bg-alt);}
.eyebrow{color:var(--gold);letter-spacing:0.14em;text-transform:uppercase;font-size:0.72rem;font-weight:600;margin:0 0 16px;}
.lead{font-size:1.15rem;line-height:1.7;color:var(--text-muted);}
h2.big{font-size:clamp(1.9rem,4.5vw,3rem);color:#fff;margin:0 0 14px;}
.center{text-align:center;}
.muted{color:var(--text-dim);}
.sub{color:var(--text-dim);font-size:1.05rem;max-width:560px;margin:0 auto 48px;}

/* buttons */
.btn{display:inline-block;text-decoration:none;padding:16px 34px;font-size:1rem;font-weight:600;border:1px solid transparent;}
.btn-gold{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);}
.btn-ghost{background:rgba(0,0,0,0.25);color:#fff;border-color:#fff;}
.btn-outline{background:transparent;color:#fff;border-color:var(--border-soft);}
.btn-block{display:block;text-align:center;}
.btn-row{display:flex;flex-wrap:wrap;gap:13px;}

/* hero */
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 32%;}
.hero .overlay{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(13,13,13,.92) 0%,rgba(13,13,13,.82) 42%,rgba(13,13,13,.28) 72%,rgba(13,13,13,.15) 100%);}
.hero .inner{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:88px 24px;}
.hero .copy{max-width:600px;}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.5rem);color:#fff;margin:0 0 24px;text-shadow:0 2px 20px rgba(0,0,0,.55);}
.hero p{font-size:clamp(1.02rem,1.5vw,1.18rem);color:#E2E2E2;max-width:520px;margin:0 0 36px;text-shadow:0 1px 10px rgba(0,0,0,.6);}
.hero .loc{margin:30px 0 0;color:#B8B8B8;font-size:0.82rem;letter-spacing:0.09em;text-transform:uppercase;}

/* problem / prose */
.prose p{font-size:clamp(1.05rem,1.7vw,1.2rem);line-height:1.7;color:var(--text-muted);margin:0 0 22px;}
.prose p.white{color:#fff;}
.pull{font-size:clamp(1.2rem,2.2vw,1.5rem);color:#fff;font-weight:600;border-left:3px solid var(--gold);padding-left:24px;margin:32px 0;line-height:1.5;}

/* tiers */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:stretch;}
.tier{background:var(--card);border:1px solid var(--border);padding:36px 30px;display:flex;flex-direction:column;}
.tier.feature{border:2px solid var(--gold);}
.tier h3{font-size:1.4rem;color:#fff;margin:0 0 6px;}
.tier .tag{color:var(--text-dim);font-size:0.95rem;margin:0 0 24px;}
.tier p{color:var(--text-muted);line-height:1.6;font-size:0.98rem;margin:0 0 22px;}
.tier ul{list-style:none;padding:0;margin:0 0 28px;color:#B0B0B0;font-size:0.94rem;line-height:1.9;flex-grow:1;}
.note{text-align:center;color:var(--text-faint);margin:36px 0 0;font-size:0.95rem;}

/* method grid */
.method{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:var(--border);border:1px solid var(--border);}
.method .cell{background:var(--card);padding:36px 30px;}
.method h3{font-size:1.15rem;color:var(--gold);margin:0 0 14px;}
.method p{color:#B8B8B8;line-height:1.65;margin:0;font-size:1rem;}

/* split (authority) */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:56px;align-items:center;}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 0%;}

/* transformation */
.tri{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:start;}
.tri figure{margin:0;}
.tri img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.tri img.before{object-position:50% 18%;filter:grayscale(.3);}
.tri img.now{object-position:50% 42%;}
.tri figcaption{font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;padding-top:14px;}

/* proof */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;}
blockquote.q{margin:0;background:var(--card);border-top:3px solid var(--gold);padding:36px 32px;display:flex;flex-direction:column;}
blockquote.q p{line-height:1.7;color:#DDD;font-size:1.05rem;margin:0 0 18px;}
blockquote.q footer{color:var(--gold);font-size:0.86rem;letter-spacing:0.06em;text-transform:uppercase;}

/* service cards */
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.svc .card{background:var(--card);border:1px solid var(--border);padding:36px 30px;}
.svc h3{font-size:1.3rem;color:#fff;margin:0 0 8px;}
.svc .price{color:var(--gold);font-size:1.3rem;font-weight:600;margin:0 0 18px;}
.svc p{color:#B8B8B8;line-height:1.65;margin:0 0 26px;font-size:1rem;}

/* supplier banner */
.supplier{max-width:1000px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--olive);
  padding:26px 30px;display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;justify-content:space-between;}
.supplier .sk{color:var(--gold);letter-spacing:0.12em;text-transform:uppercase;font-size:0.68rem;font-weight:600;margin:0 0 6px;}
.supplier .st{color:#E4E4E4;font-size:1.02rem;line-height:1.55;margin:0;}
.supplier .ss{margin:8px 0 0;font-size:0.86rem;}
.supplier .ss a{color:#9A9A9A;text-decoration:none;border-bottom:1px solid #3A3A3A;padding-bottom:2px;}

/* final cta */
.finalcta{background:var(--gold);}
.finalcta .section{text-align:center;max-width:720px;}
.finalcta h2{color:#1A1206;font-size:clamp(1.8rem,4.2vw,2.7rem);margin:0 0 24px;}
.finalcta p{color:#2E2207;font-size:clamp(1.05rem,1.7vw,1.2rem);line-height:1.65;margin:0 0 40px;}
.finalcta .btn-dark{background:#0D0D0D;color:var(--gold);}
.finalcta .fine{margin:28px 0 0;font-size:0.98rem;color:#2E2207;}
.finalcta .fine a{color:#1A1206;}

/* veteran band */
.vetband{max-width:900px;margin:0 auto;border:1px solid var(--olive);background:var(--card);padding:40px 36px;
  display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;}
.vetband h3{font-size:1.55rem;color:#fff;margin:0 0 14px;line-height:1.2;}
.vetband p{margin:0;color:#B0B0B0;line-height:1.65;font-size:1rem;}

/* product/detail page */
.detail{max-width:820px;margin:0 auto;}
.detail h1{font-size:clamp(2rem,5vw,3rem);color:#fff;margin:0 0 8px;}
.detail .cta-wrap{margin:26px 0 8px;}
.detail .applynote{color:var(--text-dim);font-size:0.9rem;margin:14px 0 30px;}
.detail h3{color:#fff;font-size:1.2rem;margin:34px 0 12px;}
.detail ul{color:var(--text-muted);line-height:1.8;padding-left:22px;}
.detail .disclaimer{font-size:0.82rem;color:#7A7A7A;font-style:italic;margin-top:14px;}

/* supplements */
.sup-codes{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--gold);padding:18px 22px;margin:24px 0 8px;}
.sup-item{margin:0 0 16px;}
.sup-item strong{color:#fff;}
.sup-item span{color:#B0B0B0;}

/* footer */
.foot{border-top:1px solid var(--border);background:var(--bg);}
.foot-inner{max-width:var(--maxw);margin:0 auto;padding:48px 24px;color:var(--text-dim);font-size:0.9rem;}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 20px;}
.foot-links a{color:#C9C9C9;text-decoration:none;}
.foot .fine{font-size:0.76rem;color:#6A6A6A;line-height:1.6;margin-top:18px;}

/* ---- engagement polish ---- */
/* buttons: subtle lift + shift */
.btn{transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(245,185,33,.28);}
.btn-ghost:hover,.btn-outline:hover{background:#fff;color:#0D0D0D;border-color:#fff;transform:translateY(-2px);}
.finalcta .btn-dark:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.35);}

/* nav underline grow */
.nav-links a{position:relative;padding-bottom:4px;transition:color .18s ease;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .22s ease;}
.nav-links a:hover::after{width:100%;}

/* cards: lift on hover */
.tier,.svc .card{transition:transform .2s ease, border-color .2s ease, box-shadow .25s ease;}
.tier:hover,.svc .card:hover{transform:translateY(-4px);border-color:var(--border-soft);box-shadow:0 16px 40px rgba(0,0,0,.35);}
.tier.feature{position:relative;}
.tier.feature:hover{box-shadow:0 18px 46px rgba(245,185,33,.16);}
.method .cell{transition:background-color .2s ease;}
.method .cell:hover{background:#1B1B1B;}
.supplier{transition:border-color .2s ease;}
.supplier:hover{border-left-color:var(--gold);}

/* Premium "most access" ribbon */
.ribbon{position:absolute;top:-1px;right:-1px;background:var(--gold);color:var(--gold-ink);
  font-size:0.64rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;padding:6px 12px;}

/* credibility strip under hero */
.cred{border-bottom:1px solid var(--border);background:var(--bg);}
.cred-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 40px;
  align-items:center;justify-content:center;padding:22px 24px;}
.cred .item{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:0.82rem;
  letter-spacing:0.06em;text-transform:uppercase;font-weight:600;}
.cred .item svg{width:16px;height:16px;flex:0 0 auto;}
.cred .item .dot{color:var(--gold);}

/* section-entrance fade (progressive; no-JS safe) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

@media(max-width:640px){
  .section{padding:60px 20px;}
  .hero{min-height:520px;}
  .nav-inner{padding:14px 18px;}
  .ticker .ti{font-size:0.66rem;letter-spacing:0.12em;padding:0 11px;}
  .cred-inner{gap:12px 24px;padding:18px 18px;}
}
