/* ── KNGMVMT consult page ──────────────────────────────
   Self-contained: relies only on the design tokens in
   /style.css (:root), never on home-page component classes.
   ------------------------------------------------------ */

/* Nav ------------------------------------------------- */
/* The consult page doesn't load main.js, so consult.js owns
   the .scrolled toggle. The CTA lives outside .nav-links so
   the site's mobile `display:none` rule can't swallow it. */
.nav-inner{max-width:1040px;padding:0 24px}
.c-nav-cta{
  font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:10px 20px;border:1px solid var(--accent);color:var(--accent);
  white-space:nowrap;transition:background .18s,color .18s;
}
.c-nav-cta:hover{background:var(--accent);color:var(--bg)}

/* Layout ---------------------------------------------- */
.consult{padding-top:var(--nav-h)}
.consult .container{max-width:1040px;margin:0 auto;padding:0 24px}
.c-section{padding:72px 0}
/* anchor jumps must clear the fixed nav */
.consult section[id]{scroll-margin-top:calc(var(--nav-h) + 28px)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.c-alt{background:var(--surface)}

/* Type ------------------------------------------------ */
.consult .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.consult h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(40px,7.5vw,84px);line-height:.95;letter-spacing:.02em;margin:0 0 20px;color:var(--fg)}
.consult h2{font-family:"Bebas Neue",sans-serif;font-size:clamp(30px,5vw,52px);letter-spacing:.02em;margin:0 0 28px;color:var(--fg)}

/* Hero ------------------------------------------------ */
.c-hero{padding:88px 0 64px;background:radial-gradient(60% 60% at 50% 0%,rgba(201,168,76,.12),transparent 70%)}
.c-hero-inner{text-align:center}
.c-sub{max-width:640px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.6}
.c-when{margin:24px auto 0;display:inline-block;padding:10px 18px;border:1px solid var(--border);border-radius:999px;color:var(--accent-light);font-weight:600;font-size:14px;letter-spacing:.04em}
.c-when:empty{display:none}
.c-where{margin:14px 0 0;color:var(--muted);font-size:14px;letter-spacing:.04em}
.c-where:empty{display:none}

/* Coach ----------------------------------------------- */
.c-coach{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.c-coach-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.c-coach-imgs img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border:1px solid var(--border-sub)}
/* coach.jpg is 9:16 so its vertical crop matters here;
   coach-gym.jpg ships pre-cropped to 3:4, so cover is a straight fit.
   50% (dead centre) sits the face in the upper quarter with the cap still
   clear of the top edge — 12% left him sitting too low with dead headroom. */
.c-coach-imgs img:nth-child(1){object-position:center 50%}
.c-coach-imgs img:nth-child(2){object-position:center}
.c-coach-text h2{margin-bottom:20px}
.c-p{color:var(--muted);font-size:15px;line-height:1.76;margin:0 0 18px}
.c-p:last-child{margin-bottom:0}

/* Cards ----------------------------------------------- */
.c-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.c-card{background:var(--surface-2);border:1px solid var(--border-sub);border-radius:8px;padding:24px}
.c-card h4{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--fg)}
.c-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.c-num{display:block;font-family:"Bebas Neue",sans-serif;font-size:28px;color:var(--accent);margin-bottom:8px}

/* Results --------------------------------------------- */
.c-transformations img{width:100%;height:auto;display:block;border:1px solid var(--border-sub)}
.c-caption{margin:18px 0 0;text-align:center;color:var(--muted);font-size:14px}

/* Prep ------------------------------------------------ */
.c-prep{max-width:640px;margin:0;padding-left:22px;color:var(--fg);font-size:16px;line-height:1.9}
.c-note{color:var(--muted);margin-top:16px;font-size:14px}

/* Next steps ------------------------------------------ */
.c-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.c-steps div{border-top:2px solid var(--accent);padding-top:14px}
.c-steps span{font-family:"Bebas Neue",sans-serif;font-size:26px;color:var(--accent)}
.c-steps p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.c-steps b{color:var(--fg)}

/* Closing CTA ----------------------------------------- */
.c-final-inner{text-align:center}
.c-final h2{margin-bottom:16px}
.c-btn{
  display:inline-block;margin-top:28px;padding:15px 38px;
  background:var(--accent);color:var(--bg);
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:background .18s;
}
.c-btn:hover{background:var(--accent-light)}

/* Footer ---------------------------------------------- */
.c-footer{padding:36px 0;border-top:1px solid var(--border-sub);background:var(--bg)}
.c-footer .container{max-width:1040px;margin:0 auto;padding:0 24px}
.c-footer p{margin:0;color:var(--muted);font-size:13px}
.c-footer a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.c-footer a:hover{color:var(--accent)}

/* Responsive ------------------------------------------ */
@media (max-width:1000px){
  .c-coach{grid-template-columns:1fr;gap:44px}
  .c-coach-imgs{max-width:480px}
  .c-grid-3{grid-template-columns:repeat(2,1fr)}
  .c-steps{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media (max-width:768px){
  .consult .container,
  .c-footer .container,
  .nav-inner{padding:0 20px}
  .c-section{padding:56px 0}
  .c-hero{padding:64px 0 48px}
  .c-sub{font-size:16px}
  .c-grid,.c-grid-3{grid-template-columns:1fr}
  .c-steps{grid-template-columns:1fr;gap:20px}
  .c-nav-cta{font-size:10.5px;padding:9px 14px;letter-spacing:.08em}
}
