.acx-fig { margin: var(--s4) 0; padding: clamp(1rem, 2vw, 1.6rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.acx-fig > figcaption { font-family: var(--display); font-weight: 700; font-size: 1.08rem; color: var(--brand-deep); margin-bottom: var(--s2); }
.acx-fig-n { margin: var(--s2) 0 0; font-size: .86rem; color: var(--ink-soft); max-width: none; }
.acx-bars ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.acx-bars li { display: grid; grid-template-columns: minmax(7.5rem, 11rem) 1fr 2.2rem; gap: .7rem; align-items: center; }
.acx-bar-l { font-size: .95rem; }
.acx-bar-t { height: 1.2rem; background: var(--paper-2); border-radius: 999px; overflow: hidden; }
.acx-bar-t i { display: block; height: 100%; background: var(--brand); border-radius: 999px; }
.acx-bars b { text-align: right; font-family: var(--display); }
.acx-strip-track { position: relative; height: 3rem; margin: .4rem .5rem 0; }
.acx-strip-line { position: absolute; left: 0; right: 0; top: 50%; border-top: 3px solid var(--line); }
.acx-strip-track i { position: absolute; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--brand); border: 2px solid var(--surface); }
.acx-strip-med { position: absolute; top: 4px; bottom: 4px; width: 0; border-left: 3px solid var(--accent-deep); }
.acx-strip-ends { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1.2rem; font-size: .92rem; }
.acx-strip-ends b { font-family: var(--display); }
.acx-strip-m { color: #9d3512; }
.acx-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--s3); }
.acx-tiles li { padding: .9rem 1rem; border-radius: var(--radius-sm); background: var(--paper); border: 1px solid var(--line); display: grid; gap: .25rem; align-content: start; }
.acx-tiles b { font-family: var(--display); font-size: 1.9rem; line-height: 1; color: #9d3512; }
.acx-tiles small { font-size: 1rem; color: var(--ink-soft); }
.acx-tiles span { font-size: .93rem; color: var(--ink-soft); }
.acx-loop ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)); }
.acx-loop li { display: flex; gap: .6rem; align-items: center; padding: .55rem .7rem; border-radius: var(--radius-sm); background: var(--paper); border: 1px solid var(--line); font-size: .95rem; line-height: 1.2; }
.acx-loop-no { flex: none; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--brand); color: #fff; font: 800 .88rem var(--body); }
.acx-loop-back .acx-loop-no { background: var(--accent-deep); }
.acx-courses ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--s3); }
.acx-courses li { display: grid; gap: .15rem; justify-items: start; padding: .9rem; border-radius: var(--radius-sm); background: var(--paper); border: 1px solid var(--line); }
.acx-courses svg { width: 56px; height: 56px; }
.acx-courses .g-a { fill: var(--accent); stroke: var(--brand-deep); stroke-width: 2; stroke-linejoin: round; }
.acx-courses .g-b { fill: var(--accent-deep); }
.acx-courses .g-s { fill: none; stroke: var(--brand-deep); stroke-width: 2.4; stroke-linecap: round; }
.acx-courses b { font-family: var(--display); color: var(--brand-deep); }
.acx-courses span { font-size: .9rem; color: var(--ink-soft); }
@media (max-width: 640px) { .acx-bars li { grid-template-columns: 1fr 2rem; } .acx-bar-l { grid-column: 1 / -1; } }
.acx-tiles-go a { font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
.acx-tiles li.acx-tiles-go { background: transparent; border-style: dashed; align-content: center; }
@media (min-width: 560px) and (max-width: 899px) { .acx-tiles > :last-child:nth-child(odd) { grid-column: 1 / -1; } }
@media (min-width: 900px) {
  .acx-tiles:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .acx-tiles:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .acx-tiles:has(> :nth-child(5):last-child) > * { grid-column: span 2; }
  .acx-tiles:has(> :nth-child(5):last-child) > :nth-child(n+4) { grid-column: span 3; }
  .pv-facts:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
