/* NT2 Retest Loop — warm card + 4-node loop diagram. Static SVG (no
   scroll-driven arc draw). */

.nt2-loop__section { padding-top: var(--nt2-section-pt); padding-bottom: var(--nt2-section-pb); }

.nt2-loop__lede { margin-top: var(--space-lg); }

/* Blockified heading/lede wrappers: neutralize inner element margins so the
   wrapper-level spacing above stays tight (matches prior h2/p layout). */
.nt2-loop__headline > :first-child,
.nt2-loop__lede > :first-child { margin-top: 0; }
.nt2-loop__headline > :last-child,
.nt2-loop__lede > :last-child { margin-bottom: 0; }

.nt2-loop__diagram { margin-top: var(--space-2xl); }

.nt2-loop__svg {
  display: none;
  width: 100%;
  max-width: 720px;
  height: auto;
  margin: 0 auto;
}
@media (min-width: 900px) { .nt2-loop__svg { display: block; } }

.nt2-loop__arc {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}

.nt2-loop__num {
  font-family: var(--font-primary);
  font-size: var(--font-size-xl);
  fill: var(--clr-text-primary);
  font-weight: 400;
  letter-spacing: -0.01em;
}

.nt2-loop__lbl {
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  fill: var(--clr-text-primary);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.nt2-loop__center {
  font-family: var(--font-primary);
  font-style: normal;
  font-size: var(--font-size-5xl);
  fill: var(--clr-tertiary);
  letter-spacing: -0.01em;
}

.nt2-loop__nodes,
.nt2-loop__labels,
.nt2-loop__center {
  opacity: 1;
}

.nt2-loop__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  max-width: 420px;
  margin-inline: auto;
}
@media (min-width: 900px) { .nt2-loop__list { display: none; } }

.nt2-loop__list-item {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-md);
  background: color-mix(in srgb, var(--clr-white) 50%, transparent);
  border-radius: var(--radius-xl);
  border: 1px solid var(--nt2-hairline-soft);
}
.nt2-loop__list-num {
  font-family: var(--font-primary);
  font-size: var(--font-size-xl);
  color: var(--clr-tertiary);
  font-weight: 400;
  min-width: 28px;
}
.nt2-loop__list-lbl {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  color: var(--clr-text-primary);
  font-weight: 500;
}

.nt2-loop__list-return {
  align-self: center;
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 500;
  font-size: var(--font-size-base);
  color: var(--clr-text-primary);
  margin-top: -4px;
}
.nt2-loop__list-return span {
  display: inline-block;
  margin-right: 6px;
  font-style: normal;
  font-family: var(--font-body);
  font-size: var(--font-size-xl);
  line-height: 1;
  transform: translateY(2px);
}


/* Richtext typography normalization: block-converted text stores its
   content as <h2>/<p> without a class, so the inner tag (notably an
   <h2>) reverts to browser defaults and loses the wrapper typography.
   Force inner richtext tags to inherit the wrapper class type. */
.nt2-loop__headline > *, .nt2-loop__headline h1, .nt2-loop__headline h2, .nt2-loop__headline h3, .nt2-loop__headline h4, .nt2-loop__headline h5, .nt2-loop__headline h6, .nt2-loop__headline p {
  margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: inherit !important; font-family: inherit !important; line-height: inherit; color: inherit;
}
.nt2-loop__lede > *, .nt2-loop__lede h1, .nt2-loop__lede h2, .nt2-loop__lede h3, .nt2-loop__lede h4, .nt2-loop__lede h5, .nt2-loop__lede h6, .nt2-loop__lede p {
  margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: inherit !important; font-family: inherit !important; line-height: inherit; color: inherit;
}
