/* Homepage + site card polish
   Uses Productive IT tokens (--ink, --lime/--acid, --paper, --mono).
   Loaded last on key pages so light-section ink rules cannot win. */

/* ========== 02a Service stack tiles — match pit-shot-3 ========== */
.framework-services {
  padding: clamp(3.5rem, 8vw, 6rem) 0 !important;
  background:
    radial-gradient(ellipse 80% 55% at 50% -10%, rgba(132, 179, 64, 0.12), transparent 55%),
    var(--ink, #0e1220) !important;
  color: var(--paper, #f2f5ef);
}
.framework-shell {
  max-width: 1120px !important;
  gap: 2rem !important;
}
.framework-copy .kicker {
  color: var(--acid, #84b340) !important;
}
.framework-copy h2 {
  color: #f2f5ef !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}
.framework-copy p {
  color: rgba(242, 245, 239, 0.72) !important;
  opacity: 1 !important;
}
.framework-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  border: 1px solid rgba(132, 179, 64, 0.45) !important;
  background: rgba(132, 179, 64, 0.28) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  perspective: 900px;
  box-shadow:
    0 28px 70px -36px rgba(0, 0, 0, 0.9),
    0 0 40px -20px rgba(132, 179, 64, 0.28);
}
.framework-tile {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 280px !important;
  background: #0b0f18 !important;
  color: #f2f5ef !important;
  text-decoration: none !important;
  outline: 1px solid transparent;
  outline-offset: -1px;
  transform-style: preserve-3d;
  transition:
    background 0.35s ease,
    transform 0.4s cubic-bezier(.22,1,.36,1),
    box-shadow 0.35s ease,
    outline-color 0.35s ease,
    filter 0.35s ease !important;
}
.framework-tile-visual {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(132, 179, 64, 0.38), transparent 52%),
    radial-gradient(circle at 78% 18%, rgba(132, 179, 64, 0.1), transparent 40%),
    repeating-linear-gradient(
      0deg,
      transparent 0 17px,
      rgba(255, 255, 255, 0.035) 17px 18px
    ),
    #0b0f18 !important;
  position: relative !important;
}
.framework-tile-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(11, 15, 24, 0.55));
  pointer-events: none;
}
.framework-tile-visual span {
  font: 800 clamp(2.8rem, 4.5vw, 3.6rem) / 1 var(--sans, Manrope, sans-serif) !important;
  letter-spacing: -0.03em !important;
  color: var(--acid, #84b340) !important;
  text-shadow:
    0 0 18px rgba(132, 179, 64, 0.65),
    0 0 42px rgba(132, 179, 64, 0.45),
    0 0 72px rgba(132, 179, 64, 0.25);
  opacity: 1 !important;
  z-index: 1;
  position: relative;
  transition: transform 0.4s cubic-bezier(.22,1,.36,1), text-shadow 0.35s ease;
}
/* Slim bottom bar: name left, arrow right */
.framework-tile-body {
  flex: 0 0 auto !important;
  padding: 0.85rem 1.15rem 1rem !important;
  border-top: 1px solid rgba(132, 179, 64, 0.28) !important;
  background: rgba(11, 15, 24, 0.98) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
}
.framework-tile-body strong {
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: #f2f5ef !important;
  line-height: 1.25 !important;
}
.framework-tile-body i {
  color: var(--acid, #84b340) !important;
  font-style: normal !important;
  font-size: 1.05rem !important;
  transition: transform 0.3s ease;
  text-shadow: 0 0 12px rgba(132, 179, 64, 0.5);
  flex-shrink: 0;
}
@media (hover: hover) and (pointer: fine) {
  .framework-tile:hover {
    background: #101820 !important;
    /* isometric / depth lift */
    transform: translateY(-10px) scale(1.02) rotateX(4deg) !important;
    z-index: 3;
    outline-color: rgba(132, 179, 64, 0.7);
    filter: brightness(1.08);
    box-shadow:
      0 32px 56px -28px rgba(132, 179, 64, 0.5),
      0 18px 36px -20px rgba(0, 0, 0, 0.85),
      0 0 0 1px rgba(132, 179, 64, 0.4),
      inset 0 0 48px -18px rgba(132, 179, 64, 0.18);
  }
  .framework-tile:hover .framework-tile-body {
    background: #121a14 !important;
    border-top-color: rgba(132, 179, 64, 0.55) !important;
  }
  .framework-tile:hover .framework-tile-body strong {
    color: #f7faf2 !important;
  }
  .framework-tile:hover .framework-tile-visual span {
    transform: scale(1.1);
    text-shadow:
      0 0 22px rgba(132, 179, 64, 0.9),
      0 0 56px rgba(132, 179, 64, 0.65),
      0 0 90px rgba(132, 179, 64, 0.35);
  }
  .framework-tile:hover .framework-tile-body i {
    transform: translate(4px, -4px);
  }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .framework-tile:hover {
    transform: none !important;
    filter: none;
  }
}
/* ========== Signal Room (#insights) — COMPACT ========== */
#insights.insights.section,
section#insights.insights {
  padding-top: clamp(2rem, 4.5vw, 3.5rem) !important;
  padding-bottom: clamp(2rem, 4.5vw, 3.5rem) !important;
}
#insights .insight-layout {
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
  margin-top: clamp(1.25rem, 3vw, 2rem) !important;
  align-items: start !important;
}
#insights .insight-layout h2 {
  font-size: clamp(1.85rem, 4vw, 2.75rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 0.75rem !important;
}
#insights .insight-layout > div:first-child p {
  max-width: 36ch !important;
  margin: 0.65rem 0 1.1rem !important;
  line-height: 1.55 !important;
  font-size: 0.95rem !important;
}
#insights .insight-layout .button.dark {
  padding: 0.85rem 1.15rem !important;
}
#insights .insight-cards {
  gap: 0 !important;
  background: transparent !important;
  border: 1px solid rgba(14, 18, 32, 0.12);
  border-radius: 14px;
  overflow: hidden;
}
#insights .insight-card {
  display: grid !important;
  grid-template-columns: 100px 1fr 24px !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 14px 16px !important;
  min-height: 0 !important;
  background: #0e1220 !important;
  color: #f2f5ef !important;
  border: 0 !important;
  border-left: 3px solid var(--acid, #84b340) !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  filter: blur(0.35px);
  opacity: 1 !important;
  transition: filter 0.25s ease, background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
#insights .insight-card + .insight-card {
  border-top: 1px solid rgba(242, 245, 239, 0.08) !important;
}
#insights .insight-card span {
  font: 700 0.68rem/1.2 var(--mono, "DM Mono", monospace) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--acid, #84b340) !important;
  opacity: 0.85;
}
#insights .insight-card strong {
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  color: rgba(242, 245, 239, 0.78) !important;
  font-weight: 600 !important;
}
#insights .insight-card b {
  color: var(--acid, #84b340) !important;
  font-size: 1rem !important;
  opacity: 0.75;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
#insights .insight-card:hover,
#insights .insight-card:focus-visible,
#insights .insight-card:active {
  filter: none !important;
  background: #151c2c !important;
  outline: none;
}
#insights .insight-card:hover strong,
#insights .insight-card:focus-visible strong,
#insights .insight-card:active strong {
  color: #f2f5ef !important;
}
#insights .insight-card:hover span,
#insights .insight-card:focus-visible span,
#insights .insight-card:active span {
  opacity: 1;
}
#insights .insight-card:hover b,
#insights .insight-card:focus-visible b,
#insights .insight-card:active b {
  opacity: 1;
  transform: translate(2px, -2px);
}
@media (hover: none) {
  #insights .insight-card {
    filter: none !important;
  }
  #insights .insight-card strong {
    color: rgba(242, 245, 239, 0.92) !important;
  }
}
/* ========== Product OS cards: readable hover + stronger lift + centered badges ========== */
.product-card .card-media.os-media,
a.product-card .os-media,
.premium-card .os-media {
  display: grid !important;
  place-items: center !important;
  justify-items: center !important;
  align-items: center !important;
  text-align: center !important;
  min-height: 150px;
  background:
    radial-gradient(circle at 50% 45%, rgba(132, 179, 64, 0.22), transparent 55%),
    linear-gradient(140deg, #182034, #0e1220) !important;
}
.product-card .os-badge,
a.product-card .os-badge,
.premium-card .os-badge,
.os-media .os-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: max-content !important;
  max-width: 90%;
  font: 700 22px/1 var(--sans, Manrope, sans-serif) !important;
  letter-spacing: -0.01em !important;
  color: var(--lime, #84b340) !important;
  border: 1px solid rgba(132, 179, 64, 0.55) !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: rgba(14, 18, 32, 0.72) !important;
  z-index: 2 !important;
  position: relative;
  box-shadow: 0 0 24px -8px rgba(132, 179, 64, 0.45);
}

.light .product-card:hover,
.light a.product-card:hover,
.section.light .product-card:hover,
.product-grid .product-card:hover,
.product-card.premium-card:hover,
a.product-card.premium-card:hover {
  background: #161c2c !important;
  color: #f2f5ef !important;
  border-color: rgba(132, 179, 64, 0.7) !important;
}
.light .product-card:hover h3,
.light a.product-card:hover h3,
.section.light .product-card:hover h3,
.product-grid .product-card:hover h3,
.product-card.premium-card:hover h3 {
  color: #f2f5ef !important;
}
.light .product-card:hover p,
.light a.product-card:hover p,
.section.light .product-card:hover p,
.product-grid .product-card:hover p,
.product-card.premium-card:hover p {
  color: #d5dbeb !important;
}
.light .product-card:hover .tag,
.light a.product-card:hover .tag,
.product-grid .product-card:hover .tag,
.product-card.premium-card:hover .tag {
  color: var(--acid, #84b340) !important;
}
.light .product-card:hover ul,
.light .product-card:hover li,
.product-grid .product-card:hover ul,
.product-grid .product-card:hover li,
.product-card.premium-card:hover ul,
.product-card.premium-card:hover li {
  color: #c5cce0 !important;
}
.light .product-card:hover .card-cta,
.product-grid .product-card:hover .card-cta,
.product-card.premium-card:hover .card-cta {
  color: var(--lime, #84b340) !important;
}
.light .product-card:hover .os-badge,
.product-card.premium-card:hover .os-badge,
a.product-card:hover .os-badge {
  color: var(--lime, #84b340) !important;
  border-color: rgba(132, 179, 64, 0.85) !important;
  box-shadow: 0 0 32px -6px rgba(132, 179, 64, 0.65);
}

@media (hover: hover) and (pointer: fine) {
  .product-grid .product-card:hover,
  .product-card.premium-card:hover,
  a.product-card.premium-card:hover,
  .light .product-card:hover,
  .section.light .product-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow:
      0 28px 56px -28px rgba(0, 0, 0, 0.85),
      0 0 48px -16px rgba(132, 179, 64, 0.45) !important;
  }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .product-grid .product-card:hover,
  .product-card.premium-card:hover,
  a.product-card.premium-card:hover,
  .light .product-card:hover {
    transform: none !important;
  }
}

/* ========== Services cards: keep text readable on hover ========== */
.light .service-card:hover,
.section.light .service-card:hover,
.service-grid .service-card:hover,
a.service-card:hover,
.service-card.premium-card:hover {
  background: #161c2c !important;
  color: #f2f5ef !important;
  border-color: rgba(132, 179, 64, 0.55) !important;
}
.light .service-card:hover h3,
.section.light .service-card:hover h3,
.service-grid .service-card:hover h3,
a.service-card:hover h3,
.service-card.premium-card:hover h3 {
  color: #f2f5ef !important;
}
.light .service-card:hover p,
.section.light .service-card:hover p,
.service-grid .service-card:hover p,
a.service-card:hover p,
.service-card.premium-card:hover p {
  color: #d5dbeb !important;
}
.light .service-card:hover .tag,
.service-grid .service-card:hover .tag,
a.service-card:hover .tag,
.service-card.premium-card:hover .tag {
  color: var(--acid, #84b340) !important;
}
.light .service-card:hover ul,
.light .service-card:hover li,
.service-grid .service-card:hover ul,
.service-grid .service-card:hover li,
a.service-card:hover ul,
a.service-card:hover li {
  color: #c5cce0 !important;
}
.light .service-card:hover .card-cta,
.service-grid .service-card:hover .card-cta,
a.service-card:hover .card-cta,
.service-card.premium-card:hover .card-cta {
  color: var(--lime, #84b340) !important;
}
.service-grid .service-card h3,
a.service-card h3,
.section .service-card h3 {
  color: #f2f5ef !important;
}
.service-grid .service-card p,
a.service-card p,
.section .service-card p {
  color: #c3cad9 !important;
}


/* ========== Work / Services reference + case cards — strong hover ========== */
@media (hover: hover) and (pointer: fine) {
  .reference-grid .reference-card:hover,
  a.reference-card.premium-card:hover,
  a.reference-card:hover,
  .reference-card.premium-card:hover,
  .case-grid .case-card:hover,
  a.case-card:hover,
  .case-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    border-color: rgba(132, 179, 64, 0.7) !important;
    background: #161c2c !important;
    color: #f2f5ef !important;
    box-shadow:
      0 28px 56px -28px rgba(0, 0, 0, 0.85),
      0 0 48px -16px rgba(132, 179, 64, 0.45) !important;
  }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .reference-grid .reference-card:hover,
  a.reference-card.premium-card:hover,
  a.reference-card:hover,
  .case-grid .case-card:hover,
  a.case-card:hover {
    transform: none !important;
  }
}
/* Beat .light *:hover ink from page.css / premium-upgrade */
.light .reference-grid .reference-card:hover,
.section.light .reference-grid .reference-card:hover,
.light a.reference-card.premium-card:hover,
.section.light a.reference-card.premium-card:hover,
.light .case-grid .case-card:hover,
.section.light .case-grid .case-card:hover {
  background: #161c2c !important;
  color: #f2f5ef !important;
}
.light .reference-grid .reference-card:hover *,
.section.light .reference-grid .reference-card:hover *,
.light a.reference-card.premium-card:hover *,
.light .case-grid .case-card:hover * {
  color: inherit;
}
.light .reference-grid .reference-card:hover h3,
.section.light .reference-grid .reference-card:hover h3,
.light a.reference-card:hover h3,
.light .case-grid .case-card:hover h3 {
  color: #f2f5ef !important;
}
.light .reference-grid .reference-card:hover p,
.section.light .reference-grid .reference-card:hover p,
.light a.reference-card:hover p,
.light .case-grid .case-card:hover p {
  color: #d5dbeb !important;
}
.light .reference-grid .reference-card:hover .tag,
.light a.reference-card:hover .tag,
.light a.reference-card:hover .card-cta,
.light .case-grid .case-card:hover .tag,
.light .case-grid .case-card:hover .case-tag {
  color: var(--acid, #84b340) !important;
}

/* ========== GLOBAL: dark cards keep light text (rest + hover) ========== */
.light .case-card:hover,
.light .reference-card:hover,
.light .founder-card:hover,
.light .product-card:hover,
.light .service-card:hover,
.light .os-card:hover,
.light .panel-card:hover,
.light .premium-card:hover,
.section.light .case-card:hover,
.section.light .reference-card:hover,
.section.light .founder-card:hover,
.section.light .product-card:hover,
.section.light .service-card:hover,
.section.light .premium-card:hover,
.case-grid .case-card:hover,
.reference-grid .reference-card:hover,
.founder-grid .founder-card:hover,
.product-grid .product-card:hover,
.service-grid .service-card:hover,
a.case-card:hover,
a.reference-card:hover,
a.product-card:hover,
a.service-card:hover,
a.premium-card:hover {
  background: #161c2c !important;
  color: #f2f5ef !important;
  border-color: rgba(132, 179, 64, 0.55) !important;
}

.light .case-card:hover h3,
.light .reference-card:hover h3,
.light .founder-card:hover h3,
.light .product-card:hover h3,
.light .service-card:hover h3,
.light .premium-card:hover h3,
.section.light .case-card:hover h3,
.section.light .reference-card:hover h3,
.section.light .founder-card:hover h3,
.section.light .product-card:hover h3,
.section.light .service-card:hover h3,
.section.light .premium-card:hover h3,
.case-grid .case-card:hover h3,
.reference-grid .reference-card:hover h3,
.founder-grid .founder-card:hover h3,
.product-grid .product-card:hover h3,
.service-grid .service-card:hover h3,
a.case-card:hover h3,
a.reference-card:hover h3,
a.product-card:hover h3,
a.service-card:hover h3,
a.premium-card:hover h3 {
  color: #f2f5ef !important;
}

.light .case-card:hover p,
.light .reference-card:hover p,
.light .founder-card:hover p,
.light .product-card:hover p,
.light .service-card:hover p,
.light .premium-card:hover p,
.section.light .case-card:hover p,
.section.light .reference-card:hover p,
.section.light .product-card:hover p,
.section.light .service-card:hover p,
.case-grid .case-card:hover p,
.reference-grid .reference-card:hover p,
.product-grid .product-card:hover p,
.service-grid .service-card:hover p,
a.case-card:hover p,
a.reference-card:hover p,
a.product-card:hover p,
a.service-card:hover p {
  color: #d5dbeb !important;
}

.light .case-card:hover .tag,
.light .reference-card:hover .tag,
.light .product-card:hover .tag,
.light .service-card:hover .tag,
.light .case-card:hover .card-cta,
.light .reference-card:hover .card-cta,
.light .product-card:hover .card-cta,
.light .service-card:hover .card-cta,
.section.light .case-card:hover .tag,
.section.light .reference-card:hover .tag,
.section.light .case-card:hover .card-cta,
.section.light .reference-card:hover .card-cta,
.case-grid .case-card:hover .tag,
.reference-grid .reference-card:hover .tag,
.case-grid .case-card:hover .card-cta,
.reference-grid .reference-card:hover .card-cta {
  color: var(--acid, #84b340) !important;
}

.light .case-card:hover ul,
.light .case-card:hover li,
.light .product-card:hover ul,
.light .product-card:hover li,
.light .service-card:hover ul,
.light .service-card:hover li,
.section.light .case-card:hover ul,
.section.light .case-card:hover li,
.case-grid .case-card:hover ul,
.case-grid .case-card:hover li {
  color: #c5cce0 !important;
}

.case-card h3,
.reference-card h3,
.founder-card h3,
.product-card h3,
.service-card h3,
.premium-card h3,
.panel-card h3,
.os-card h3 {
  color: #f2f5ef !important;
}
.case-card p,
.reference-card p,
.founder-card p,
.product-card p,
.service-card p,
.premium-card p,
.panel-card p {
  color: #c3cad9 !important;
}
.case-card .tag,
.reference-card .tag,
.product-card .tag,
.service-card .tag {
  color: var(--acid, #84b340) !important;
}

/* ========== Insights rows: beat premium-upgrade .light ink titles ========== */
.section.light .insight-list .insight-row,
.section.light a.insight-row,
.light .insight-list .insight-row,
.light a.insight-row,
.insight-list .insight-row,
a.insight-row,
.insight-row {
  background: #121826 !important;
  color: #f2f5ef !important;
  border: 1px solid rgba(132, 179, 64, 0.28) !important;
  box-shadow: none !important;
}
.section.light .insight-list .insight-row h3,
.section.light a.insight-row h3,
.light .insight-list .insight-row h3,
.light a.insight-row h3,
.light .insight-row h3,
.section.light .insight-row h3,
.insight-list .insight-row h3,
a.insight-row h3,
.insight-row h3 {
  color: #f2f5ef !important;
}
.section.light .insight-list .insight-row p,
.section.light a.insight-row p,
.light .insight-row p,
.section.light .insight-row p,
a.insight-row p,
.insight-row p {
  color: #c3cad9 !important;
}
.section.light .insight-row .date,
.section.light .insight-row .row-cat,
.section.light .insight-row .arrow,
.light .insight-row .date,
.light .insight-row .row-cat,
.light .insight-row .arrow,
.insight-row .date,
.insight-row .row-cat,
.insight-row .arrow {
  color: var(--acid, #84b340) !important;
}
.section.light .insight-list .insight-row:hover,
.section.light a.insight-row:hover,
.light .insight-list .insight-row:hover,
.light a.insight-row:hover,
.light .insight-row:hover,
.section.light .insight-row:hover,
.insight-list .insight-row:hover,
a.insight-row:hover {
  background: #161c2c !important;
  color: #f2f5ef !important;
  border-color: rgba(132, 179, 64, 0.55) !important;
  box-shadow: 0 18px 40px -28px rgba(132, 179, 64, 0.35) !important;
}
.section.light .insight-row:hover h3,
.light .insight-row:hover h3,
a.insight-row:hover h3,
.insight-row:hover h3 {
  color: #f2f5ef !important;
}
.section.light .insight-row:hover p,
.light .insight-row:hover p,
a.insight-row:hover p,
.insight-row:hover p {
  color: #d5dbeb !important;
}
.section.light .insight-row:hover .arrow,
.light .insight-row:hover .arrow,
.insight-row:hover .arrow {
  color: var(--acid, #84b340) !important;
}
.section.light .insight-row:before,
.light .insight-row:before {
  display: none !important;
}

.content-card,
.content-card h3,
a.content-card,
a.content-card h3 {
  color: #f2f5ef !important;
}
.content-card p,
a.content-card p {
  color: #c3cad9 !important;
}
.content-card:hover,
.content-card:hover h3,
a.content-card:hover,
a.content-card:hover h3 {
  color: #f2f5ef !important;
  background: #161c2c !important;
}


/* ========== Four layers: tight floating 2x2 (no peel) v202609201924 ========== */
.px-stack.px-stack-grid .px-stack-stage,
.px-stack[data-stack="grid"] .px-stack-stage {
  display: block !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 1.25rem !important;
  min-height: 0 !important;
  height: auto !important;
}
.px-stack.px-stack-grid .px-stack-pin,
.px-stack[data-stack="grid"] .px-stack-pin {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  height: auto !important;
  min-height: 0 !important;
  perspective: none !important;
  transform: none !important;
}
.px-stack.px-stack-grid .px-stack-card,
.px-stack[data-stack="grid"] .px-stack-card {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 220px !important;
  opacity: 1 !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  padding: 1.25rem 1.25rem 1.1rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(132, 179, 64, 0.22) !important;
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(132, 179, 64, 0.16), transparent 55%),
    linear-gradient(165deg, #151b2c 0%, #0c101a 100%) !important;
  color: #f2f5ef !important;
  box-shadow: 0 12px 32px -24px rgba(0, 0, 0, 0.9);
  transition: border-color 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease !important;
  z-index: 1 !important;
}
.px-stack.px-stack-grid .px-stack-progress,
.px-stack.px-stack-grid .px-stack-hint {
  display: none !important;
}
.px-stack.px-stack-grid .px-stack-card h3 {
  color: #f2f5ef !important;
  margin: 0 !important;
  font-size: clamp(1.1rem, 1.9vw, 1.4rem) !important;
}
.px-stack.px-stack-grid .px-stack-card p {
  color: rgba(242, 245, 239, 0.78) !important;
  opacity: 1 !important;
  max-width: none !important;
}
.px-stack.px-stack-grid .px-stack-index {
  color: var(--acid, #84b340) !important;
  opacity: 1 !important;
}
@media (hover: hover) and (pointer: fine) {
  .px-stack.px-stack-grid .px-stack-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(132, 179, 64, 0.55) !important;
    box-shadow: 0 20px 44px -24px rgba(0,0,0,.95), 0 0 26px -10px rgba(132,179,64,.32) !important;
  }
}
@media (max-width: 760px) {
  .px-stack.px-stack-grid .px-stack-pin {
    grid-template-columns: 1fr !important;
  }
}

/* ========== Four layers floating cluster tighten v20260920192514 ========== */
body.home .px-stack.px-stack-grid .px-stack-stage,
body.home .px-stack[data-stack="grid"] .px-stack-stage {
  max-width: 920px !important;
  min-height: 0 !important;
  height: auto !important;
}
body.home .px-stack.px-stack-grid .px-stack-pin,
body.home .px-stack[data-stack="grid"] .px-stack-pin {
  gap: 0.65rem !important;
  height: auto !important;
  min-height: 0 !important;
  position: relative !important;
  top: auto !important;
}
body.home .px-stack.px-stack-grid .px-stack-card,
body.home .px-stack[data-stack="grid"] .px-stack-card {
  min-height: 200px !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}









/* ========== Home orbital hero — open stage (no card/video frame) v20260920194020 ========== */
body.home .home-hero-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 6vw;
}
body.home .home-orbital-hero {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(1.25rem, 3.5vw, 2.75rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2.5rem, 6vw, 4rem);
  background: transparent;
}
body.home .home-orbital-hero .kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--acid, #84b340) !important;
  margin: 0 0 1.1rem !important;
  font: 700 0.72rem/1 var(--mono, "DM Mono", monospace) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
body.home .home-orbital-hero .kicker::after {
  content: "";
  width: 2.75rem;
  height: 1px;
  background: rgba(132, 179, 64, 0.55);
}
body.home .home-orbital-hero h1 {
  font-size: clamp(3.1rem, 7.2vw, 5.6rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 1.25rem !important;
  color: #f2f5ef !important;
  font-weight: 800 !important;
}
body.home .home-orbital-hero h1 em {
  color: var(--acid, #84b340) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
}
body.home .home-orbital-hero .lede {
  font-size: clamp(1rem, 1.45vw, 1.1rem) !important;
  line-height: 1.7 !important;
  color: rgba(242, 245, 239, 0.86) !important;
  max-width: 34rem !important;
  margin: 0 !important;
}
body.home .home-hero-actions {
  margin-top: 1.65rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.4rem;
}

/* OPEN stage: no border, no radius plate, no “video card” box */
body.home .home-orbit-stage {
  position: relative;
  min-height: min(58vh, 520px);
  width: 100%;
  aspect-ratio: auto;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
body.home .home-orbit-arcs {
  position: absolute;
  inset: -4% -2% -8% -2%;
  pointer-events: none;
}
body.home .home-orbit-arcs .arc {
  position: absolute;
  border: 1px solid rgba(132, 179, 64, 0.22);
  border-radius: 50%;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
}
body.home .home-orbit-arcs .a1 {
  width: min(78%, 360px);
  height: min(78%, 360px);
  opacity: 0.7;
}
body.home .home-orbit-arcs .a2 {
  width: min(98%, 460px);
  height: min(98%, 460px);
  opacity: 0.35;
  border-color: rgba(180, 200, 230, 0.16);
}
body.home .home-orbit-arcs .a3 {
  width: min(124%, 580px);
  height: min(124%, 580px);
  opacity: 0.22;
  border-color: rgba(132, 179, 64, 0.14);
  /* open arc feel like BrandGrowth — not a clipped card */
  clip-path: none;
}
body.home .home-orbit-arcs .orbit-grid {
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(70%, 320px);
  height: min(70%, 320px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  opacity: 0.11;
  background-image:
    linear-gradient(rgba(200, 210, 230, 0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200, 210, 230, 0.4) 1px, transparent 1px);
  background-size: 20px 20px;
  mask-image: radial-gradient(circle, #000 40%, transparent 74%);
  -webkit-mask-image: radial-gradient(circle, #000 40%, transparent 74%);
}

body.home .home-orbit-core {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: min(248px, 54vw);
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.1rem;
  padding: 1rem;
  background:
    radial-gradient(circle at 32% 28%, rgba(132, 179, 64, 0.2), transparent 52%),
    radial-gradient(circle at 50% 55%, #101522 0%, #080b12 100%);
  border: 1.5px solid var(--acid, #84b340);
  box-shadow:
    0 0 0 1px rgba(132, 179, 64, 0.12),
    0 0 56px -4px rgba(132, 179, 64, 0.45),
    inset 0 0 48px rgba(0, 0, 0, 0.45);
  color: #f2f5ef;
}
body.home .home-orbit-core strong {
  font-size: clamp(1.15rem, 2.3vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
}
body.home .home-orbit-core em {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.7vw, 1.8rem);
  color: var(--acid, #84b340);
  line-height: 1.05;
}

body.home .home-orbit-badge {
  position: absolute;
  z-index: 3;
  font: 600 0.66rem/1 var(--mono, "DM Mono", monospace);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  padding: 0.42rem 0.65rem;
  border-radius: 3px;
  border: 1px solid rgba(160, 175, 200, 0.3);
  color: #c8d0e0;
  background: rgba(8, 11, 18, 0.55);
  backdrop-filter: blur(4px);
  white-space: nowrap;
  box-shadow: none;
}
body.home .home-orbit-badge.b1 {
  left: 4%;
  top: 16%;
  border-color: var(--acid, #84b340);
  color: var(--acid, #84b340);
}
body.home .home-orbit-badge.b2 {
  right: 2%;
  top: 44%;
}
body.home .home-orbit-badge.b3 {
  left: 8%;
  bottom: 14%;
}

@media (max-width: 980px) {
  body.home .home-orbital-hero {
    grid-template-columns: 1fr;
    gap: 0.5rem 1.25rem;
  }
  body.home .home-orbital-hero h1 {
    font-size: clamp(2.7rem, 11vw, 3.5rem) !important;
  }
  body.home .home-orbit-stage {
    min-height: 360px;
    margin-top: 0.5rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-badge.b1 { animation: homeOrbitFloat 6.5s ease-in-out infinite; }
  body.home .home-orbit-badge.b2 { animation: homeOrbitFloat 7.2s ease-in-out infinite 0.4s; }
  body.home .home-orbit-badge.b3 { animation: homeOrbitFloat 6.8s ease-in-out infinite 0.8s; }
}
@keyframes homeOrbitFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}


/* ========== Home orbital — more catching v20260920194116 ========== */
body.home .home-orbital-hero h1 {
  text-shadow: 0 0 40px rgba(132, 179, 64, 0.12);
}
body.home .home-orbital-hero h1 em {
  text-shadow: 0 0 28px rgba(132, 179, 64, 0.45);
}
body.home .home-hero-actions .button.primary {
  box-shadow: 0 0 0 1px rgba(132, 179, 64, 0.35), 0 10px 36px -10px rgba(132, 179, 64, 0.75) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  body.home .home-hero-actions .button.primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 0 0 1px rgba(132, 179, 64, 0.55), 0 14px 42px -8px rgba(132, 179, 64, 0.9) !important;
  }
}

body.home .home-orbit-stage {
  min-height: min(62vh, 560px) !important;
}
body.home .home-orbit-arcs .a1 {
  border-width: 1.5px !important;
  border-color: rgba(164, 212, 70, 0.45) !important;
  opacity: 0.95 !important;
  box-shadow: 0 0 40px rgba(132, 179, 64, 0.12);
}
body.home .home-orbit-arcs .a2 {
  border-color: rgba(164, 212, 70, 0.22) !important;
  opacity: 0.55 !important;
}
body.home .home-orbit-arcs .a3 {
  border-color: rgba(164, 212, 70, 0.16) !important;
  opacity: 0.4 !important;
}
body.home .home-orbit-arcs .orbit-grid {
  opacity: 0.18 !important;
}

body.home .home-orbit-core {
  width: min(270px, 58vw) !important;
  border-width: 2px !important;
  border-color: #a4d037 !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(164, 212, 70, 0.38), transparent 42%),
    radial-gradient(circle at 70% 70%, rgba(132, 179, 64, 0.12), transparent 50%),
    radial-gradient(circle at 50% 55%, #12182a 0%, #070a10 100%) !important;
  box-shadow:
    0 0 0 1px rgba(164, 212, 70, 0.25),
    0 0 28px rgba(164, 212, 70, 0.35),
    0 0 80px -8px rgba(132, 179, 64, 0.7),
    inset 0 0 50px rgba(0, 0, 0, 0.4) !important;
}
body.home .home-orbit-core strong {
  font-size: clamp(1.25rem, 2.5vw, 1.65rem) !important;
  letter-spacing: -0.03em !important;
}
body.home .home-orbit-core em {
  font-size: clamp(1.55rem, 3vw, 2rem) !important;
  color: #b6e04a !important;
  text-shadow: 0 0 22px rgba(164, 212, 70, 0.55);
}

body.home .home-orbit-badge {
  font-size: 0.7rem !important;
  padding: 0.5rem 0.8rem !important;
  letter-spacing: 0.12em !important;
  background: rgba(8, 11, 18, 0.72) !important;
}
body.home .home-orbit-badge.b1 {
  border-color: #a4d037 !important;
  color: #b6e04a !important;
  box-shadow: 0 0 18px rgba(164, 212, 70, 0.35) !important;
}
body.home .home-orbit-badge.b2,
body.home .home-orbit-badge.b3 {
  border-color: rgba(182, 224, 74, 0.35) !important;
  color: #e8f0d8 !important;
}

@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-core {
    animation: homeOrbPulse 4.8s ease-in-out infinite;
  }
  body.home .home-orbit-arcs .a1 {
    animation: homeArcSpin 28s linear infinite;
  }
  body.home .home-orbit-arcs .a2 {
    animation: homeArcSpin 42s linear infinite reverse;
  }
  body.home .home-orbit-badge.b1 {
    animation: homeOrbitFloat 5.5s ease-in-out infinite;
  }
  body.home .home-orbit-badge.b2 {
    animation: homeOrbitFloat 6.2s ease-in-out infinite 0.35s;
  }
  body.home .home-orbit-badge.b3 {
    animation: homeOrbitFloat 5.8s ease-in-out infinite 0.7s;
  }
}
@keyframes homeOrbPulse {
  0%, 100% {
    box-shadow:
      0 0 0 1px rgba(164, 212, 70, 0.25),
      0 0 28px rgba(164, 212, 70, 0.35),
      0 0 80px -8px rgba(132, 179, 64, 0.7),
      inset 0 0 50px rgba(0, 0, 0, 0.4);
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(182, 224, 74, 0.4),
      0 0 40px rgba(164, 212, 70, 0.5),
      0 0 100px -4px rgba(164, 212, 70, 0.85),
      inset 0 0 50px rgba(0, 0, 0, 0.35);
    transform: translate(-50%, -50%) scale(1.03);
  }
}
@keyframes homeArcSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes homeOrbitFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}


/* ========== Orbit large rear shadow + catchier badges v20260920194306 ========== */
body.home .home-orbit-bloom {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: 0;
  width: min(520px, 92%);
  height: min(520px, 92%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 48%,
      rgba(164, 212, 70, 0.28) 0%,
      rgba(132, 179, 64, 0.16) 28%,
      rgba(132, 179, 64, 0.06) 48%,
      transparent 68%);
  filter: blur(8px);
  box-shadow:
    0 40px 100px -20px rgba(0, 0, 0, 0.85),
    0 0 120px 20px rgba(132, 179, 64, 0.12);
}
body.home .home-orbit-arcs {
  z-index: 1;
}
body.home .home-orbit-core {
  z-index: 2;
  box-shadow:
    0 0 0 1px rgba(164, 212, 70, 0.3),
    0 0 36px rgba(164, 212, 70, 0.4),
    0 0 90px -6px rgba(132, 179, 64, 0.75),
    0 28px 70px -10px rgba(0, 0, 0, 0.75),
    inset 0 0 50px rgba(0, 0, 0, 0.4) !important;
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-bloom {
    animation: homeBloomPulse 5.2s ease-in-out infinite;
  }
}
@keyframes homeBloomPulse {
  0%, 100% {
    opacity: 0.9;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.06);
  }
}

/* Catchier badges */
body.home .home-orbit-badge {
  font: 700 0.72rem/1 var(--mono, "DM Mono", monospace) !important;
  letter-spacing: 0.14em !important;
  padding: 0.58rem 0.9rem !important;
  border-radius: 4px !important;
  border-width: 1.5px !important;
  background: rgba(6, 9, 14, 0.82) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
body.home .home-orbit-badge.b1 {
  border-color: #b6e04a !important;
  color: #c8f055 !important;
  background: linear-gradient(135deg, rgba(164, 212, 70, 0.22), rgba(6, 9, 14, 0.88)) !important;
  box-shadow:
    0 0 0 1px rgba(164, 212, 70, 0.25),
    0 0 22px rgba(164, 212, 70, 0.45),
    0 8px 20px rgba(0, 0, 0, 0.45) !important;
}
body.home .home-orbit-badge.b2 {
  border-color: rgba(200, 220, 160, 0.55) !important;
  color: #f2f5ef !important;
  box-shadow: 0 0 16px rgba(132, 179, 64, 0.18), 0 8px 18px rgba(0, 0, 0, 0.4) !important;
}
body.home .home-orbit-badge.b3 {
  border-color: rgba(200, 220, 160, 0.55) !important;
  color: #f2f5ef !important;
  box-shadow: 0 0 16px rgba(132, 179, 64, 0.18), 0 8px 18px rgba(0, 0, 0, 0.4) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.home .home-orbit-badge:hover {
    border-color: #b6e04a !important;
    color: #c8f055 !important;
    box-shadow: 0 0 26px rgba(164, 212, 70, 0.5), 0 10px 22px rgba(0, 0, 0, 0.5) !important;
  }
}


/* ========== Orbit connectors + spark + richer core v20260920194458 ========== */
body.home .home-orbit-links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: visible;
}
body.home .home-orbit-links .olink {
  fill: none;
  stroke: rgba(164, 212, 70, 0.35);
  stroke-width: 0.35;
  stroke-dasharray: 1.2 1.4;
}
body.home .home-orbit-links .l1 { stroke: rgba(182, 224, 74, 0.55); }

body.home .home-orbit-spark {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: 2;
  width: 9px;
  height: 9px;
  margin: -4.5px 0 0 -4.5px;
  border-radius: 50%;
  background: #c8f055;
  box-shadow: 0 0 12px #b6e04a, 0 0 28px rgba(164, 212, 70, 0.8);
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-spark {
    animation: homeSparkFallback 9s linear infinite;
  }
}
@keyframes homeSparkFallback {
  0% { transform: rotate(0deg) translateY(-150px) rotate(0deg); }
  100% { transform: rotate(360deg) translateY(-150px) rotate(-360deg); }
}

body.home .home-orbit-core {
  background:
    radial-gradient(circle at 28% 22%, rgba(220, 255, 150, 0.35), transparent 28%),
    radial-gradient(circle at 30% 24%, rgba(164, 212, 70, 0.42), transparent 44%),
    radial-gradient(circle at 72% 78%, rgba(0, 0, 0, 0.55), transparent 42%),
    radial-gradient(circle at 50% 55%, #141b2e 0%, #06080e 100%) !important;
}
body.home .home-orbit-core::after {
  content: "";
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.04);
  pointer-events: none;
}


/* ========== Badges rotate around orbit v20260920194643 ========== */
body.home .home-orbit-ring {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 0;
  height: 0;
  z-index: 3;
  pointer-events: none;
}
body.home .home-orbit-ring .home-orbit-badge {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  pointer-events: auto;
  /* place on ring radius, then counter-rotate via inner i */
}
body.home .home-orbit-ring .home-orbit-badge i {
  font: inherit;
  font-style: normal;
  display: inline-block;
  white-space: nowrap;
}
/* radii: outer / mid / inner-ish */
body.home .home-orbit-ring.r1 .home-orbit-badge {
  transform: rotate(0deg) translateY(-168px) rotate(0deg);
}
body.home .home-orbit-ring.r2 .home-orbit-badge {
  transform: rotate(120deg) translateY(-168px) rotate(-120deg);
}
body.home .home-orbit-ring.r3 .home-orbit-badge {
  transform: rotate(240deg) translateY(-168px) rotate(-240deg);
}

@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-ring.r1 {
    animation: homeRingSpin 28s linear infinite;
  }
  body.home .home-orbit-ring.r2 {
    animation: homeRingSpin 28s linear infinite;
    animation-delay: -9.33s; /* 120deg phase via time offset */
  }
  body.home .home-orbit-ring.r3 {
    animation: homeRingSpin 28s linear infinite;
    animation-delay: -18.66s;
  }
  /* keep label upright while ring spins */
  body.home .home-orbit-ring.r1 .home-orbit-badge i,
  body.home .home-orbit-ring.r2 .home-orbit-badge i,
  body.home .home-orbit-ring.r3 .home-orbit-badge i {
    animation: homeRingSpin 28s linear infinite reverse;
  }
  body.home .home-orbit-ring.r2 .home-orbit-badge i { animation-delay: -9.33s; }
  body.home .home-orbit-ring.r3 .home-orbit-badge i { animation-delay: -18.66s; }
}
@keyframes homeRingSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Override old absolute left/top badge placement from earlier rules */
body.home .home-orbit-badge.b1,
body.home .home-orbit-badge.b2,
body.home .home-orbit-badge.b3 {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
}

@media (max-width: 980px) {
  body.home .home-orbit-ring.r1 .home-orbit-badge {
    transform: rotate(0deg) translateY(-132px) rotate(0deg);
  }
  body.home .home-orbit-ring.r2 .home-orbit-badge {
    transform: rotate(120deg) translateY(-132px) rotate(-120deg);
  }
  body.home .home-orbit-ring.r3 .home-orbit-badge {
    transform: rotate(240deg) translateY(-132px) rotate(-240deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.home .home-orbit-ring,
  body.home .home-orbit-ring .home-orbit-badge i {
    animation: none !important;
  }
}

/* clean orbit placement (final) */
body.home .home-orbit-ring.r1 .home-orbit-badge,
body.home .home-orbit-ring.r2 .home-orbit-badge,
body.home .home-orbit-ring.r3 .home-orbit-badge {
  transform: translate(-50%, -50%) translateY(-168px) !important;
}
body.home .home-orbit-ring.r1 { transform: rotate(0deg); }
body.home .home-orbit-ring.r2 { transform: rotate(120deg); }
body.home .home-orbit-ring.r3 { transform: rotate(240deg); }
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-ring.r1,
  body.home .home-orbit-ring.r2,
  body.home .home-orbit-ring.r3 {
    animation: homeRingSpin 28s linear infinite;
  }
  body.home .home-orbit-ring.r1 .home-orbit-badge,
  body.home .home-orbit-ring.r2 .home-orbit-badge,
  body.home .home-orbit-ring.r3 .home-orbit-badge {
    animation: homeRingSpin 28s linear infinite reverse;
  }
  body.home .home-orbit-ring.r1 .home-orbit-badge i,
  body.home .home-orbit-ring.r2 .home-orbit-badge i,
  body.home .home-orbit-ring.r3 .home-orbit-badge i {
    animation: none !important;
  }
}
@media (max-width: 980px) {
  body.home .home-orbit-ring.r1 .home-orbit-badge,
  body.home .home-orbit-ring.r2 .home-orbit-badge,
  body.home .home-orbit-ring.r3 .home-orbit-badge {
    transform: translate(-50%, -50%) translateY(-132px) !important;
  }
}


/* ========== Fix: all 3 badges visible, no numbers v20260920194957 ========== */
body.home .home-orbit-stage {
  overflow: visible !important;
}
body.home .home-orbit-ring {
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  width: 0 !important;
  height: 0 !important;
  z-index: 5 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}
body.home .home-orbit-ring .home-orbit-badge {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 6 !important;
  /* radius from center */
  transform: translate(-50%, -50%) translateY(var(--orbit-r, -168px)) !important;
  animation: none !important; /* ring spins; badge stays on arm */
}
body.home .home-orbit-ring .home-orbit-badge i {
  font: inherit !important;
  font-style: normal !important;
  font-weight: 700 !important;
  display: inline-block !important;
  white-space: nowrap !important;
  animation: none !important;
}

/* Static phase offsets — all three always on-screen at 120° spacing */
body.home .home-orbit-ring.r1 {
  --orbit-r: -168px;
  transform: rotate(0deg) !important;
}
body.home .home-orbit-ring.r2 {
  --orbit-r: -168px;
  transform: rotate(120deg) !important;
}
body.home .home-orbit-ring.r3 {
  --orbit-r: -168px;
  transform: rotate(240deg) !important;
}

/* Counter-rotate badge so text stays upright */
body.home .home-orbit-ring.r1 .home-orbit-badge {
  transform: translate(-50%, -50%) translateY(-168px) rotate(0deg) !important;
}
body.home .home-orbit-ring.r2 .home-orbit-badge {
  transform: translate(-50%, -50%) translateY(-168px) rotate(-120deg) !important;
}
body.home .home-orbit-ring.r3 .home-orbit-badge {
  transform: translate(-50%, -50%) translateY(-168px) rotate(-240deg) !important;
}

@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-ring.r1,
  body.home .home-orbit-ring.r2,
  body.home .home-orbit-ring.r3 {
    animation: homeRingSpin 32s linear infinite !important;
  }
  /* badge counter-spin keeps label readable */
  body.home .home-orbit-ring.r1 .home-orbit-badge {
    animation: homeBadgeCounter 32s linear infinite !important;
  }
  body.home .home-orbit-ring.r2 .home-orbit-badge {
    animation: homeBadgeCounter120 32s linear infinite !important;
  }
  body.home .home-orbit-ring.r3 .home-orbit-badge {
    animation: homeBadgeCounter240 32s linear infinite !important;
  }
}

@keyframes homeRingSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes homeBadgeCounter {
  from { transform: translate(-50%, -50%) translateY(-168px) rotate(0deg); }
  to { transform: translate(-50%, -50%) translateY(-168px) rotate(-360deg); }
}
@keyframes homeBadgeCounter120 {
  from { transform: translate(-50%, -50%) translateY(-168px) rotate(-120deg); }
  to { transform: translate(-50%, -50%) translateY(-168px) rotate(-480deg); }
}
@keyframes homeBadgeCounter240 {
  from { transform: translate(-50%, -50%) translateY(-168px) rotate(-240deg); }
  to { transform: translate(-50%, -50%) translateY(-168px) rotate(-600deg); }
}

@media (max-width: 980px) {
  body.home .home-orbit-ring.r1 .home-orbit-badge {
    transform: translate(-50%, -50%) translateY(-128px) rotate(0deg) !important;
  }
  body.home .home-orbit-ring.r2 .home-orbit-badge {
    transform: translate(-50%, -50%) translateY(-128px) rotate(-120deg) !important;
  }
  body.home .home-orbit-ring.r3 .home-orbit-badge {
    transform: translate(-50%, -50%) translateY(-128px) rotate(-240deg) !important;
  }
  @media (prefers-reduced-motion: no-preference) {
    @keyframes homeBadgeCounter {
      from { transform: translate(-50%, -50%) translateY(-128px) rotate(0deg); }
      to { transform: translate(-50%, -50%) translateY(-128px) rotate(-360deg); }
    }
    @keyframes homeBadgeCounter120 {
      from { transform: translate(-50%, -50%) translateY(-128px) rotate(-120deg); }
      to { transform: translate(-50%, -50%) translateY(-128px) rotate(-480deg); }
    }
    @keyframes homeBadgeCounter240 {
      from { transform: translate(-50%, -50%) translateY(-128px) rotate(-240deg); }
      to { transform: translate(-50%, -50%) translateY(-128px) rotate(-600deg); }
    }
  }
}

/* Kill old float animations that fought orbit placement */
body.home .home-orbit-badge.b1,
body.home .home-orbit-badge.b2,
body.home .home-orbit-badge.b3 {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
}

/* ========== Parent overflow + hide static links v20260920195015 ========== */
body.home .home-hero-wrap,
body.home .home-orbital-hero,
body.home .home-orbit-stage {
  overflow: visible !important;
}
body.home .home-orbit-links {
  display: none !important;
}
body.home .home-orbit-bloom {
  z-index: 0 !important;
}
body.home .home-orbit-core {
  z-index: 2 !important;
}
body.home .home-orbit-ring {
  z-index: 8 !important;
}


/* ========== Working badge orbit (JS-driven spinner) v20260920195224 ========== */
body.home .home-hero-wrap,
body.home .home-orbital-hero,
body.home .home-orbit-stage {
  overflow: visible !important;
}
body.home .home-orbit-spinner {
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  width: 0 !important;
  height: 0 !important;
  z-index: 8 !important;
  transform-origin: 0 0 !important;
  will-change: transform;
}
body.home .home-orbit-slot {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 0 !important;
  height: 0 !important;
  transform: rotate(var(--a, 0deg)) translateY(-168px) !important;
}
body.home .home-orbit-slot .home-orbit-badge {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  pointer-events: auto !important;
  z-index: 9 !important;
}
body.home .home-orbit-slot .home-orbit-badge i {
  font: inherit !important;
  font-style: normal !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  animation: none !important;
}
body.home .home-orbit-links { display: none !important; }
@media (max-width: 980px) {
  body.home .home-orbit-slot {
    transform: rotate(var(--a, 0deg)) translateY(-128px) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.home .home-orbit-spinner {
    transform: none !important;
  }
}


/* ========== Badges STILL on orbit (no rotation) v20260920195338 ========== */
body.home .home-orbit-spinner {
  transform: none !important;
  animation: none !important;
}
body.home .home-orbit-slot {
  animation: none !important;
}
body.home .home-orbit-slot .home-orbit-badge {
  transform: translate(-50%, -50%) !important;
  animation: none !important;
}
body.home .home-orbit-slot .home-orbit-badge i {
  animation: none !important;
}
/* freeze spark REMOVED — spark must orbit */
body.home .home-orbit-spark {
  /* animation restored in FINAL block */
  opacity: 1;
}
body.home .home-orbit-ring,
body.home .home-orbit-ring .home-orbit-badge,
body.home .home-orbit-ring .home-orbit-badge i {
  animation: none !important;
}
body.home .home-orbit-core {
  animation: none !important;
}
body.home .home-orbit-bloom {
  animation: none !important;
}
body.home .home-orbit-arcs .a1,
body.home .home-orbit-arcs .a2 {
  animation: none !important;
}


/* ========== Badges still; orbit motion restored v20260920195956 ========== */
body.home .home-orbit-spinner {
  /* unfrozen */
  animation: none !important;
}
body.home .home-orbit-slot {
  animation: none !important;
}
body.home .home-orbit-slot .home-orbit-badge,
body.home .home-orbit-slot .home-orbit-badge i,
body.home .home-orbit-ring,
body.home .home-orbit-ring .home-orbit-badge,
body.home .home-orbit-ring .home-orbit-badge i {
  animation: none !important;
}
/* keep slots at fixed 120° positions */
body.home .home-orbit-slot {
  transform: rotate(var(--a, 0deg)) translateY(-168px) !important;
}
body.home .home-orbit-slot .home-orbit-badge {
  transform: translate(-50%, -50%) rotate(calc(-1 * var(--a, 0deg))) !important;
}
@media (max-width: 980px) {
  body.home .home-orbit-slot {
    transform: rotate(var(--a, 0deg)) translateY(-128px) !important;
  }
}

/* Restore spark orbit */
body.home .home-orbit-spark {
  opacity: 1 !important;
  animation: none !important; /* reset prior freeze */
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-spark {
    animation: homeSparkFallback 9s linear infinite !important;
  }
  body.home .home-orbit-core {
    animation: homeOrbPulse 4.8s ease-in-out infinite !important;
  }
  body.home .home-orbit-bloom {
    animation: homeBloomPulse 5.2s ease-in-out infinite !important;
  }
  body.home .home-orbit-arcs .a1 {
    animation: homeArcSpin 28s linear infinite !important;
  }
  body.home .home-orbit-arcs .a2 {
    animation: homeArcSpin 42s linear infinite reverse !important;
  }
}


/* ========== Spark MUST move (badges stay still) v20260920200426 ========== */
body.home .home-orbit-spark {
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  z-index: 7 !important;
  width: 10px !important;
  height: 10px !important;
  margin: -5px 0 0 -5px !important;
  border-radius: 50% !important;
  background: #c8f055 !important;
  box-shadow: 0 0 12px #b6e04a, 0 0 28px rgba(164, 212, 70, 0.85) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  /* transform owned by animation */
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-spark {
    animation: homeSparkOrbitLive 9s linear infinite !important;
  }
}
@keyframes homeSparkOrbitLive {
  from { transform: rotate(0deg) translateY(-168px) rotate(0deg); }
  to { transform: rotate(360deg) translateY(-168px) rotate(-360deg); }
}
@media (max-width: 980px) {
  body.home .home-orbit-spark {
    /* transform owned by animation */
  }
  @media (prefers-reduced-motion: no-preference) {
    @keyframes homeSparkOrbitLive {
      from { transform: rotate(0deg) translateY(-128px) rotate(0deg); }
      to { transform: rotate(360deg) translateY(-128px) rotate(-360deg); }
    }
  }
}
body.home .home-orbit-spinner,
body.home .home-orbit-slot .home-orbit-badge,
body.home .home-orbit-slot .home-orbit-badge i {
  animation: none !important;
}


/* ========== Spark circle restored + badges still v20260920200923 ========== */
body.home .home-orbit-spark {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  z-index: 10 !important;
  width: 12px !important;
  height: 12px !important;
  margin: -6px 0 0 -6px !important;
  border-radius: 50% !important;
  background: #d4ff5c !important;
  border: 2px solid rgba(255,255,255,0.35) !important;
  box-shadow:
    0 0 10px #c8f055,
    0 0 24px rgba(164, 212, 70, 0.95),
    0 0 48px rgba(132, 179, 64, 0.55) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  /* transform owned by animation */
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-spark {
    animation: homeSparkOrbitLive 8s linear infinite !important;
  }
}
@keyframes homeSparkOrbitLive {
  from { transform: rotate(0deg) translateY(-168px); }
  to { transform: rotate(360deg) translateY(-168px); }
}
@media (max-width: 980px) {
  body.home .home-orbit-spark {
    /* transform owned by animation */
  }
  @media (prefers-reduced-motion: no-preference) {
    @keyframes homeSparkOrbitLive {
      from { transform: rotate(0deg) translateY(-128px); }
      to { transform: rotate(360deg) translateY(-128px); }
    }
  }
}
body.home .home-orbit-spinner,
body.home .home-orbit-slot,
body.home .home-orbit-slot .home-orbit-badge,
body.home .home-orbit-slot .home-orbit-badge i {
  animation: none !important;
}

/* ========== FINAL spark orbit fix vSPARKFIX — animation must own transform ========== */
body.home .home-orbit-spark {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  z-index: 12 !important;
  width: 12px !important;
  height: 12px !important;
  margin: -6px 0 0 -6px !important;
  border-radius: 50% !important;
  background: #d4ff5c !important;
  border: 2px solid rgba(255,255,255,0.4) !important;
  box-shadow:
    0 0 10px #c8f055,
    0 0 24px rgba(164, 212, 70, 0.95),
    0 0 48px rgba(132, 179, 64, 0.55) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  /* NO transform !important here — animation owns transform */
  transform: none;
  animation: none;
}
@media (prefers-reduced-motion: no-preference) {
  body.home .home-orbit-spark {
    animation: homeSparkOrbitFinal 8s linear infinite !important;
  }
}
@keyframes homeSparkOrbitFinal {
  from { transform: rotate(0deg) translateY(-168px) rotate(0deg); }
  to   { transform: rotate(360deg) translateY(-168px) rotate(-360deg); }
}
@media (max-width: 980px) {
  @media (prefers-reduced-motion: no-preference) {
    @keyframes homeSparkOrbitFinal {
      from { transform: rotate(0deg) translateY(-128px) rotate(0deg); }
      to   { transform: rotate(360deg) translateY(-128px) rotate(-360deg); }
    }
  }
}
/* badges stay still */
body.home .home-orbit-spinner,
body.home .home-orbit-slot,
body.home .home-orbit-slot .home-orbit-badge,
body.home .home-orbit-slot .home-orbit-badge i {
  animation: none !important;
}
