.chimera-section { margin-top: 44px; border-top: 1px solid var(--line); padding-top: calc(32px + 1lh); }
.chimera-core { display: flex; align-items: center; justify-content: center; gap: 16px; text-align: center; }
.chimera-core img { width: 39px; height: auto; }
.chimera-core strong { font-size: 22px; }
.chimera-core p, .chimera-caption { color: var(--slate); }
.chimera-caption { margin: 32px auto 0; max-width: 78ch; text-align: center; }
.research-loop {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.85fr) minmax(0,1fr);
  align-items: center;
  max-width: 850px;
  margin: 32px auto;
  text-align: center;
}
.loop-path { grid-column: 1 / -1; margin-inline: 17.54%; position: relative; color: var(--slate); font-weight: bold; }
.loop-path::before { content: ""; display: block; height: 38px; border: 2px solid #648db5; }
.loop-path::after { content: ""; position: absolute; width: 8px; height: 8px; border: solid #648db5; border-width: 0 2px 2px 0; }
.loop-forward { display: flex; flex-direction: column-reverse; gap: 9px; }
.loop-forward::before { border-bottom: 0; border-radius: 18px 18px 0 0; }
.loop-forward::after { right: -4px; bottom: 3px; transform: rotate(45deg); }
.loop-return::before { border-top: 0; border-radius: 0 0 18px 18px; margin-bottom: 9px; }
.loop-return::after { left: -4px; top: 3px; transform: rotate(225deg); }
.loop-stage { position: relative; }
.loop-stage summary { list-style: none; cursor: pointer; padding: 15px 6px; background: var(--navy); color: var(--white); font-size: clamp(1rem,2vw,1.4rem); font-weight: bold; }
.loop-stage summary::-webkit-details-marker { display: none; }
.loop-stage summary:focus-visible { outline: 3px solid #648db5; outline-offset: 2px; }
.loop-stage summary:hover { text-decoration: underline; }
.loop-stage[open] { z-index: 2; }
.loop-detail { position: absolute; top: 100%; left: 0; width: max(100%,min(19rem,80vw)); max-height: 55vh; overflow: auto; background: var(--white); color: var(--navy); border: 1px solid var(--line); padding: 16px; text-align: left; box-shadow: 0 6px 16px #0002; }
#chimera-value .loop-detail { left: auto; right: 0; }
.loop-detail p + p { margin-top: .75em; }
.loop-people { font-size: .9rem; line-height: 1.35; }
.loop-people strong { font-size: 1.15em; }
@media (max-width: 540px) {
  .loop-path { font-size: .85rem; }
  .loop-stage summary { min-height: 62px; display: grid; place-content: center; }
  .loop-people { padding-inline: 3px; font-size: .79rem; }
}
