/* Core Nutrition — inner-page-only styles.
   Linked after site.css on the 8 inner pages + blog + 404. Uses only her
   token names from site.css (--charcoal, --charcoal-2, --cream, --white,
   --mist, --line, --chartreuse, --radius, --shadow, --maxw) — never the
   legacy --primary/--accent/--ink/--bg/--tint/--border aliases, which carry
   stale production overrides. */

/* ---- service cards with photos (work-with-me) ---- */
.svc--photo{padding:0;overflow:hidden}
.svc--photo .svc-photo-wrap{position:relative}
.svc--photo .svc-photo-wrap img{width:100%;height:190px;object-fit:cover;display:block}
.svc--photo .svc-badge{
  position:absolute;left:22px;bottom:-24px;width:48px;height:48px;border-radius:50%;
  background:var(--chartreuse);border:5px solid var(--white);display:grid;place-items:center;
  font-weight:600;font-size:18px;color:var(--charcoal);
}
.svc--photo .svc-body{padding:36px 26px 26px}

/* Signature Plan card only: photo left / copy right instead of the stacked
   photo-above-text the other 3 service cards use. The photo fills its
   column edge-to-edge (object-fit:cover, top-anchored) rather than the
   short 190px strip the other cards use, so her full face is in frame
   without the letterboxing an earlier contain-based version left behind.
   object-position is anchored top + 65% horizontal (not dead-center) so the
   left side of her head/body is not clipped by the crop.
   The badge's bottom offset is pulled in from the shared -24px (which
   assumes a short photo strip) to 18px so it lands inside this column's
   full-height photo instead of being clipped by the card's overflow:hidden.
   Reverts to the stacked layout under 900px so mobile is unaffected. */
.svc--feature{flex-direction:row;align-items:stretch}
.svc--feature .svc-photo-wrap{flex:0 0 38%}
.svc--feature .svc-photo-wrap img{height:100%;width:100%;min-height:360px;object-fit:cover;object-position:65% top}
.svc--feature .svc-badge{bottom:18px}
.svc--feature .svc-body{flex:1;padding:36px 40px}
@media(max-width:900px){
  .svc--feature{flex-direction:column}
  .svc--feature .svc-photo-wrap{flex:none;width:100%}
  .svc--feature .svc-photo-wrap img{height:230px;min-height:0;object-fit:cover}
  .svc--feature .svc-badge{bottom:-24px}
}

/* ---- focus-card icon circles built from PNG icons (areas-of-focus) ---- */
.principles .focus-icon{
  width:56px;height:56px;border-radius:50%;background:var(--chartreuse);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden;
}
.principles .focus-icon img{width:30px;height:30px;object-fit:contain}

/* simple list for extra copy-doc areas not among her 8 named focus cards */
.simple-list{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 30px;max-width:760px;margin-inline:auto}
.simple-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--charcoal-2);font-size:.95rem}
.simple-list .material-symbols-rounded{color:var(--chartreuse);background:var(--charcoal);border-radius:50%;font-size:15px;padding:4px}

/* ---- credential badges (research-credentials) ---- */
.credential-badges{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;margin:0 0 40px}
.credential-badges img{height:150px;width:auto}
.credential-badges .nasm-badge{height:120px}

