/* Diagrama orbital del Hero. */
.governance { position: relative; padding: 0; width: 100%; height: 440px; isolation: isolate; --system-gradient: radial-gradient(ellipse at 72% 35%, #087F7866, transparent 65%), linear-gradient(140deg, #061b36, #102F4F); }
.governance::before { content: ""; display: block; position: absolute; inset: -10px -8px; border: 1px solid #d9b65c; background: var(--system-gradient); box-shadow: inset 0 0 35px #16b7c533, 0 0 30px #087F7833; border-radius: 50%; pointer-events: none; z-index: -1; }
.orbit-lines { position: absolute; width: 66%; height: 66%; left: 17%; top: 17%; border: 1px solid #d9b65c; border-radius: 50%; background: radial-gradient(ellipse, #287d872b, transparent 66%); }
.orbit-lines::before { content: ""; position: absolute; inset: 22px; border: 1px dashed #78c9d32b; border-radius: 50%; }
.orbit-lines::after, .orbit-point { content: ""; position: absolute; width: 8px; height: 8px; left: 0; top: 0; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fff7bf, #efc254 40%, #91651b); box-shadow: 0 0 14px #f4cb6899; offset-path: ellipse(50% 50% at 50% 50%); offset-distance: 0%; animation: orbit-travel 16s linear infinite; }
.orbit-point:nth-child(1) { animation-delay: -4s; }
.orbit-point:nth-child(2) { animation-delay: -8s; }
.orbit-point:nth-child(3) { animation-delay: -12s; }
@keyframes orbit-travel { to { offset-distance: 100%; } }
@media (prefers-reduced-motion: reduce) { .orbit-lines::after, .orbit-point { animation: none; } }
.orbit-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 160px; height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: radial-gradient(circle at 40% 30%, #ffffff, #e1f2ed 62%, #a9d5dd); border: 2px solid #d9b65c; box-shadow: inset 0 0 18px #2463A699, 0 0 0 6px #087F7822, 0 0 24px #24bde855; }
.orbit-core strong { font-size: 1.8rem; letter-spacing: -.04em; color: #adf0e2; }
.orbit-core span { font-size: .95rem; color: #102F4F; font-weight: 600; }
.orbit-node { position: absolute; text-align: center; width: 155px; padding: 12px 6px; background: linear-gradient(140deg, #102F4F, #06243b); border: 1px solid #d9b65c; box-shadow: 0 4px 14px #0003; border-radius: 24px; }
.orbit-right, .orbit-left { background: linear-gradient(140deg, #2463A6, #174777); }
.orbit-node h2 { font-size: 1rem; line-height: 1.3; letter-spacing: 0; margin: 0 0 8px; color: #9aeacc; }
.orbit-node p { font-size: .95rem; line-height: 1.45; margin: 0; color: #e0edf5; }
.orbit-top { top: 0; left: 50%; transform: translateX(-50%); }
.orbit-left { left: -8px; top: 50%; transform: translateY(-50%); width: 135px; }
.orbit-right { right: -8px; top: 50%; transform: translateY(-50%); width: 140px; }
.orbit-bottom { bottom: 0; left: 50%; transform: translateX(-50%); width: 245px; }
@media (min-width: 781px) and (max-width: 1100px) { .hero-layout { grid-template-columns: 1fr; } .governance { max-width: 510px; margin-inline: auto; } }


/* Principios y secuencia completa, sin desplegables. */
.orbit-principles { position: absolute; inset: 0; padding: 0; margin: 0; list-style: none; pointer-events: none; }
.orbit-principles li { position: absolute; width: 132px; text-align: center; padding: 6px 8px; border: 1px solid #72cfc660; border-radius: 20px; color: #b9eee5; background: #102F4F; font-size: .95rem; line-height: 1.4; }
.orbit-principles li:nth-child(1) { top: 14%; left: 0; }
.orbit-principles li:nth-child(2) { top: 14%; right: 0; }
.orbit-principles li:nth-child(3) { bottom: 14%; left: 0; }
.orbit-principles li:nth-child(4) { bottom: 14%; right: 0; }
.governance-flow { background: linear-gradient(120deg, #061b36, #102F4F); color: #e2eff4; padding: 12px 0 30px; }
.governance-steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; list-style: none; counter-reset: stage; padding: 0; margin: 0; }
.governance-steps li { position: relative; padding: 18px 14px; border-top: 1px solid #71cfc68a; background: linear-gradient(135deg, #153d58, #0b494e); border-radius: 0 0 10px 10px; counter-increment: stage; }
.governance-steps li:nth-child(even) { background: linear-gradient(135deg, #2463A6, #174777); }
.governance-steps li::before { content: counter(stage, decimal-leading-zero); display: block; color: #97ded2; font-size: .95rem; margin-bottom: 10px; }
.governance-steps li:not(:last-child)::after { content: "→"; position: absolute; top: 16px; right: -15px; color: #96e0d2; }
.governance-steps h2 { font-size: 1rem; line-height: 1.4; letter-spacing: 0; margin: 0 0 10px; overflow-wrap: anywhere; }
.governance-steps p { font-size: .95rem; line-height: 1.5; color: #c5dce6; margin: 0; }
.governance-caption { text-align: center; font-size: .95rem; color: #a6e6da; margin: 24px 0 0; }
@media (max-width: 1100px) { .governance-steps { grid-template-columns: repeat(3, 1fr); } .governance-steps li::after { display: none; } }


@media (max-width: 480px) {
.governance { height: 480px; } .orbit-core { width: 116px; height: 116px; } .orbit-core strong { font-size: 1.35rem; } .orbit-core span { max-width: 95px; text-align: center; } .orbit-left, .orbit-right { width: 105px; } .orbit-left { left: -4px; } .orbit-right { right: -4px; } .orbit-bottom { width: 235px; }
.governance { margin-bottom: 110px; } .orbit-principles { inset: auto 0; top: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 12px; } .orbit-principles li { position: static; width: auto; padding: 6px; } .governance-steps { grid-template-columns: 1fr 1fr; gap: 14px; }
}

.orbit-core .orbit-logo { width: 90%; height: auto; }
