/* Focused refinements to the approved v7 palette; no section rearrangement. */

/* The two existing orbital markers revolve slowly around the static portrait. */
body.palette-lime .hero-orbit {
  animation: hero-orbit-revolve 44s linear infinite;
  transform-origin: 50% 50%;
  will-change: transform;
}
@keyframes hero-orbit-revolve { to { transform: rotate(360deg); } }

/* Editorial numbered portraits make the audience section part of the same system. */
body.palette-lime .audience .section-heading .eyebrow,
body.palette-lime .results .section-heading .eyebrow,
body.palette-lime .program .section-heading .eyebrow {
  color: #40551a;
  background: #eaf3cf;
  border-color: #bbd66c;
}
body.palette-lime .no-code-strip { background: #292b2e; border: 1px solid rgba(216,244,91,.36); }
body.palette-lime .no-code-strip strong { border-left: 4px solid var(--lime); padding-left: 14px; }
body.palette-lime .audience .persona-grid { counter-reset: persona; }
body.palette-lime .persona-card {
  counter-increment: persona;
  border-color: #d8e5b2;
  box-shadow: 0 16px 38px rgba(39, 34, 30, .06);
}
body.palette-lime .persona-card::before {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 21px;
  width: 44px;
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: var(--lime-deep);
}
body.palette-lime .persona-card::after {
  content: '0' counter(persona);
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--lime);
  color: #292b2e;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .02em;
  box-shadow: 0 7px 20px rgba(22, 26, 8, .18);
}

/* One orbit and one small spark sit behind the existing physical portfolio folder. */
body.palette-lime .portfolio-folder-art::before {
  background: radial-gradient(circle,rgba(216,244,91,.2),rgba(216,244,91,.06) 53%,transparent 70%);
  border: 1px solid rgba(158,195,52,.43);
  filter: none;
}
body.palette-lime .portfolio-folder-art::after {
  content: '';
  position: absolute;
  z-index: 2;
  top: 13%;
  right: 8%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 0 9px rgba(216,244,91,.18);
}
body.palette-lime .portfolio-folder b { color: var(--lime); }
body.palette-lime .results-board article > span { color: #292b2e; background: var(--lime); }
body.palette-lime .portfolio-banner {
  border: 1px solid rgba(216,244,91,.36);
  background: radial-gradient(circle at 90% 10%,rgba(216,244,91,.09),transparent 37%),#292b2e;
}

/* Lime identifies the current module and the action to open the next one. */
body.palette-lime .program-v4-guide { color: #354019; background: #eaf3cf; border-color: #b9d66e; }
body.palette-lime .program-v4-guide span { color: #292b2e; background: var(--lime); }
body.palette-lime .course-week-number { box-shadow: 0 0 0 3px rgba(185,223,56,.35); }
body.palette-lime .course-week[open] { border-color: var(--lime-deep); box-shadow: 0 15px 40px rgba(93,119,28,.12); }
body.palette-lime .course-week[open] summary { background: linear-gradient(90deg,#edf4d7,#fff 62%); }
body.palette-lime .course-week[open] .course-week-number { color: #292b2e; background: var(--lime); box-shadow: none; }
body.palette-lime .course-week-topics li::before { color: #567312; }

@media (prefers-reduced-motion: reduce) {
  body.palette-lime .hero-orbit { animation: none; will-change: auto; }
}
