.arch-panel { flex-direction: column; align-items: center !important; }
.arch-panel > svg { align-self: center !important; width: 100vw !important; max-width: 100vw !important; }
.arch-panel text, .arch-panel textPath { text-anchor: middle !important; }
.arch-training-copy { width: min(720px, 82vw); margin: 1.25rem auto 0; text-align: center; color: var(--ink); }
.arch-training-copy p { margin: 0 0 .75rem; color: var(--ink-soft); font-family: Inter, sans-serif; font-size: clamp(.9rem, 1.25vw, 1.05rem); line-height: 1.5; }
.arch-training-copy p:first-child { margin-bottom: .5rem; color: var(--accent); font-size: .7rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.arch-training-copy p:nth-child(2) { margin-bottom: .7rem; color: var(--ink); font-family: Georgia, serif; font-size: clamp(1.35rem, 2.6vw, 2.1rem); line-height: 1.05; letter-spacing: -.025em; }
@media (max-width: 760px) {
  #archPanel { width: 100%; box-sizing: border-box; overflow: hidden; padding: 2rem 1.25rem 2.5rem !important; padding-top: 0 !important; }
  #archPanel > svg { width: 100% !important; max-width: 100% !important; height: auto; transform: translateY(-.5rem); }
  #archPanel text { font-size: 18px !important; letter-spacing: .12em !important; }
  .arch-training-copy { width: 100%; margin-top: .25rem; text-align: center; }
  .arch-training-copy p { font-size: .94rem; line-height: 1.5; }
  .arch-training-copy p:first-child { font-size: .68rem; }
  .arch-training-copy p:nth-child(2) { font-size: clamp(1.45rem, 7.5vw, 2.15rem); }
}
