/* Light, minimal theme (Jeff Nippard-style) layered over site.css / pages.css. */
:root {
  --bg: #e6e5e1; --bg-2: #f7f6f3; --bg-3: #d9d8d3; --fg: #141414; --mute: #6c6a65; --rule: #1414141f;
  --red: #d42c1a;
  --body: "Archivo", system-ui, sans-serif; --head: "Archivo", system-ui, sans-serif;
  --j-card: #f7f6f3; --j-btn: #141414; --j-btn-ink: #fff; --j-h: "Archivo", system-ui, sans-serif;
}
body { background: var(--bg); color: var(--fg); }
body::after { display: none; }

/* headings: clean grotesk, sentence case (posters keep the condensed caps) */
.display, .j-h2 { font-family: var(--head); font-style: normal; font-weight: 700; text-transform: none; letter-spacing: -.035em; line-height: .98; }
h1.display, h2.display, .j-h2 { font-size: clamp(2.1rem, 4.4vw, 3.9rem) !important; }
.display em, .j-h2 em { font-style: normal; color: inherit; }
.kicker { font-family: var(--body); font-size: .68rem; letter-spacing: .2em; font-weight: 600; }
.kicker b { color: var(--fg); }

/* buttons: black pills */
.btn { background: #141414; color: #fff; clip-path: none; border-radius: 999px; font-family: var(--body); font-style: normal; font-weight: 600; font-size: .78rem; letter-spacing: .12em; height: 48px; }
.btn:hover { background: #000; }
.btn.ghost { box-shadow: inset 0 0 0 1.5px var(--fg); color: var(--fg); }
.btn.ghost:hover { background: var(--fg); color: var(--bg); }
.btn.dark { background: #fff; color: #141414; }

/* nav */
nav { color: #fff; }
nav.solid { background: #e6e5e1ee; border-bottom-color: var(--rule); color: var(--fg); }
nav.solid .logo img { filter: invert(1) brightness(.1); }
.links { font-family: var(--body); font-size: .74rem; font-weight: 600; letter-spacing: .14em; }
.links a { color: inherit; opacity: .7; } .links a:hover { opacity: 1; color: inherit; }
.menu-btn { border-color: currentColor; font-family: var(--body); font-style: normal; font-size: .74rem; border-radius: 999px; }
.mobile-menu { background: var(--bg) !important; color: var(--fg); }
.mobile-menu a { font-family: var(--head) !important; font-style: normal !important; text-transform: none !important; letter-spacing: -.02em; }

/* sections */
.sec { border-top: 1px solid var(--rule); }
.jprog.sec, #transformations.sec { border-top: 0; }
.story { color: var(--fg); }
.story-copy p, .story-points li { color: var(--mute); }
.t-card figcaption { color: var(--fg); }
.story-play { background: #141414cc !important; color: #fff; }

.proof { background: #141414; color: #ece8e1; --fg: #ece8e1; --mute: #a39e95; --rule: #ece8e11f; }
.proof .display { color: #fff; }
.proof .kicker b { color: var(--red); }
.p-end .btn { background: #fff; color: #141414; }

.coach { background: var(--bg-2); }
.coach .pic::after { background: linear-gradient(270deg, var(--bg-2) 0%, #f7f6f300 40%) !important; }

.cta { background: #141414 !important; color: #fff; }
.cta .display { color: #fff; }

.planner { background: var(--bg-2) !important; }
#contact-form { background: var(--bg-2) !important; }
.plan-card { background: var(--bg-2) !important; border-color: var(--rule) !important; border-radius: 10px; }
.plan-card.hot { background: #141414 !important; color: #fff; border-color: #141414 !important; --mute: #a39e95; --rule: #ffffff22; }
.plan-card.hot .btn { background: #fff; color: #141414; }
.plan-card li b { color: inherit; }
.included { background: var(--bg-2) !important; border-radius: 10px; }
.badge { border-radius: 999px; }

.pf-opt span, .cf-field input, .cf-field select, .cf-field textarea { border-radius: 8px; }
.pf-opt input:checked + span { background: #141414; color: #fff; }
.pf-submit, .cf-submit { background: #141414; border-radius: 999px; clip-path: none; font-family: var(--body); font-style: normal; }
.board-row.h > div + div { background: #141414; }
.reel-play, .reel-close { background: #141414; }
.plan-error, .cf-note[data-state="error"] { color: var(--red); }

footer { background: #141414 !important; color: #ece8e1; --fg: #ece8e1; --mute: #a39e95; --rule: #ece8e11f; }
.wordmark { color: #ece8e11a; }

/* floating dock */
.zo-dock .bk { background: #141414 !important; clip-path: none !important; border-radius: 999px; font-family: var(--body) !important; font-style: normal !important; font-size: .78rem !important; letter-spacing: .12em !important; }
@media (max-width: 767px) { .zo-dock { background: #e6e5e1f2 !important; border-top-color: var(--rule) !important; } }

/* sub-pages */
.page-hero, .sub-hero { background: var(--bg) !important; color: var(--fg); }
.prose { color: var(--fg); }
.prose p, .prose li { color: #3c3b38; }

/* inner pages: solid light header with dark links */
body.sub nav { background: #e6e5e1f0 !important; color: var(--fg); border-bottom: 1px solid var(--rule); backdrop-filter: blur(10px); }
body.sub nav .logo img, nav.solid .logo img { filter: invert(1) brightness(.12); }
body.sub .links a { color: var(--fg); opacity: .72; } body.sub .links a:hover { opacity: 1; }
.ph-lead { color: var(--mute) !important; }
.ph-img { background: #fff; box-shadow: 0 30px 70px -30px #0006; }
.prose { color: var(--fg) !important; }
.fly-chip { background: #141414 !important; color: #fff; border: 0; }
.bk-error { color: var(--red); }

/* footer: warm grey, Jeff style */
.jfoot { --f-bg: #cfcdc6; --fg: #141414; --mute: #5c5a55; --rule: #14141426; color: var(--fg); }
.jf-h { font-style: normal; text-transform: none; font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.jfoot .jf-brand img { filter: invert(1) brightness(.12); }
.jfoot .jf-word { opacity: .16; }
.jfoot .jf-word span { color: var(--fg); }