/* ---- recommends list (core-recommends) ---- */
.recommends-list{list-style:none;margin:44px auto 0;padding:0;max-width:640px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.recommends-item{display:flex;gap:16px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.recommends-item:last-child{border-bottom:0}
.recommends-icon{
  width:44px;height:44px;border-radius:50%;background:var(--chartreuse);flex:0 0 auto;
  display:grid;place-items:center;color:var(--charcoal);
}
.recommends-icon .material-symbols-rounded{font-size:22px}
.recommends-item strong{display:block;font-size:.98rem;margin-bottom:2px;color:var(--charcoal)}
.recommends-item span{font-size:.87rem;color:var(--charcoal-2)}

/* ---- legal pages: draft banner + simple copy body (privacy, terms, affiliate-disclosure) ---- */
.draft-banner{background:var(--chartreuse);color:#171717;text-align:center;font-size:13.5px;font-weight:600;padding:12px 20px}
.legal{max-width:74ch;margin-inline:auto}
.legal h2{margin:40px 0 12px;font-size:clamp(1.35rem,2vw,1.6rem)}
.legal h2:first-of-type{margin-top:8px}
.legal p{color:var(--charcoal-2)}
.legal ul{color:var(--charcoal-2);padding-left:1.25em;margin:0 0 1.15em}
.legal li{padding:4px 0}
.legal__updated{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--charcoal-2);margin-bottom:34px}

/* ---- FAQ (faq) — her V53 button/panel accordion, ported verbatim from her
   reference (FAQ_V53.stripped.html). Replaces the earlier <details>-based
   .faq rules from the first re-skin pass. ---- */
.faq-hero{padding:82px 0 56px;background:var(--cream);border-bottom:1px solid var(--line)}
.faq-hero-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}
.faq-hero-copy{position:sticky;top:125px}
.faq-hero-copy h1{font-size:clamp(42px,5vw,66px);font-weight:500;letter-spacing:-.025em;max-width:9ch;margin-bottom:18px}
.faq-hero-copy>p:not(.eyebrow){font-size:17px;max-width:43ch;margin-bottom:0}
.faq-groups{display:grid;gap:34px}
.faq-group-title{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--charcoal-2);display:flex;align-items:center;gap:10px;margin:0 0 10px}
.faq-group-title:before{content:"";width:17px;height:2px;background:var(--chartreuse)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);background:#fff}
.faq-question{width:100%;border:0;background:transparent;color:var(--charcoal);padding:22px 2px;display:flex;align-items:center;justify-content:space-between;gap:22px;text-align:left;cursor:pointer;font-family:'Jost',sans-serif;font-size:18px;font-weight:600;line-height:1.35}
.faq-question:focus-visible{outline:3px solid rgba(203,255,0,.55);outline-offset:3px}
.faq-plus{width:34px;height:34px;border-radius:50%;background:var(--chartreuse);display:grid;place-items:center;flex:0 0 auto;position:relative}
.faq-plus:before,.faq-plus:after{content:"";position:absolute;width:13px;height:1.5px;background:var(--charcoal);transition:transform .2s ease}
.faq-plus:after{transform:rotate(90deg)}
.faq-question[aria-expanded="true"] .faq-plus:after{transform:rotate(0)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.faq-answer>div{overflow:hidden}
.faq-answer p{margin:0;padding:0 54px 22px 2px;font-size:15.5px;line-height:1.72;max-width:72ch}
.faq-question[aria-expanded="true"] + .faq-answer{grid-template-rows:1fr}
.faq-cta{background:var(--charcoal);color:#fff;padding:62px 0}
.faq-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:38px}
.faq-cta h2{font-size:clamp(31px,3.7vw,46px);font-weight:500;margin-bottom:8px}
.faq-cta p{color:#d8d8d2;margin:0;max-width:650px}
.faq-cta .accent{color:var(--chartreuse)}
.faq-cta .btn{flex:0 0 auto}
@media(max-width:900px){.faq-hero-grid{grid-template-columns:1fr;gap:36px}.faq-hero-copy{position:static}.faq-hero-copy h1{max-width:12ch}.faq-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.faq-hero{padding:58px 0 36px}.faq-question{font-size:16.5px;padding:19px 0}.faq-plus{width:32px;height:32px}.faq-answer p{padding-right:4px}.faq-cta{padding:48px 0}.faq-cta .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.faq-answer,.faq-plus:after{transition:none}}

/* ---- contact form (contact) ---- */
.form__note a{color:var(--charcoal);text-decoration:underline}
.services-subhead{font-size:1.4rem}
.plan-terms{font-size:.94rem}

/* ---- 404 ---- */
.nf{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center}
.nf__inner{max-width:44ch;padding-block:80px}
.nf h1{margin-bottom:18px}
.nf p{color:var(--charcoal-2)}
.nf-header{background:var(--cream);border-bottom:1px solid var(--line)}
.nf-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:20px}
.nf-header img{width:190px;height:auto}
.nf-footer{background:var(--charcoal);color:#d9d9d3;padding:28px 0}
.nf-footer p{margin:0;color:#aaa9a4;font-size:12.5px}
.nf__actions{justify-content:center}

@media(max-width:640px){
  .simple-list{grid-template-columns:1fr}
  .credential-badges img{height:110px}
  .credential-badges .nasm-badge{height:90px}
}
