/* Approved local refresh. Figma motion lives in the source-specific exports. */
:root { --success-green: #0f7a5a; }
#outcome-ring-stage { --success-green: #35c96f; }
#hero .hero-action > .cta[data-cta-source="site_hero"] {
  color: #fff;
  background: var(--accent-red);
  border-color: var(--accent-red);
}
#hero .hero-action > .cta[data-cta-source="site_hero"]:hover {
  background: #c72520;
  border-color: #c72520;
  color: #fff;
}
#hero .hero-action > .cta[data-cta-source="site_hero"]:focus-visible {
  background: var(--accent-red);
  color: #fff;
  outline: 2px solid #fff;
  outline-offset: 4px;
}
.fitnessos-loader.is-complete .fitnessos-loader-fill {
  box-shadow: 0 0 12px rgb(15 122 90 / .56);
}
.reviews-head { grid-template-columns: minmax(0, 1fr); gap: 0; }
#final .day-zero-copy .final-consultation-label {
  max-width: 620px;
  margin: 28px 0 0;
  font-size: clamp(22px, 5.8vw, 32px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: var(--white);
}
.final-response-path li.is-complete {
  border-color: rgb(15 122 90 / .78);
  background: linear-gradient(115deg, rgb(15 122 90 / .24), rgb(9 11 12 / .86) 68%);
  box-shadow: inset 0 0 34px rgb(15 122 90 / .08), 0 0 22px rgb(15 122 90 / .09);
}
/* Small copy stays readable; the icon and border carry the success color. */
.final-response-path li.is-complete .final-response-copy small,
.system-node.is-complete b { color: var(--white); }

.site-header .logo { position: relative; }
.site-header .brand-glint-mask { position: absolute; inset: 0; pointer-events: none; overflow: hidden; mask: url('brand-mask-desktop.svg') 0 0 / 100% 100% no-repeat; -webkit-mask: url('brand-mask-desktop.svg') 0 0 / 100% 100% no-repeat; }
.site-header .brand-glint { display: block; position: absolute; left: -36px; top: 0; width: 36px; height: 100%; background: linear-gradient(90deg, transparent, #fff 50%, transparent); }
.site-header .logo.is-glint-running .brand-glint { animation-play-state: running; }
@media (max-width: 600px) { .site-header .brand-glint-mask { mask-image: url('brand-mask-mobile.svg'); -webkit-mask-image: url('brand-mask-mobile.svg'); } }
@media (max-width: 600px) { .review-grid.is-hint-enabled.is-hint-running .review-card { animation-play-state: running; } }
@media (min-width: 601px) { .review-grid.is-hint-enabled .review-card { animation: none; } }
@media (prefers-reduced-motion: reduce) { .site-header .brand-glint, .review-grid.is-hint-enabled .review-card { animation: none; } .site-header .brand-glint-mask { display: none; } }

/* Figma 67:2, adapted to the existing responsive nutrition column. */
/* Cases: Figma 86:19 / 86:27. Original photos, quantities and narratives retained. */
#results .case-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: stretch; }
#results .case-card { min-width: 0; padding: 0; border: 0; background: #0e1112; color: #ece9e0; }
#results .case-images { border: 0; gap: 1px; }
#results .case-body { padding: 20px 18px 24px; }
#results .case-head { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 16px; padding: 0; border: 0; }
#results .case-head h3 { margin: 0; font-size: clamp(42px, 11.3vw, 56px); font-weight: 400; line-height: 1.18; letter-spacing: -.045em; color: #ece9e0; }
#results .case-period { margin: 0; font-size: 18px; font-weight: 400; line-height: 27px; letter-spacing: 0; color: #ece9e0; }
#results .case-person { display: block; margin: 0; font-size: 14px; font-weight: 400; line-height: 21px; letter-spacing: 0; text-transform: none; color: #a3a6a6; }
#results .case-story { display: grid; gap: 18px; margin-top: 20px; padding: 0; border: 0; background: transparent; }
#results .case-story p { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 27px; color: #bfc0bf; }
#results .case-story .case-story-mark { display: grid; place-items: center; width: 28px; height: 28px; margin: -.5px 0 0; padding: 0; }
#results .case-story-mark img { display: block; width: 28px; height: 28px; }
@media (min-width: 821px) { #results .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } #results .case-body { padding: 26px; } }

.nutrition-week-panel { min-width: 0; align-self: start; background: #efede5; border: 1px solid var(--black); }
.nutrition-week-panel .nutrition-system-head { padding: 20px; background: #090b0c; color: #ece9e0; }
.nutrition-week-panel .figma-week-refresh { max-width: none; font-family: inherit; }
.nutrition-week-panel .figma-week-refresh h3 { font-family: inherit; }
.nutrition-week-panel .figma-week-refresh__caption p { font-family: inherit; }
.nutrition-week-panel .adaptive-week-note { margin: 0; padding: 0 20px 24px; font-size: 16px; line-height: 1.5; }
.figma-week-refresh[data-week-state="playing"] [data-week-motion-node] { animation-play-state: paused; }
.figma-week-refresh[data-week-state="playing"].is-week-running [data-week-motion-node] { animation-play-state: running; }

/* Only the independently exported halo breathes; both original paths remain fixed. */
#outcome-ring-stage .ring-glow-pulse { transform-box: view-box; transform-origin: 195px 230px; filter: blur(2.5px); animation-play-state: paused; pointer-events: none; }
#outcome-ring-stage.is-loop-visible .ring-glow-pulse { animation-play-state: running; }
#offer .fs-dot-wave { background: #0f7a5a; box-shadow: 0 0 9px rgb(15 122 90 / .65); transform-origin: center; animation-play-state: paused; }
#offer .is-loop-visible.is-wave-ready .fs-dot-wave { animation-play-state: running; }
#offer .figma-support-dots-ready .fs-dot[data-figma-motion] {
  animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: 1;
  animation-fill-mode: both; animation-delay: 0s; animation-play-state: paused;
  box-shadow: none; background: var(--accent-red);
}
#offer .is-cadence-started.is-loop-visible .fs-dot[data-figma-motion] { animation-play-state: running; }
#offer .fs-dot[data-figma-motion="67:259"] { animation-name: kf_67_259_background-color_0; }
#offer .fs-dot[data-figma-motion="67:260"] { animation-name: kf_67_260_background-color_0; }
#offer .fs-dot[data-figma-motion="67:261"] { animation-name: kf_67_261_background-color_0; }
#offer .fs-dot[data-figma-motion="67:262"] { animation-name: kf_67_262_background-color_0; }
#offer .fs-dot[data-figma-motion="67:263"] { animation-name: kf_67_263_background-color_0; }
#offer .fs-dot[data-figma-motion="67:264"] { animation-name: kf_67_264_background-color_0; }
#offer .fs-dot[data-figma-motion="67:265"] { animation-name: kf_67_265_background-color_0; }
#offer .fs-dot[data-figma-motion="67:270"] { animation-name: kf_67_270_background-color_0; }
#offer .fs-dot[data-figma-motion="67:273"] { animation-name: kf_67_273_background-color_0; }
#offer .fs-dot[data-figma-motion="67:276"] { animation-name: kf_67_276_background-color_0; }
#offer .fs-dot[data-figma-motion="67:287"] { animation-name: kf_67_287_background-color_0; }
@media (prefers-reduced-motion: reduce) {
  #outcome-ring-stage .ring-glow-pulse { animation: none; opacity: .45; scale: 1; }
  #offer .fs-dot[data-figma-motion], #offer .fs-dot-wave { animation: none; scale: 1; }
  #offer .fs-dot-wave { opacity: 1; }
}
